{
  "version": 3,
  "sources": ["../../node_modules/ws/lib/stream.js", "../../node_modules/ws/lib/constants.js", "../../node_modules/ws/lib/buffer-util.js", "../../node_modules/ws/lib/limiter.js", "../../node_modules/ws/lib/permessage-deflate.js", "../../node_modules/ws/lib/validation.js", "../../node_modules/ws/lib/receiver.js", "../../node_modules/ws/lib/sender.js", "../../node_modules/ws/lib/event-target.js", "../../node_modules/ws/lib/extension.js", "../../node_modules/ws/lib/websocket.js", "../../node_modules/ws/lib/subprotocol.js", "../../node_modules/ws/lib/websocket-server.js", "../../src/FIXParser.ts", "../../node_modules/ws/wrapper.mjs", "../../src/spec/SpecEnums.ts", "../../src/enums/EnumType.ts", "../../src/enums/Enums.ts", "../../src/fields/Field.ts", "../../src/fieldtypes/Field.ts", "../../src/spec/MessageType.json", "../../src/messagetype/MessageType.ts", "../../src/spec/SpecFields.ts", "../../src/spec/SpecCategories.ts", "../../src/fields/categories/CategoryType.ts", "../../src/fields/categories/Categories.ts", "../../src/spec/SpecDatatypes.ts", "../../src/fields/datatypes/Datatypes.ts", "../../src/spec/SpecSections.ts", "../../src/fields/sections/SectionType.ts", "../../src/fields/sections/Sections.ts", "../../src/fields/Fields.ts", "../../src/spec/SpecComponents.ts", "../../src/components/Components.ts", "../../src/util/util.ts", "../../src/message/Message.ts", "../../src/FIXParserBase.ts", "../../src/fieldtypes/index.ts", "../../src/fieldtypes/AdvSide.ts", "../../src/fieldtypes/AdvTransType.ts", "../../src/fieldtypes/BeginString.ts", "../../src/fieldtypes/CommType.ts", "../../src/fieldtypes/ExecInst.ts", "../../src/fieldtypes/HandlInst.ts", "../../src/fieldtypes/SecurityIDSource.ts", "../../src/fieldtypes/IOIQltyInd.ts", "../../src/fieldtypes/IOIQty.ts", "../../src/fieldtypes/IOITransType.ts", "../../src/fieldtypes/LastCapacity.ts", "../../src/fieldtypes/MsgType.ts", "../../src/fieldtypes/OrdStatus.ts", "../../src/fieldtypes/OrdType.ts", "../../src/fieldtypes/PossDupFlag.ts", "../../src/fieldtypes/Side.ts", "../../src/fieldtypes/TimeInForce.ts", "../../src/fieldtypes/Urgency.ts", "../../src/fieldtypes/SettlType.ts", "../../src/fieldtypes/SymbolSfx.ts", "../../src/fieldtypes/AllocTransType.ts", "../../src/fieldtypes/PositionEffect.ts", "../../src/fieldtypes/ProcessCode.ts", "../../src/fieldtypes/AllocStatus.ts", "../../src/fieldtypes/AllocRejCode.ts", "../../src/fieldtypes/EmailType.ts", "../../src/fieldtypes/PossResend.ts", "../../src/fieldtypes/EncryptMethod.ts", "../../src/fieldtypes/CxlRejReason.ts", "../../src/fieldtypes/OrdRejReason.ts", "../../src/fieldtypes/IOIQualifier.ts", "../../src/fieldtypes/ReportToExch.ts", "../../src/fieldtypes/LocateReqd.ts", "../../src/fieldtypes/ForexReq.ts", "../../src/fieldtypes/GapFillFlag.ts", "../../src/fieldtypes/DKReason.ts", "../../src/fieldtypes/IOINaturalFlag.ts", "../../src/fieldtypes/MiscFeeType.ts", "../../src/fieldtypes/ResetSeqNumFlag.ts", "../../src/fieldtypes/ExecType.ts", "../../src/fieldtypes/SettlCurrFxRateCalc.ts", "../../src/fieldtypes/SettlInstMode.ts", "../../src/fieldtypes/SettlInstTransType.ts", "../../src/fieldtypes/SettlInstSource.ts", "../../src/fieldtypes/SecurityType.ts", "../../src/fieldtypes/StandInstDbType.ts", "../../src/fieldtypes/SettlDeliveryType.ts", "../../src/fieldtypes/AllocLinkType.ts", "../../src/fieldtypes/PutOrCall.ts", "../../src/fieldtypes/CoveredOrUncovered.ts", "../../src/fieldtypes/NotifyBrokerOfCredit.ts", "../../src/fieldtypes/AllocHandlInst.ts", "../../src/fieldtypes/RoutingType.ts", "../../src/fieldtypes/BenchmarkCurveName.ts", "../../src/fieldtypes/StipulationType.ts", "../../src/fieldtypes/YieldType.ts", "../../src/fieldtypes/TradedFlatSwitch.ts", "../../src/fieldtypes/SubscriptionRequestType.ts", "../../src/fieldtypes/MDUpdateType.ts", "../../src/fieldtypes/AggregatedBook.ts", "../../src/fieldtypes/MDEntryType.ts", "../../src/fieldtypes/TickDirection.ts", "../../src/fieldtypes/QuoteCondition.ts", "../../src/fieldtypes/TradeCondition.ts", "../../src/fieldtypes/MDUpdateAction.ts", "../../src/fieldtypes/MDReqRejReason.ts", "../../src/fieldtypes/DeleteReason.ts", "../../src/fieldtypes/OpenCloseSettlFlag.ts", "../../src/fieldtypes/FinancialStatus.ts", "../../src/fieldtypes/CorporateAction.ts", "../../src/fieldtypes/QuoteStatus.ts", "../../src/fieldtypes/QuoteCancelType.ts", "../../src/fieldtypes/QuoteRejectReason.ts", "../../src/fieldtypes/QuoteResponseLevel.ts", "../../src/fieldtypes/QuoteRequestType.ts", "../../src/fieldtypes/SecurityRequestType.ts", "../../src/fieldtypes/SecurityResponseType.ts", "../../src/fieldtypes/UnsolicitedIndicator.ts", "../../src/fieldtypes/SecurityTradingStatus.ts", "../../src/fieldtypes/HaltReason.ts", "../../src/fieldtypes/InViewOfCommon.ts", "../../src/fieldtypes/DueToRelated.ts", "../../src/fieldtypes/Adjustment.ts", "../../src/fieldtypes/TradingSessionID.ts", "../../src/fieldtypes/TradSesMethod.ts", "../../src/fieldtypes/TradSesMode.ts", "../../src/fieldtypes/TradSesStatus.ts", "../../src/fieldtypes/SessionRejectReason.ts", "../../src/fieldtypes/BidRequestTransType.ts", "../../src/fieldtypes/SolicitedFlag.ts", "../../src/fieldtypes/ExecRestatementReason.ts", "../../src/fieldtypes/BusinessRejectReason.ts", "../../src/fieldtypes/MsgDirection.ts", "../../src/fieldtypes/DiscretionInst.ts", "../../src/fieldtypes/BidType.ts", "../../src/fieldtypes/BidDescriptorType.ts", "../../src/fieldtypes/SideValueInd.ts", "../../src/fieldtypes/LiquidityIndType.ts", "../../src/fieldtypes/ExchangeForPhysical.ts", "../../src/fieldtypes/ProgRptReqs.ts", "../../src/fieldtypes/IncTaxInd.ts", "../../src/fieldtypes/BidTradeType.ts", "../../src/fieldtypes/BasisPxType.ts", "../../src/fieldtypes/PriceType.ts", "../../src/fieldtypes/GTBookingInst.ts", "../../src/fieldtypes/ListStatusType.ts", "../../src/fieldtypes/NetGrossInd.ts", "../../src/fieldtypes/ListOrderStatus.ts", "../../src/fieldtypes/ListExecInstType.ts", "../../src/fieldtypes/CxlRejResponseTo.ts", "../../src/fieldtypes/MultiLegReportingType.ts", "../../src/fieldtypes/PartyIDSource.ts", "../../src/fieldtypes/PartyRole.ts", "../../src/fieldtypes/Product.ts", "../../src/fieldtypes/TestMessageIndicator.ts", "../../src/fieldtypes/RoundingDirection.ts", "../../src/fieldtypes/DistribPaymentMethod.ts", "../../src/fieldtypes/CancellationRights.ts", "../../src/fieldtypes/MoneyLaunderingStatus.ts", "../../src/fieldtypes/ExecPriceType.ts", "../../src/fieldtypes/TradeReportTransType.ts", "../../src/fieldtypes/PaymentMethod.ts", "../../src/fieldtypes/TaxAdvantageType.ts", "../../src/fieldtypes/FundRenewWaiv.ts", "../../src/fieldtypes/RegistStatus.ts", "../../src/fieldtypes/RegistRejReasonCode.ts", "../../src/fieldtypes/RegistTransType.ts", "../../src/fieldtypes/OwnershipType.ts", "../../src/fieldtypes/ContAmtType.ts", "../../src/fieldtypes/OwnerType.ts", "../../src/fieldtypes/OrderCapacity.ts", "../../src/fieldtypes/OrderRestrictions.ts", "../../src/fieldtypes/MassCancelRequestType.ts", "../../src/fieldtypes/MassCancelResponse.ts", "../../src/fieldtypes/MassCancelRejectReason.ts", "../../src/fieldtypes/QuoteType.ts", "../../src/fieldtypes/CashMargin.ts", "../../src/fieldtypes/Scope.ts", "../../src/fieldtypes/MDImplicitDelete.ts", "../../src/fieldtypes/CrossType.ts", "../../src/fieldtypes/CrossPrioritization.ts", "../../src/fieldtypes/NoSides.ts", "../../src/fieldtypes/SecurityListRequestType.ts", "../../src/fieldtypes/SecurityRequestResult.ts", "../../src/fieldtypes/MultiLegRptTypeReq.ts", "../../src/fieldtypes/TradSesStatusRejReason.ts", "../../src/fieldtypes/TradeRequestType.ts", "../../src/fieldtypes/PreviouslyReported.ts", "../../src/fieldtypes/MatchStatus.ts", "../../src/fieldtypes/MatchType.ts", "../../src/fieldtypes/OddLot.ts", "../../src/fieldtypes/ClearingInstruction.ts", "../../src/fieldtypes/AccountType.ts", "../../src/fieldtypes/CustOrderCapacity.ts", "../../src/fieldtypes/MassStatusReqType.ts", "../../src/fieldtypes/DayBookingInst.ts", "../../src/fieldtypes/BookingUnit.ts", "../../src/fieldtypes/PreallocMethod.ts", "../../src/fieldtypes/TradingSessionSubID.ts", "../../src/fieldtypes/AllocType.ts", "../../src/fieldtypes/ClearingFeeIndicator.ts", "../../src/fieldtypes/WorkingIndicator.ts", "../../src/fieldtypes/PriorityIndicator.ts", "../../src/fieldtypes/LegalConfirm.ts", "../../src/fieldtypes/QuoteRequestRejectReason.ts", "../../src/fieldtypes/AcctIDSource.ts", "../../src/fieldtypes/ConfirmStatus.ts", "../../src/fieldtypes/ConfirmTransType.ts", "../../src/fieldtypes/DeliveryForm.ts", "../../src/fieldtypes/LegSwapType.ts", "../../src/fieldtypes/QuotePriceType.ts", "../../src/fieldtypes/QuoteRespType.ts", "../../src/fieldtypes/PosType.ts", "../../src/fieldtypes/PosQtyStatus.ts", "../../src/fieldtypes/PosAmtType.ts", "../../src/fieldtypes/PosTransType.ts", "../../src/fieldtypes/PosMaintAction.ts", "../../src/fieldtypes/SettlSessID.ts", "../../src/fieldtypes/AdjustmentType.ts", "../../src/fieldtypes/PosMaintStatus.ts", "../../src/fieldtypes/PosMaintResult.ts", "../../src/fieldtypes/PosReqType.ts", "../../src/fieldtypes/ResponseTransportType.ts", "../../src/fieldtypes/PosReqResult.ts", "../../src/fieldtypes/PosReqStatus.ts", "../../src/fieldtypes/SettlPriceType.ts", "../../src/fieldtypes/AssignmentMethod.ts", "../../src/fieldtypes/ExerciseMethod.ts", "../../src/fieldtypes/TradeRequestResult.ts", "../../src/fieldtypes/TradeRequestStatus.ts", "../../src/fieldtypes/TradeReportRejectReason.ts", "../../src/fieldtypes/SideMultiLegReportingType.ts", "../../src/fieldtypes/TrdRegTimestampType.ts", "../../src/fieldtypes/ConfirmType.ts", "../../src/fieldtypes/ConfirmRejReason.ts", "../../src/fieldtypes/BookingType.ts", "../../src/fieldtypes/AllocSettlInstType.ts", "../../src/fieldtypes/DlvyInstType.ts", "../../src/fieldtypes/TerminationType.ts", "../../src/fieldtypes/SettlInstReqRejCode.ts", "../../src/fieldtypes/AllocReportType.ts", "../../src/fieldtypes/AllocCancReplaceReason.ts", "../../src/fieldtypes/AllocAccountType.ts", "../../src/fieldtypes/PartySubIDType.ts", "../../src/fieldtypes/AllocIntermedReqType.ts", "../../src/fieldtypes/ApplQueueResolution.ts", "../../src/fieldtypes/ApplQueueAction.ts", "../../src/fieldtypes/AvgPxIndicator.ts", "../../src/fieldtypes/TradeAllocIndicator.ts", "../../src/fieldtypes/ExpirationCycle.ts", "../../src/fieldtypes/TrdType.ts", "../../src/fieldtypes/TrdSubType.ts", "../../src/fieldtypes/PegMoveType.ts", "../../src/fieldtypes/PegOffsetType.ts", "../../src/fieldtypes/PegLimitType.ts", "../../src/fieldtypes/PegRoundDirection.ts", "../../src/fieldtypes/PegScope.ts", "../../src/fieldtypes/DiscretionMoveType.ts", "../../src/fieldtypes/DiscretionOffsetType.ts", "../../src/fieldtypes/DiscretionLimitType.ts", "../../src/fieldtypes/DiscretionRoundDirection.ts", "../../src/fieldtypes/DiscretionScope.ts", "../../src/fieldtypes/TargetStrategy.ts", "../../src/fieldtypes/LastLiquidityInd.ts", "../../src/fieldtypes/PublishTrdIndicator.ts", "../../src/fieldtypes/ShortSaleReason.ts", "../../src/fieldtypes/QtyType.ts", "../../src/fieldtypes/TradeReportType.ts", "../../src/fieldtypes/AllocNoOrdersType.ts", "../../src/fieldtypes/EventType.ts", "../../src/fieldtypes/InstrAttribType.ts", "../../src/fieldtypes/CPProgram.ts", "../../src/fieldtypes/MiscFeeBasis.ts", "../../src/fieldtypes/LastFragment.ts", "../../src/fieldtypes/CollAsgnReason.ts", "../../src/fieldtypes/CollInquiryQualifier.ts", "../../src/fieldtypes/CollAsgnTransType.ts", "../../src/fieldtypes/CollAsgnRespType.ts", "../../src/fieldtypes/CollAsgnRejectReason.ts", "../../src/fieldtypes/CollStatus.ts", "../../src/fieldtypes/LastRptRequested.ts", "../../src/fieldtypes/DeliveryType.ts", "../../src/fieldtypes/UserRequestType.ts", "../../src/fieldtypes/UserStatus.ts", "../../src/fieldtypes/StatusValue.ts", "../../src/fieldtypes/NetworkRequestType.ts", "../../src/fieldtypes/NetworkStatusResponseType.ts", "../../src/fieldtypes/TrdRptStatus.ts", "../../src/fieldtypes/AffirmStatus.ts", "../../src/fieldtypes/CollAction.ts", "../../src/fieldtypes/CollInquiryStatus.ts", "../../src/fieldtypes/CollInquiryResult.ts", "../../src/fieldtypes/StrategyParameterType.ts", "../../src/fieldtypes/SecurityStatus.ts", "../../src/fieldtypes/UnderlyingCashType.ts", "../../src/fieldtypes/UnderlyingSettlementType.ts", "../../src/fieldtypes/SecurityUpdateAction.ts", "../../src/fieldtypes/ExpirationQtyType.ts", "../../src/fieldtypes/IndividualAllocType.ts", "../../src/fieldtypes/UnitOfMeasure.ts", "../../src/fieldtypes/TimeUnit.ts", "../../src/fieldtypes/AllocMethod.ts", "../../src/fieldtypes/AsOfIndicator.ts", "../../src/fieldtypes/MDBookType.ts", "../../src/fieldtypes/MDOriginType.ts", "../../src/fieldtypes/CustOrderHandlingInst.ts", "../../src/fieldtypes/OrderHandlingInstSource.ts", "../../src/fieldtypes/DeskType.ts", "../../src/fieldtypes/ExecAckStatus.ts", "../../src/fieldtypes/CollApplType.ts", "../../src/fieldtypes/UnderlyingFXRateCalc.ts", "../../src/fieldtypes/AllocPositionEffect.ts", "../../src/fieldtypes/DealingCapacity.ts", "../../src/fieldtypes/InstrmtAssignmentMethod.ts", "../../src/fieldtypes/AggressorIndicator.ts", "../../src/fieldtypes/MDQuoteType.ts", "../../src/fieldtypes/RefOrderIDSource.ts", "../../src/fieldtypes/DisplayWhen.ts", "../../src/fieldtypes/DisplayMethod.ts", "../../src/fieldtypes/PriceProtectionScope.ts", "../../src/fieldtypes/LotType.ts", "../../src/fieldtypes/PegPriceType.ts", "../../src/fieldtypes/TriggerType.ts", "../../src/fieldtypes/TriggerAction.ts", "../../src/fieldtypes/TriggerPriceType.ts", "../../src/fieldtypes/TriggerPriceTypeScope.ts", "../../src/fieldtypes/TriggerPriceDirection.ts", "../../src/fieldtypes/TriggerOrderType.ts", "../../src/fieldtypes/OrderCategory.ts", "../../src/fieldtypes/TradeHandlingInstr.ts", "../../src/fieldtypes/ApplVerID.ts", "../../src/fieldtypes/ExDestinationIDSource.ts", "../../src/fieldtypes/ImpliedMarketIndicator.ts", "../../src/fieldtypes/SettlObligMode.ts", "../../src/fieldtypes/SettlObligTransType.ts", "../../src/fieldtypes/SettlObligSource.ts", "../../src/fieldtypes/QuoteEntryStatus.ts", "../../src/fieldtypes/PrivateQuote.ts", "../../src/fieldtypes/RespondentType.ts", "../../src/fieldtypes/SecurityTradingEvent.ts", "../../src/fieldtypes/StatsType.ts", "../../src/fieldtypes/MDSecSizeType.ts", "../../src/fieldtypes/SettlMethod.ts", "../../src/fieldtypes/ExerciseStyle.ts", "../../src/fieldtypes/PriceQuoteMethod.ts", "../../src/fieldtypes/ValuationMethod.ts", "../../src/fieldtypes/ListMethod.ts", "../../src/fieldtypes/TickRuleType.ts", "../../src/fieldtypes/MaturityMonthYearIncrementUnits.ts", "../../src/fieldtypes/MaturityMonthYearFormat.ts", "../../src/fieldtypes/PriceLimitType.ts", "../../src/fieldtypes/ListUpdateAction.ts", "../../src/fieldtypes/SessionStatus.ts", "../../src/fieldtypes/TradSesEvent.ts", "../../src/fieldtypes/MassActionType.ts", "../../src/fieldtypes/MassActionScope.ts", "../../src/fieldtypes/MassActionResponse.ts", "../../src/fieldtypes/MassActionRejectReason.ts", "../../src/fieldtypes/MultilegModel.ts", "../../src/fieldtypes/MultilegPriceMethod.ts", "../../src/fieldtypes/ContingencyType.ts", "../../src/fieldtypes/ListRejectReason.ts", "../../src/fieldtypes/TradePublishIndicator.ts", "../../src/fieldtypes/ApplReqType.ts", "../../src/fieldtypes/ApplResponseType.ts", "../../src/fieldtypes/ApplResponseError.ts", "../../src/fieldtypes/ApplReportType.ts", "../../src/fieldtypes/OrderDelayUnit.ts", "../../src/fieldtypes/VenueType.ts", "../../src/fieldtypes/RefOrdIDReason.ts", "../../src/fieldtypes/OrigCustOrderCapacity.ts", "../../src/fieldtypes/ModelType.ts", "../../src/fieldtypes/ContractMultiplierUnit.ts", "../../src/fieldtypes/FlowScheduleType.ts", "../../src/fieldtypes/RateSource.ts", "../../src/fieldtypes/RateSourceType.ts", "../../src/fieldtypes/RestructuringType.ts", "../../src/fieldtypes/Seniority.ts", "../../src/fieldtypes/SecurityListType.ts", "../../src/fieldtypes/SecurityListTypeSource.ts", "../../src/fieldtypes/NewsCategory.ts", "../../src/fieldtypes/NewsRefType.ts", "../../src/fieldtypes/StrikePriceDeterminationMethod.ts", "../../src/fieldtypes/StrikePriceBoundaryMethod.ts", "../../src/fieldtypes/UnderlyingPriceDeterminationMethod.ts", "../../src/fieldtypes/OptPayoutType.ts", "../../src/fieldtypes/ComplexEventType.ts", "../../src/fieldtypes/ComplexEventPriceBoundaryMethod.ts", "../../src/fieldtypes/ComplexEventPriceTimeType.ts", "../../src/fieldtypes/ComplexEventCondition.ts", "../../src/fieldtypes/StreamAsgnReqType.ts", "../../src/fieldtypes/StreamAsgnRejReason.ts", "../../src/fieldtypes/StreamAsgnAckType.ts", "../../src/fieldtypes/StreamAsgnType.ts", "../../src/fieldtypes/MatchInst.ts", "../../src/fieldtypes/TriggerScope.ts", "../../src/fieldtypes/LimitAmtType.ts", "../../src/fieldtypes/MarginReqmtInqQualifier.ts", "../../src/fieldtypes/MarginReqmtRptType.ts", "../../src/fieldtypes/MarginReqmtInqResult.ts", "../../src/fieldtypes/MarginAmtType.ts", "../../src/fieldtypes/RelatedInstrumentType.ts", "../../src/fieldtypes/MarketMakerActivity.ts", "../../src/fieldtypes/RequestResult.ts", "../../src/fieldtypes/PartyRelationship.ts", "../../src/fieldtypes/RiskLimitType.ts", "../../src/fieldtypes/InstrumentScopeOperator.ts", "../../src/fieldtypes/PartyDetailStatus.ts", "../../src/fieldtypes/PartyDetailRoleQualifier.ts", "../../src/fieldtypes/TrdAckStatus.ts", "../../src/fieldtypes/SecurityClassificationReason.ts", "../../src/fieldtypes/PosAmtReason.ts", "../../src/fieldtypes/SideClearingTradePriceType.ts", "../../src/fieldtypes/SecurityRejectReason.ts", "../../src/fieldtypes/ThrottleStatus.ts", "../../src/fieldtypes/ThrottleAction.ts", "../../src/fieldtypes/ThrottleType.ts", "../../src/fieldtypes/ThrottleInst.ts", "../../src/fieldtypes/ThrottleCountIndicator.ts", "../../src/fieldtypes/AllocationRollupInstruction.ts", "../../src/fieldtypes/AllocReversalStatus.ts", "../../src/fieldtypes/ObligationType.ts", "../../src/fieldtypes/TradePriceNegotiationMethod.ts", "../../src/fieldtypes/UpfrontPriceType.ts", "../../src/fieldtypes/ShortSaleRestriction.ts", "../../src/fieldtypes/ShortSaleExemptionReason.ts", "../../src/fieldtypes/ApplLevelRecoveryIndicator.ts", "../../src/fieldtypes/RiskLimitRequestType.ts", "../../src/fieldtypes/RiskLimitRequestResult.ts", "../../src/fieldtypes/RiskLimitAction.ts", "../../src/fieldtypes/EntitlementType.ts", "../../src/fieldtypes/EntitlementAttribDatatype.ts", "../../src/fieldtypes/TradSesControl.ts", "../../src/fieldtypes/TradeVolType.ts", "../../src/fieldtypes/OrderEventType.ts", "../../src/fieldtypes/OrderEventReason.ts", "../../src/fieldtypes/AuctionType.ts", "../../src/fieldtypes/AuctionInstruction.ts", "../../src/fieldtypes/LockType.ts", "../../src/fieldtypes/ReleaseInstruction.ts", "../../src/fieldtypes/DisclosureType.ts", "../../src/fieldtypes/DisclosureInstruction.ts", "../../src/fieldtypes/TradingCapacity.ts", "../../src/fieldtypes/ClearingAccountType.ts", "../../src/fieldtypes/RelatedPriceSource.ts", "../../src/fieldtypes/MinQtyMethod.ts", "../../src/fieldtypes/Triggered.ts", "../../src/fieldtypes/EventTimeUnit.ts", "../../src/fieldtypes/OrderOrigination.ts", "../../src/fieldtypes/ClearedIndicator.ts", "../../src/fieldtypes/ContractRefPosType.ts", "../../src/fieldtypes/PositionCapacity.ts", "../../src/fieldtypes/TradePriceCondition.ts", "../../src/fieldtypes/TradeAllocStatus.ts", "../../src/fieldtypes/TradeQtyType.ts", "../../src/fieldtypes/TradeAllocGroupInstruction.ts", "../../src/fieldtypes/OffsetInstruction.ts", "../../src/fieldtypes/RelatedTradeIDSource.ts", "../../src/fieldtypes/RelatedPositionIDSource.ts", "../../src/fieldtypes/QuoteAckStatus.ts", "../../src/fieldtypes/ValueCheckType.ts", "../../src/fieldtypes/ValueCheckAction.ts", "../../src/fieldtypes/PartyDetailRequestResult.ts", "../../src/fieldtypes/PartyDetailRequestStatus.ts", "../../src/fieldtypes/PartyDetailDefinitionStatus.ts", "../../src/fieldtypes/EntitlementRequestResult.ts", "../../src/fieldtypes/EntitlementStatus.ts", "../../src/fieldtypes/TradeMatchAckStatus.ts", "../../src/fieldtypes/TradeMatchRejectReason.ts", "../../src/fieldtypes/PriceMovementType.ts", "../../src/fieldtypes/RegulatoryTradeIDEvent.ts", "../../src/fieldtypes/RegulatoryTradeIDType.ts", "../../src/fieldtypes/ClearingIntention.ts", "../../src/fieldtypes/ConfirmationMethod.ts", "../../src/fieldtypes/VerificationMethod.ts", "../../src/fieldtypes/ClearingRequirementException.ts", "../../src/fieldtypes/IRSDirection.ts", "../../src/fieldtypes/RegulatoryReportType.ts", "../../src/fieldtypes/TradeCollateralization.ts", "../../src/fieldtypes/TradeContinuation.ts", "../../src/fieldtypes/AssetClass.ts", "../../src/fieldtypes/AssetSubClass.ts", "../../src/fieldtypes/SwapClass.ts", "../../src/fieldtypes/CouponType.ts", "../../src/fieldtypes/CouponFrequencyUnit.ts", "../../src/fieldtypes/CouponDayCount.ts", "../../src/fieldtypes/LienSeniority.ts", "../../src/fieldtypes/LoanFacility.ts", "../../src/fieldtypes/ReferenceEntityType.ts", "../../src/fieldtypes/BlockTrdAllocIndicator.ts", "../../src/fieldtypes/UnderlyingObligationType.ts", "../../src/fieldtypes/CashSettlQuoteMethod.ts", "../../src/fieldtypes/CashSettlValuationMethod.ts", "../../src/fieldtypes/StreamType.ts", "../../src/fieldtypes/ProvisionType.ts", "../../src/fieldtypes/ProvisionDateTenorUnit.ts", "../../src/fieldtypes/ProvisionCalculationAgent.ts", "../../src/fieldtypes/ProvisionOptionSinglePartyBuyerSide.ts", "../../src/fieldtypes/ProvisionCashSettlMethod.ts", "../../src/fieldtypes/ProvisionCashSettlQuoteType.ts", "../../src/fieldtypes/ProvisionOptionExerciseEarliestDateOffsetUnit.ts", "../../src/fieldtypes/ProvisionOptionExerciseFixedDateType.ts", "../../src/fieldtypes/ProvisionCashSettlPaymentDateType.ts", "../../src/fieldtypes/ProtectionTermEventUnit.ts", "../../src/fieldtypes/ProtectionTermEventDayType.ts", "../../src/fieldtypes/ProtectionTermEventQualifier.ts", "../../src/fieldtypes/PaymentType.ts", "../../src/fieldtypes/PaymentPaySide.ts", "../../src/fieldtypes/PaymentSettlStyle.ts", "../../src/fieldtypes/PaymentStreamType.ts", "../../src/fieldtypes/PaymentStreamDiscountType.ts", "../../src/fieldtypes/PaymentStreamCompoundingMethod.ts", "../../src/fieldtypes/PaymentStreamPaymentFrequencyUnit.ts", "../../src/fieldtypes/PaymentStreamPaymentDateOffsetUnit.ts", "../../src/fieldtypes/PaymentStreamResetWeeklyRollConvention.ts", "../../src/fieldtypes/PaymentStreamRateIndexSource.ts", "../../src/fieldtypes/PaymentStreamRateIndexCurveUnit.ts", "../../src/fieldtypes/PaymentStreamRateSpreadPositionType.ts", "../../src/fieldtypes/PaymentStreamRateTreatment.ts", "../../src/fieldtypes/PaymentStreamCapRateBuySide.ts", "../../src/fieldtypes/PaymentStreamFloorRateBuySide.ts", "../../src/fieldtypes/PaymentStreamAveragingMethod.ts", "../../src/fieldtypes/PaymentStreamNegativeRateTreatment.ts", "../../src/fieldtypes/PaymentStreamInflationLagUnit.ts", "../../src/fieldtypes/PaymentStreamInflationLagDayType.ts", "../../src/fieldtypes/PaymentStreamInflationInterpolationMethod.ts", "../../src/fieldtypes/PaymentStreamFRADiscounting.ts", "../../src/fieldtypes/NonDeliverableFixingDateType.ts", "../../src/fieldtypes/PaymentScheduleType.ts", "../../src/fieldtypes/PaymentScheduleStepRelativeTo.ts", "../../src/fieldtypes/PaymentStubType.ts", "../../src/fieldtypes/PaymentStubLength.ts", "../../src/fieldtypes/PaymentStreamPaymentDateOffsetDayType.ts", "../../src/fieldtypes/BusinessDayConvention.ts", "../../src/fieldtypes/DateRollConvention.ts", "../../src/fieldtypes/AttachmentEncodingType.ts", "../../src/fieldtypes/NegotiationMethod.ts", "../../src/fieldtypes/ComplexEventPeriodType.ts", "../../src/fieldtypes/ComplexEventDateOffsetDayType.ts", "../../src/fieldtypes/ComplexOptPayoutTime.ts", "../../src/fieldtypes/ComplexEventQuoteBasis.ts", "../../src/fieldtypes/ComplexEventCreditEventNotifyingParty.ts", "../../src/fieldtypes/DeliveryScheduleType.ts", "../../src/fieldtypes/DeliveryScheduleToleranceType.ts", "../../src/fieldtypes/DeliveryScheduleSettlFlowType.ts", "../../src/fieldtypes/DeliveryScheduleSettlHolidaysProcessingInstruction.ts", "../../src/fieldtypes/DeliveryScheduleSettlDay.ts", "../../src/fieldtypes/DeliveryScheduleSettlTimeType.ts", "../../src/fieldtypes/DeliveryStreamType.ts", "../../src/fieldtypes/DeliveryStreamDeliveryRestriction.ts", "../../src/fieldtypes/DeliveryStreamTitleTransferCondition.ts", "../../src/fieldtypes/DeliveryStreamToleranceOptionSide.ts", "../../src/fieldtypes/DeliveryStreamElectingPartySide.ts", "../../src/fieldtypes/SwapSubClass.ts", "../../src/fieldtypes/StrategyType.ts", "../../src/fieldtypes/SettlDisruptionProvision.ts", "../../src/fieldtypes/MarketDisruptionProvision.ts", "../../src/fieldtypes/MarketDisruptionFallbackProvision.ts", "../../src/fieldtypes/MarketDisruptionFallbackUnderlierType.ts", "../../src/fieldtypes/ExerciseConfirmationMethod.ts", "../../src/fieldtypes/OptionExerciseDateType.ts", "../../src/fieldtypes/PaymentDateOffsetDayType.ts", "../../src/fieldtypes/PaymentForwardStartType.ts", "../../src/fieldtypes/PaymentStreamSettlLevel.ts", "../../src/fieldtypes/PaymentStreamRateSpreadType.ts", "../../src/fieldtypes/PaymentStreamPricingDayDistribution.ts", "../../src/fieldtypes/PaymentStreamPricingDayOfWeek.ts", "../../src/fieldtypes/StreamCommodityNearbySettlDayUnit.ts", "../../src/fieldtypes/StreamCommodityDataSourceIDType.ts", "../../src/fieldtypes/StreamNotionalCommodityFrequency.ts", "../../src/fieldtypes/RiskLimitReportStatus.ts", "../../src/fieldtypes/RiskLimitReportRejectReason.ts", "../../src/fieldtypes/RiskLimitCheckTransType.ts", "../../src/fieldtypes/RiskLimitCheckType.ts", "../../src/fieldtypes/RiskLimitCheckRequestType.ts", "../../src/fieldtypes/RiskLimitCheckRequestStatus.ts", "../../src/fieldtypes/RiskLimitCheckRequestResult.ts", "../../src/fieldtypes/PartyActionType.ts", "../../src/fieldtypes/PartyActionResponse.ts", "../../src/fieldtypes/PartyActionRejectReason.ts", "../../src/fieldtypes/RefRiskLimitCheckIDType.ts", "../../src/fieldtypes/RiskLimitCheckModelType.ts", "../../src/fieldtypes/RiskLimitCheckStatus.ts", "../../src/fieldtypes/RegulatoryTransactionType.ts", "../../src/fieldtypes/BatchProcessMode.ts", "../../src/fieldtypes/DeliveryStreamDeliveryPointSource.ts", "../../src/fieldtypes/TaxonomyType.ts", "../../src/fieldtypes/RegulatoryTradeIDScope.ts", "../../src/fieldtypes/EntitlementSubType.ts", "../../src/fieldtypes/QuoteModelType.ts", "../../src/fieldtypes/ExecMethod.ts", "../../src/fieldtypes/TradeContingency.ts", "../../src/fieldtypes/PaymentSubType.ts", "../../src/fieldtypes/MassOrderRequestStatus.ts", "../../src/fieldtypes/MassOrderRequestResult.ts", "../../src/fieldtypes/OrderResponseLevel.ts", "../../src/fieldtypes/OrderEntryAction.ts", "../../src/fieldtypes/ExecTypeReason.ts", "../../src/fieldtypes/TransferTransType.ts", "../../src/fieldtypes/TransferType.ts", "../../src/fieldtypes/TransferScope.ts", "../../src/fieldtypes/TransferStatus.ts", "../../src/fieldtypes/TransferRejectReason.ts", "../../src/fieldtypes/TransferReportType.ts", "../../src/fieldtypes/SettlPriceDeterminationMethod.ts", "../../src/fieldtypes/MDStatisticType.ts", "../../src/fieldtypes/MDStatisticScope.ts", "../../src/fieldtypes/MDStatisticSubScope.ts", "../../src/fieldtypes/MDStatisticScopeType.ts", "../../src/fieldtypes/MDStatisticIntervalType.ts", "../../src/fieldtypes/MDStatisticRatioType.ts", "../../src/fieldtypes/MDStatisticRequestResult.ts", "../../src/fieldtypes/MDStatisticStatus.ts", "../../src/fieldtypes/MDStatisticValueType.ts", "../../src/fieldtypes/AssetGroup.ts", "../../src/fieldtypes/CollRptRejectReason.ts", "../../src/fieldtypes/CollRptStatus.ts", "../../src/fieldtypes/RelativeValueType.ts", "../../src/fieldtypes/RelativeValueSide.ts", "../../src/fieldtypes/MDReportEvent.ts", "../../src/fieldtypes/MarketSegmentStatus.ts", "../../src/fieldtypes/MarketSegmentType.ts", "../../src/fieldtypes/MarketSegmentRelationship.ts", "../../src/fieldtypes/QuoteSideIndicator.ts", "../../src/fieldtypes/CustomerPriority.ts", "../../src/fieldtypes/SettlSubMethod.ts", "../../src/fieldtypes/CalculationMethod.ts", "../../src/fieldtypes/CollateralAmountType.ts", "../../src/fieldtypes/CommissionAmountType.ts", "../../src/fieldtypes/CashSettlPriceDefault.ts", "../../src/fieldtypes/ComplexEventPVFinalPriceElectionFallback.ts", "../../src/fieldtypes/DividendEntitlementEvent.ts", "../../src/fieldtypes/DividendAmountType.ts", "../../src/fieldtypes/NonCashDividendTreatment.ts", "../../src/fieldtypes/DividendComposition.ts", "../../src/fieldtypes/StrikeIndexQuote.ts", "../../src/fieldtypes/ExtraordinaryEventAdjustmentMethod.ts", "../../src/fieldtypes/PaymentStreamInterpolationPeriod.ts", "../../src/fieldtypes/PaymentStreamLinkStrikePriceType.ts", "../../src/fieldtypes/PaymentStreamRealizedVarianceMethod.ts", "../../src/fieldtypes/ProvisionBreakFeeElection.ts", "../../src/fieldtypes/ReturnRateDateMode.ts", "../../src/fieldtypes/ReturnRatePriceSequence.ts", "../../src/fieldtypes/ReturnRateQuoteTimeType.ts", "../../src/fieldtypes/ReturnRateValuationPriceOption.ts", "../../src/fieldtypes/ReturnRatePriceBasis.ts", "../../src/fieldtypes/ReturnRatePriceType.ts", "../../src/fieldtypes/StreamNotionalAdjustments.ts", "../../src/fieldtypes/UnderlyingNotionalAdjustments.ts", "../../src/fieldtypes/RemunerationIndicator.ts", "../../src/fieldtypes/PartyRiskLimitStatus.ts", "../../src/fieldtypes/AlgorithmicTradeIndicator.ts", "../../src/fieldtypes/TrdRegPublicationType.ts", "../../src/fieldtypes/TrdRegPublicationReason.ts", "../../src/fieldtypes/CrossedIndicator.ts", "../../src/fieldtypes/OrderAttributeType.ts", "../../src/fieldtypes/TradeReportingIndicator.ts", "../../src/fieldtypes/MassActionReason.ts", "../../src/fieldtypes/NotAffectedReason.ts", "../../src/fieldtypes/OrderOwnershipIndicator.ts", "../../src/fieldtypes/InTheMoneyCondition.ts", "../../src/fieldtypes/ExDestinationType.ts", "../../src/fieldtypes/MarketCondition.ts", "../../src/fieldtypes/QuoteAttributeType.ts", "../../src/fieldtypes/PriceQualifier.ts", "../../src/fieldtypes/MDValueTier.ts", "../../src/fieldtypes/MiscFeeQualifier.ts", "../../src/fieldtypes/CommissionAmountSubType.ts", "../../src/fieldtypes/CommodityFinalPriceType.ts", "../../src/fieldtypes/ReferenceDataDateType.ts", "../../src/fieldtypes/ReturnTrigger.ts", "../../src/fieldtypes/AveragePriceType.ts", "../../src/fieldtypes/AllocGroupStatus.ts", "../../src/fieldtypes/AllocRequestStatus.ts", "../../src/fieldtypes/MatchExceptionType.ts", "../../src/fieldtypes/MatchExceptionElementType.ts", "../../src/fieldtypes/MatchExceptionToleranceValueType.ts", "../../src/fieldtypes/MatchingDataPointIndicator.ts", "../../src/fieldtypes/TradeAggregationTransType.ts", "../../src/fieldtypes/TradeAggregationRequestStatus.ts", "../../src/fieldtypes/TradeAggregationRejectReason.ts", "../../src/fieldtypes/OffshoreIndicator.ts", "../../src/fieldtypes/PayReportTransType.ts", "../../src/fieldtypes/PayReportStatus.ts", "../../src/fieldtypes/PayRequestTransType.ts", "../../src/fieldtypes/PayRequestStatus.ts", "../../src/fieldtypes/PostTradePaymentDebitOrCredit.ts", "../../src/fieldtypes/PostTradePaymentStatus.ts", "../../src/fieldtypes/DuplicateClOrdIDIndicator.ts", "../../src/fieldtypes/EventInitiatorType.ts", "../../src/fieldtypes/NBBOEntryType.ts", "../../src/fieldtypes/NBBOSource.ts", "../../src/fieldtypes/SingleQuoteIndicator.ts", "../../src/fieldtypes/TrdRegTimestampManualIndicator.ts", "../../src/fieldtypes/CollateralReinvestmentType.ts", "../../src/fieldtypes/FundingSource.ts", "../../src/fieldtypes/MarginDirection.ts", "../../src/fieldtypes/TransactionAttributeType.ts", "../../src/fieldtypes/RoutingArrangmentIndicator.ts", "../../src/fieldtypes/RelatedOrderIDSource.ts", "../../src/fieldtypes/OrderRelationship.ts", "../../src/fieldtypes/CurrencyCodeSource.ts", "../../src/fieldtypes/MultiJurisdictionReportingIndicator.ts", "../../src/fieldtypes/SelfMatchPreventionInstruction.ts", "../../src/fieldtypes/SettlStatusRequestStatus.ts", "../../src/fieldtypes/SettlStatusReportStatus.ts", "../../src/fieldtypes/AllocGroupSubQtyType.ts", "../../src/fieldtypes/MetricsCalculationPriceSource.ts", "../../src/fieldtypes/AssetValuationModel.ts", "../../src/fieldtypes/AlgoCertificateRequestTransType.ts", "../../src/fieldtypes/AlgoCertificateRequestStatus.ts", "../../src/fieldtypes/AlgoCertificateReportTransType.ts", "../../src/fieldtypes/AlgoCertificateReportStatus.ts", "../../src/fieldtypes/AlgoCertificateStatus.ts", "../../src/fieldtypes/TestThresholdType.ts", "../../src/fieldtypes/TestSuiteRequestTransType.ts", "../../src/fieldtypes/TestSuiteRequestStatus.ts", "../../src/fieldtypes/TestActionType.ts", "../../src/fieldtypes/TestActionRequestStatus.ts", "../../src/fieldtypes/TestSuiteActivityState.ts", "../../src/fieldtypes/TestSuiteStatus.ts", "../../src/fieldtypes/Message.ts", "../../src/messagetemplates/MessageTemplates.ts", "../../src/session/SessionLogon.ts", "../../src/session/SessionLogout.ts", "../../src/util/MessageBuffer.ts", "../../src/session/SessionResendRequest.ts", "../../src/session/SessionSequenceReset.ts", "../../src/session/SessionTestRequest.ts", "../../src/session/ClientMessageProcessor.ts", "../../src/util/FrameDecoder.ts", "../../node_modules/uuid/dist/esm/stringify.js", "../../node_modules/uuid/dist/esm/rng.js", "../../node_modules/uuid/dist/esm/native.js", "../../node_modules/uuid/dist/esm/v4.js", "../../src/util/Logger.ts"],
  "sourcesContent": ["'use strict';\n\nconst { Duplex } = require('stream');\n\n/**\n * Emits the `'close'` event on a stream.\n *\n * @param {Duplex} stream The stream.\n * @private\n */\nfunction emitClose(stream) {\n  stream.emit('close');\n}\n\n/**\n * The listener of the `'end'` event.\n *\n * @private\n */\nfunction duplexOnEnd() {\n  if (!this.destroyed && this._writableState.finished) {\n    this.destroy();\n  }\n}\n\n/**\n * The listener of the `'error'` event.\n *\n * @param {Error} err The error\n * @private\n */\nfunction duplexOnError(err) {\n  this.removeListener('error', duplexOnError);\n  this.destroy();\n  if (this.listenerCount('error') === 0) {\n    // Do not suppress the throwing behavior.\n    this.emit('error', err);\n  }\n}\n\n/**\n * Wraps a `WebSocket` in a duplex stream.\n *\n * @param {WebSocket} ws The `WebSocket` to wrap\n * @param {Object} [options] The options for the `Duplex` constructor\n * @return {Duplex} The duplex stream\n * @public\n */\nfunction createWebSocketStream(ws, options) {\n  let terminateOnDestroy = true;\n\n  const duplex = new Duplex({\n    ...options,\n    autoDestroy: false,\n    emitClose: false,\n    objectMode: false,\n    writableObjectMode: false\n  });\n\n  ws.on('message', function message(msg, isBinary) {\n    const data =\n      !isBinary && duplex._readableState.objectMode ? msg.toString() : msg;\n\n    if (!duplex.push(data)) ws.pause();\n  });\n\n  ws.once('error', function error(err) {\n    if (duplex.destroyed) return;\n\n    // Prevent `ws.terminate()` from being called by `duplex._destroy()`.\n    //\n    // - If the `'error'` event is emitted before the `'open'` event, then\n    //   `ws.terminate()` is a noop as no socket is assigned.\n    // - Otherwise, the error is re-emitted by the listener of the `'error'`\n    //   event of the `Receiver` object. The listener already closes the\n    //   connection by calling `ws.close()`. This allows a close frame to be\n    //   sent to the other peer. If `ws.terminate()` is called right after this,\n    //   then the close frame might not be sent.\n    terminateOnDestroy = false;\n    duplex.destroy(err);\n  });\n\n  ws.once('close', function close() {\n    if (duplex.destroyed) return;\n\n    duplex.push(null);\n  });\n\n  duplex._destroy = function (err, callback) {\n    if (ws.readyState === ws.CLOSED) {\n      callback(err);\n      process.nextTick(emitClose, duplex);\n      return;\n    }\n\n    let called = false;\n\n    ws.once('error', function error(err) {\n      called = true;\n      callback(err);\n    });\n\n    ws.once('close', function close() {\n      if (!called) callback(err);\n      process.nextTick(emitClose, duplex);\n    });\n\n    if (terminateOnDestroy) ws.terminate();\n  };\n\n  duplex._final = function (callback) {\n    if (ws.readyState === ws.CONNECTING) {\n      ws.once('open', function open() {\n        duplex._final(callback);\n      });\n      return;\n    }\n\n    // If the value of the `_socket` property is `null` it means that `ws` is a\n    // client websocket and the handshake failed. In fact, when this happens, a\n    // socket is never assigned to the websocket. Wait for the `'error'` event\n    // that will be emitted by the websocket.\n    if (ws._socket === null) return;\n\n    if (ws._socket._writableState.finished) {\n      callback();\n      if (duplex._readableState.endEmitted) duplex.destroy();\n    } else {\n      ws._socket.once('finish', function finish() {\n        // `duplex` is not destroyed here because the `'end'` event will be\n        // emitted on `duplex` after this `'finish'` event. The EOF signaling\n        // `null` chunk is, in fact, pushed when the websocket emits `'close'`.\n        callback();\n      });\n      ws.close();\n    }\n  };\n\n  duplex._read = function () {\n    if (ws.isPaused) ws.resume();\n  };\n\n  duplex._write = function (chunk, encoding, callback) {\n    if (ws.readyState === ws.CONNECTING) {\n      ws.once('open', function open() {\n        duplex._write(chunk, encoding, callback);\n      });\n      return;\n    }\n\n    ws.send(chunk, callback);\n  };\n\n  duplex.on('end', duplexOnEnd);\n  duplex.on('error', duplexOnError);\n  return duplex;\n}\n\nmodule.exports = createWebSocketStream;\n", "'use strict';\n\nconst BINARY_TYPES = ['nodebuffer', 'arraybuffer', 'fragments'];\nconst hasBlob = typeof Blob !== 'undefined';\n\nif (hasBlob) BINARY_TYPES.push('blob');\n\nmodule.exports = {\n  BINARY_TYPES,\n  EMPTY_BUFFER: Buffer.alloc(0),\n  GUID: '258EAFA5-E914-47DA-95CA-C5AB0DC85B11',\n  hasBlob,\n  kForOnEventAttribute: Symbol('kIsForOnEventAttribute'),\n  kListener: Symbol('kListener'),\n  kStatusCode: Symbol('status-code'),\n  kWebSocket: Symbol('websocket'),\n  NOOP: () => {}\n};\n", "'use strict';\n\nconst { EMPTY_BUFFER } = require('./constants');\n\nconst FastBuffer = Buffer[Symbol.species];\n\n/**\n * Merges an array of buffers into a new buffer.\n *\n * @param {Buffer[]} list The array of buffers to concat\n * @param {Number} totalLength The total length of buffers in the list\n * @return {Buffer} The resulting buffer\n * @public\n */\nfunction concat(list, totalLength) {\n  if (list.length === 0) return EMPTY_BUFFER;\n  if (list.length === 1) return list[0];\n\n  const target = Buffer.allocUnsafe(totalLength);\n  let offset = 0;\n\n  for (let i = 0; i < list.length; i++) {\n    const buf = list[i];\n    target.set(buf, offset);\n    offset += buf.length;\n  }\n\n  if (offset < totalLength) {\n    return new FastBuffer(target.buffer, target.byteOffset, offset);\n  }\n\n  return target;\n}\n\n/**\n * Masks a buffer using the given mask.\n *\n * @param {Buffer} source The buffer to mask\n * @param {Buffer} mask The mask to use\n * @param {Buffer} output The buffer where to store the result\n * @param {Number} offset The offset at which to start writing\n * @param {Number} length The number of bytes to mask.\n * @public\n */\nfunction _mask(source, mask, output, offset, length) {\n  for (let i = 0; i < length; i++) {\n    output[offset + i] = source[i] ^ mask[i & 3];\n  }\n}\n\n/**\n * Unmasks a buffer using the given mask.\n *\n * @param {Buffer} buffer The buffer to unmask\n * @param {Buffer} mask The mask to use\n * @public\n */\nfunction _unmask(buffer, mask) {\n  for (let i = 0; i < buffer.length; i++) {\n    buffer[i] ^= mask[i & 3];\n  }\n}\n\n/**\n * Converts a buffer to an `ArrayBuffer`.\n *\n * @param {Buffer} buf The buffer to convert\n * @return {ArrayBuffer} Converted buffer\n * @public\n */\nfunction toArrayBuffer(buf) {\n  if (buf.length === buf.buffer.byteLength) {\n    return buf.buffer;\n  }\n\n  return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.length);\n}\n\n/**\n * Converts `data` to a `Buffer`.\n *\n * @param {*} data The data to convert\n * @return {Buffer} The buffer\n * @throws {TypeError}\n * @public\n */\nfunction toBuffer(data) {\n  toBuffer.readOnly = true;\n\n  if (Buffer.isBuffer(data)) return data;\n\n  let buf;\n\n  if (data instanceof ArrayBuffer) {\n    buf = new FastBuffer(data);\n  } else if (ArrayBuffer.isView(data)) {\n    buf = new FastBuffer(data.buffer, data.byteOffset, data.byteLength);\n  } else {\n    buf = Buffer.from(data);\n    toBuffer.readOnly = false;\n  }\n\n  return buf;\n}\n\nmodule.exports = {\n  concat,\n  mask: _mask,\n  toArrayBuffer,\n  toBuffer,\n  unmask: _unmask\n};\n\n/* istanbul ignore else  */\nif (!process.env.WS_NO_BUFFER_UTIL) {\n  try {\n    const bufferUtil = require('bufferutil');\n\n    module.exports.mask = function (source, mask, output, offset, length) {\n      if (length < 48) _mask(source, mask, output, offset, length);\n      else bufferUtil.mask(source, mask, output, offset, length);\n    };\n\n    module.exports.unmask = function (buffer, mask) {\n      if (buffer.length < 32) _unmask(buffer, mask);\n      else bufferUtil.unmask(buffer, mask);\n    };\n  } catch (e) {\n    // Continue regardless of the error.\n  }\n}\n", "'use strict';\n\nconst kDone = Symbol('kDone');\nconst kRun = Symbol('kRun');\n\n/**\n * A very simple job queue with adjustable concurrency. Adapted from\n * https://github.com/STRML/async-limiter\n */\nclass Limiter {\n  /**\n   * Creates a new `Limiter`.\n   *\n   * @param {Number} [concurrency=Infinity] The maximum number of jobs allowed\n   *     to run concurrently\n   */\n  constructor(concurrency) {\n    this[kDone] = () => {\n      this.pending--;\n      this[kRun]();\n    };\n    this.concurrency = concurrency || Infinity;\n    this.jobs = [];\n    this.pending = 0;\n  }\n\n  /**\n   * Adds a job to the queue.\n   *\n   * @param {Function} job The job to run\n   * @public\n   */\n  add(job) {\n    this.jobs.push(job);\n    this[kRun]();\n  }\n\n  /**\n   * Removes a job from the queue and runs it if possible.\n   *\n   * @private\n   */\n  [kRun]() {\n    if (this.pending === this.concurrency) return;\n\n    if (this.jobs.length) {\n      const job = this.jobs.shift();\n\n      this.pending++;\n      job(this[kDone]);\n    }\n  }\n}\n\nmodule.exports = Limiter;\n", "'use strict';\n\nconst zlib = require('zlib');\n\nconst bufferUtil = require('./buffer-util');\nconst Limiter = require('./limiter');\nconst { kStatusCode } = require('./constants');\n\nconst FastBuffer = Buffer[Symbol.species];\nconst TRAILER = Buffer.from([0x00, 0x00, 0xff, 0xff]);\nconst kPerMessageDeflate = Symbol('permessage-deflate');\nconst kTotalLength = Symbol('total-length');\nconst kCallback = Symbol('callback');\nconst kBuffers = Symbol('buffers');\nconst kError = Symbol('error');\n\n//\n// We limit zlib concurrency, which prevents severe memory fragmentation\n// as documented in https://github.com/nodejs/node/issues/8871#issuecomment-250915913\n// and https://github.com/websockets/ws/issues/1202\n//\n// Intentionally global; it's the global thread pool that's an issue.\n//\nlet zlibLimiter;\n\n/**\n * permessage-deflate implementation.\n */\nclass PerMessageDeflate {\n  /**\n   * Creates a PerMessageDeflate instance.\n   *\n   * @param {Object} [options] Configuration options\n   * @param {(Boolean|Number)} [options.clientMaxWindowBits] Advertise support\n   *     for, or request, a custom client window size\n   * @param {Boolean} [options.clientNoContextTakeover=false] Advertise/\n   *     acknowledge disabling of client context takeover\n   * @param {Number} [options.concurrencyLimit=10] The number of concurrent\n   *     calls to zlib\n   * @param {(Boolean|Number)} [options.serverMaxWindowBits] Request/confirm the\n   *     use of a custom server window size\n   * @param {Boolean} [options.serverNoContextTakeover=false] Request/accept\n   *     disabling of server context takeover\n   * @param {Number} [options.threshold=1024] Size (in bytes) below which\n   *     messages should not be compressed if context takeover is disabled\n   * @param {Object} [options.zlibDeflateOptions] Options to pass to zlib on\n   *     deflate\n   * @param {Object} [options.zlibInflateOptions] Options to pass to zlib on\n   *     inflate\n   * @param {Boolean} [isServer=false] Create the instance in either server or\n   *     client mode\n   * @param {Number} [maxPayload=0] The maximum allowed message length\n   */\n  constructor(options, isServer, maxPayload) {\n    this._maxPayload = maxPayload | 0;\n    this._options = options || {};\n    this._threshold =\n      this._options.threshold !== undefined ? this._options.threshold : 1024;\n    this._isServer = !!isServer;\n    this._deflate = null;\n    this._inflate = null;\n\n    this.params = null;\n\n    if (!zlibLimiter) {\n      const concurrency =\n        this._options.concurrencyLimit !== undefined\n          ? this._options.concurrencyLimit\n          : 10;\n      zlibLimiter = new Limiter(concurrency);\n    }\n  }\n\n  /**\n   * @type {String}\n   */\n  static get extensionName() {\n    return 'permessage-deflate';\n  }\n\n  /**\n   * Create an extension negotiation offer.\n   *\n   * @return {Object} Extension parameters\n   * @public\n   */\n  offer() {\n    const params = {};\n\n    if (this._options.serverNoContextTakeover) {\n      params.server_no_context_takeover = true;\n    }\n    if (this._options.clientNoContextTakeover) {\n      params.client_no_context_takeover = true;\n    }\n    if (this._options.serverMaxWindowBits) {\n      params.server_max_window_bits = this._options.serverMaxWindowBits;\n    }\n    if (this._options.clientMaxWindowBits) {\n      params.client_max_window_bits = this._options.clientMaxWindowBits;\n    } else if (this._options.clientMaxWindowBits == null) {\n      params.client_max_window_bits = true;\n    }\n\n    return params;\n  }\n\n  /**\n   * Accept an extension negotiation offer/response.\n   *\n   * @param {Array} configurations The extension negotiation offers/reponse\n   * @return {Object} Accepted configuration\n   * @public\n   */\n  accept(configurations) {\n    configurations = this.normalizeParams(configurations);\n\n    this.params = this._isServer\n      ? this.acceptAsServer(configurations)\n      : this.acceptAsClient(configurations);\n\n    return this.params;\n  }\n\n  /**\n   * Releases all resources used by the extension.\n   *\n   * @public\n   */\n  cleanup() {\n    if (this._inflate) {\n      this._inflate.close();\n      this._inflate = null;\n    }\n\n    if (this._deflate) {\n      const callback = this._deflate[kCallback];\n\n      this._deflate.close();\n      this._deflate = null;\n\n      if (callback) {\n        callback(\n          new Error(\n            'The deflate stream was closed while data was being processed'\n          )\n        );\n      }\n    }\n  }\n\n  /**\n   *  Accept an extension negotiation offer.\n   *\n   * @param {Array} offers The extension negotiation offers\n   * @return {Object} Accepted configuration\n   * @private\n   */\n  acceptAsServer(offers) {\n    const opts = this._options;\n    const accepted = offers.find((params) => {\n      if (\n        (opts.serverNoContextTakeover === false &&\n          params.server_no_context_takeover) ||\n        (params.server_max_window_bits &&\n          (opts.serverMaxWindowBits === false ||\n            (typeof opts.serverMaxWindowBits === 'number' &&\n              opts.serverMaxWindowBits > params.server_max_window_bits))) ||\n        (typeof opts.clientMaxWindowBits === 'number' &&\n          !params.client_max_window_bits)\n      ) {\n        return false;\n      }\n\n      return true;\n    });\n\n    if (!accepted) {\n      throw new Error('None of the extension offers can be accepted');\n    }\n\n    if (opts.serverNoContextTakeover) {\n      accepted.server_no_context_takeover = true;\n    }\n    if (opts.clientNoContextTakeover) {\n      accepted.client_no_context_takeover = true;\n    }\n    if (typeof opts.serverMaxWindowBits === 'number') {\n      accepted.server_max_window_bits = opts.serverMaxWindowBits;\n    }\n    if (typeof opts.clientMaxWindowBits === 'number') {\n      accepted.client_max_window_bits = opts.clientMaxWindowBits;\n    } else if (\n      accepted.client_max_window_bits === true ||\n      opts.clientMaxWindowBits === false\n    ) {\n      delete accepted.client_max_window_bits;\n    }\n\n    return accepted;\n  }\n\n  /**\n   * Accept the extension negotiation response.\n   *\n   * @param {Array} response The extension negotiation response\n   * @return {Object} Accepted configuration\n   * @private\n   */\n  acceptAsClient(response) {\n    const params = response[0];\n\n    if (\n      this._options.clientNoContextTakeover === false &&\n      params.client_no_context_takeover\n    ) {\n      throw new Error('Unexpected parameter \"client_no_context_takeover\"');\n    }\n\n    if (!params.client_max_window_bits) {\n      if (typeof this._options.clientMaxWindowBits === 'number') {\n        params.client_max_window_bits = this._options.clientMaxWindowBits;\n      }\n    } else if (\n      this._options.clientMaxWindowBits === false ||\n      (typeof this._options.clientMaxWindowBits === 'number' &&\n        params.client_max_window_bits > this._options.clientMaxWindowBits)\n    ) {\n      throw new Error(\n        'Unexpected or invalid parameter \"client_max_window_bits\"'\n      );\n    }\n\n    return params;\n  }\n\n  /**\n   * Normalize parameters.\n   *\n   * @param {Array} configurations The extension negotiation offers/reponse\n   * @return {Array} The offers/response with normalized parameters\n   * @private\n   */\n  normalizeParams(configurations) {\n    configurations.forEach((params) => {\n      Object.keys(params).forEach((key) => {\n        let value = params[key];\n\n        if (value.length > 1) {\n          throw new Error(`Parameter \"${key}\" must have only a single value`);\n        }\n\n        value = value[0];\n\n        if (key === 'client_max_window_bits') {\n          if (value !== true) {\n            const num = +value;\n            if (!Number.isInteger(num) || num < 8 || num > 15) {\n              throw new TypeError(\n                `Invalid value for parameter \"${key}\": ${value}`\n              );\n            }\n            value = num;\n          } else if (!this._isServer) {\n            throw new TypeError(\n              `Invalid value for parameter \"${key}\": ${value}`\n            );\n          }\n        } else if (key === 'server_max_window_bits') {\n          const num = +value;\n          if (!Number.isInteger(num) || num < 8 || num > 15) {\n            throw new TypeError(\n              `Invalid value for parameter \"${key}\": ${value}`\n            );\n          }\n          value = num;\n        } else if (\n          key === 'client_no_context_takeover' ||\n          key === 'server_no_context_takeover'\n        ) {\n          if (value !== true) {\n            throw new TypeError(\n              `Invalid value for parameter \"${key}\": ${value}`\n            );\n          }\n        } else {\n          throw new Error(`Unknown parameter \"${key}\"`);\n        }\n\n        params[key] = value;\n      });\n    });\n\n    return configurations;\n  }\n\n  /**\n   * Decompress data. Concurrency limited.\n   *\n   * @param {Buffer} data Compressed data\n   * @param {Boolean} fin Specifies whether or not this is the last fragment\n   * @param {Function} callback Callback\n   * @public\n   */\n  decompress(data, fin, callback) {\n    zlibLimiter.add((done) => {\n      this._decompress(data, fin, (err, result) => {\n        done();\n        callback(err, result);\n      });\n    });\n  }\n\n  /**\n   * Compress data. Concurrency limited.\n   *\n   * @param {(Buffer|String)} data Data to compress\n   * @param {Boolean} fin Specifies whether or not this is the last fragment\n   * @param {Function} callback Callback\n   * @public\n   */\n  compress(data, fin, callback) {\n    zlibLimiter.add((done) => {\n      this._compress(data, fin, (err, result) => {\n        done();\n        callback(err, result);\n      });\n    });\n  }\n\n  /**\n   * Decompress data.\n   *\n   * @param {Buffer} data Compressed data\n   * @param {Boolean} fin Specifies whether or not this is the last fragment\n   * @param {Function} callback Callback\n   * @private\n   */\n  _decompress(data, fin, callback) {\n    const endpoint = this._isServer ? 'client' : 'server';\n\n    if (!this._inflate) {\n      const key = `${endpoint}_max_window_bits`;\n      const windowBits =\n        typeof this.params[key] !== 'number'\n          ? zlib.Z_DEFAULT_WINDOWBITS\n          : this.params[key];\n\n      this._inflate = zlib.createInflateRaw({\n        ...this._options.zlibInflateOptions,\n        windowBits\n      });\n      this._inflate[kPerMessageDeflate] = this;\n      this._inflate[kTotalLength] = 0;\n      this._inflate[kBuffers] = [];\n      this._inflate.on('error', inflateOnError);\n      this._inflate.on('data', inflateOnData);\n    }\n\n    this._inflate[kCallback] = callback;\n\n    this._inflate.write(data);\n    if (fin) this._inflate.write(TRAILER);\n\n    this._inflate.flush(() => {\n      const err = this._inflate[kError];\n\n      if (err) {\n        this._inflate.close();\n        this._inflate = null;\n        callback(err);\n        return;\n      }\n\n      const data = bufferUtil.concat(\n        this._inflate[kBuffers],\n        this._inflate[kTotalLength]\n      );\n\n      if (this._inflate._readableState.endEmitted) {\n        this._inflate.close();\n        this._inflate = null;\n      } else {\n        this._inflate[kTotalLength] = 0;\n        this._inflate[kBuffers] = [];\n\n        if (fin && this.params[`${endpoint}_no_context_takeover`]) {\n          this._inflate.reset();\n        }\n      }\n\n      callback(null, data);\n    });\n  }\n\n  /**\n   * Compress data.\n   *\n   * @param {(Buffer|String)} data Data to compress\n   * @param {Boolean} fin Specifies whether or not this is the last fragment\n   * @param {Function} callback Callback\n   * @private\n   */\n  _compress(data, fin, callback) {\n    const endpoint = this._isServer ? 'server' : 'client';\n\n    if (!this._deflate) {\n      const key = `${endpoint}_max_window_bits`;\n      const windowBits =\n        typeof this.params[key] !== 'number'\n          ? zlib.Z_DEFAULT_WINDOWBITS\n          : this.params[key];\n\n      this._deflate = zlib.createDeflateRaw({\n        ...this._options.zlibDeflateOptions,\n        windowBits\n      });\n\n      this._deflate[kTotalLength] = 0;\n      this._deflate[kBuffers] = [];\n\n      this._deflate.on('data', deflateOnData);\n    }\n\n    this._deflate[kCallback] = callback;\n\n    this._deflate.write(data);\n    this._deflate.flush(zlib.Z_SYNC_FLUSH, () => {\n      if (!this._deflate) {\n        //\n        // The deflate stream was closed while data was being processed.\n        //\n        return;\n      }\n\n      let data = bufferUtil.concat(\n        this._deflate[kBuffers],\n        this._deflate[kTotalLength]\n      );\n\n      if (fin) {\n        data = new FastBuffer(data.buffer, data.byteOffset, data.length - 4);\n      }\n\n      //\n      // Ensure that the callback will not be called again in\n      // `PerMessageDeflate#cleanup()`.\n      //\n      this._deflate[kCallback] = null;\n\n      this._deflate[kTotalLength] = 0;\n      this._deflate[kBuffers] = [];\n\n      if (fin && this.params[`${endpoint}_no_context_takeover`]) {\n        this._deflate.reset();\n      }\n\n      callback(null, data);\n    });\n  }\n}\n\nmodule.exports = PerMessageDeflate;\n\n/**\n * The listener of the `zlib.DeflateRaw` stream `'data'` event.\n *\n * @param {Buffer} chunk A chunk of data\n * @private\n */\nfunction deflateOnData(chunk) {\n  this[kBuffers].push(chunk);\n  this[kTotalLength] += chunk.length;\n}\n\n/**\n * The listener of the `zlib.InflateRaw` stream `'data'` event.\n *\n * @param {Buffer} chunk A chunk of data\n * @private\n */\nfunction inflateOnData(chunk) {\n  this[kTotalLength] += chunk.length;\n\n  if (\n    this[kPerMessageDeflate]._maxPayload < 1 ||\n    this[kTotalLength] <= this[kPerMessageDeflate]._maxPayload\n  ) {\n    this[kBuffers].push(chunk);\n    return;\n  }\n\n  this[kError] = new RangeError('Max payload size exceeded');\n  this[kError].code = 'WS_ERR_UNSUPPORTED_MESSAGE_LENGTH';\n  this[kError][kStatusCode] = 1009;\n  this.removeListener('data', inflateOnData);\n  this.reset();\n}\n\n/**\n * The listener of the `zlib.InflateRaw` stream `'error'` event.\n *\n * @param {Error} err The emitted error\n * @private\n */\nfunction inflateOnError(err) {\n  //\n  // There is no need to call `Zlib#close()` as the handle is automatically\n  // closed when an error is emitted.\n  //\n  this[kPerMessageDeflate]._inflate = null;\n  err[kStatusCode] = 1007;\n  this[kCallback](err);\n}\n", "'use strict';\n\nconst { isUtf8 } = require('buffer');\n\nconst { hasBlob } = require('./constants');\n\n//\n// Allowed token characters:\n//\n// '!', '#', '$', '%', '&', ''', '*', '+', '-',\n// '.', 0-9, A-Z, '^', '_', '`', a-z, '|', '~'\n//\n// tokenChars[32] === 0 // ' '\n// tokenChars[33] === 1 // '!'\n// tokenChars[34] === 0 // '\"'\n// ...\n//\n// prettier-ignore\nconst tokenChars = [\n  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0 - 15\n  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 16 - 31\n  0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, // 32 - 47\n  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, // 48 - 63\n  0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 64 - 79\n  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, // 80 - 95\n  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 96 - 111\n  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0 // 112 - 127\n];\n\n/**\n * Checks if a status code is allowed in a close frame.\n *\n * @param {Number} code The status code\n * @return {Boolean} `true` if the status code is valid, else `false`\n * @public\n */\nfunction isValidStatusCode(code) {\n  return (\n    (code >= 1000 &&\n      code <= 1014 &&\n      code !== 1004 &&\n      code !== 1005 &&\n      code !== 1006) ||\n    (code >= 3000 && code <= 4999)\n  );\n}\n\n/**\n * Checks if a given buffer contains only correct UTF-8.\n * Ported from https://www.cl.cam.ac.uk/%7Emgk25/ucs/utf8_check.c by\n * Markus Kuhn.\n *\n * @param {Buffer} buf The buffer to check\n * @return {Boolean} `true` if `buf` contains only correct UTF-8, else `false`\n * @public\n */\nfunction _isValidUTF8(buf) {\n  const len = buf.length;\n  let i = 0;\n\n  while (i < len) {\n    if ((buf[i] & 0x80) === 0) {\n      // 0xxxxxxx\n      i++;\n    } else if ((buf[i] & 0xe0) === 0xc0) {\n      // 110xxxxx 10xxxxxx\n      if (\n        i + 1 === len ||\n        (buf[i + 1] & 0xc0) !== 0x80 ||\n        (buf[i] & 0xfe) === 0xc0 // Overlong\n      ) {\n        return false;\n      }\n\n      i += 2;\n    } else if ((buf[i] & 0xf0) === 0xe0) {\n      // 1110xxxx 10xxxxxx 10xxxxxx\n      if (\n        i + 2 >= len ||\n        (buf[i + 1] & 0xc0) !== 0x80 ||\n        (buf[i + 2] & 0xc0) !== 0x80 ||\n        (buf[i] === 0xe0 && (buf[i + 1] & 0xe0) === 0x80) || // Overlong\n        (buf[i] === 0xed && (buf[i + 1] & 0xe0) === 0xa0) // Surrogate (U+D800 - U+DFFF)\n      ) {\n        return false;\n      }\n\n      i += 3;\n    } else if ((buf[i] & 0xf8) === 0xf0) {\n      // 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx\n      if (\n        i + 3 >= len ||\n        (buf[i + 1] & 0xc0) !== 0x80 ||\n        (buf[i + 2] & 0xc0) !== 0x80 ||\n        (buf[i + 3] & 0xc0) !== 0x80 ||\n        (buf[i] === 0xf0 && (buf[i + 1] & 0xf0) === 0x80) || // Overlong\n        (buf[i] === 0xf4 && buf[i + 1] > 0x8f) ||\n        buf[i] > 0xf4 // > U+10FFFF\n      ) {\n        return false;\n      }\n\n      i += 4;\n    } else {\n      return false;\n    }\n  }\n\n  return true;\n}\n\n/**\n * Determines whether a value is a `Blob`.\n *\n * @param {*} value The value to be tested\n * @return {Boolean} `true` if `value` is a `Blob`, else `false`\n * @private\n */\nfunction isBlob(value) {\n  return (\n    hasBlob &&\n    typeof value === 'object' &&\n    typeof value.arrayBuffer === 'function' &&\n    typeof value.type === 'string' &&\n    typeof value.stream === 'function' &&\n    (value[Symbol.toStringTag] === 'Blob' ||\n      value[Symbol.toStringTag] === 'File')\n  );\n}\n\nmodule.exports = {\n  isBlob,\n  isValidStatusCode,\n  isValidUTF8: _isValidUTF8,\n  tokenChars\n};\n\nif (isUtf8) {\n  module.exports.isValidUTF8 = function (buf) {\n    return buf.length < 24 ? _isValidUTF8(buf) : isUtf8(buf);\n  };\n} /* istanbul ignore else  */ else if (!process.env.WS_NO_UTF_8_VALIDATE) {\n  try {\n    const isValidUTF8 = require('utf-8-validate');\n\n    module.exports.isValidUTF8 = function (buf) {\n      return buf.length < 32 ? _isValidUTF8(buf) : isValidUTF8(buf);\n    };\n  } catch (e) {\n    // Continue regardless of the error.\n  }\n}\n", "'use strict';\n\nconst { Writable } = require('stream');\n\nconst PerMessageDeflate = require('./permessage-deflate');\nconst {\n  BINARY_TYPES,\n  EMPTY_BUFFER,\n  kStatusCode,\n  kWebSocket\n} = require('./constants');\nconst { concat, toArrayBuffer, unmask } = require('./buffer-util');\nconst { isValidStatusCode, isValidUTF8 } = require('./validation');\n\nconst FastBuffer = Buffer[Symbol.species];\n\nconst GET_INFO = 0;\nconst GET_PAYLOAD_LENGTH_16 = 1;\nconst GET_PAYLOAD_LENGTH_64 = 2;\nconst GET_MASK = 3;\nconst GET_DATA = 4;\nconst INFLATING = 5;\nconst DEFER_EVENT = 6;\n\n/**\n * HyBi Receiver implementation.\n *\n * @extends Writable\n */\nclass Receiver extends Writable {\n  /**\n   * Creates a Receiver instance.\n   *\n   * @param {Object} [options] Options object\n   * @param {Boolean} [options.allowSynchronousEvents=true] Specifies whether\n   *     any of the `'message'`, `'ping'`, and `'pong'` events can be emitted\n   *     multiple times in the same tick\n   * @param {String} [options.binaryType=nodebuffer] The type for binary data\n   * @param {Object} [options.extensions] An object containing the negotiated\n   *     extensions\n   * @param {Boolean} [options.isServer=false] Specifies whether to operate in\n   *     client or server mode\n   * @param {Number} [options.maxPayload=0] The maximum allowed message length\n   * @param {Boolean} [options.skipUTF8Validation=false] Specifies whether or\n   *     not to skip UTF-8 validation for text and close messages\n   */\n  constructor(options = {}) {\n    super();\n\n    this._allowSynchronousEvents =\n      options.allowSynchronousEvents !== undefined\n        ? options.allowSynchronousEvents\n        : true;\n    this._binaryType = options.binaryType || BINARY_TYPES[0];\n    this._extensions = options.extensions || {};\n    this._isServer = !!options.isServer;\n    this._maxPayload = options.maxPayload | 0;\n    this._skipUTF8Validation = !!options.skipUTF8Validation;\n    this[kWebSocket] = undefined;\n\n    this._bufferedBytes = 0;\n    this._buffers = [];\n\n    this._compressed = false;\n    this._payloadLength = 0;\n    this._mask = undefined;\n    this._fragmented = 0;\n    this._masked = false;\n    this._fin = false;\n    this._opcode = 0;\n\n    this._totalPayloadLength = 0;\n    this._messageLength = 0;\n    this._fragments = [];\n\n    this._errored = false;\n    this._loop = false;\n    this._state = GET_INFO;\n  }\n\n  /**\n   * Implements `Writable.prototype._write()`.\n   *\n   * @param {Buffer} chunk The chunk of data to write\n   * @param {String} encoding The character encoding of `chunk`\n   * @param {Function} cb Callback\n   * @private\n   */\n  _write(chunk, encoding, cb) {\n    if (this._opcode === 0x08 && this._state == GET_INFO) return cb();\n\n    this._bufferedBytes += chunk.length;\n    this._buffers.push(chunk);\n    this.startLoop(cb);\n  }\n\n  /**\n   * Consumes `n` bytes from the buffered data.\n   *\n   * @param {Number} n The number of bytes to consume\n   * @return {Buffer} The consumed bytes\n   * @private\n   */\n  consume(n) {\n    this._bufferedBytes -= n;\n\n    if (n === this._buffers[0].length) return this._buffers.shift();\n\n    if (n < this._buffers[0].length) {\n      const buf = this._buffers[0];\n      this._buffers[0] = new FastBuffer(\n        buf.buffer,\n        buf.byteOffset + n,\n        buf.length - n\n      );\n\n      return new FastBuffer(buf.buffer, buf.byteOffset, n);\n    }\n\n    const dst = Buffer.allocUnsafe(n);\n\n    do {\n      const buf = this._buffers[0];\n      const offset = dst.length - n;\n\n      if (n >= buf.length) {\n        dst.set(this._buffers.shift(), offset);\n      } else {\n        dst.set(new Uint8Array(buf.buffer, buf.byteOffset, n), offset);\n        this._buffers[0] = new FastBuffer(\n          buf.buffer,\n          buf.byteOffset + n,\n          buf.length - n\n        );\n      }\n\n      n -= buf.length;\n    } while (n > 0);\n\n    return dst;\n  }\n\n  /**\n   * Starts the parsing loop.\n   *\n   * @param {Function} cb Callback\n   * @private\n   */\n  startLoop(cb) {\n    this._loop = true;\n\n    do {\n      switch (this._state) {\n        case GET_INFO:\n          this.getInfo(cb);\n          break;\n        case GET_PAYLOAD_LENGTH_16:\n          this.getPayloadLength16(cb);\n          break;\n        case GET_PAYLOAD_LENGTH_64:\n          this.getPayloadLength64(cb);\n          break;\n        case GET_MASK:\n          this.getMask();\n          break;\n        case GET_DATA:\n          this.getData(cb);\n          break;\n        case INFLATING:\n        case DEFER_EVENT:\n          this._loop = false;\n          return;\n      }\n    } while (this._loop);\n\n    if (!this._errored) cb();\n  }\n\n  /**\n   * Reads the first two bytes of a frame.\n   *\n   * @param {Function} cb Callback\n   * @private\n   */\n  getInfo(cb) {\n    if (this._bufferedBytes < 2) {\n      this._loop = false;\n      return;\n    }\n\n    const buf = this.consume(2);\n\n    if ((buf[0] & 0x30) !== 0x00) {\n      const error = this.createError(\n        RangeError,\n        'RSV2 and RSV3 must be clear',\n        true,\n        1002,\n        'WS_ERR_UNEXPECTED_RSV_2_3'\n      );\n\n      cb(error);\n      return;\n    }\n\n    const compressed = (buf[0] & 0x40) === 0x40;\n\n    if (compressed && !this._extensions[PerMessageDeflate.extensionName]) {\n      const error = this.createError(\n        RangeError,\n        'RSV1 must be clear',\n        true,\n        1002,\n        'WS_ERR_UNEXPECTED_RSV_1'\n      );\n\n      cb(error);\n      return;\n    }\n\n    this._fin = (buf[0] & 0x80) === 0x80;\n    this._opcode = buf[0] & 0x0f;\n    this._payloadLength = buf[1] & 0x7f;\n\n    if (this._opcode === 0x00) {\n      if (compressed) {\n        const error = this.createError(\n          RangeError,\n          'RSV1 must be clear',\n          true,\n          1002,\n          'WS_ERR_UNEXPECTED_RSV_1'\n        );\n\n        cb(error);\n        return;\n      }\n\n      if (!this._fragmented) {\n        const error = this.createError(\n          RangeError,\n          'invalid opcode 0',\n          true,\n          1002,\n          'WS_ERR_INVALID_OPCODE'\n        );\n\n        cb(error);\n        return;\n      }\n\n      this._opcode = this._fragmented;\n    } else if (this._opcode === 0x01 || this._opcode === 0x02) {\n      if (this._fragmented) {\n        const error = this.createError(\n          RangeError,\n          `invalid opcode ${this._opcode}`,\n          true,\n          1002,\n          'WS_ERR_INVALID_OPCODE'\n        );\n\n        cb(error);\n        return;\n      }\n\n      this._compressed = compressed;\n    } else if (this._opcode > 0x07 && this._opcode < 0x0b) {\n      if (!this._fin) {\n        const error = this.createError(\n          RangeError,\n          'FIN must be set',\n          true,\n          1002,\n          'WS_ERR_EXPECTED_FIN'\n        );\n\n        cb(error);\n        return;\n      }\n\n      if (compressed) {\n        const error = this.createError(\n          RangeError,\n          'RSV1 must be clear',\n          true,\n          1002,\n          'WS_ERR_UNEXPECTED_RSV_1'\n        );\n\n        cb(error);\n        return;\n      }\n\n      if (\n        this._payloadLength > 0x7d ||\n        (this._opcode === 0x08 && this._payloadLength === 1)\n      ) {\n        const error = this.createError(\n          RangeError,\n          `invalid payload length ${this._payloadLength}`,\n          true,\n          1002,\n          'WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH'\n        );\n\n        cb(error);\n        return;\n      }\n    } else {\n      const error = this.createError(\n        RangeError,\n        `invalid opcode ${this._opcode}`,\n        true,\n        1002,\n        'WS_ERR_INVALID_OPCODE'\n      );\n\n      cb(error);\n      return;\n    }\n\n    if (!this._fin && !this._fragmented) this._fragmented = this._opcode;\n    this._masked = (buf[1] & 0x80) === 0x80;\n\n    if (this._isServer) {\n      if (!this._masked) {\n        const error = this.createError(\n          RangeError,\n          'MASK must be set',\n          true,\n          1002,\n          'WS_ERR_EXPECTED_MASK'\n        );\n\n        cb(error);\n        return;\n      }\n    } else if (this._masked) {\n      const error = this.createError(\n        RangeError,\n        'MASK must be clear',\n        true,\n        1002,\n        'WS_ERR_UNEXPECTED_MASK'\n      );\n\n      cb(error);\n      return;\n    }\n\n    if (this._payloadLength === 126) this._state = GET_PAYLOAD_LENGTH_16;\n    else if (this._payloadLength === 127) this._state = GET_PAYLOAD_LENGTH_64;\n    else this.haveLength(cb);\n  }\n\n  /**\n   * Gets extended payload length (7+16).\n   *\n   * @param {Function} cb Callback\n   * @private\n   */\n  getPayloadLength16(cb) {\n    if (this._bufferedBytes < 2) {\n      this._loop = false;\n      return;\n    }\n\n    this._payloadLength = this.consume(2).readUInt16BE(0);\n    this.haveLength(cb);\n  }\n\n  /**\n   * Gets extended payload length (7+64).\n   *\n   * @param {Function} cb Callback\n   * @private\n   */\n  getPayloadLength64(cb) {\n    if (this._bufferedBytes < 8) {\n      this._loop = false;\n      return;\n    }\n\n    const buf = this.consume(8);\n    const num = buf.readUInt32BE(0);\n\n    //\n    // The maximum safe integer in JavaScript is 2^53 - 1. An error is returned\n    // if payload length is greater than this number.\n    //\n    if (num > Math.pow(2, 53 - 32) - 1) {\n      const error = this.createError(\n        RangeError,\n        'Unsupported WebSocket frame: payload length > 2^53 - 1',\n        false,\n        1009,\n        'WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH'\n      );\n\n      cb(error);\n      return;\n    }\n\n    this._payloadLength = num * Math.pow(2, 32) + buf.readUInt32BE(4);\n    this.haveLength(cb);\n  }\n\n  /**\n   * Payload length has been read.\n   *\n   * @param {Function} cb Callback\n   * @private\n   */\n  haveLength(cb) {\n    if (this._payloadLength && this._opcode < 0x08) {\n      this._totalPayloadLength += this._payloadLength;\n      if (this._totalPayloadLength > this._maxPayload && this._maxPayload > 0) {\n        const error = this.createError(\n          RangeError,\n          'Max payload size exceeded',\n          false,\n          1009,\n          'WS_ERR_UNSUPPORTED_MESSAGE_LENGTH'\n        );\n\n        cb(error);\n        return;\n      }\n    }\n\n    if (this._masked) this._state = GET_MASK;\n    else this._state = GET_DATA;\n  }\n\n  /**\n   * Reads mask bytes.\n   *\n   * @private\n   */\n  getMask() {\n    if (this._bufferedBytes < 4) {\n      this._loop = false;\n      return;\n    }\n\n    this._mask = this.consume(4);\n    this._state = GET_DATA;\n  }\n\n  /**\n   * Reads data bytes.\n   *\n   * @param {Function} cb Callback\n   * @private\n   */\n  getData(cb) {\n    let data = EMPTY_BUFFER;\n\n    if (this._payloadLength) {\n      if (this._bufferedBytes < this._payloadLength) {\n        this._loop = false;\n        return;\n      }\n\n      data = this.consume(this._payloadLength);\n\n      if (\n        this._masked &&\n        (this._mask[0] | this._mask[1] | this._mask[2] | this._mask[3]) !== 0\n      ) {\n        unmask(data, this._mask);\n      }\n    }\n\n    if (this._opcode > 0x07) {\n      this.controlMessage(data, cb);\n      return;\n    }\n\n    if (this._compressed) {\n      this._state = INFLATING;\n      this.decompress(data, cb);\n      return;\n    }\n\n    if (data.length) {\n      //\n      // This message is not compressed so its length is the sum of the payload\n      // length of all fragments.\n      //\n      this._messageLength = this._totalPayloadLength;\n      this._fragments.push(data);\n    }\n\n    this.dataMessage(cb);\n  }\n\n  /**\n   * Decompresses data.\n   *\n   * @param {Buffer} data Compressed data\n   * @param {Function} cb Callback\n   * @private\n   */\n  decompress(data, cb) {\n    const perMessageDeflate = this._extensions[PerMessageDeflate.extensionName];\n\n    perMessageDeflate.decompress(data, this._fin, (err, buf) => {\n      if (err) return cb(err);\n\n      if (buf.length) {\n        this._messageLength += buf.length;\n        if (this._messageLength > this._maxPayload && this._maxPayload > 0) {\n          const error = this.createError(\n            RangeError,\n            'Max payload size exceeded',\n            false,\n            1009,\n            'WS_ERR_UNSUPPORTED_MESSAGE_LENGTH'\n          );\n\n          cb(error);\n          return;\n        }\n\n        this._fragments.push(buf);\n      }\n\n      this.dataMessage(cb);\n      if (this._state === GET_INFO) this.startLoop(cb);\n    });\n  }\n\n  /**\n   * Handles a data message.\n   *\n   * @param {Function} cb Callback\n   * @private\n   */\n  dataMessage(cb) {\n    if (!this._fin) {\n      this._state = GET_INFO;\n      return;\n    }\n\n    const messageLength = this._messageLength;\n    const fragments = this._fragments;\n\n    this._totalPayloadLength = 0;\n    this._messageLength = 0;\n    this._fragmented = 0;\n    this._fragments = [];\n\n    if (this._opcode === 2) {\n      let data;\n\n      if (this._binaryType === 'nodebuffer') {\n        data = concat(fragments, messageLength);\n      } else if (this._binaryType === 'arraybuffer') {\n        data = toArrayBuffer(concat(fragments, messageLength));\n      } else if (this._binaryType === 'blob') {\n        data = new Blob(fragments);\n      } else {\n        data = fragments;\n      }\n\n      if (this._allowSynchronousEvents) {\n        this.emit('message', data, true);\n        this._state = GET_INFO;\n      } else {\n        this._state = DEFER_EVENT;\n        setImmediate(() => {\n          this.emit('message', data, true);\n          this._state = GET_INFO;\n          this.startLoop(cb);\n        });\n      }\n    } else {\n      const buf = concat(fragments, messageLength);\n\n      if (!this._skipUTF8Validation && !isValidUTF8(buf)) {\n        const error = this.createError(\n          Error,\n          'invalid UTF-8 sequence',\n          true,\n          1007,\n          'WS_ERR_INVALID_UTF8'\n        );\n\n        cb(error);\n        return;\n      }\n\n      if (this._state === INFLATING || this._allowSynchronousEvents) {\n        this.emit('message', buf, false);\n        this._state = GET_INFO;\n      } else {\n        this._state = DEFER_EVENT;\n        setImmediate(() => {\n          this.emit('message', buf, false);\n          this._state = GET_INFO;\n          this.startLoop(cb);\n        });\n      }\n    }\n  }\n\n  /**\n   * Handles a control message.\n   *\n   * @param {Buffer} data Data to handle\n   * @return {(Error|RangeError|undefined)} A possible error\n   * @private\n   */\n  controlMessage(data, cb) {\n    if (this._opcode === 0x08) {\n      if (data.length === 0) {\n        this._loop = false;\n        this.emit('conclude', 1005, EMPTY_BUFFER);\n        this.end();\n      } else {\n        const code = data.readUInt16BE(0);\n\n        if (!isValidStatusCode(code)) {\n          const error = this.createError(\n            RangeError,\n            `invalid status code ${code}`,\n            true,\n            1002,\n            'WS_ERR_INVALID_CLOSE_CODE'\n          );\n\n          cb(error);\n          return;\n        }\n\n        const buf = new FastBuffer(\n          data.buffer,\n          data.byteOffset + 2,\n          data.length - 2\n        );\n\n        if (!this._skipUTF8Validation && !isValidUTF8(buf)) {\n          const error = this.createError(\n            Error,\n            'invalid UTF-8 sequence',\n            true,\n            1007,\n            'WS_ERR_INVALID_UTF8'\n          );\n\n          cb(error);\n          return;\n        }\n\n        this._loop = false;\n        this.emit('conclude', code, buf);\n        this.end();\n      }\n\n      this._state = GET_INFO;\n      return;\n    }\n\n    if (this._allowSynchronousEvents) {\n      this.emit(this._opcode === 0x09 ? 'ping' : 'pong', data);\n      this._state = GET_INFO;\n    } else {\n      this._state = DEFER_EVENT;\n      setImmediate(() => {\n        this.emit(this._opcode === 0x09 ? 'ping' : 'pong', data);\n        this._state = GET_INFO;\n        this.startLoop(cb);\n      });\n    }\n  }\n\n  /**\n   * Builds an error object.\n   *\n   * @param {function(new:Error|RangeError)} ErrorCtor The error constructor\n   * @param {String} message The error message\n   * @param {Boolean} prefix Specifies whether or not to add a default prefix to\n   *     `message`\n   * @param {Number} statusCode The status code\n   * @param {String} errorCode The exposed error code\n   * @return {(Error|RangeError)} The error\n   * @private\n   */\n  createError(ErrorCtor, message, prefix, statusCode, errorCode) {\n    this._loop = false;\n    this._errored = true;\n\n    const err = new ErrorCtor(\n      prefix ? `Invalid WebSocket frame: ${message}` : message\n    );\n\n    Error.captureStackTrace(err, this.createError);\n    err.code = errorCode;\n    err[kStatusCode] = statusCode;\n    return err;\n  }\n}\n\nmodule.exports = Receiver;\n", "/* eslint no-unused-vars: [\"error\", { \"varsIgnorePattern\": \"^Duplex\" }] */\n\n'use strict';\n\nconst { Duplex } = require('stream');\nconst { randomFillSync } = require('crypto');\n\nconst PerMessageDeflate = require('./permessage-deflate');\nconst { EMPTY_BUFFER, kWebSocket, NOOP } = require('./constants');\nconst { isBlob, isValidStatusCode } = require('./validation');\nconst { mask: applyMask, toBuffer } = require('./buffer-util');\n\nconst kByteLength = Symbol('kByteLength');\nconst maskBuffer = Buffer.alloc(4);\nconst RANDOM_POOL_SIZE = 8 * 1024;\nlet randomPool;\nlet randomPoolPointer = RANDOM_POOL_SIZE;\n\nconst DEFAULT = 0;\nconst DEFLATING = 1;\nconst GET_BLOB_DATA = 2;\n\n/**\n * HyBi Sender implementation.\n */\nclass Sender {\n  /**\n   * Creates a Sender instance.\n   *\n   * @param {Duplex} socket The connection socket\n   * @param {Object} [extensions] An object containing the negotiated extensions\n   * @param {Function} [generateMask] The function used to generate the masking\n   *     key\n   */\n  constructor(socket, extensions, generateMask) {\n    this._extensions = extensions || {};\n\n    if (generateMask) {\n      this._generateMask = generateMask;\n      this._maskBuffer = Buffer.alloc(4);\n    }\n\n    this._socket = socket;\n\n    this._firstFragment = true;\n    this._compress = false;\n\n    this._bufferedBytes = 0;\n    this._queue = [];\n    this._state = DEFAULT;\n    this.onerror = NOOP;\n    this[kWebSocket] = undefined;\n  }\n\n  /**\n   * Frames a piece of data according to the HyBi WebSocket protocol.\n   *\n   * @param {(Buffer|String)} data The data to frame\n   * @param {Object} options Options object\n   * @param {Boolean} [options.fin=false] Specifies whether or not to set the\n   *     FIN bit\n   * @param {Function} [options.generateMask] The function used to generate the\n   *     masking key\n   * @param {Boolean} [options.mask=false] Specifies whether or not to mask\n   *     `data`\n   * @param {Buffer} [options.maskBuffer] The buffer used to store the masking\n   *     key\n   * @param {Number} options.opcode The opcode\n   * @param {Boolean} [options.readOnly=false] Specifies whether `data` can be\n   *     modified\n   * @param {Boolean} [options.rsv1=false] Specifies whether or not to set the\n   *     RSV1 bit\n   * @return {(Buffer|String)[]} The framed data\n   * @public\n   */\n  static frame(data, options) {\n    let mask;\n    let merge = false;\n    let offset = 2;\n    let skipMasking = false;\n\n    if (options.mask) {\n      mask = options.maskBuffer || maskBuffer;\n\n      if (options.generateMask) {\n        options.generateMask(mask);\n      } else {\n        if (randomPoolPointer === RANDOM_POOL_SIZE) {\n          /* istanbul ignore else  */\n          if (randomPool === undefined) {\n            //\n            // This is lazily initialized because server-sent frames must not\n            // be masked so it may never be used.\n            //\n            randomPool = Buffer.alloc(RANDOM_POOL_SIZE);\n          }\n\n          randomFillSync(randomPool, 0, RANDOM_POOL_SIZE);\n          randomPoolPointer = 0;\n        }\n\n        mask[0] = randomPool[randomPoolPointer++];\n        mask[1] = randomPool[randomPoolPointer++];\n        mask[2] = randomPool[randomPoolPointer++];\n        mask[3] = randomPool[randomPoolPointer++];\n      }\n\n      skipMasking = (mask[0] | mask[1] | mask[2] | mask[3]) === 0;\n      offset = 6;\n    }\n\n    let dataLength;\n\n    if (typeof data === 'string') {\n      if (\n        (!options.mask || skipMasking) &&\n        options[kByteLength] !== undefined\n      ) {\n        dataLength = options[kByteLength];\n      } else {\n        data = Buffer.from(data);\n        dataLength = data.length;\n      }\n    } else {\n      dataLength = data.length;\n      merge = options.mask && options.readOnly && !skipMasking;\n    }\n\n    let payloadLength = dataLength;\n\n    if (dataLength >= 65536) {\n      offset += 8;\n      payloadLength = 127;\n    } else if (dataLength > 125) {\n      offset += 2;\n      payloadLength = 126;\n    }\n\n    const target = Buffer.allocUnsafe(merge ? dataLength + offset : offset);\n\n    target[0] = options.fin ? options.opcode | 0x80 : options.opcode;\n    if (options.rsv1) target[0] |= 0x40;\n\n    target[1] = payloadLength;\n\n    if (payloadLength === 126) {\n      target.writeUInt16BE(dataLength, 2);\n    } else if (payloadLength === 127) {\n      target[2] = target[3] = 0;\n      target.writeUIntBE(dataLength, 4, 6);\n    }\n\n    if (!options.mask) return [target, data];\n\n    target[1] |= 0x80;\n    target[offset - 4] = mask[0];\n    target[offset - 3] = mask[1];\n    target[offset - 2] = mask[2];\n    target[offset - 1] = mask[3];\n\n    if (skipMasking) return [target, data];\n\n    if (merge) {\n      applyMask(data, mask, target, offset, dataLength);\n      return [target];\n    }\n\n    applyMask(data, mask, data, 0, dataLength);\n    return [target, data];\n  }\n\n  /**\n   * Sends a close message to the other peer.\n   *\n   * @param {Number} [code] The status code component of the body\n   * @param {(String|Buffer)} [data] The message component of the body\n   * @param {Boolean} [mask=false] Specifies whether or not to mask the message\n   * @param {Function} [cb] Callback\n   * @public\n   */\n  close(code, data, mask, cb) {\n    let buf;\n\n    if (code === undefined) {\n      buf = EMPTY_BUFFER;\n    } else if (typeof code !== 'number' || !isValidStatusCode(code)) {\n      throw new TypeError('First argument must be a valid error code number');\n    } else if (data === undefined || !data.length) {\n      buf = Buffer.allocUnsafe(2);\n      buf.writeUInt16BE(code, 0);\n    } else {\n      const length = Buffer.byteLength(data);\n\n      if (length > 123) {\n        throw new RangeError('The message must not be greater than 123 bytes');\n      }\n\n      buf = Buffer.allocUnsafe(2 + length);\n      buf.writeUInt16BE(code, 0);\n\n      if (typeof data === 'string') {\n        buf.write(data, 2);\n      } else {\n        buf.set(data, 2);\n      }\n    }\n\n    const options = {\n      [kByteLength]: buf.length,\n      fin: true,\n      generateMask: this._generateMask,\n      mask,\n      maskBuffer: this._maskBuffer,\n      opcode: 0x08,\n      readOnly: false,\n      rsv1: false\n    };\n\n    if (this._state !== DEFAULT) {\n      this.enqueue([this.dispatch, buf, false, options, cb]);\n    } else {\n      this.sendFrame(Sender.frame(buf, options), cb);\n    }\n  }\n\n  /**\n   * Sends a ping message to the other peer.\n   *\n   * @param {*} data The message to send\n   * @param {Boolean} [mask=false] Specifies whether or not to mask `data`\n   * @param {Function} [cb] Callback\n   * @public\n   */\n  ping(data, mask, cb) {\n    let byteLength;\n    let readOnly;\n\n    if (typeof data === 'string') {\n      byteLength = Buffer.byteLength(data);\n      readOnly = false;\n    } else if (isBlob(data)) {\n      byteLength = data.size;\n      readOnly = false;\n    } else {\n      data = toBuffer(data);\n      byteLength = data.length;\n      readOnly = toBuffer.readOnly;\n    }\n\n    if (byteLength > 125) {\n      throw new RangeError('The data size must not be greater than 125 bytes');\n    }\n\n    const options = {\n      [kByteLength]: byteLength,\n      fin: true,\n      generateMask: this._generateMask,\n      mask,\n      maskBuffer: this._maskBuffer,\n      opcode: 0x09,\n      readOnly,\n      rsv1: false\n    };\n\n    if (isBlob(data)) {\n      if (this._state !== DEFAULT) {\n        this.enqueue([this.getBlobData, data, false, options, cb]);\n      } else {\n        this.getBlobData(data, false, options, cb);\n      }\n    } else if (this._state !== DEFAULT) {\n      this.enqueue([this.dispatch, data, false, options, cb]);\n    } else {\n      this.sendFrame(Sender.frame(data, options), cb);\n    }\n  }\n\n  /**\n   * Sends a pong message to the other peer.\n   *\n   * @param {*} data The message to send\n   * @param {Boolean} [mask=false] Specifies whether or not to mask `data`\n   * @param {Function} [cb] Callback\n   * @public\n   */\n  pong(data, mask, cb) {\n    let byteLength;\n    let readOnly;\n\n    if (typeof data === 'string') {\n      byteLength = Buffer.byteLength(data);\n      readOnly = false;\n    } else if (isBlob(data)) {\n      byteLength = data.size;\n      readOnly = false;\n    } else {\n      data = toBuffer(data);\n      byteLength = data.length;\n      readOnly = toBuffer.readOnly;\n    }\n\n    if (byteLength > 125) {\n      throw new RangeError('The data size must not be greater than 125 bytes');\n    }\n\n    const options = {\n      [kByteLength]: byteLength,\n      fin: true,\n      generateMask: this._generateMask,\n      mask,\n      maskBuffer: this._maskBuffer,\n      opcode: 0x0a,\n      readOnly,\n      rsv1: false\n    };\n\n    if (isBlob(data)) {\n      if (this._state !== DEFAULT) {\n        this.enqueue([this.getBlobData, data, false, options, cb]);\n      } else {\n        this.getBlobData(data, false, options, cb);\n      }\n    } else if (this._state !== DEFAULT) {\n      this.enqueue([this.dispatch, data, false, options, cb]);\n    } else {\n      this.sendFrame(Sender.frame(data, options), cb);\n    }\n  }\n\n  /**\n   * Sends a data message to the other peer.\n   *\n   * @param {*} data The message to send\n   * @param {Object} options Options object\n   * @param {Boolean} [options.binary=false] Specifies whether `data` is binary\n   *     or text\n   * @param {Boolean} [options.compress=false] Specifies whether or not to\n   *     compress `data`\n   * @param {Boolean} [options.fin=false] Specifies whether the fragment is the\n   *     last one\n   * @param {Boolean} [options.mask=false] Specifies whether or not to mask\n   *     `data`\n   * @param {Function} [cb] Callback\n   * @public\n   */\n  send(data, options, cb) {\n    const perMessageDeflate = this._extensions[PerMessageDeflate.extensionName];\n    let opcode = options.binary ? 2 : 1;\n    let rsv1 = options.compress;\n\n    let byteLength;\n    let readOnly;\n\n    if (typeof data === 'string') {\n      byteLength = Buffer.byteLength(data);\n      readOnly = false;\n    } else if (isBlob(data)) {\n      byteLength = data.size;\n      readOnly = false;\n    } else {\n      data = toBuffer(data);\n      byteLength = data.length;\n      readOnly = toBuffer.readOnly;\n    }\n\n    if (this._firstFragment) {\n      this._firstFragment = false;\n      if (\n        rsv1 &&\n        perMessageDeflate &&\n        perMessageDeflate.params[\n          perMessageDeflate._isServer\n            ? 'server_no_context_takeover'\n            : 'client_no_context_takeover'\n        ]\n      ) {\n        rsv1 = byteLength >= perMessageDeflate._threshold;\n      }\n      this._compress = rsv1;\n    } else {\n      rsv1 = false;\n      opcode = 0;\n    }\n\n    if (options.fin) this._firstFragment = true;\n\n    const opts = {\n      [kByteLength]: byteLength,\n      fin: options.fin,\n      generateMask: this._generateMask,\n      mask: options.mask,\n      maskBuffer: this._maskBuffer,\n      opcode,\n      readOnly,\n      rsv1\n    };\n\n    if (isBlob(data)) {\n      if (this._state !== DEFAULT) {\n        this.enqueue([this.getBlobData, data, this._compress, opts, cb]);\n      } else {\n        this.getBlobData(data, this._compress, opts, cb);\n      }\n    } else if (this._state !== DEFAULT) {\n      this.enqueue([this.dispatch, data, this._compress, opts, cb]);\n    } else {\n      this.dispatch(data, this._compress, opts, cb);\n    }\n  }\n\n  /**\n   * Gets the contents of a blob as binary data.\n   *\n   * @param {Blob} blob The blob\n   * @param {Boolean} [compress=false] Specifies whether or not to compress\n   *     the data\n   * @param {Object} options Options object\n   * @param {Boolean} [options.fin=false] Specifies whether or not to set the\n   *     FIN bit\n   * @param {Function} [options.generateMask] The function used to generate the\n   *     masking key\n   * @param {Boolean} [options.mask=false] Specifies whether or not to mask\n   *     `data`\n   * @param {Buffer} [options.maskBuffer] The buffer used to store the masking\n   *     key\n   * @param {Number} options.opcode The opcode\n   * @param {Boolean} [options.readOnly=false] Specifies whether `data` can be\n   *     modified\n   * @param {Boolean} [options.rsv1=false] Specifies whether or not to set the\n   *     RSV1 bit\n   * @param {Function} [cb] Callback\n   * @private\n   */\n  getBlobData(blob, compress, options, cb) {\n    this._bufferedBytes += options[kByteLength];\n    this._state = GET_BLOB_DATA;\n\n    blob\n      .arrayBuffer()\n      .then((arrayBuffer) => {\n        if (this._socket.destroyed) {\n          const err = new Error(\n            'The socket was closed while the blob was being read'\n          );\n\n          //\n          // `callCallbacks` is called in the next tick to ensure that errors\n          // that might be thrown in the callbacks behave like errors thrown\n          // outside the promise chain.\n          //\n          process.nextTick(callCallbacks, this, err, cb);\n          return;\n        }\n\n        this._bufferedBytes -= options[kByteLength];\n        const data = toBuffer(arrayBuffer);\n\n        if (!compress) {\n          this._state = DEFAULT;\n          this.sendFrame(Sender.frame(data, options), cb);\n          this.dequeue();\n        } else {\n          this.dispatch(data, compress, options, cb);\n        }\n      })\n      .catch((err) => {\n        //\n        // `onError` is called in the next tick for the same reason that\n        // `callCallbacks` above is.\n        //\n        process.nextTick(onError, this, err, cb);\n      });\n  }\n\n  /**\n   * Dispatches a message.\n   *\n   * @param {(Buffer|String)} data The message to send\n   * @param {Boolean} [compress=false] Specifies whether or not to compress\n   *     `data`\n   * @param {Object} options Options object\n   * @param {Boolean} [options.fin=false] Specifies whether or not to set the\n   *     FIN bit\n   * @param {Function} [options.generateMask] The function used to generate the\n   *     masking key\n   * @param {Boolean} [options.mask=false] Specifies whether or not to mask\n   *     `data`\n   * @param {Buffer} [options.maskBuffer] The buffer used to store the masking\n   *     key\n   * @param {Number} options.opcode The opcode\n   * @param {Boolean} [options.readOnly=false] Specifies whether `data` can be\n   *     modified\n   * @param {Boolean} [options.rsv1=false] Specifies whether or not to set the\n   *     RSV1 bit\n   * @param {Function} [cb] Callback\n   * @private\n   */\n  dispatch(data, compress, options, cb) {\n    if (!compress) {\n      this.sendFrame(Sender.frame(data, options), cb);\n      return;\n    }\n\n    const perMessageDeflate = this._extensions[PerMessageDeflate.extensionName];\n\n    this._bufferedBytes += options[kByteLength];\n    this._state = DEFLATING;\n    perMessageDeflate.compress(data, options.fin, (_, buf) => {\n      if (this._socket.destroyed) {\n        const err = new Error(\n          'The socket was closed while data was being compressed'\n        );\n\n        callCallbacks(this, err, cb);\n        return;\n      }\n\n      this._bufferedBytes -= options[kByteLength];\n      this._state = DEFAULT;\n      options.readOnly = false;\n      this.sendFrame(Sender.frame(buf, options), cb);\n      this.dequeue();\n    });\n  }\n\n  /**\n   * Executes queued send operations.\n   *\n   * @private\n   */\n  dequeue() {\n    while (this._state === DEFAULT && this._queue.length) {\n      const params = this._queue.shift();\n\n      this._bufferedBytes -= params[3][kByteLength];\n      Reflect.apply(params[0], this, params.slice(1));\n    }\n  }\n\n  /**\n   * Enqueues a send operation.\n   *\n   * @param {Array} params Send operation parameters.\n   * @private\n   */\n  enqueue(params) {\n    this._bufferedBytes += params[3][kByteLength];\n    this._queue.push(params);\n  }\n\n  /**\n   * Sends a frame.\n   *\n   * @param {Buffer[]} list The frame to send\n   * @param {Function} [cb] Callback\n   * @private\n   */\n  sendFrame(list, cb) {\n    if (list.length === 2) {\n      this._socket.cork();\n      this._socket.write(list[0]);\n      this._socket.write(list[1], cb);\n      this._socket.uncork();\n    } else {\n      this._socket.write(list[0], cb);\n    }\n  }\n}\n\nmodule.exports = Sender;\n\n/**\n * Calls queued callbacks with an error.\n *\n * @param {Sender} sender The `Sender` instance\n * @param {Error} err The error to call the callbacks with\n * @param {Function} [cb] The first callback\n * @private\n */\nfunction callCallbacks(sender, err, cb) {\n  if (typeof cb === 'function') cb(err);\n\n  for (let i = 0; i < sender._queue.length; i++) {\n    const params = sender._queue[i];\n    const callback = params[params.length - 1];\n\n    if (typeof callback === 'function') callback(err);\n  }\n}\n\n/**\n * Handles a `Sender` error.\n *\n * @param {Sender} sender The `Sender` instance\n * @param {Error} err The error\n * @param {Function} [cb] The first pending callback\n * @private\n */\nfunction onError(sender, err, cb) {\n  callCallbacks(sender, err, cb);\n  sender.onerror(err);\n}\n", "'use strict';\n\nconst { kForOnEventAttribute, kListener } = require('./constants');\n\nconst kCode = Symbol('kCode');\nconst kData = Symbol('kData');\nconst kError = Symbol('kError');\nconst kMessage = Symbol('kMessage');\nconst kReason = Symbol('kReason');\nconst kTarget = Symbol('kTarget');\nconst kType = Symbol('kType');\nconst kWasClean = Symbol('kWasClean');\n\n/**\n * Class representing an event.\n */\nclass Event {\n  /**\n   * Create a new `Event`.\n   *\n   * @param {String} type The name of the event\n   * @throws {TypeError} If the `type` argument is not specified\n   */\n  constructor(type) {\n    this[kTarget] = null;\n    this[kType] = type;\n  }\n\n  /**\n   * @type {*}\n   */\n  get target() {\n    return this[kTarget];\n  }\n\n  /**\n   * @type {String}\n   */\n  get type() {\n    return this[kType];\n  }\n}\n\nObject.defineProperty(Event.prototype, 'target', { enumerable: true });\nObject.defineProperty(Event.prototype, 'type', { enumerable: true });\n\n/**\n * Class representing a close event.\n *\n * @extends Event\n */\nclass CloseEvent extends Event {\n  /**\n   * Create a new `CloseEvent`.\n   *\n   * @param {String} type The name of the event\n   * @param {Object} [options] A dictionary object that allows for setting\n   *     attributes via object members of the same name\n   * @param {Number} [options.code=0] The status code explaining why the\n   *     connection was closed\n   * @param {String} [options.reason=''] A human-readable string explaining why\n   *     the connection was closed\n   * @param {Boolean} [options.wasClean=false] Indicates whether or not the\n   *     connection was cleanly closed\n   */\n  constructor(type, options = {}) {\n    super(type);\n\n    this[kCode] = options.code === undefined ? 0 : options.code;\n    this[kReason] = options.reason === undefined ? '' : options.reason;\n    this[kWasClean] = options.wasClean === undefined ? false : options.wasClean;\n  }\n\n  /**\n   * @type {Number}\n   */\n  get code() {\n    return this[kCode];\n  }\n\n  /**\n   * @type {String}\n   */\n  get reason() {\n    return this[kReason];\n  }\n\n  /**\n   * @type {Boolean}\n   */\n  get wasClean() {\n    return this[kWasClean];\n  }\n}\n\nObject.defineProperty(CloseEvent.prototype, 'code', { enumerable: true });\nObject.defineProperty(CloseEvent.prototype, 'reason', { enumerable: true });\nObject.defineProperty(CloseEvent.prototype, 'wasClean', { enumerable: true });\n\n/**\n * Class representing an error event.\n *\n * @extends Event\n */\nclass ErrorEvent extends Event {\n  /**\n   * Create a new `ErrorEvent`.\n   *\n   * @param {String} type The name of the event\n   * @param {Object} [options] A dictionary object that allows for setting\n   *     attributes via object members of the same name\n   * @param {*} [options.error=null] The error that generated this event\n   * @param {String} [options.message=''] The error message\n   */\n  constructor(type, options = {}) {\n    super(type);\n\n    this[kError] = options.error === undefined ? null : options.error;\n    this[kMessage] = options.message === undefined ? '' : options.message;\n  }\n\n  /**\n   * @type {*}\n   */\n  get error() {\n    return this[kError];\n  }\n\n  /**\n   * @type {String}\n   */\n  get message() {\n    return this[kMessage];\n  }\n}\n\nObject.defineProperty(ErrorEvent.prototype, 'error', { enumerable: true });\nObject.defineProperty(ErrorEvent.prototype, 'message', { enumerable: true });\n\n/**\n * Class representing a message event.\n *\n * @extends Event\n */\nclass MessageEvent extends Event {\n  /**\n   * Create a new `MessageEvent`.\n   *\n   * @param {String} type The name of the event\n   * @param {Object} [options] A dictionary object that allows for setting\n   *     attributes via object members of the same name\n   * @param {*} [options.data=null] The message content\n   */\n  constructor(type, options = {}) {\n    super(type);\n\n    this[kData] = options.data === undefined ? null : options.data;\n  }\n\n  /**\n   * @type {*}\n   */\n  get data() {\n    return this[kData];\n  }\n}\n\nObject.defineProperty(MessageEvent.prototype, 'data', { enumerable: true });\n\n/**\n * This provides methods for emulating the `EventTarget` interface. It's not\n * meant to be used directly.\n *\n * @mixin\n */\nconst EventTarget = {\n  /**\n   * Register an event listener.\n   *\n   * @param {String} type A string representing the event type to listen for\n   * @param {(Function|Object)} handler The listener to add\n   * @param {Object} [options] An options object specifies characteristics about\n   *     the event listener\n   * @param {Boolean} [options.once=false] A `Boolean` indicating that the\n   *     listener should be invoked at most once after being added. If `true`,\n   *     the listener would be automatically removed when invoked.\n   * @public\n   */\n  addEventListener(type, handler, options = {}) {\n    for (const listener of this.listeners(type)) {\n      if (\n        !options[kForOnEventAttribute] &&\n        listener[kListener] === handler &&\n        !listener[kForOnEventAttribute]\n      ) {\n        return;\n      }\n    }\n\n    let wrapper;\n\n    if (type === 'message') {\n      wrapper = function onMessage(data, isBinary) {\n        const event = new MessageEvent('message', {\n          data: isBinary ? data : data.toString()\n        });\n\n        event[kTarget] = this;\n        callListener(handler, this, event);\n      };\n    } else if (type === 'close') {\n      wrapper = function onClose(code, message) {\n        const event = new CloseEvent('close', {\n          code,\n          reason: message.toString(),\n          wasClean: this._closeFrameReceived && this._closeFrameSent\n        });\n\n        event[kTarget] = this;\n        callListener(handler, this, event);\n      };\n    } else if (type === 'error') {\n      wrapper = function onError(error) {\n        const event = new ErrorEvent('error', {\n          error,\n          message: error.message\n        });\n\n        event[kTarget] = this;\n        callListener(handler, this, event);\n      };\n    } else if (type === 'open') {\n      wrapper = function onOpen() {\n        const event = new Event('open');\n\n        event[kTarget] = this;\n        callListener(handler, this, event);\n      };\n    } else {\n      return;\n    }\n\n    wrapper[kForOnEventAttribute] = !!options[kForOnEventAttribute];\n    wrapper[kListener] = handler;\n\n    if (options.once) {\n      this.once(type, wrapper);\n    } else {\n      this.on(type, wrapper);\n    }\n  },\n\n  /**\n   * Remove an event listener.\n   *\n   * @param {String} type A string representing the event type to remove\n   * @param {(Function|Object)} handler The listener to remove\n   * @public\n   */\n  removeEventListener(type, handler) {\n    for (const listener of this.listeners(type)) {\n      if (listener[kListener] === handler && !listener[kForOnEventAttribute]) {\n        this.removeListener(type, listener);\n        break;\n      }\n    }\n  }\n};\n\nmodule.exports = {\n  CloseEvent,\n  ErrorEvent,\n  Event,\n  EventTarget,\n  MessageEvent\n};\n\n/**\n * Call an event listener\n *\n * @param {(Function|Object)} listener The listener to call\n * @param {*} thisArg The value to use as `this`` when calling the listener\n * @param {Event} event The event to pass to the listener\n * @private\n */\nfunction callListener(listener, thisArg, event) {\n  if (typeof listener === 'object' && listener.handleEvent) {\n    listener.handleEvent.call(listener, event);\n  } else {\n    listener.call(thisArg, event);\n  }\n}\n", "'use strict';\n\nconst { tokenChars } = require('./validation');\n\n/**\n * Adds an offer to the map of extension offers or a parameter to the map of\n * parameters.\n *\n * @param {Object} dest The map of extension offers or parameters\n * @param {String} name The extension or parameter name\n * @param {(Object|Boolean|String)} elem The extension parameters or the\n *     parameter value\n * @private\n */\nfunction push(dest, name, elem) {\n  if (dest[name] === undefined) dest[name] = [elem];\n  else dest[name].push(elem);\n}\n\n/**\n * Parses the `Sec-WebSocket-Extensions` header into an object.\n *\n * @param {String} header The field value of the header\n * @return {Object} The parsed object\n * @public\n */\nfunction parse(header) {\n  const offers = Object.create(null);\n  let params = Object.create(null);\n  let mustUnescape = false;\n  let isEscaping = false;\n  let inQuotes = false;\n  let extensionName;\n  let paramName;\n  let start = -1;\n  let code = -1;\n  let end = -1;\n  let i = 0;\n\n  for (; i < header.length; i++) {\n    code = header.charCodeAt(i);\n\n    if (extensionName === undefined) {\n      if (end === -1 && tokenChars[code] === 1) {\n        if (start === -1) start = i;\n      } else if (\n        i !== 0 &&\n        (code === 0x20 /* ' ' */ || code === 0x09) /* '\\t' */\n      ) {\n        if (end === -1 && start !== -1) end = i;\n      } else if (code === 0x3b /* ';' */ || code === 0x2c /* ',' */) {\n        if (start === -1) {\n          throw new SyntaxError(`Unexpected character at index ${i}`);\n        }\n\n        if (end === -1) end = i;\n        const name = header.slice(start, end);\n        if (code === 0x2c) {\n          push(offers, name, params);\n          params = Object.create(null);\n        } else {\n          extensionName = name;\n        }\n\n        start = end = -1;\n      } else {\n        throw new SyntaxError(`Unexpected character at index ${i}`);\n      }\n    } else if (paramName === undefined) {\n      if (end === -1 && tokenChars[code] === 1) {\n        if (start === -1) start = i;\n      } else if (code === 0x20 || code === 0x09) {\n        if (end === -1 && start !== -1) end = i;\n      } else if (code === 0x3b || code === 0x2c) {\n        if (start === -1) {\n          throw new SyntaxError(`Unexpected character at index ${i}`);\n        }\n\n        if (end === -1) end = i;\n        push(params, header.slice(start, end), true);\n        if (code === 0x2c) {\n          push(offers, extensionName, params);\n          params = Object.create(null);\n          extensionName = undefined;\n        }\n\n        start = end = -1;\n      } else if (code === 0x3d /* '=' */ && start !== -1 && end === -1) {\n        paramName = header.slice(start, i);\n        start = end = -1;\n      } else {\n        throw new SyntaxError(`Unexpected character at index ${i}`);\n      }\n    } else {\n      //\n      // The value of a quoted-string after unescaping must conform to the\n      // token ABNF, so only token characters are valid.\n      // Ref: https://tools.ietf.org/html/rfc6455#section-9.1\n      //\n      if (isEscaping) {\n        if (tokenChars[code] !== 1) {\n          throw new SyntaxError(`Unexpected character at index ${i}`);\n        }\n        if (start === -1) start = i;\n        else if (!mustUnescape) mustUnescape = true;\n        isEscaping = false;\n      } else if (inQuotes) {\n        if (tokenChars[code] === 1) {\n          if (start === -1) start = i;\n        } else if (code === 0x22 /* '\"' */ && start !== -1) {\n          inQuotes = false;\n          end = i;\n        } else if (code === 0x5c /* '\\' */) {\n          isEscaping = true;\n        } else {\n          throw new SyntaxError(`Unexpected character at index ${i}`);\n        }\n      } else if (code === 0x22 && header.charCodeAt(i - 1) === 0x3d) {\n        inQuotes = true;\n      } else if (end === -1 && tokenChars[code] === 1) {\n        if (start === -1) start = i;\n      } else if (start !== -1 && (code === 0x20 || code === 0x09)) {\n        if (end === -1) end = i;\n      } else if (code === 0x3b || code === 0x2c) {\n        if (start === -1) {\n          throw new SyntaxError(`Unexpected character at index ${i}`);\n        }\n\n        if (end === -1) end = i;\n        let value = header.slice(start, end);\n        if (mustUnescape) {\n          value = value.replace(/\\\\/g, '');\n          mustUnescape = false;\n        }\n        push(params, paramName, value);\n        if (code === 0x2c) {\n          push(offers, extensionName, params);\n          params = Object.create(null);\n          extensionName = undefined;\n        }\n\n        paramName = undefined;\n        start = end = -1;\n      } else {\n        throw new SyntaxError(`Unexpected character at index ${i}`);\n      }\n    }\n  }\n\n  if (start === -1 || inQuotes || code === 0x20 || code === 0x09) {\n    throw new SyntaxError('Unexpected end of input');\n  }\n\n  if (end === -1) end = i;\n  const token = header.slice(start, end);\n  if (extensionName === undefined) {\n    push(offers, token, params);\n  } else {\n    if (paramName === undefined) {\n      push(params, token, true);\n    } else if (mustUnescape) {\n      push(params, paramName, token.replace(/\\\\/g, ''));\n    } else {\n      push(params, paramName, token);\n    }\n    push(offers, extensionName, params);\n  }\n\n  return offers;\n}\n\n/**\n * Builds the `Sec-WebSocket-Extensions` header field value.\n *\n * @param {Object} extensions The map of extensions and parameters to format\n * @return {String} A string representing the given object\n * @public\n */\nfunction format(extensions) {\n  return Object.keys(extensions)\n    .map((extension) => {\n      let configurations = extensions[extension];\n      if (!Array.isArray(configurations)) configurations = [configurations];\n      return configurations\n        .map((params) => {\n          return [extension]\n            .concat(\n              Object.keys(params).map((k) => {\n                let values = params[k];\n                if (!Array.isArray(values)) values = [values];\n                return values\n                  .map((v) => (v === true ? k : `${k}=${v}`))\n                  .join('; ');\n              })\n            )\n            .join('; ');\n        })\n        .join(', ');\n    })\n    .join(', ');\n}\n\nmodule.exports = { format, parse };\n", "/* eslint no-unused-vars: [\"error\", { \"varsIgnorePattern\": \"^Duplex|Readable$\", \"caughtErrors\": \"none\" }] */\n\n'use strict';\n\nconst EventEmitter = require('events');\nconst https = require('https');\nconst http = require('http');\nconst net = require('net');\nconst tls = require('tls');\nconst { randomBytes, createHash } = require('crypto');\nconst { Duplex, Readable } = require('stream');\nconst { URL } = require('url');\n\nconst PerMessageDeflate = require('./permessage-deflate');\nconst Receiver = require('./receiver');\nconst Sender = require('./sender');\nconst { isBlob } = require('./validation');\n\nconst {\n  BINARY_TYPES,\n  EMPTY_BUFFER,\n  GUID,\n  kForOnEventAttribute,\n  kListener,\n  kStatusCode,\n  kWebSocket,\n  NOOP\n} = require('./constants');\nconst {\n  EventTarget: { addEventListener, removeEventListener }\n} = require('./event-target');\nconst { format, parse } = require('./extension');\nconst { toBuffer } = require('./buffer-util');\n\nconst closeTimeout = 30 * 1000;\nconst kAborted = Symbol('kAborted');\nconst protocolVersions = [8, 13];\nconst readyStates = ['CONNECTING', 'OPEN', 'CLOSING', 'CLOSED'];\nconst subprotocolRegex = /^[!#$%&'*+\\-.0-9A-Z^_`|a-z~]+$/;\n\n/**\n * Class representing a WebSocket.\n *\n * @extends EventEmitter\n */\nclass WebSocket extends EventEmitter {\n  /**\n   * Create a new `WebSocket`.\n   *\n   * @param {(String|URL)} address The URL to which to connect\n   * @param {(String|String[])} [protocols] The subprotocols\n   * @param {Object} [options] Connection options\n   */\n  constructor(address, protocols, options) {\n    super();\n\n    this._binaryType = BINARY_TYPES[0];\n    this._closeCode = 1006;\n    this._closeFrameReceived = false;\n    this._closeFrameSent = false;\n    this._closeMessage = EMPTY_BUFFER;\n    this._closeTimer = null;\n    this._errorEmitted = false;\n    this._extensions = {};\n    this._paused = false;\n    this._protocol = '';\n    this._readyState = WebSocket.CONNECTING;\n    this._receiver = null;\n    this._sender = null;\n    this._socket = null;\n\n    if (address !== null) {\n      this._bufferedAmount = 0;\n      this._isServer = false;\n      this._redirects = 0;\n\n      if (protocols === undefined) {\n        protocols = [];\n      } else if (!Array.isArray(protocols)) {\n        if (typeof protocols === 'object' && protocols !== null) {\n          options = protocols;\n          protocols = [];\n        } else {\n          protocols = [protocols];\n        }\n      }\n\n      initAsClient(this, address, protocols, options);\n    } else {\n      this._autoPong = options.autoPong;\n      this._isServer = true;\n    }\n  }\n\n  /**\n   * For historical reasons, the custom \"nodebuffer\" type is used by the default\n   * instead of \"blob\".\n   *\n   * @type {String}\n   */\n  get binaryType() {\n    return this._binaryType;\n  }\n\n  set binaryType(type) {\n    if (!BINARY_TYPES.includes(type)) return;\n\n    this._binaryType = type;\n\n    //\n    // Allow to change `binaryType` on the fly.\n    //\n    if (this._receiver) this._receiver._binaryType = type;\n  }\n\n  /**\n   * @type {Number}\n   */\n  get bufferedAmount() {\n    if (!this._socket) return this._bufferedAmount;\n\n    return this._socket._writableState.length + this._sender._bufferedBytes;\n  }\n\n  /**\n   * @type {String}\n   */\n  get extensions() {\n    return Object.keys(this._extensions).join();\n  }\n\n  /**\n   * @type {Boolean}\n   */\n  get isPaused() {\n    return this._paused;\n  }\n\n  /**\n   * @type {Function}\n   */\n  /* istanbul ignore next */\n  get onclose() {\n    return null;\n  }\n\n  /**\n   * @type {Function}\n   */\n  /* istanbul ignore next */\n  get onerror() {\n    return null;\n  }\n\n  /**\n   * @type {Function}\n   */\n  /* istanbul ignore next */\n  get onopen() {\n    return null;\n  }\n\n  /**\n   * @type {Function}\n   */\n  /* istanbul ignore next */\n  get onmessage() {\n    return null;\n  }\n\n  /**\n   * @type {String}\n   */\n  get protocol() {\n    return this._protocol;\n  }\n\n  /**\n   * @type {Number}\n   */\n  get readyState() {\n    return this._readyState;\n  }\n\n  /**\n   * @type {String}\n   */\n  get url() {\n    return this._url;\n  }\n\n  /**\n   * Set up the socket and the internal resources.\n   *\n   * @param {Duplex} socket The network socket between the server and client\n   * @param {Buffer} head The first packet of the upgraded stream\n   * @param {Object} options Options object\n   * @param {Boolean} [options.allowSynchronousEvents=false] Specifies whether\n   *     any of the `'message'`, `'ping'`, and `'pong'` events can be emitted\n   *     multiple times in the same tick\n   * @param {Function} [options.generateMask] The function used to generate the\n   *     masking key\n   * @param {Number} [options.maxPayload=0] The maximum allowed message size\n   * @param {Boolean} [options.skipUTF8Validation=false] Specifies whether or\n   *     not to skip UTF-8 validation for text and close messages\n   * @private\n   */\n  setSocket(socket, head, options) {\n    const receiver = new Receiver({\n      allowSynchronousEvents: options.allowSynchronousEvents,\n      binaryType: this.binaryType,\n      extensions: this._extensions,\n      isServer: this._isServer,\n      maxPayload: options.maxPayload,\n      skipUTF8Validation: options.skipUTF8Validation\n    });\n\n    const sender = new Sender(socket, this._extensions, options.generateMask);\n\n    this._receiver = receiver;\n    this._sender = sender;\n    this._socket = socket;\n\n    receiver[kWebSocket] = this;\n    sender[kWebSocket] = this;\n    socket[kWebSocket] = this;\n\n    receiver.on('conclude', receiverOnConclude);\n    receiver.on('drain', receiverOnDrain);\n    receiver.on('error', receiverOnError);\n    receiver.on('message', receiverOnMessage);\n    receiver.on('ping', receiverOnPing);\n    receiver.on('pong', receiverOnPong);\n\n    sender.onerror = senderOnError;\n\n    //\n    // These methods may not be available if `socket` is just a `Duplex`.\n    //\n    if (socket.setTimeout) socket.setTimeout(0);\n    if (socket.setNoDelay) socket.setNoDelay();\n\n    if (head.length > 0) socket.unshift(head);\n\n    socket.on('close', socketOnClose);\n    socket.on('data', socketOnData);\n    socket.on('end', socketOnEnd);\n    socket.on('error', socketOnError);\n\n    this._readyState = WebSocket.OPEN;\n    this.emit('open');\n  }\n\n  /**\n   * Emit the `'close'` event.\n   *\n   * @private\n   */\n  emitClose() {\n    if (!this._socket) {\n      this._readyState = WebSocket.CLOSED;\n      this.emit('close', this._closeCode, this._closeMessage);\n      return;\n    }\n\n    if (this._extensions[PerMessageDeflate.extensionName]) {\n      this._extensions[PerMessageDeflate.extensionName].cleanup();\n    }\n\n    this._receiver.removeAllListeners();\n    this._readyState = WebSocket.CLOSED;\n    this.emit('close', this._closeCode, this._closeMessage);\n  }\n\n  /**\n   * Start a closing handshake.\n   *\n   *          +----------+   +-----------+   +----------+\n   *     - - -|ws.close()|-->|close frame|-->|ws.close()|- - -\n   *    |     +----------+   +-----------+   +----------+     |\n   *          +----------+   +-----------+         |\n   * CLOSING  |ws.close()|<--|close frame|<--+-----+       CLOSING\n   *          +----------+   +-----------+   |\n   *    |           |                        |   +---+        |\n   *                +------------------------+-->|fin| - - - -\n   *    |         +---+                      |   +---+\n   *     - - - - -|fin|<---------------------+\n   *              +---+\n   *\n   * @param {Number} [code] Status code explaining why the connection is closing\n   * @param {(String|Buffer)} [data] The reason why the connection is\n   *     closing\n   * @public\n   */\n  close(code, data) {\n    if (this.readyState === WebSocket.CLOSED) return;\n    if (this.readyState === WebSocket.CONNECTING) {\n      const msg = 'WebSocket was closed before the connection was established';\n      abortHandshake(this, this._req, msg);\n      return;\n    }\n\n    if (this.readyState === WebSocket.CLOSING) {\n      if (\n        this._closeFrameSent &&\n        (this._closeFrameReceived || this._receiver._writableState.errorEmitted)\n      ) {\n        this._socket.end();\n      }\n\n      return;\n    }\n\n    this._readyState = WebSocket.CLOSING;\n    this._sender.close(code, data, !this._isServer, (err) => {\n      //\n      // This error is handled by the `'error'` listener on the socket. We only\n      // want to know if the close frame has been sent here.\n      //\n      if (err) return;\n\n      this._closeFrameSent = true;\n\n      if (\n        this._closeFrameReceived ||\n        this._receiver._writableState.errorEmitted\n      ) {\n        this._socket.end();\n      }\n    });\n\n    setCloseTimer(this);\n  }\n\n  /**\n   * Pause the socket.\n   *\n   * @public\n   */\n  pause() {\n    if (\n      this.readyState === WebSocket.CONNECTING ||\n      this.readyState === WebSocket.CLOSED\n    ) {\n      return;\n    }\n\n    this._paused = true;\n    this._socket.pause();\n  }\n\n  /**\n   * Send a ping.\n   *\n   * @param {*} [data] The data to send\n   * @param {Boolean} [mask] Indicates whether or not to mask `data`\n   * @param {Function} [cb] Callback which is executed when the ping is sent\n   * @public\n   */\n  ping(data, mask, cb) {\n    if (this.readyState === WebSocket.CONNECTING) {\n      throw new Error('WebSocket is not open: readyState 0 (CONNECTING)');\n    }\n\n    if (typeof data === 'function') {\n      cb = data;\n      data = mask = undefined;\n    } else if (typeof mask === 'function') {\n      cb = mask;\n      mask = undefined;\n    }\n\n    if (typeof data === 'number') data = data.toString();\n\n    if (this.readyState !== WebSocket.OPEN) {\n      sendAfterClose(this, data, cb);\n      return;\n    }\n\n    if (mask === undefined) mask = !this._isServer;\n    this._sender.ping(data || EMPTY_BUFFER, mask, cb);\n  }\n\n  /**\n   * Send a pong.\n   *\n   * @param {*} [data] The data to send\n   * @param {Boolean} [mask] Indicates whether or not to mask `data`\n   * @param {Function} [cb] Callback which is executed when the pong is sent\n   * @public\n   */\n  pong(data, mask, cb) {\n    if (this.readyState === WebSocket.CONNECTING) {\n      throw new Error('WebSocket is not open: readyState 0 (CONNECTING)');\n    }\n\n    if (typeof data === 'function') {\n      cb = data;\n      data = mask = undefined;\n    } else if (typeof mask === 'function') {\n      cb = mask;\n      mask = undefined;\n    }\n\n    if (typeof data === 'number') data = data.toString();\n\n    if (this.readyState !== WebSocket.OPEN) {\n      sendAfterClose(this, data, cb);\n      return;\n    }\n\n    if (mask === undefined) mask = !this._isServer;\n    this._sender.pong(data || EMPTY_BUFFER, mask, cb);\n  }\n\n  /**\n   * Resume the socket.\n   *\n   * @public\n   */\n  resume() {\n    if (\n      this.readyState === WebSocket.CONNECTING ||\n      this.readyState === WebSocket.CLOSED\n    ) {\n      return;\n    }\n\n    this._paused = false;\n    if (!this._receiver._writableState.needDrain) this._socket.resume();\n  }\n\n  /**\n   * Send a data message.\n   *\n   * @param {*} data The message to send\n   * @param {Object} [options] Options object\n   * @param {Boolean} [options.binary] Specifies whether `data` is binary or\n   *     text\n   * @param {Boolean} [options.compress] Specifies whether or not to compress\n   *     `data`\n   * @param {Boolean} [options.fin=true] Specifies whether the fragment is the\n   *     last one\n   * @param {Boolean} [options.mask] Specifies whether or not to mask `data`\n   * @param {Function} [cb] Callback which is executed when data is written out\n   * @public\n   */\n  send(data, options, cb) {\n    if (this.readyState === WebSocket.CONNECTING) {\n      throw new Error('WebSocket is not open: readyState 0 (CONNECTING)');\n    }\n\n    if (typeof options === 'function') {\n      cb = options;\n      options = {};\n    }\n\n    if (typeof data === 'number') data = data.toString();\n\n    if (this.readyState !== WebSocket.OPEN) {\n      sendAfterClose(this, data, cb);\n      return;\n    }\n\n    const opts = {\n      binary: typeof data !== 'string',\n      mask: !this._isServer,\n      compress: true,\n      fin: true,\n      ...options\n    };\n\n    if (!this._extensions[PerMessageDeflate.extensionName]) {\n      opts.compress = false;\n    }\n\n    this._sender.send(data || EMPTY_BUFFER, opts, cb);\n  }\n\n  /**\n   * Forcibly close the connection.\n   *\n   * @public\n   */\n  terminate() {\n    if (this.readyState === WebSocket.CLOSED) return;\n    if (this.readyState === WebSocket.CONNECTING) {\n      const msg = 'WebSocket was closed before the connection was established';\n      abortHandshake(this, this._req, msg);\n      return;\n    }\n\n    if (this._socket) {\n      this._readyState = WebSocket.CLOSING;\n      this._socket.destroy();\n    }\n  }\n}\n\n/**\n * @constant {Number} CONNECTING\n * @memberof WebSocket\n */\nObject.defineProperty(WebSocket, 'CONNECTING', {\n  enumerable: true,\n  value: readyStates.indexOf('CONNECTING')\n});\n\n/**\n * @constant {Number} CONNECTING\n * @memberof WebSocket.prototype\n */\nObject.defineProperty(WebSocket.prototype, 'CONNECTING', {\n  enumerable: true,\n  value: readyStates.indexOf('CONNECTING')\n});\n\n/**\n * @constant {Number} OPEN\n * @memberof WebSocket\n */\nObject.defineProperty(WebSocket, 'OPEN', {\n  enumerable: true,\n  value: readyStates.indexOf('OPEN')\n});\n\n/**\n * @constant {Number} OPEN\n * @memberof WebSocket.prototype\n */\nObject.defineProperty(WebSocket.prototype, 'OPEN', {\n  enumerable: true,\n  value: readyStates.indexOf('OPEN')\n});\n\n/**\n * @constant {Number} CLOSING\n * @memberof WebSocket\n */\nObject.defineProperty(WebSocket, 'CLOSING', {\n  enumerable: true,\n  value: readyStates.indexOf('CLOSING')\n});\n\n/**\n * @constant {Number} CLOSING\n * @memberof WebSocket.prototype\n */\nObject.defineProperty(WebSocket.prototype, 'CLOSING', {\n  enumerable: true,\n  value: readyStates.indexOf('CLOSING')\n});\n\n/**\n * @constant {Number} CLOSED\n * @memberof WebSocket\n */\nObject.defineProperty(WebSocket, 'CLOSED', {\n  enumerable: true,\n  value: readyStates.indexOf('CLOSED')\n});\n\n/**\n * @constant {Number} CLOSED\n * @memberof WebSocket.prototype\n */\nObject.defineProperty(WebSocket.prototype, 'CLOSED', {\n  enumerable: true,\n  value: readyStates.indexOf('CLOSED')\n});\n\n[\n  'binaryType',\n  'bufferedAmount',\n  'extensions',\n  'isPaused',\n  'protocol',\n  'readyState',\n  'url'\n].forEach((property) => {\n  Object.defineProperty(WebSocket.prototype, property, { enumerable: true });\n});\n\n//\n// Add the `onopen`, `onerror`, `onclose`, and `onmessage` attributes.\n// See https://html.spec.whatwg.org/multipage/comms.html#the-websocket-interface\n//\n['open', 'error', 'close', 'message'].forEach((method) => {\n  Object.defineProperty(WebSocket.prototype, `on${method}`, {\n    enumerable: true,\n    get() {\n      for (const listener of this.listeners(method)) {\n        if (listener[kForOnEventAttribute]) return listener[kListener];\n      }\n\n      return null;\n    },\n    set(handler) {\n      for (const listener of this.listeners(method)) {\n        if (listener[kForOnEventAttribute]) {\n          this.removeListener(method, listener);\n          break;\n        }\n      }\n\n      if (typeof handler !== 'function') return;\n\n      this.addEventListener(method, handler, {\n        [kForOnEventAttribute]: true\n      });\n    }\n  });\n});\n\nWebSocket.prototype.addEventListener = addEventListener;\nWebSocket.prototype.removeEventListener = removeEventListener;\n\nmodule.exports = WebSocket;\n\n/**\n * Initialize a WebSocket client.\n *\n * @param {WebSocket} websocket The client to initialize\n * @param {(String|URL)} address The URL to which to connect\n * @param {Array} protocols The subprotocols\n * @param {Object} [options] Connection options\n * @param {Boolean} [options.allowSynchronousEvents=true] Specifies whether any\n *     of the `'message'`, `'ping'`, and `'pong'` events can be emitted multiple\n *     times in the same tick\n * @param {Boolean} [options.autoPong=true] Specifies whether or not to\n *     automatically send a pong in response to a ping\n * @param {Function} [options.finishRequest] A function which can be used to\n *     customize the headers of each http request before it is sent\n * @param {Boolean} [options.followRedirects=false] Whether or not to follow\n *     redirects\n * @param {Function} [options.generateMask] The function used to generate the\n *     masking key\n * @param {Number} [options.handshakeTimeout] Timeout in milliseconds for the\n *     handshake request\n * @param {Number} [options.maxPayload=104857600] The maximum allowed message\n *     size\n * @param {Number} [options.maxRedirects=10] The maximum number of redirects\n *     allowed\n * @param {String} [options.origin] Value of the `Origin` or\n *     `Sec-WebSocket-Origin` header\n * @param {(Boolean|Object)} [options.perMessageDeflate=true] Enable/disable\n *     permessage-deflate\n * @param {Number} [options.protocolVersion=13] Value of the\n *     `Sec-WebSocket-Version` header\n * @param {Boolean} [options.skipUTF8Validation=false] Specifies whether or\n *     not to skip UTF-8 validation for text and close messages\n * @private\n */\nfunction initAsClient(websocket, address, protocols, options) {\n  const opts = {\n    allowSynchronousEvents: true,\n    autoPong: true,\n    protocolVersion: protocolVersions[1],\n    maxPayload: 100 * 1024 * 1024,\n    skipUTF8Validation: false,\n    perMessageDeflate: true,\n    followRedirects: false,\n    maxRedirects: 10,\n    ...options,\n    socketPath: undefined,\n    hostname: undefined,\n    protocol: undefined,\n    timeout: undefined,\n    method: 'GET',\n    host: undefined,\n    path: undefined,\n    port: undefined\n  };\n\n  websocket._autoPong = opts.autoPong;\n\n  if (!protocolVersions.includes(opts.protocolVersion)) {\n    throw new RangeError(\n      `Unsupported protocol version: ${opts.protocolVersion} ` +\n        `(supported versions: ${protocolVersions.join(', ')})`\n    );\n  }\n\n  let parsedUrl;\n\n  if (address instanceof URL) {\n    parsedUrl = address;\n  } else {\n    try {\n      parsedUrl = new URL(address);\n    } catch (e) {\n      throw new SyntaxError(`Invalid URL: ${address}`);\n    }\n  }\n\n  if (parsedUrl.protocol === 'http:') {\n    parsedUrl.protocol = 'ws:';\n  } else if (parsedUrl.protocol === 'https:') {\n    parsedUrl.protocol = 'wss:';\n  }\n\n  websocket._url = parsedUrl.href;\n\n  const isSecure = parsedUrl.protocol === 'wss:';\n  const isIpcUrl = parsedUrl.protocol === 'ws+unix:';\n  let invalidUrlMessage;\n\n  if (parsedUrl.protocol !== 'ws:' && !isSecure && !isIpcUrl) {\n    invalidUrlMessage =\n      'The URL\\'s protocol must be one of \"ws:\", \"wss:\", ' +\n      '\"http:\", \"https\", or \"ws+unix:\"';\n  } else if (isIpcUrl && !parsedUrl.pathname) {\n    invalidUrlMessage = \"The URL's pathname is empty\";\n  } else if (parsedUrl.hash) {\n    invalidUrlMessage = 'The URL contains a fragment identifier';\n  }\n\n  if (invalidUrlMessage) {\n    const err = new SyntaxError(invalidUrlMessage);\n\n    if (websocket._redirects === 0) {\n      throw err;\n    } else {\n      emitErrorAndClose(websocket, err);\n      return;\n    }\n  }\n\n  const defaultPort = isSecure ? 443 : 80;\n  const key = randomBytes(16).toString('base64');\n  const request = isSecure ? https.request : http.request;\n  const protocolSet = new Set();\n  let perMessageDeflate;\n\n  opts.createConnection =\n    opts.createConnection || (isSecure ? tlsConnect : netConnect);\n  opts.defaultPort = opts.defaultPort || defaultPort;\n  opts.port = parsedUrl.port || defaultPort;\n  opts.host = parsedUrl.hostname.startsWith('[')\n    ? parsedUrl.hostname.slice(1, -1)\n    : parsedUrl.hostname;\n  opts.headers = {\n    ...opts.headers,\n    'Sec-WebSocket-Version': opts.protocolVersion,\n    'Sec-WebSocket-Key': key,\n    Connection: 'Upgrade',\n    Upgrade: 'websocket'\n  };\n  opts.path = parsedUrl.pathname + parsedUrl.search;\n  opts.timeout = opts.handshakeTimeout;\n\n  if (opts.perMessageDeflate) {\n    perMessageDeflate = new PerMessageDeflate(\n      opts.perMessageDeflate !== true ? opts.perMessageDeflate : {},\n      false,\n      opts.maxPayload\n    );\n    opts.headers['Sec-WebSocket-Extensions'] = format({\n      [PerMessageDeflate.extensionName]: perMessageDeflate.offer()\n    });\n  }\n  if (protocols.length) {\n    for (const protocol of protocols) {\n      if (\n        typeof protocol !== 'string' ||\n        !subprotocolRegex.test(protocol) ||\n        protocolSet.has(protocol)\n      ) {\n        throw new SyntaxError(\n          'An invalid or duplicated subprotocol was specified'\n        );\n      }\n\n      protocolSet.add(protocol);\n    }\n\n    opts.headers['Sec-WebSocket-Protocol'] = protocols.join(',');\n  }\n  if (opts.origin) {\n    if (opts.protocolVersion < 13) {\n      opts.headers['Sec-WebSocket-Origin'] = opts.origin;\n    } else {\n      opts.headers.Origin = opts.origin;\n    }\n  }\n  if (parsedUrl.username || parsedUrl.password) {\n    opts.auth = `${parsedUrl.username}:${parsedUrl.password}`;\n  }\n\n  if (isIpcUrl) {\n    const parts = opts.path.split(':');\n\n    opts.socketPath = parts[0];\n    opts.path = parts[1];\n  }\n\n  let req;\n\n  if (opts.followRedirects) {\n    if (websocket._redirects === 0) {\n      websocket._originalIpc = isIpcUrl;\n      websocket._originalSecure = isSecure;\n      websocket._originalHostOrSocketPath = isIpcUrl\n        ? opts.socketPath\n        : parsedUrl.host;\n\n      const headers = options && options.headers;\n\n      //\n      // Shallow copy the user provided options so that headers can be changed\n      // without mutating the original object.\n      //\n      options = { ...options, headers: {} };\n\n      if (headers) {\n        for (const [key, value] of Object.entries(headers)) {\n          options.headers[key.toLowerCase()] = value;\n        }\n      }\n    } else if (websocket.listenerCount('redirect') === 0) {\n      const isSameHost = isIpcUrl\n        ? websocket._originalIpc\n          ? opts.socketPath === websocket._originalHostOrSocketPath\n          : false\n        : websocket._originalIpc\n          ? false\n          : parsedUrl.host === websocket._originalHostOrSocketPath;\n\n      if (!isSameHost || (websocket._originalSecure && !isSecure)) {\n        //\n        // Match curl 7.77.0 behavior and drop the following headers. These\n        // headers are also dropped when following a redirect to a subdomain.\n        //\n        delete opts.headers.authorization;\n        delete opts.headers.cookie;\n\n        if (!isSameHost) delete opts.headers.host;\n\n        opts.auth = undefined;\n      }\n    }\n\n    //\n    // Match curl 7.77.0 behavior and make the first `Authorization` header win.\n    // If the `Authorization` header is set, then there is nothing to do as it\n    // will take precedence.\n    //\n    if (opts.auth && !options.headers.authorization) {\n      options.headers.authorization =\n        'Basic ' + Buffer.from(opts.auth).toString('base64');\n    }\n\n    req = websocket._req = request(opts);\n\n    if (websocket._redirects) {\n      //\n      // Unlike what is done for the `'upgrade'` event, no early exit is\n      // triggered here if the user calls `websocket.close()` or\n      // `websocket.terminate()` from a listener of the `'redirect'` event. This\n      // is because the user can also call `request.destroy()` with an error\n      // before calling `websocket.close()` or `websocket.terminate()` and this\n      // would result in an error being emitted on the `request` object with no\n      // `'error'` event listeners attached.\n      //\n      websocket.emit('redirect', websocket.url, req);\n    }\n  } else {\n    req = websocket._req = request(opts);\n  }\n\n  if (opts.timeout) {\n    req.on('timeout', () => {\n      abortHandshake(websocket, req, 'Opening handshake has timed out');\n    });\n  }\n\n  req.on('error', (err) => {\n    if (req === null || req[kAborted]) return;\n\n    req = websocket._req = null;\n    emitErrorAndClose(websocket, err);\n  });\n\n  req.on('response', (res) => {\n    const location = res.headers.location;\n    const statusCode = res.statusCode;\n\n    if (\n      location &&\n      opts.followRedirects &&\n      statusCode >= 300 &&\n      statusCode < 400\n    ) {\n      if (++websocket._redirects > opts.maxRedirects) {\n        abortHandshake(websocket, req, 'Maximum redirects exceeded');\n        return;\n      }\n\n      req.abort();\n\n      let addr;\n\n      try {\n        addr = new URL(location, address);\n      } catch (e) {\n        const err = new SyntaxError(`Invalid URL: ${location}`);\n        emitErrorAndClose(websocket, err);\n        return;\n      }\n\n      initAsClient(websocket, addr, protocols, options);\n    } else if (!websocket.emit('unexpected-response', req, res)) {\n      abortHandshake(\n        websocket,\n        req,\n        `Unexpected server response: ${res.statusCode}`\n      );\n    }\n  });\n\n  req.on('upgrade', (res, socket, head) => {\n    websocket.emit('upgrade', res);\n\n    //\n    // The user may have closed the connection from a listener of the\n    // `'upgrade'` event.\n    //\n    if (websocket.readyState !== WebSocket.CONNECTING) return;\n\n    req = websocket._req = null;\n\n    const upgrade = res.headers.upgrade;\n\n    if (upgrade === undefined || upgrade.toLowerCase() !== 'websocket') {\n      abortHandshake(websocket, socket, 'Invalid Upgrade header');\n      return;\n    }\n\n    const digest = createHash('sha1')\n      .update(key + GUID)\n      .digest('base64');\n\n    if (res.headers['sec-websocket-accept'] !== digest) {\n      abortHandshake(websocket, socket, 'Invalid Sec-WebSocket-Accept header');\n      return;\n    }\n\n    const serverProt = res.headers['sec-websocket-protocol'];\n    let protError;\n\n    if (serverProt !== undefined) {\n      if (!protocolSet.size) {\n        protError = 'Server sent a subprotocol but none was requested';\n      } else if (!protocolSet.has(serverProt)) {\n        protError = 'Server sent an invalid subprotocol';\n      }\n    } else if (protocolSet.size) {\n      protError = 'Server sent no subprotocol';\n    }\n\n    if (protError) {\n      abortHandshake(websocket, socket, protError);\n      return;\n    }\n\n    if (serverProt) websocket._protocol = serverProt;\n\n    const secWebSocketExtensions = res.headers['sec-websocket-extensions'];\n\n    if (secWebSocketExtensions !== undefined) {\n      if (!perMessageDeflate) {\n        const message =\n          'Server sent a Sec-WebSocket-Extensions header but no extension ' +\n          'was requested';\n        abortHandshake(websocket, socket, message);\n        return;\n      }\n\n      let extensions;\n\n      try {\n        extensions = parse(secWebSocketExtensions);\n      } catch (err) {\n        const message = 'Invalid Sec-WebSocket-Extensions header';\n        abortHandshake(websocket, socket, message);\n        return;\n      }\n\n      const extensionNames = Object.keys(extensions);\n\n      if (\n        extensionNames.length !== 1 ||\n        extensionNames[0] !== PerMessageDeflate.extensionName\n      ) {\n        const message = 'Server indicated an extension that was not requested';\n        abortHandshake(websocket, socket, message);\n        return;\n      }\n\n      try {\n        perMessageDeflate.accept(extensions[PerMessageDeflate.extensionName]);\n      } catch (err) {\n        const message = 'Invalid Sec-WebSocket-Extensions header';\n        abortHandshake(websocket, socket, message);\n        return;\n      }\n\n      websocket._extensions[PerMessageDeflate.extensionName] =\n        perMessageDeflate;\n    }\n\n    websocket.setSocket(socket, head, {\n      allowSynchronousEvents: opts.allowSynchronousEvents,\n      generateMask: opts.generateMask,\n      maxPayload: opts.maxPayload,\n      skipUTF8Validation: opts.skipUTF8Validation\n    });\n  });\n\n  if (opts.finishRequest) {\n    opts.finishRequest(req, websocket);\n  } else {\n    req.end();\n  }\n}\n\n/**\n * Emit the `'error'` and `'close'` events.\n *\n * @param {WebSocket} websocket The WebSocket instance\n * @param {Error} The error to emit\n * @private\n */\nfunction emitErrorAndClose(websocket, err) {\n  websocket._readyState = WebSocket.CLOSING;\n  //\n  // The following assignment is practically useless and is done only for\n  // consistency.\n  //\n  websocket._errorEmitted = true;\n  websocket.emit('error', err);\n  websocket.emitClose();\n}\n\n/**\n * Create a `net.Socket` and initiate a connection.\n *\n * @param {Object} options Connection options\n * @return {net.Socket} The newly created socket used to start the connection\n * @private\n */\nfunction netConnect(options) {\n  options.path = options.socketPath;\n  return net.connect(options);\n}\n\n/**\n * Create a `tls.TLSSocket` and initiate a connection.\n *\n * @param {Object} options Connection options\n * @return {tls.TLSSocket} The newly created socket used to start the connection\n * @private\n */\nfunction tlsConnect(options) {\n  options.path = undefined;\n\n  if (!options.servername && options.servername !== '') {\n    options.servername = net.isIP(options.host) ? '' : options.host;\n  }\n\n  return tls.connect(options);\n}\n\n/**\n * Abort the handshake and emit an error.\n *\n * @param {WebSocket} websocket The WebSocket instance\n * @param {(http.ClientRequest|net.Socket|tls.Socket)} stream The request to\n *     abort or the socket to destroy\n * @param {String} message The error message\n * @private\n */\nfunction abortHandshake(websocket, stream, message) {\n  websocket._readyState = WebSocket.CLOSING;\n\n  const err = new Error(message);\n  Error.captureStackTrace(err, abortHandshake);\n\n  if (stream.setHeader) {\n    stream[kAborted] = true;\n    stream.abort();\n\n    if (stream.socket && !stream.socket.destroyed) {\n      //\n      // On Node.js >= 14.3.0 `request.abort()` does not destroy the socket if\n      // called after the request completed. See\n      // https://github.com/websockets/ws/issues/1869.\n      //\n      stream.socket.destroy();\n    }\n\n    process.nextTick(emitErrorAndClose, websocket, err);\n  } else {\n    stream.destroy(err);\n    stream.once('error', websocket.emit.bind(websocket, 'error'));\n    stream.once('close', websocket.emitClose.bind(websocket));\n  }\n}\n\n/**\n * Handle cases where the `ping()`, `pong()`, or `send()` methods are called\n * when the `readyState` attribute is `CLOSING` or `CLOSED`.\n *\n * @param {WebSocket} websocket The WebSocket instance\n * @param {*} [data] The data to send\n * @param {Function} [cb] Callback\n * @private\n */\nfunction sendAfterClose(websocket, data, cb) {\n  if (data) {\n    const length = isBlob(data) ? data.size : toBuffer(data).length;\n\n    //\n    // The `_bufferedAmount` property is used only when the peer is a client and\n    // the opening handshake fails. Under these circumstances, in fact, the\n    // `setSocket()` method is not called, so the `_socket` and `_sender`\n    // properties are set to `null`.\n    //\n    if (websocket._socket) websocket._sender._bufferedBytes += length;\n    else websocket._bufferedAmount += length;\n  }\n\n  if (cb) {\n    const err = new Error(\n      `WebSocket is not open: readyState ${websocket.readyState} ` +\n        `(${readyStates[websocket.readyState]})`\n    );\n    process.nextTick(cb, err);\n  }\n}\n\n/**\n * The listener of the `Receiver` `'conclude'` event.\n *\n * @param {Number} code The status code\n * @param {Buffer} reason The reason for closing\n * @private\n */\nfunction receiverOnConclude(code, reason) {\n  const websocket = this[kWebSocket];\n\n  websocket._closeFrameReceived = true;\n  websocket._closeMessage = reason;\n  websocket._closeCode = code;\n\n  if (websocket._socket[kWebSocket] === undefined) return;\n\n  websocket._socket.removeListener('data', socketOnData);\n  process.nextTick(resume, websocket._socket);\n\n  if (code === 1005) websocket.close();\n  else websocket.close(code, reason);\n}\n\n/**\n * The listener of the `Receiver` `'drain'` event.\n *\n * @private\n */\nfunction receiverOnDrain() {\n  const websocket = this[kWebSocket];\n\n  if (!websocket.isPaused) websocket._socket.resume();\n}\n\n/**\n * The listener of the `Receiver` `'error'` event.\n *\n * @param {(RangeError|Error)} err The emitted error\n * @private\n */\nfunction receiverOnError(err) {\n  const websocket = this[kWebSocket];\n\n  if (websocket._socket[kWebSocket] !== undefined) {\n    websocket._socket.removeListener('data', socketOnData);\n\n    //\n    // On Node.js < 14.0.0 the `'error'` event is emitted synchronously. See\n    // https://github.com/websockets/ws/issues/1940.\n    //\n    process.nextTick(resume, websocket._socket);\n\n    websocket.close(err[kStatusCode]);\n  }\n\n  if (!websocket._errorEmitted) {\n    websocket._errorEmitted = true;\n    websocket.emit('error', err);\n  }\n}\n\n/**\n * The listener of the `Receiver` `'finish'` event.\n *\n * @private\n */\nfunction receiverOnFinish() {\n  this[kWebSocket].emitClose();\n}\n\n/**\n * The listener of the `Receiver` `'message'` event.\n *\n * @param {Buffer|ArrayBuffer|Buffer[])} data The message\n * @param {Boolean} isBinary Specifies whether the message is binary or not\n * @private\n */\nfunction receiverOnMessage(data, isBinary) {\n  this[kWebSocket].emit('message', data, isBinary);\n}\n\n/**\n * The listener of the `Receiver` `'ping'` event.\n *\n * @param {Buffer} data The data included in the ping frame\n * @private\n */\nfunction receiverOnPing(data) {\n  const websocket = this[kWebSocket];\n\n  if (websocket._autoPong) websocket.pong(data, !this._isServer, NOOP);\n  websocket.emit('ping', data);\n}\n\n/**\n * The listener of the `Receiver` `'pong'` event.\n *\n * @param {Buffer} data The data included in the pong frame\n * @private\n */\nfunction receiverOnPong(data) {\n  this[kWebSocket].emit('pong', data);\n}\n\n/**\n * Resume a readable stream\n *\n * @param {Readable} stream The readable stream\n * @private\n */\nfunction resume(stream) {\n  stream.resume();\n}\n\n/**\n * The `Sender` error event handler.\n *\n * @param {Error} The error\n * @private\n */\nfunction senderOnError(err) {\n  const websocket = this[kWebSocket];\n\n  if (websocket.readyState === WebSocket.CLOSED) return;\n  if (websocket.readyState === WebSocket.OPEN) {\n    websocket._readyState = WebSocket.CLOSING;\n    setCloseTimer(websocket);\n  }\n\n  //\n  // `socket.end()` is used instead of `socket.destroy()` to allow the other\n  // peer to finish sending queued data. There is no need to set a timer here\n  // because `CLOSING` means that it is already set or not needed.\n  //\n  this._socket.end();\n\n  if (!websocket._errorEmitted) {\n    websocket._errorEmitted = true;\n    websocket.emit('error', err);\n  }\n}\n\n/**\n * Set a timer to destroy the underlying raw socket of a WebSocket.\n *\n * @param {WebSocket} websocket The WebSocket instance\n * @private\n */\nfunction setCloseTimer(websocket) {\n  websocket._closeTimer = setTimeout(\n    websocket._socket.destroy.bind(websocket._socket),\n    closeTimeout\n  );\n}\n\n/**\n * The listener of the socket `'close'` event.\n *\n * @private\n */\nfunction socketOnClose() {\n  const websocket = this[kWebSocket];\n\n  this.removeListener('close', socketOnClose);\n  this.removeListener('data', socketOnData);\n  this.removeListener('end', socketOnEnd);\n\n  websocket._readyState = WebSocket.CLOSING;\n\n  let chunk;\n\n  //\n  // The close frame might not have been received or the `'end'` event emitted,\n  // for example, if the socket was destroyed due to an error. Ensure that the\n  // `receiver` stream is closed after writing any remaining buffered data to\n  // it. If the readable side of the socket is in flowing mode then there is no\n  // buffered data as everything has been already written and `readable.read()`\n  // will return `null`. If instead, the socket is paused, any possible buffered\n  // data will be read as a single chunk.\n  //\n  if (\n    !this._readableState.endEmitted &&\n    !websocket._closeFrameReceived &&\n    !websocket._receiver._writableState.errorEmitted &&\n    (chunk = websocket._socket.read()) !== null\n  ) {\n    websocket._receiver.write(chunk);\n  }\n\n  websocket._receiver.end();\n\n  this[kWebSocket] = undefined;\n\n  clearTimeout(websocket._closeTimer);\n\n  if (\n    websocket._receiver._writableState.finished ||\n    websocket._receiver._writableState.errorEmitted\n  ) {\n    websocket.emitClose();\n  } else {\n    websocket._receiver.on('error', receiverOnFinish);\n    websocket._receiver.on('finish', receiverOnFinish);\n  }\n}\n\n/**\n * The listener of the socket `'data'` event.\n *\n * @param {Buffer} chunk A chunk of data\n * @private\n */\nfunction socketOnData(chunk) {\n  if (!this[kWebSocket]._receiver.write(chunk)) {\n    this.pause();\n  }\n}\n\n/**\n * The listener of the socket `'end'` event.\n *\n * @private\n */\nfunction socketOnEnd() {\n  const websocket = this[kWebSocket];\n\n  websocket._readyState = WebSocket.CLOSING;\n  websocket._receiver.end();\n  this.end();\n}\n\n/**\n * The listener of the socket `'error'` event.\n *\n * @private\n */\nfunction socketOnError() {\n  const websocket = this[kWebSocket];\n\n  this.removeListener('error', socketOnError);\n  this.on('error', NOOP);\n\n  if (websocket) {\n    websocket._readyState = WebSocket.CLOSING;\n    this.destroy();\n  }\n}\n", "'use strict';\n\nconst { tokenChars } = require('./validation');\n\n/**\n * Parses the `Sec-WebSocket-Protocol` header into a set of subprotocol names.\n *\n * @param {String} header The field value of the header\n * @return {Set} The subprotocol names\n * @public\n */\nfunction parse(header) {\n  const protocols = new Set();\n  let start = -1;\n  let end = -1;\n  let i = 0;\n\n  for (i; i < header.length; i++) {\n    const code = header.charCodeAt(i);\n\n    if (end === -1 && tokenChars[code] === 1) {\n      if (start === -1) start = i;\n    } else if (\n      i !== 0 &&\n      (code === 0x20 /* ' ' */ || code === 0x09) /* '\\t' */\n    ) {\n      if (end === -1 && start !== -1) end = i;\n    } else if (code === 0x2c /* ',' */) {\n      if (start === -1) {\n        throw new SyntaxError(`Unexpected character at index ${i}`);\n      }\n\n      if (end === -1) end = i;\n\n      const protocol = header.slice(start, end);\n\n      if (protocols.has(protocol)) {\n        throw new SyntaxError(`The \"${protocol}\" subprotocol is duplicated`);\n      }\n\n      protocols.add(protocol);\n      start = end = -1;\n    } else {\n      throw new SyntaxError(`Unexpected character at index ${i}`);\n    }\n  }\n\n  if (start === -1 || end !== -1) {\n    throw new SyntaxError('Unexpected end of input');\n  }\n\n  const protocol = header.slice(start, i);\n\n  if (protocols.has(protocol)) {\n    throw new SyntaxError(`The \"${protocol}\" subprotocol is duplicated`);\n  }\n\n  protocols.add(protocol);\n  return protocols;\n}\n\nmodule.exports = { parse };\n", "/* eslint no-unused-vars: [\"error\", { \"varsIgnorePattern\": \"^Duplex$\", \"caughtErrors\": \"none\" }] */\n\n'use strict';\n\nconst EventEmitter = require('events');\nconst http = require('http');\nconst { Duplex } = require('stream');\nconst { createHash } = require('crypto');\n\nconst extension = require('./extension');\nconst PerMessageDeflate = require('./permessage-deflate');\nconst subprotocol = require('./subprotocol');\nconst WebSocket = require('./websocket');\nconst { GUID, kWebSocket } = require('./constants');\n\nconst keyRegex = /^[+/0-9A-Za-z]{22}==$/;\n\nconst RUNNING = 0;\nconst CLOSING = 1;\nconst CLOSED = 2;\n\n/**\n * Class representing a WebSocket server.\n *\n * @extends EventEmitter\n */\nclass WebSocketServer extends EventEmitter {\n  /**\n   * Create a `WebSocketServer` instance.\n   *\n   * @param {Object} options Configuration options\n   * @param {Boolean} [options.allowSynchronousEvents=true] Specifies whether\n   *     any of the `'message'`, `'ping'`, and `'pong'` events can be emitted\n   *     multiple times in the same tick\n   * @param {Boolean} [options.autoPong=true] Specifies whether or not to\n   *     automatically send a pong in response to a ping\n   * @param {Number} [options.backlog=511] The maximum length of the queue of\n   *     pending connections\n   * @param {Boolean} [options.clientTracking=true] Specifies whether or not to\n   *     track clients\n   * @param {Function} [options.handleProtocols] A hook to handle protocols\n   * @param {String} [options.host] The hostname where to bind the server\n   * @param {Number} [options.maxPayload=104857600] The maximum allowed message\n   *     size\n   * @param {Boolean} [options.noServer=false] Enable no server mode\n   * @param {String} [options.path] Accept only connections matching this path\n   * @param {(Boolean|Object)} [options.perMessageDeflate=false] Enable/disable\n   *     permessage-deflate\n   * @param {Number} [options.port] The port where to bind the server\n   * @param {(http.Server|https.Server)} [options.server] A pre-created HTTP/S\n   *     server to use\n   * @param {Boolean} [options.skipUTF8Validation=false] Specifies whether or\n   *     not to skip UTF-8 validation for text and close messages\n   * @param {Function} [options.verifyClient] A hook to reject connections\n   * @param {Function} [options.WebSocket=WebSocket] Specifies the `WebSocket`\n   *     class to use. It must be the `WebSocket` class or class that extends it\n   * @param {Function} [callback] A listener for the `listening` event\n   */\n  constructor(options, callback) {\n    super();\n\n    options = {\n      allowSynchronousEvents: true,\n      autoPong: true,\n      maxPayload: 100 * 1024 * 1024,\n      skipUTF8Validation: false,\n      perMessageDeflate: false,\n      handleProtocols: null,\n      clientTracking: true,\n      verifyClient: null,\n      noServer: false,\n      backlog: null, // use default (511 as implemented in net.js)\n      server: null,\n      host: null,\n      path: null,\n      port: null,\n      WebSocket,\n      ...options\n    };\n\n    if (\n      (options.port == null && !options.server && !options.noServer) ||\n      (options.port != null && (options.server || options.noServer)) ||\n      (options.server && options.noServer)\n    ) {\n      throw new TypeError(\n        'One and only one of the \"port\", \"server\", or \"noServer\" options ' +\n          'must be specified'\n      );\n    }\n\n    if (options.port != null) {\n      this._server = http.createServer((req, res) => {\n        const body = http.STATUS_CODES[426];\n\n        res.writeHead(426, {\n          'Content-Length': body.length,\n          'Content-Type': 'text/plain'\n        });\n        res.end(body);\n      });\n      this._server.listen(\n        options.port,\n        options.host,\n        options.backlog,\n        callback\n      );\n    } else if (options.server) {\n      this._server = options.server;\n    }\n\n    if (this._server) {\n      const emitConnection = this.emit.bind(this, 'connection');\n\n      this._removeListeners = addListeners(this._server, {\n        listening: this.emit.bind(this, 'listening'),\n        error: this.emit.bind(this, 'error'),\n        upgrade: (req, socket, head) => {\n          this.handleUpgrade(req, socket, head, emitConnection);\n        }\n      });\n    }\n\n    if (options.perMessageDeflate === true) options.perMessageDeflate = {};\n    if (options.clientTracking) {\n      this.clients = new Set();\n      this._shouldEmitClose = false;\n    }\n\n    this.options = options;\n    this._state = RUNNING;\n  }\n\n  /**\n   * Returns the bound address, the address family name, and port of the server\n   * as reported by the operating system if listening on an IP socket.\n   * If the server is listening on a pipe or UNIX domain socket, the name is\n   * returned as a string.\n   *\n   * @return {(Object|String|null)} The address of the server\n   * @public\n   */\n  address() {\n    if (this.options.noServer) {\n      throw new Error('The server is operating in \"noServer\" mode');\n    }\n\n    if (!this._server) return null;\n    return this._server.address();\n  }\n\n  /**\n   * Stop the server from accepting new connections and emit the `'close'` event\n   * when all existing connections are closed.\n   *\n   * @param {Function} [cb] A one-time listener for the `'close'` event\n   * @public\n   */\n  close(cb) {\n    if (this._state === CLOSED) {\n      if (cb) {\n        this.once('close', () => {\n          cb(new Error('The server is not running'));\n        });\n      }\n\n      process.nextTick(emitClose, this);\n      return;\n    }\n\n    if (cb) this.once('close', cb);\n\n    if (this._state === CLOSING) return;\n    this._state = CLOSING;\n\n    if (this.options.noServer || this.options.server) {\n      if (this._server) {\n        this._removeListeners();\n        this._removeListeners = this._server = null;\n      }\n\n      if (this.clients) {\n        if (!this.clients.size) {\n          process.nextTick(emitClose, this);\n        } else {\n          this._shouldEmitClose = true;\n        }\n      } else {\n        process.nextTick(emitClose, this);\n      }\n    } else {\n      const server = this._server;\n\n      this._removeListeners();\n      this._removeListeners = this._server = null;\n\n      //\n      // The HTTP/S server was created internally. Close it, and rely on its\n      // `'close'` event.\n      //\n      server.close(() => {\n        emitClose(this);\n      });\n    }\n  }\n\n  /**\n   * See if a given request should be handled by this server instance.\n   *\n   * @param {http.IncomingMessage} req Request object to inspect\n   * @return {Boolean} `true` if the request is valid, else `false`\n   * @public\n   */\n  shouldHandle(req) {\n    if (this.options.path) {\n      const index = req.url.indexOf('?');\n      const pathname = index !== -1 ? req.url.slice(0, index) : req.url;\n\n      if (pathname !== this.options.path) return false;\n    }\n\n    return true;\n  }\n\n  /**\n   * Handle a HTTP Upgrade request.\n   *\n   * @param {http.IncomingMessage} req The request object\n   * @param {Duplex} socket The network socket between the server and client\n   * @param {Buffer} head The first packet of the upgraded stream\n   * @param {Function} cb Callback\n   * @public\n   */\n  handleUpgrade(req, socket, head, cb) {\n    socket.on('error', socketOnError);\n\n    const key = req.headers['sec-websocket-key'];\n    const upgrade = req.headers.upgrade;\n    const version = +req.headers['sec-websocket-version'];\n\n    if (req.method !== 'GET') {\n      const message = 'Invalid HTTP method';\n      abortHandshakeOrEmitwsClientError(this, req, socket, 405, message);\n      return;\n    }\n\n    if (upgrade === undefined || upgrade.toLowerCase() !== 'websocket') {\n      const message = 'Invalid Upgrade header';\n      abortHandshakeOrEmitwsClientError(this, req, socket, 400, message);\n      return;\n    }\n\n    if (key === undefined || !keyRegex.test(key)) {\n      const message = 'Missing or invalid Sec-WebSocket-Key header';\n      abortHandshakeOrEmitwsClientError(this, req, socket, 400, message);\n      return;\n    }\n\n    if (version !== 8 && version !== 13) {\n      const message = 'Missing or invalid Sec-WebSocket-Version header';\n      abortHandshakeOrEmitwsClientError(this, req, socket, 400, message);\n      return;\n    }\n\n    if (!this.shouldHandle(req)) {\n      abortHandshake(socket, 400);\n      return;\n    }\n\n    const secWebSocketProtocol = req.headers['sec-websocket-protocol'];\n    let protocols = new Set();\n\n    if (secWebSocketProtocol !== undefined) {\n      try {\n        protocols = subprotocol.parse(secWebSocketProtocol);\n      } catch (err) {\n        const message = 'Invalid Sec-WebSocket-Protocol header';\n        abortHandshakeOrEmitwsClientError(this, req, socket, 400, message);\n        return;\n      }\n    }\n\n    const secWebSocketExtensions = req.headers['sec-websocket-extensions'];\n    const extensions = {};\n\n    if (\n      this.options.perMessageDeflate &&\n      secWebSocketExtensions !== undefined\n    ) {\n      const perMessageDeflate = new PerMessageDeflate(\n        this.options.perMessageDeflate,\n        true,\n        this.options.maxPayload\n      );\n\n      try {\n        const offers = extension.parse(secWebSocketExtensions);\n\n        if (offers[PerMessageDeflate.extensionName]) {\n          perMessageDeflate.accept(offers[PerMessageDeflate.extensionName]);\n          extensions[PerMessageDeflate.extensionName] = perMessageDeflate;\n        }\n      } catch (err) {\n        const message =\n          'Invalid or unacceptable Sec-WebSocket-Extensions header';\n        abortHandshakeOrEmitwsClientError(this, req, socket, 400, message);\n        return;\n      }\n    }\n\n    //\n    // Optionally call external client verification handler.\n    //\n    if (this.options.verifyClient) {\n      const info = {\n        origin:\n          req.headers[`${version === 8 ? 'sec-websocket-origin' : 'origin'}`],\n        secure: !!(req.socket.authorized || req.socket.encrypted),\n        req\n      };\n\n      if (this.options.verifyClient.length === 2) {\n        this.options.verifyClient(info, (verified, code, message, headers) => {\n          if (!verified) {\n            return abortHandshake(socket, code || 401, message, headers);\n          }\n\n          this.completeUpgrade(\n            extensions,\n            key,\n            protocols,\n            req,\n            socket,\n            head,\n            cb\n          );\n        });\n        return;\n      }\n\n      if (!this.options.verifyClient(info)) return abortHandshake(socket, 401);\n    }\n\n    this.completeUpgrade(extensions, key, protocols, req, socket, head, cb);\n  }\n\n  /**\n   * Upgrade the connection to WebSocket.\n   *\n   * @param {Object} extensions The accepted extensions\n   * @param {String} key The value of the `Sec-WebSocket-Key` header\n   * @param {Set} protocols The subprotocols\n   * @param {http.IncomingMessage} req The request object\n   * @param {Duplex} socket The network socket between the server and client\n   * @param {Buffer} head The first packet of the upgraded stream\n   * @param {Function} cb Callback\n   * @throws {Error} If called more than once with the same socket\n   * @private\n   */\n  completeUpgrade(extensions, key, protocols, req, socket, head, cb) {\n    //\n    // Destroy the socket if the client has already sent a FIN packet.\n    //\n    if (!socket.readable || !socket.writable) return socket.destroy();\n\n    if (socket[kWebSocket]) {\n      throw new Error(\n        'server.handleUpgrade() was called more than once with the same ' +\n          'socket, possibly due to a misconfiguration'\n      );\n    }\n\n    if (this._state > RUNNING) return abortHandshake(socket, 503);\n\n    const digest = createHash('sha1')\n      .update(key + GUID)\n      .digest('base64');\n\n    const headers = [\n      'HTTP/1.1 101 Switching Protocols',\n      'Upgrade: websocket',\n      'Connection: Upgrade',\n      `Sec-WebSocket-Accept: ${digest}`\n    ];\n\n    const ws = new this.options.WebSocket(null, undefined, this.options);\n\n    if (protocols.size) {\n      //\n      // Optionally call external protocol selection handler.\n      //\n      const protocol = this.options.handleProtocols\n        ? this.options.handleProtocols(protocols, req)\n        : protocols.values().next().value;\n\n      if (protocol) {\n        headers.push(`Sec-WebSocket-Protocol: ${protocol}`);\n        ws._protocol = protocol;\n      }\n    }\n\n    if (extensions[PerMessageDeflate.extensionName]) {\n      const params = extensions[PerMessageDeflate.extensionName].params;\n      const value = extension.format({\n        [PerMessageDeflate.extensionName]: [params]\n      });\n      headers.push(`Sec-WebSocket-Extensions: ${value}`);\n      ws._extensions = extensions;\n    }\n\n    //\n    // Allow external modification/inspection of handshake headers.\n    //\n    this.emit('headers', headers, req);\n\n    socket.write(headers.concat('\\r\\n').join('\\r\\n'));\n    socket.removeListener('error', socketOnError);\n\n    ws.setSocket(socket, head, {\n      allowSynchronousEvents: this.options.allowSynchronousEvents,\n      maxPayload: this.options.maxPayload,\n      skipUTF8Validation: this.options.skipUTF8Validation\n    });\n\n    if (this.clients) {\n      this.clients.add(ws);\n      ws.on('close', () => {\n        this.clients.delete(ws);\n\n        if (this._shouldEmitClose && !this.clients.size) {\n          process.nextTick(emitClose, this);\n        }\n      });\n    }\n\n    cb(ws, req);\n  }\n}\n\nmodule.exports = WebSocketServer;\n\n/**\n * Add event listeners on an `EventEmitter` using a map of <event, listener>\n * pairs.\n *\n * @param {EventEmitter} server The event emitter\n * @param {Object.<String, Function>} map The listeners to add\n * @return {Function} A function that will remove the added listeners when\n *     called\n * @private\n */\nfunction addListeners(server, map) {\n  for (const event of Object.keys(map)) server.on(event, map[event]);\n\n  return function removeListeners() {\n    for (const event of Object.keys(map)) {\n      server.removeListener(event, map[event]);\n    }\n  };\n}\n\n/**\n * Emit a `'close'` event on an `EventEmitter`.\n *\n * @param {EventEmitter} server The event emitter\n * @private\n */\nfunction emitClose(server) {\n  server._state = CLOSED;\n  server.emit('close');\n}\n\n/**\n * Handle socket errors.\n *\n * @private\n */\nfunction socketOnError() {\n  this.destroy();\n}\n\n/**\n * Close the connection when preconditions are not fulfilled.\n *\n * @param {Duplex} socket The socket of the upgrade request\n * @param {Number} code The HTTP response status code\n * @param {String} [message] The HTTP response body\n * @param {Object} [headers] Additional HTTP response headers\n * @private\n */\nfunction abortHandshake(socket, code, message, headers) {\n  //\n  // The socket is writable unless the user destroyed or ended it before calling\n  // `server.handleUpgrade()` or in the `verifyClient` function, which is a user\n  // error. Handling this does not make much sense as the worst that can happen\n  // is that some of the data written by the user might be discarded due to the\n  // call to `socket.end()` below, which triggers an `'error'` event that in\n  // turn causes the socket to be destroyed.\n  //\n  message = message || http.STATUS_CODES[code];\n  headers = {\n    Connection: 'close',\n    'Content-Type': 'text/html',\n    'Content-Length': Buffer.byteLength(message),\n    ...headers\n  };\n\n  socket.once('finish', socket.destroy);\n\n  socket.end(\n    `HTTP/1.1 ${code} ${http.STATUS_CODES[code]}\\r\\n` +\n      Object.keys(headers)\n        .map((h) => `${h}: ${headers[h]}`)\n        .join('\\r\\n') +\n      '\\r\\n\\r\\n' +\n      message\n  );\n}\n\n/**\n * Emit a `'wsClientError'` event on a `WebSocketServer` if there is at least\n * one listener for it, otherwise call `abortHandshake()`.\n *\n * @param {WebSocketServer} server The WebSocket server\n * @param {http.IncomingMessage} req The request object\n * @param {Duplex} socket The socket of the upgrade request\n * @param {Number} code The HTTP response status code\n * @param {String} message The HTTP response body\n * @private\n */\nfunction abortHandshakeOrEmitwsClientError(server, req, socket, code, message) {\n  if (server.listenerCount('wsClientError')) {\n    const err = new Error(message);\n    Error.captureStackTrace(err, abortHandshakeOrEmitwsClientError);\n\n    server.emit('wsClientError', err, socket, req);\n  } else {\n    abortHandshake(socket, code, message);\n  }\n}\n", "import { Socket } from 'node:net';\nimport {\n  type ConnectionOptions,\n  type KeyObject,\n  connect as TLSConnect,\n  type TLSSocket,\n} from 'node:tls';\nimport { WebSocket } from 'ws';\n\nimport {\n  type ConnectionType,\n  FIXParserBase,\n  type Options,\n  type Protocol,\n} from './FIXParserBase';\nimport type { IFIXParser } from './IFIXParser';\nimport { Field } from './fields/Field';\nimport * as Constants from './fieldtypes';\nimport { Field as FieldType } from './fieldtypes/Field';\nimport { Message as MessageType } from './fieldtypes/Message';\nimport { Message } from './message/Message';\nimport { heartBeat } from './messagetemplates/MessageTemplates';\nimport { clientProcessMessage } from './session/ClientMessageProcessor';\nimport { FrameDecoder } from './util/FrameDecoder';\nimport { Logger } from './util/Logger';\nimport { MessageBuffer } from './util/MessageBuffer';\nimport {\n  DEFAULT_FIX_VERSION,\n  DEFAULT_HEARTBEAT_SECONDS,\n  type Parser,\n  READY_MS,\n  type Version,\n  timestamp,\n  version,\n} from './util/util';\n\n/**\n * FIXParser class.\n */\nclass FIXParser implements IFIXParser {\n  /* FIXParser Version */\n  public static version: Version = version;\n\n  /* Name of current parser name */\n  public parserName: Parser = 'FIXParser';\n  /* Instance of FIXParser base class */\n  public fixParserBase: FIXParserBase = new FIXParserBase();\n  /* Next expected sequence number in */\n  public nextNumIn = 1;\n  /* Next expected sequence number out */\n  public nextNumOut = 1;\n  /* Heartbeat interval ID */\n  public heartBeatIntervalId: ReturnType<typeof setInterval> | null = null;\n  /* Type of socket connection (Socket, WebSocket, TLSSocket) */\n  public socket: Socket | WebSocket | TLSSocket | null = null;\n  /* Current connection status */\n  public connected = false;\n  /* Target hostname or IP address */\n  public host: string | null = null;\n  /* Target port */\n  public port: number | null = null;\n  /* Type of protocol */\n  public protocol: Protocol | null = 'tcp';\n  /* Assigned value used to identify firm sending message, SenderCompID tag 49 */\n  public sender: string | null = null;\n  /* Assigned value used to identify receiving firm, TargetCompID tag 56 */\n  public target: string | null = null;\n  /* Heartbeat interval in seconds */\n  public heartBeatInterval: number = DEFAULT_HEARTBEAT_SECONDS;\n  /* Protocol version, defaults to \"FIXT.1.1\" used by BeginString tag 8 */\n  public fixVersion: string = DEFAULT_FIX_VERSION;\n  /* Message buffer of 2500 incoming messages */\n  public messageBufferIn: MessageBuffer = new MessageBuffer();\n  /* Message buffer of 2500 outgoing messages */\n  public messageBufferOut: MessageBuffer = new MessageBuffer();\n  /* Whether an outgoing message contains a Logout */\n  public requestedLogout = false;\n  /* Indicates whether this instance is acceptor or initiator */\n  public connectionType: ConnectionType = 'initiator';\n  /* Logger instance */\n  public logger: Logger = new Logger();\n\n  /**\n   * onMessageCallback is called when a message has been received\n   *\n   * @callback FIXParser~onMessageCallback\n   * @param {Message} message\n   */\n  private onMessageCallback: Options['onMessage'] = message => {};\n\n  /**\n   * onOpenCallback is called the FIX connection has been initiated\n   *\n   * @callback FIXParser~onOpenCallback\n   */\n  private onOpenCallback: Options['onOpen'] = () => {};\n\n  /**\n   * onErrorCallback is called the FIX connection failed\n   *\n   * @callback FIXParser~onErrorCallback\n   * @param {Error} error\n   */\n  private onErrorCallback: Options['onError'] = error => {};\n\n  /**\n   * onCloseCallback is called the FIX connection has been closed\n   *\n   * @callback FIXParser~onCloseCallback\n   */\n  private onCloseCallback: Options['onClose'] = () => {};\n\n  /**\n   * onReadyCallback is called the FIX connection is opened and ready\n   *\n   * @callback FIXParser~onReadyCallback\n   */\n  private onReadyCallback: Options['onReady'] = () => {};\n\n  /**\n   * Connect to a remote FIX server/gateway.\n   * @param {Options} options - Connection options.\n   */\n  public connect(\n    {\n      host = 'localhost',\n      port = 9878,\n      protocol = 'tcp',\n      sender = 'SENDER',\n      target = 'TARGET',\n      heartbeatIntervalSeconds = DEFAULT_HEARTBEAT_SECONDS,\n      fixVersion = this.fixVersion,\n      tlsKey = null,\n      tlsCert = null,\n      tlsUseSNI = false,\n      tlsSkipStdInPipe = false,\n      logging = true,\n      logOptions = undefined,\n      proxy = null,\n      onMessage,\n      onOpen,\n      onError,\n      onClose,\n      onReady,\n    }: Options = {\n      onMessage: this.onMessageCallback,\n      onOpen: this.onOpenCallback,\n      onError: this.onErrorCallback,\n      onClose: this.onCloseCallback,\n      onReady: this.onReadyCallback,\n    }\n  ): void {\n    this.logger = new Logger(\n      logOptions\n        ? {\n            name: logOptions.name || 'fixparser',\n            ...logOptions,\n          }\n        : {\n            name: 'fixparser',\n            format: 'json',\n          }\n    );\n    if (!logging) {\n      this.logger.silent = true;\n    }\n    this.connectionType = 'initiator';\n    this.fixVersion = fixVersion;\n    this.fixParserBase.fixVersion = fixVersion;\n    this.protocol = protocol;\n    this.sender = sender;\n    this.target = target;\n    this.heartBeatInterval = heartbeatIntervalSeconds;\n\n    if (onMessage !== undefined) {\n      this.onMessageCallback = onMessage;\n    }\n\n    if (onOpen !== undefined) {\n      this.onOpenCallback = onOpen;\n    }\n\n    if (onError !== undefined) {\n      this.onErrorCallback = onError;\n    }\n\n    if (onClose !== undefined) {\n      this.onCloseCallback = onClose;\n    }\n\n    if (onReady !== undefined) {\n      this.onReadyCallback = onReady;\n    }\n\n    if (protocol === 'tcp') {\n      this.socket = new Socket();\n      this.socket.setEncoding('ascii');\n      this.socket.pipe(new FrameDecoder()).on('data', (data: string) => {\n        const messages: Message[] = this.parse(data.toString());\n        let i = 0;\n        for (i; i < messages.length; i++) {\n          clientProcessMessage(this, messages[i]);\n          this.messageBufferIn.add(messages[i]);\n          this.onMessageCallback?.(messages[i]);\n        }\n      });\n      this.socket.connect(port, host, () => {\n        this.connected = true;\n        this.logger.log({\n          level: 'info',\n          message: `FIXParser (${this.protocol?.toUpperCase()}): -- Connected`,\n        });\n        this.onOpenCallback?.();\n      });\n      this.socket.on('close', () => {\n        this.connected = false;\n        this.onCloseCallback?.();\n        this.stopHeartbeat();\n      });\n      this.socket.on('ready', () => {\n        setTimeout(() => this.onReadyCallback?.(), READY_MS);\n      });\n      this.socket.on('timeout', () => {\n        this.connected = false;\n        const socket: Socket = this.socket! as Socket;\n        this.onCloseCallback?.();\n        socket.end();\n        this.stopHeartbeat();\n      });\n      this.socket.on('error', error => {\n        this.connected = false;\n        this.onErrorCallback?.(error);\n        this.stopHeartbeat();\n      });\n    } else if (protocol === 'websocket') {\n      const connectionString: string =\n        host.indexOf('ws://') === -1 && host.indexOf('wss://') === -1\n          ? `ws://${host}:${port}`\n          : `${host}:${port}`;\n      if (proxy) {\n        this.socket = new WebSocket(connectionString, { agent: proxy });\n      } else {\n        this.socket = new WebSocket(connectionString);\n      }\n      this.socket.on('message', (data: string | Buffer) => {\n        const messages: Message[] = this.parse(data.toString());\n        let i = 0;\n        for (i; i < messages.length; i++) {\n          clientProcessMessage(this, messages[i]);\n          this.messageBufferIn.add(messages[i]);\n          this.onMessageCallback?.(messages[i]);\n        }\n      });\n      this.socket.on('open', () => {\n        this.logger.log({\n          level: 'info',\n          message: `FIXParser (${this.protocol?.toUpperCase()}): -- Connected`,\n        });\n        this.connected = true;\n        this.onOpenCallback?.();\n      });\n      this.socket.on('close', () => {\n        this.connected = false;\n        this.onCloseCallback?.();\n        this.stopHeartbeat();\n      });\n      if (\n        this.socket.readyState ===\n        (WebSocket.OPEN || WebSocket.CLOSED || WebSocket.CLOSING || WebSocket.CONNECTING)\n      ) {\n        setTimeout(() => this.onReadyCallback?.(), READY_MS);\n      }\n    } else if (protocol === 'ssl-tcp' || protocol === 'tls-tcp') {\n      const options: ConnectionOptions = {\n        host,\n        port,\n        rejectUnauthorized: false,\n      };\n\n      if (tlsKey && tlsCert) {\n        options.key = tlsKey as\n          | string\n          | Buffer\n          | Array<string | Buffer | KeyObject>\n          | undefined;\n        options.cert = tlsCert as string | Buffer | Array<string | Buffer> | undefined;\n      }\n\n      if (tlsUseSNI) {\n        options.servername = host;\n      }\n\n      this.socket = TLSConnect(port, host, options, () => {\n        this.connected = true;\n        this.onOpenCallback?.();\n        this.logger.log({\n          level: 'info',\n          message: `FIXParser (${this.protocol?.toUpperCase()}): -- Connected through TLS`,\n        });\n\n        if (!tlsSkipStdInPipe) {\n          process.stdin.pipe(this.socket as TLSSocket);\n          process.stdin.resume();\n        }\n      });\n      this.socket.setEncoding('utf8');\n      (this.socket as TLSSocket).pipe(new FrameDecoder()).on('data', (data: string) => {\n        const messages: Message[] = this.parse(data.toString());\n        let i = 0;\n        for (i; i < messages.length; i++) {\n          clientProcessMessage(this, messages[i]);\n          this.messageBufferIn.add(messages[i]);\n          this.onMessageCallback?.(messages[i]);\n        }\n      });\n      this.socket.on('close', () => {\n        this.connected = false;\n        this.onCloseCallback?.();\n        this.stopHeartbeat();\n      });\n      this.socket.on('timeout', () => {\n        const socket: TLSSocket = this.socket! as TLSSocket;\n        this.connected = false;\n        this.onCloseCallback?.();\n        socket.end();\n        this.stopHeartbeat();\n      });\n      this.socket.on('error', (error: Error) => {\n        this.connected = false;\n        this.onErrorCallback?.(error);\n        this.stopHeartbeat();\n      });\n      setTimeout(() => this.onReadyCallback?.(), READY_MS);\n    }\n  }\n\n  /**\n   * Get the next outgoing message sequence number.\n   *\n   * @return {number} The next outgoing message sequence number.\n   */\n  public getNextTargetMsgSeqNum(): number {\n    return this.nextNumOut;\n  }\n\n  /**\n   * Set the next outgoing message sequence number.\n   *\n   * @param {number} nextMsgSeqNum - The next message sequence number.\n   * @return {number} The next outgoing message sequence number.\n   */\n  public setNextTargetMsgSeqNum(nextMsgSeqNum: number): number {\n    this.nextNumOut = nextMsgSeqNum;\n    return this.nextNumOut;\n  }\n\n  /**\n   * Get current timestamp.\n   *\n   * @param {Date} dateObject - An instance of a Date class.\n   * @return {string} The current timestamp.\n   */\n  public getTimestamp(dateObject = new Date()): string {\n    return timestamp(dateObject, this.logger);\n  }\n\n  /**\n   * Create an instance of a FIX Message.\n   *\n   * @param {Array.<Field>} fields - An array of Fields.\n   * @return {Message} A FIX Message class instance.\n   */\n  public createMessage(...fields: Field[]): Message {\n    const message: Message = new Message(this.fixVersion, ...fields);\n    message.messageSequence = this.getNextTargetMsgSeqNum();\n    return message;\n  }\n\n  /**\n   * Parse a FIX message string into Message instance(s).\n   *\n   * @param {string} data - FIX message string.\n   * @return {Message} FIX Message class instance(s).\n   */\n  public parse(data: string): Message[] {\n    return this.fixParserBase.parse(data);\n  }\n\n  /**\n   * Send a FIX message.\n   *\n   * @param {Message} message - FIX Message class instance.\n   */\n  public send(message: Message): void {\n    const messageType: Field | undefined = message.getField(FieldType.MsgType);\n    if (messageType && messageType.value === MessageType.Logout) {\n      this.requestedLogout = true;\n    }\n\n    const encodedMessage: string = message.encode();\n    if (this.protocol === 'tcp' && this.connected) {\n      this.setNextTargetMsgSeqNum(this.getNextTargetMsgSeqNum() + 1);\n      (this.socket! as Socket).write(encodedMessage);\n      this.messageBufferOut.add(message.clone());\n      this.restartHeartbeat();\n      this.logger.log({\n        level: 'info',\n        message: `FIXParser (${this.protocol.toUpperCase()}): >> sent`,\n        fix: encodedMessage.replace(/\\x01/g, '|'),\n      });\n    } else if (\n      this.protocol === 'websocket' &&\n      (this.socket! as WebSocket).readyState === WebSocket.OPEN\n    ) {\n      this.setNextTargetMsgSeqNum(this.getNextTargetMsgSeqNum() + 1);\n      (this.socket! as WebSocket).send(encodedMessage);\n      this.messageBufferOut.add(message.clone());\n      this.restartHeartbeat();\n      this.logger.log({\n        level: 'info',\n        message: `FIXParser (${this.protocol.toUpperCase()}): >> sent`,\n        fix: encodedMessage.replace(/\\x01/g, '|'),\n      });\n    } else if (\n      (this.protocol === 'ssl-tcp' || this.protocol === 'tls-tcp') &&\n      this.connected\n    ) {\n      this.setNextTargetMsgSeqNum(this.getNextTargetMsgSeqNum() + 1);\n      (this.socket! as TLSSocket).write(encodedMessage);\n      this.messageBufferOut.add(message.clone());\n      this.restartHeartbeat();\n      this.logger.log({\n        level: 'info',\n        message: `FIXParser (${this.protocol.toUpperCase()}): >> sent`,\n        fix: encodedMessage.replace(/\\x01/g, '|'),\n      });\n    } else {\n      this.logger.logError({\n        message: `FIXParser (${this.protocol?.toUpperCase()}): -- Could not send message, no connection`,\n        fix: encodedMessage.replace(/\\x01/g, '|'),\n      });\n    }\n  }\n\n  /**\n   * Get connection status.\n   *\n   * @return {boolean} Current connection status.\n   */\n  public isConnected(): boolean {\n    return this.connected;\n  }\n\n  /**\n   * Close current connection.\n   */\n  public close(): void {\n    if (this.protocol === 'tcp') {\n      const socket: Socket = this.socket! as Socket;\n      if (socket) {\n        socket.destroy();\n        this.connected = false;\n      } else {\n        this.logger.logError({\n          message: `FIXParser (${this.protocol.toUpperCase()}): -- Could not close socket, connection not open`,\n        });\n      }\n    } else if (this.protocol === 'websocket') {\n      const socket: WebSocket = this.socket! as WebSocket;\n      if (socket) {\n        try {\n          socket.close();\n        } catch (error) {\n          this.logger.logError({\n            message: `FIXParser (${this.protocol.toUpperCase()}): -- Could not close socket,`,\n            error,\n          });\n        }\n        this.connected = false;\n      } else {\n        this.logger.logError({\n          message: `FIXParser (${this.protocol.toUpperCase()}): -- Could not close socket, connection not open`,\n        });\n      }\n    } else if (this.protocol === 'ssl-tcp' || this.protocol === 'tls-tcp') {\n      const socket: TLSSocket = this.socket! as TLSSocket;\n      if (socket) {\n        socket.destroy();\n        this.connected = false;\n      } else {\n        this.logger.logError({\n          message: `FIXParser (${this.protocol.toUpperCase()}): -- Could not close socket, connection not open`,\n        });\n      }\n    }\n  }\n\n  /**\n   * Stop heartbeat interval.\n   */\n  public stopHeartbeat(): void {\n    clearInterval(this.heartBeatIntervalId!);\n  }\n\n  /**\n   * Restart heartbeat interval.\n   */\n  public restartHeartbeat(): void {\n    this.stopHeartbeat();\n    this.startHeartbeat(this.heartBeatInterval, true);\n  }\n\n  /**\n   * Start heartbeat interval.\n   *\n   * @param {number} heartBeatInterval - Heartbeat interval in seconds.\n   * @param {boolean} disableLog - Whether to disable heartbeat logs.\n   */\n  public startHeartbeat(\n    heartBeatInterval: number = this.heartBeatInterval,\n    disableLog?: boolean\n  ): void {\n    this.stopHeartbeat();\n    if (!disableLog) {\n      this.logger.log({\n        level: 'info',\n        message: `FIXParser (${this.protocol?.toUpperCase()}): -- Heartbeat configured to ${heartBeatInterval} seconds`,\n      });\n    }\n    this.heartBeatInterval = heartBeatInterval;\n    this.heartBeatIntervalId = setInterval(() => {\n      const heartBeatMessage: Message = heartBeat(this);\n      this.send(heartBeatMessage);\n      const encodedMessage: string = heartBeatMessage.encode();\n      this.logger.log({\n        level: 'info',\n        message: `FIXParser (${this.protocol?.toUpperCase()}): >> sent Heartbeat`,\n        fix: encodedMessage.replace(/\\x01/g, '|'),\n      });\n    }, this.heartBeatInterval * 1000);\n  }\n}\n\nexport * from './fieldtypes';\nexport type { Protocol } from './FIXParserBase';\nexport type { Options } from './FIXParserBase';\nexport type { MessageError } from './message/Message';\nexport { Constants };\nexport { Field };\nexport { Message };\nexport { FIXParser };\n", "import createWebSocketStream from './lib/stream.js';\nimport Receiver from './lib/receiver.js';\nimport Sender from './lib/sender.js';\nimport WebSocket from './lib/websocket.js';\nimport WebSocketServer from './lib/websocket-server.js';\n\nexport { createWebSocketStream, Receiver, Sender, WebSocket, WebSocketServer };\nexport default WebSocket;\n", "export interface ISpecEnums {\n  name: string;\n  id: string;\n  tag: number;\n  type: string;\n  codeSet: string;\n  value: string;\n  sort?: number;\n  group?: string;\n  added?: string;\n  addedEP?: string;\n  updated?: string;\n  updatedEP?: string;\n  deprecated?: string;\n  deprecatedEP?: string;\n  description?: string;\n}\nconst batch1: ISpecEnums[] = [\n  {\n    name: 'Buy',\n    id: '4001',\n    value: 'B',\n    sort: 1,\n    added: 'FIX.2.7',\n    tag: 4,\n    type: 'char',\n    codeSet: 'AdvSideCodeSet',\n    description: 'Buy',\n  },\n  {\n    name: 'Sell',\n    id: '4002',\n    value: 'S',\n    sort: 2,\n    added: 'FIX.2.7',\n    tag: 4,\n    type: 'char',\n    codeSet: 'AdvSideCodeSet',\n    description: 'Sell',\n  },\n  {\n    name: 'Trade',\n    id: '4003',\n    value: 'T',\n    sort: 3,\n    added: 'FIX.2.7',\n    tag: 4,\n    type: 'char',\n    codeSet: 'AdvSideCodeSet',\n    description: 'Trade',\n  },\n  {\n    name: 'Cross',\n    id: '4004',\n    value: 'X',\n    sort: 4,\n    added: 'FIX.2.7',\n    tag: 4,\n    type: 'char',\n    codeSet: 'AdvSideCodeSet',\n    description: 'Cross',\n  },\n  {\n    name: 'New',\n    id: '5001',\n    value: 'N',\n    sort: 1,\n    added: 'FIX.2.7',\n    tag: 5,\n    type: 'String',\n    codeSet: 'AdvTransTypeCodeSet',\n    description: 'New',\n  },\n  {\n    name: 'Cancel',\n    id: '5002',\n    value: 'C',\n    sort: 2,\n    added: 'FIX.2.7',\n    tag: 5,\n    type: 'String',\n    codeSet: 'AdvTransTypeCodeSet',\n    description: 'Cancel',\n  },\n  {\n    name: 'Replace',\n    id: '5003',\n    value: 'R',\n    sort: 3,\n    added: 'FIX.2.7',\n    tag: 5,\n    type: 'String',\n    codeSet: 'AdvTransTypeCodeSet',\n    description: 'Replace',\n  },\n  {\n    name: 'FIX42',\n    id: '8001',\n    value: 'FIX.4.2',\n    sort: 1,\n    added: 'FIX.Latest',\n    addedEP: '270',\n    tag: 8,\n    type: 'String',\n    codeSet: 'BeginStringCodeSet',\n    description: 'Session profile FIX.4.2',\n  },\n  {\n    name: 'FIX44',\n    id: '8002',\n    value: 'FIX.4.4',\n    sort: 2,\n    added: 'FIX.Latest',\n    addedEP: '270',\n    tag: 8,\n    type: 'String',\n    codeSet: 'BeginStringCodeSet',\n    description: 'Session profile FIX4',\n  },\n  {\n    name: 'FIXT11',\n    id: '8003',\n    value: 'FIXT.1.1',\n    sort: 3,\n    added: 'FIX.Latest',\n    addedEP: '270',\n    tag: 8,\n    type: 'String',\n    codeSet: 'BeginStringCodeSet',\n    description:\n      'Session profile FIXT or LFXIT\\n\\nThe choice between FIXT and LFIXT is subject to counterparty agreement.',\n  },\n  {\n    name: 'PerUnit',\n    id: '13001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.2.7',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '204',\n    tag: 13,\n    type: 'char',\n    codeSet: 'CommTypeCodeSet',\n    description:\n      'Amount per unit\\n\\nImplying shares, par, currency, physical unit etc. Use CommissionUnitOfMeasure(1238) to clarify for commodities.',\n  },\n  {\n    name: 'Percent',\n    id: '13002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.2.7',\n    tag: 13,\n    type: 'char',\n    codeSet: 'CommTypeCodeSet',\n    description: 'Percent',\n  },\n  {\n    name: 'Absolute',\n    id: '13003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.2.7',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '204',\n    tag: 13,\n    type: 'char',\n    codeSet: 'CommTypeCodeSet',\n    description: 'Absolute\\n\\nTotal monetary amount.',\n  },\n  {\n    name: 'PercentageWaivedCashDiscount',\n    id: '13004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.4.3',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '204',\n    tag: 13,\n    type: 'char',\n    codeSet: 'CommTypeCodeSet',\n    description: 'Percentage waived, cash discount basis\\n\\nFor use with CIV buy orders.',\n  },\n  {\n    name: 'PercentageWaivedEnhancedUnits',\n    id: '13005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.4.3',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '204',\n    tag: 13,\n    type: 'char',\n    codeSet: 'CommTypeCodeSet',\n    description:\n      'Percentage waived, enhanced units basis\\n\\nFor use with CIV buy orders.',\n  },\n  {\n    name: 'PointsPerBondOrContract',\n    id: '13006',\n    value: '6',\n    sort: 6,\n    added: 'FIX.4.3',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '204',\n    tag: 13,\n    type: 'char',\n    codeSet: 'CommTypeCodeSet',\n    description:\n      'Points per bond or contract\\n\\nSpecify ContractMultiplier(231) in the Instrument component if the security is denominated in a size other than the market convention, e.g. 1000 par for bonds.',\n  },\n  {\n    name: 'BasisPoints',\n    id: '13007',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 13,\n    type: 'char',\n    codeSet: 'CommTypeCodeSet',\n    description:\n      'Basis points\\n\\nThe commission is expressed in basis points in reference to the gross price of the reference asset.',\n  },\n  {\n    name: 'AmountPerContract',\n    id: '13008',\n    value: '8',\n    sort: 8,\n    added: 'FIX.5.0SP2',\n    addedEP: '204',\n    tag: 13,\n    type: 'char',\n    codeSet: 'CommTypeCodeSet',\n    description:\n      'Amount per contract\\n\\nSpecify ContractMultiplier(231) in the Instrument component if the security is denominated in a size other than the market convention.',\n  },\n  {\n    name: 'StayOnOfferSide',\n    id: '18001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.2.7',\n    tag: 18,\n    type: 'MultipleCharValue',\n    codeSet: 'ExecInstCodeSet',\n    description: 'Stay on offer side',\n  },\n  {\n    name: 'NotHeld',\n    id: '18002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.2.7',\n    tag: 18,\n    type: 'MultipleCharValue',\n    codeSet: 'ExecInstCodeSet',\n    description: 'Not held',\n  },\n  {\n    name: 'Work',\n    id: '18003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.2.7',\n    tag: 18,\n    type: 'MultipleCharValue',\n    codeSet: 'ExecInstCodeSet',\n    description: 'Work',\n  },\n  {\n    name: 'GoAlong',\n    id: '18004',\n    value: '3',\n    sort: 4,\n    added: 'FIX.2.7',\n    tag: 18,\n    type: 'MultipleCharValue',\n    codeSet: 'ExecInstCodeSet',\n    description: 'Go along',\n  },\n  {\n    name: 'OverTheDay',\n    id: '18005',\n    value: '4',\n    sort: 5,\n    added: 'FIX.2.7',\n    tag: 18,\n    type: 'MultipleCharValue',\n    codeSet: 'ExecInstCodeSet',\n    description: 'Over the day',\n  },\n  {\n    name: 'Held',\n    id: '18006',\n    value: '5',\n    sort: 6,\n    added: 'FIX.2.7',\n    tag: 18,\n    type: 'MultipleCharValue',\n    codeSet: 'ExecInstCodeSet',\n    description: 'Held',\n  },\n  {\n    name: 'ParticipateDoNotInitiate',\n    id: '18007',\n    value: '6',\n    sort: 7,\n    added: 'FIX.2.7',\n    tag: 18,\n    type: 'MultipleCharValue',\n    codeSet: 'ExecInstCodeSet',\n    description: \"Participate don't initiate\",\n  },\n  {\n    name: 'StrictScale',\n    id: '18008',\n    value: '7',\n    sort: 8,\n    added: 'FIX.2.7',\n    tag: 18,\n    type: 'MultipleCharValue',\n    codeSet: 'ExecInstCodeSet',\n    description: 'Strict scale',\n  },\n  {\n    name: 'TryToScale',\n    id: '18009',\n    value: '8',\n    sort: 9,\n    added: 'FIX.2.7',\n    tag: 18,\n    type: 'MultipleCharValue',\n    codeSet: 'ExecInstCodeSet',\n    description: 'Try to scale',\n  },\n  {\n    name: 'StayOnBidSide',\n    id: '18010',\n    value: '9',\n    sort: 10,\n    added: 'FIX.2.7',\n    tag: 18,\n    type: 'MultipleCharValue',\n    codeSet: 'ExecInstCodeSet',\n    description: 'Stay on bid side',\n  },\n  {\n    name: 'NoCross',\n    id: '18011',\n    value: 'A',\n    sort: 11,\n    added: 'FIX.2.7',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '134',\n    tag: 18,\n    type: 'MultipleCharValue',\n    codeSet: 'ExecInstCodeSet',\n    description: 'No cross\\n\\nCross is forbidden.',\n  },\n  {\n    name: 'OKToCross',\n    id: '18012',\n    value: 'B',\n    sort: 12,\n    added: 'FIX.2.7',\n    tag: 18,\n    type: 'MultipleCharValue',\n    codeSet: 'ExecInstCodeSet',\n    description: 'OK to cross',\n  },\n  {\n    name: 'CallFirst',\n    id: '18013',\n    value: 'C',\n    sort: 13,\n    added: 'FIX.2.7',\n    tag: 18,\n    type: 'MultipleCharValue',\n    codeSet: 'ExecInstCodeSet',\n    description: 'Call first',\n  },\n  {\n    name: 'PercentOfVolume',\n    id: '18014',\n    value: 'D',\n    sort: 14,\n    added: 'FIX.2.7',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '134',\n    tag: 18,\n    type: 'MultipleCharValue',\n    codeSet: 'ExecInstCodeSet',\n    description:\n      'Percent of volume\\n\\nIndicates that the sender does not want to be all of the volume on the floor vs. a specific percentage.',\n  },\n  {\n    name: 'DoNotIncrease',\n    id: '18015',\n    value: 'E',\n    sort: 15,\n    added: 'FIX.2.7',\n    tag: 18,\n    type: 'MultipleCharValue',\n    codeSet: 'ExecInstCodeSet',\n    description: 'Do not increase - DNI',\n  },\n  {\n    name: 'DoNotReduce',\n    id: '18016',\n    value: 'F',\n    sort: 16,\n    added: 'FIX.2.7',\n    tag: 18,\n    type: 'MultipleCharValue',\n    codeSet: 'ExecInstCodeSet',\n    description: 'Do not reduce - DNR',\n  },\n  {\n    name: 'AllOrNone',\n    id: '18017',\n    value: 'G',\n    sort: 17,\n    added: 'FIX.2.7',\n    tag: 18,\n    type: 'MultipleCharValue',\n    codeSet: 'ExecInstCodeSet',\n    description: 'All or none - AON',\n  },\n  {\n    name: 'ReinstateOnSystemFailure',\n    id: '18018',\n    value: 'H',\n    sort: 18,\n    added: 'FIX.4.3',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '134',\n    tag: 18,\n    type: 'MultipleCharValue',\n    codeSet: 'ExecInstCodeSet',\n    description:\n      'Reinstate on system failure\\n\\nMutually exclusive with Q and l (lower case L).',\n  },\n  {\n    name: 'InstitutionsOnly',\n    id: '18019',\n    value: 'I',\n    sort: 19,\n    added: 'FIX.3.0',\n    tag: 18,\n    type: 'MultipleCharValue',\n    codeSet: 'ExecInstCodeSet',\n    description: 'Institutions only',\n  },\n  {\n    name: 'ReinstateOnTradingHalt',\n    id: '18020',\n    value: 'J',\n    sort: 20,\n    added: 'FIX.4.3',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '134',\n    tag: 18,\n    type: 'MultipleCharValue',\n    codeSet: 'ExecInstCodeSet',\n    description: 'Reinstate on trading halt\\n\\nMutually exclusive with K and m.',\n  },\n  {\n    name: 'CancelOnTradingHalt',\n    id: '18021',\n    value: 'K',\n    sort: 21,\n    added: 'FIX.4.3',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '134',\n    tag: 18,\n    type: 'MultipleCharValue',\n    codeSet: 'ExecInstCodeSet',\n    description: 'Cancel on trading halt\\n\\nMutually exclusive with J and m.',\n  },\n  {\n    name: 'LastPeg',\n    id: '18022',\n    value: 'L',\n    sort: 22,\n    added: 'FIX.3.0',\n    deprecated: 'FIX.5.0',\n    tag: 18,\n    type: 'MultipleCharValue',\n    codeSet: 'ExecInstCodeSet',\n    description: 'Last peg (last sale)',\n  },\n  {\n    name: 'MidPricePeg',\n    id: '18023',\n    value: 'M',\n    sort: 23,\n    added: 'FIX.3.0',\n    deprecated: 'FIX.5.0',\n    tag: 18,\n    type: 'MultipleCharValue',\n    codeSet: 'ExecInstCodeSet',\n    description: 'Mid-price peg (midprice of inside quote)',\n  },\n  {\n    name: 'NonNegotiable',\n    id: '18024',\n    value: 'N',\n    sort: 24,\n    added: 'FIX.3.0',\n    tag: 18,\n    type: 'MultipleCharValue',\n    codeSet: 'ExecInstCodeSet',\n    description: 'Non-negotiable',\n  },\n  {\n    name: 'OpeningPeg',\n    id: '18025',\n    value: 'O',\n    sort: 25,\n    added: 'FIX.3.0',\n    deprecated: 'FIX.5.0',\n    tag: 18,\n    type: 'MultipleCharValue',\n    codeSet: 'ExecInstCodeSet',\n    description: 'Opening peg',\n  },\n  {\n    name: 'MarketPeg',\n    id: '18026',\n    value: 'P',\n    sort: 26,\n    added: 'FIX.3.0',\n    deprecated: 'FIX.5.0',\n    tag: 18,\n    type: 'MultipleCharValue',\n    codeSet: 'ExecInstCodeSet',\n    description: 'Market peg',\n  },\n  {\n    name: 'CancelOnSystemFailure',\n    id: '18027',\n    value: 'Q',\n    sort: 27,\n    added: 'FIX.4.3',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '134',\n    tag: 18,\n    type: 'MultipleCharValue',\n    codeSet: 'ExecInstCodeSet',\n    description:\n      'Cancel on system failure\\n\\nMutually exclusive with H and l(lower case L).',\n  },\n  {\n    name: 'PrimaryPeg',\n    id: '18028',\n    value: 'R',\n    sort: 28,\n    added: 'FIX.3.0',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '134',\n    deprecated: 'FIX.5.0',\n    tag: 18,\n    type: 'MultipleCharValue',\n    codeSet: 'ExecInstCodeSet',\n    description: 'Primary peg\\n\\nPrimary market - buy at bid, sell at offer.',\n  },\n  {\n    name: 'Suspend',\n    id: '18029',\n    value: 'S',\n    sort: 29,\n    added: 'FIX.3.0',\n    tag: 18,\n    type: 'MultipleCharValue',\n    codeSet: 'ExecInstCodeSet',\n    description: 'Suspend',\n  },\n  {\n    name: 'FixedPegToLocalBestBidOrOfferAtTimeOfOrder',\n    id: '18030',\n    value: 'T',\n    sort: 30,\n    added: 'FIX.4.4',\n    addedEP: '35',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '134',\n    deprecated: 'FIX.5.0',\n    tag: 18,\n    type: 'MultipleCharValue',\n    codeSet: 'ExecInstCodeSet',\n    description: 'Fixed peg to local best bid or offer at time of order',\n  },\n  {\n    name: 'CustomerDisplayInstruction',\n    id: '18031',\n    value: 'U',\n    sort: 31,\n    added: 'FIX.4.1',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '134',\n    tag: 18,\n    type: 'MultipleCharValue',\n    codeSet: 'ExecInstCodeSet',\n    description:\n      'Customer display instruction\\n\\nUsed in US Markets for: SEC Rule 11Ac1-1/4.',\n  },\n  {\n    name: 'Netting',\n    id: '18032',\n    value: 'V',\n    sort: 32,\n    added: 'FIX.4.1',\n    tag: 18,\n    type: 'MultipleCharValue',\n    codeSet: 'ExecInstCodeSet',\n    description: 'Netting (for Forex)',\n  },\n  {\n    name: 'PegToVWAP',\n    id: '18033',\n    value: 'W',\n    sort: 33,\n    added: 'FIX.4.2',\n    deprecated: 'FIX.5.0',\n    tag: 18,\n    type: 'MultipleCharValue',\n    codeSet: 'ExecInstCodeSet',\n    description: 'Peg to VWAP',\n  },\n  {\n    name: 'TradeAlong',\n    id: '18034',\n    value: 'X',\n    sort: 34,\n    added: 'FIX.4.3',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '134',\n    tag: 18,\n    type: 'MultipleCharValue',\n    codeSet: 'ExecInstCodeSet',\n    description: 'Trade along',\n  },\n  {\n    name: 'TryToStop',\n    id: '18035',\n    value: 'Y',\n    sort: 35,\n    added: 'FIX.4.3',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '134',\n    tag: 18,\n    type: 'MultipleCharValue',\n    codeSet: 'ExecInstCodeSet',\n    description: 'Try to stop',\n  },\n  {\n    name: 'CancelIfNotBest',\n    id: '18036',\n    value: 'Z',\n    sort: 36,\n    added: 'FIX.4.4',\n    tag: 18,\n    type: 'MultipleCharValue',\n    codeSet: 'ExecInstCodeSet',\n    description: 'Cancel if not best',\n  },\n  {\n    name: 'TrailingStopPeg',\n    id: '18037',\n    value: 'a',\n    sort: 37,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '134',\n    deprecated: 'FIX.5.0',\n    tag: 18,\n    type: 'MultipleCharValue',\n    codeSet: 'ExecInstCodeSet',\n    description: 'Trailing stop peg',\n  },\n  {\n    name: 'StrictLimit',\n    id: '18038',\n    value: 'b',\n    sort: 38,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '134',\n    tag: 18,\n    type: 'MultipleCharValue',\n    codeSet: 'ExecInstCodeSet',\n    description: 'Strict limit\\n\\nNo price improvement.',\n  },\n  {\n    name: 'IgnorePriceValidityChecks',\n    id: '18039',\n    value: 'c',\n    sort: 39,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '134',\n    tag: 18,\n    type: 'MultipleCharValue',\n    codeSet: 'ExecInstCodeSet',\n    description: 'Ignore price validity checks',\n  },\n  {\n    name: 'PegToLimitPrice',\n    id: '18040',\n    value: 'd',\n    sort: 40,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '134',\n    deprecated: 'FIX.5.0',\n    tag: 18,\n    type: 'MultipleCharValue',\n    codeSet: 'ExecInstCodeSet',\n    description: 'Peg to limit price',\n  },\n  {\n    name: 'WorkToTargetStrategy',\n    id: '18041',\n    value: 'e',\n    sort: 41,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '134',\n    tag: 18,\n    type: 'MultipleCharValue',\n    codeSet: 'ExecInstCodeSet',\n    description: 'Work to target strategy',\n  },\n  {\n    name: 'IntermarketSweep',\n    id: '18042',\n    value: 'f',\n    sort: 42,\n    added: 'FIX.4.4',\n    addedEP: '6',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '134',\n    tag: 18,\n    type: 'MultipleCharValue',\n    codeSet: 'ExecInstCodeSet',\n    description: 'Intermarket sweep',\n  },\n  {\n    name: 'ExternalRoutingAllowed',\n    id: '18043',\n    value: 'g',\n    sort: 43,\n    added: 'FIX.4.4',\n    addedEP: '14',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '134',\n    tag: 18,\n    type: 'MultipleCharValue',\n    codeSet: 'ExecInstCodeSet',\n    description: 'External routing allowed',\n  },\n  {\n    name: 'ExternalRoutingNotAllowed',\n    id: '18044',\n    value: 'h',\n    sort: 44,\n    added: 'FIX.4.4',\n    addedEP: '14',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '134',\n    tag: 18,\n    type: 'MultipleCharValue',\n    codeSet: 'ExecInstCodeSet',\n    description: 'External routing not allowed',\n  },\n  {\n    name: 'ImbalanceOnly',\n    id: '18045',\n    value: 'i',\n    sort: 45,\n    added: 'FIX.4.4',\n    addedEP: '22',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '134',\n    tag: 18,\n    type: 'MultipleCharValue',\n    codeSet: 'ExecInstCodeSet',\n    description: 'Imbalance only',\n  },\n  {\n    name: 'SingleExecutionRequestedForBlockTrade',\n    id: '18046',\n    value: 'j',\n    sort: 46,\n    added: 'FIX.4.4',\n    addedEP: '6',\n    tag: 18,\n    type: 'MultipleCharValue',\n    codeSet: 'ExecInstCodeSet',\n    description: 'Single execution requested for block trade',\n  },\n  {\n    name: 'BestExecution',\n    id: '18047',\n    value: 'k',\n    sort: 47,\n    added: 'FIX.4.4',\n    addedEP: '35',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '134',\n    tag: 18,\n    type: 'MultipleCharValue',\n    codeSet: 'ExecInstCodeSet',\n    description: 'Best execution',\n  },\n  {\n    name: 'SuspendOnSystemFailure',\n    id: '18048',\n    value: 'l',\n    sort: 48,\n    added: 'FIX.5.0',\n    addedEP: '58',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '134',\n    tag: 18,\n    type: 'MultipleCharValue',\n    codeSet: 'ExecInstCodeSet',\n    description: 'Suspend on system failure\\n\\nMutually exclusive with H and Q.',\n  },\n  {\n    name: 'SuspendOnTradingHalt',\n    id: '18049',\n    value: 'm',\n    sort: 49,\n    added: 'FIX.5.0',\n    addedEP: '58',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '134',\n    tag: 18,\n    type: 'MultipleCharValue',\n    codeSet: 'ExecInstCodeSet',\n    description: 'Suspend on trading halt\\n\\nMutually exclusive with J and K.',\n  },\n  {\n    name: 'ReinstateOnConnectionLoss',\n    id: '18050',\n    value: 'n',\n    sort: 50,\n    added: 'FIX.5.0',\n    addedEP: '58',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '134',\n    tag: 18,\n    type: 'MultipleCharValue',\n    codeSet: 'ExecInstCodeSet',\n    description: 'Reinstate on connection loss\\n\\nMutually exclusive with o and p.',\n  },\n  {\n    name: 'CancelOnConnectionLoss',\n    id: '18051',\n    value: 'o',\n    sort: 51,\n    added: 'FIX.5.0',\n    addedEP: '58',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '134',\n    tag: 18,\n    type: 'MultipleCharValue',\n    codeSet: 'ExecInstCodeSet',\n    description: 'Cancel on connection loss\\n\\nMutually exclusive with n and p.',\n  },\n  {\n    name: 'SuspendOnConnectionLoss',\n    id: '18052',\n    value: 'p',\n    sort: 52,\n    added: 'FIX.5.0',\n    addedEP: '58',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '134',\n    tag: 18,\n    type: 'MultipleCharValue',\n    codeSet: 'ExecInstCodeSet',\n    description: 'Suspend on connection loss\\n\\nMutually exclusive with n and o.',\n  },\n  {\n    name: 'Release',\n    id: '18053',\n    value: 'q',\n    sort: 53,\n    added: 'FIX.5.0',\n    addedEP: '58',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '134',\n    tag: 18,\n    type: 'MultipleCharValue',\n    codeSet: 'ExecInstCodeSet',\n    description: 'Release\\n\\nMutually exclusive with S and w.',\n  },\n  {\n    name: 'ExecuteAsDeltaNeutral',\n    id: '18054',\n    value: 'r',\n    sort: 54,\n    added: 'FIX.5.0',\n    addedEP: '59',\n    tag: 18,\n    type: 'MultipleCharValue',\n    codeSet: 'ExecInstCodeSet',\n    description: 'Execute as delta neutral using volatility provided',\n  },\n  {\n    name: 'ExecuteAsDurationNeutral',\n    id: '18055',\n    value: 's',\n    sort: 55,\n    added: 'FIX.5.0',\n    addedEP: '59',\n    tag: 18,\n    type: 'MultipleCharValue',\n    codeSet: 'ExecInstCodeSet',\n    description: 'Execute as duration neutral',\n  },\n  {\n    name: 'ExecuteAsFXNeutral',\n    id: '18056',\n    value: 't',\n    sort: 56,\n    added: 'FIX.5.0',\n    addedEP: '59',\n    tag: 18,\n    type: 'MultipleCharValue',\n    codeSet: 'ExecInstCodeSet',\n    description: 'Execute as FX neutral',\n  },\n  {\n    name: 'MinGuaranteedFillEligible',\n    id: '18057',\n    value: 'u',\n    sort: 57,\n    added: 'FIX.5.0SP2',\n    addedEP: '101',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '134',\n    tag: 18,\n    type: 'MultipleCharValue',\n    codeSet: 'ExecInstCodeSet',\n    description: 'Minimum guaranteed fill eligible',\n  },\n  {\n    name: 'BypassNonDisplayLiquidity',\n    id: '18058',\n    value: 'v',\n    sort: 58,\n    added: 'FIX.5.0SP2',\n    addedEP: '101',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '134',\n    tag: 18,\n    type: 'MultipleCharValue',\n    codeSet: 'ExecInstCodeSet',\n    description: 'Bypass non-displayed liquidity',\n  },\n  {\n    name: 'Lock',\n    id: '18059',\n    value: 'w',\n    sort: 59,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '134',\n    tag: 18,\n    type: 'MultipleCharValue',\n    codeSet: 'ExecInstCodeSet',\n    description: 'Lock\\n\\nMutually exclusive with q.',\n  },\n  {\n    name: 'IgnoreNotionalValueChecks',\n    id: '18060',\n    value: 'x',\n    sort: 60,\n    added: 'FIX.5.0SP2',\n    addedEP: '134',\n    tag: 18,\n    type: 'MultipleCharValue',\n    codeSet: 'ExecInstCodeSet',\n    description: 'Ignore notional value checks',\n  },\n  {\n    name: 'TrdAtRefPx',\n    id: '18061',\n    value: 'y',\n    sort: 61,\n    added: 'FIX.5.0SP2',\n    addedEP: '210',\n    tag: 18,\n    type: 'MultipleCharValue',\n    codeSet: 'ExecInstCodeSet',\n    description:\n      'Trade at reference price\\n\\nIn the context of Reg NMS and the Tick Size Pilot Program, this is intended to indicate the order should Trade At Intermarket Sweep Order (TAISO) price.',\n  },\n  {\n    name: 'AllowFacilitation',\n    id: '18062',\n    value: 'z',\n    sort: 62,\n    added: 'FIX.5.0SP2',\n    addedEP: '251',\n    tag: 18,\n    type: 'MultipleCharValue',\n    codeSet: 'ExecInstCodeSet',\n    description:\n      \"Allow facilitation\\n\\nExpress explicit consent to receive facilitation services from the counterparty. Facilitation services are when an institutional client allows a broker to assume a risk-taking principal position rather than an agency position, to obtain liquidity or achieve a guaranteed execution price on the client's behalf. Interpretation of absence of this value needs to be bilaterally agreed, if applicable. In the context of Hong Kong's SFC, this can be used to comply with SFC regulations for disclosure of client facilitation.\",\n  },\n  {\n    name: 'AutomatedExecutionNoIntervention',\n    id: '21001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.2.7',\n    tag: 21,\n    type: 'char',\n    codeSet: 'HandlInstCodeSet',\n    description: 'Automated execution order, private, no Broker intervention',\n  },\n  {\n    name: 'AutomatedExecutionInterventionOK',\n    id: '21002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.2.7',\n    tag: 21,\n    type: 'char',\n    codeSet: 'HandlInstCodeSet',\n    description: 'Automated execution order, public, Broker intervention OK',\n  },\n  {\n    name: 'ManualOrder',\n    id: '21003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.2.7',\n    tag: 21,\n    type: 'char',\n    codeSet: 'HandlInstCodeSet',\n    description: 'Manual order, best execution',\n  },\n  {\n    name: 'CUSIP',\n    id: '22001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.2.7',\n    tag: 22,\n    type: 'String',\n    codeSet: 'SecurityIDSourceCodeSet',\n    description: 'CUSIP',\n  },\n  {\n    name: 'SEDOL',\n    id: '22002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.2.7',\n    tag: 22,\n    type: 'String',\n    codeSet: 'SecurityIDSourceCodeSet',\n    description: 'SEDOL',\n  },\n  {\n    name: 'QUIK',\n    id: '22003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.2.7',\n    tag: 22,\n    type: 'String',\n    codeSet: 'SecurityIDSourceCodeSet',\n    description: 'QUIK',\n  },\n  {\n    name: 'ISINNumber',\n    id: '22004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.3.0',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '232',\n    tag: 22,\n    type: 'String',\n    codeSet: 'SecurityIDSourceCodeSet',\n    description: 'ISIN',\n  },\n  {\n    name: 'RICCode',\n    id: '22005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.3.0',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '232',\n    tag: 22,\n    type: 'String',\n    codeSet: 'SecurityIDSourceCodeSet',\n    description: 'RIC',\n  },\n  {\n    name: 'ISOCurrencyCode',\n    id: '22006',\n    value: '6',\n    sort: 6,\n    added: 'FIX.4.1',\n    updated: 'FIX.Latest',\n    updatedEP: '273',\n    tag: 22,\n    type: 'String',\n    codeSet: 'SecurityIDSourceCodeSet',\n    description: 'ISO Currency Code (ISO 4217)',\n  },\n  {\n    name: 'ISOCountryCode',\n    id: '22007',\n    value: '7',\n    sort: 7,\n    added: 'FIX.4.1',\n    tag: 22,\n    type: 'String',\n    codeSet: 'SecurityIDSourceCodeSet',\n    description: 'ISO Country Code',\n  },\n  {\n    name: 'ExchangeSymbol',\n    id: '22008',\n    value: '8',\n    sort: 8,\n    added: 'FIX.4.2',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '119',\n    tag: 22,\n    type: 'String',\n    codeSet: 'SecurityIDSourceCodeSet',\n    description: 'Exchange symbol',\n  },\n  {\n    name: 'ConsolidatedTapeAssociation',\n    id: '22009',\n    value: '9',\n    sort: 9,\n    added: 'FIX.4.2',\n    tag: 22,\n    type: 'String',\n    codeSet: 'SecurityIDSourceCodeSet',\n    description: 'Consolidated Tape Association (CTA) Symbol (SIAC CTS/CQS line format)',\n  },\n  {\n    name: 'BloombergSymbol',\n    id: '22010',\n    value: 'A',\n    sort: 10,\n    added: 'FIX.4.3',\n    tag: 22,\n    type: 'String',\n    codeSet: 'SecurityIDSourceCodeSet',\n    description: 'Bloomberg Symbol',\n  },\n  {\n    name: 'Wertpapier',\n    id: '22011',\n    value: 'B',\n    sort: 11,\n    added: 'FIX.4.3',\n    tag: 22,\n    type: 'String',\n    codeSet: 'SecurityIDSourceCodeSet',\n    description: 'Wertpapier',\n  },\n  {\n    name: 'Dutch',\n    id: '22012',\n    value: 'C',\n    sort: 12,\n    added: 'FIX.4.3',\n    tag: 22,\n    type: 'String',\n    codeSet: 'SecurityIDSourceCodeSet',\n    description: 'Dutch',\n  },\n  {\n    name: 'Valoren',\n    id: '22013',\n    value: 'D',\n    sort: 13,\n    added: 'FIX.4.3',\n    tag: 22,\n    type: 'String',\n    codeSet: 'SecurityIDSourceCodeSet',\n    description: 'Valoren',\n  },\n  {\n    name: 'Sicovam',\n    id: '22014',\n    value: 'E',\n    sort: 14,\n    added: 'FIX.4.3',\n    tag: 22,\n    type: 'String',\n    codeSet: 'SecurityIDSourceCodeSet',\n    description: 'Sicovam',\n  },\n  {\n    name: 'Belgian',\n    id: '22015',\n    value: 'F',\n    sort: 15,\n    added: 'FIX.4.3',\n    tag: 22,\n    type: 'String',\n    codeSet: 'SecurityIDSourceCodeSet',\n    description: 'Belgian',\n  },\n  {\n    name: 'Common',\n    id: '22016',\n    value: 'G',\n    sort: 16,\n    added: 'FIX.4.3',\n    tag: 22,\n    type: 'String',\n    codeSet: 'SecurityIDSourceCodeSet',\n    description: '\"Common\" (Clearstream and Euroclear)',\n  },\n  {\n    name: 'ClearingHouse',\n    id: '22017',\n    value: 'H',\n    sort: 17,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '119',\n    tag: 22,\n    type: 'String',\n    codeSet: 'SecurityIDSourceCodeSet',\n    description: 'Clearing house / Clearing organization',\n  },\n  {\n    name: 'ISDAFpMLSpecification',\n    id: '22018',\n    value: 'I',\n    sort: 18,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '119',\n    tag: 22,\n    type: 'String',\n    codeSet: 'SecurityIDSourceCodeSet',\n    description: 'ISDA/FpML product specification (XML in SecurityXML(1185))',\n  },\n  {\n    name: 'OptionPriceReportingAuthority',\n    id: '22019',\n    value: 'J',\n    sort: 19,\n    added: 'FIX.4.4',\n    tag: 22,\n    type: 'String',\n    codeSet: 'SecurityIDSourceCodeSet',\n    description: 'Option Price Reporting Authority',\n  },\n  {\n    name: 'ISDAFpMLURL',\n    id: '22020',\n    value: 'K',\n    sort: 20,\n    added: 'FIX.4.4',\n    addedEP: '15',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '119',\n    tag: 22,\n    type: 'String',\n    codeSet: 'SecurityIDSourceCodeSet',\n    description: 'ISDA/FpML product URL (URL in SecurityID(48))',\n  },\n  {\n    name: 'LetterOfCredit',\n    id: '22021',\n    value: 'L',\n    sort: 21,\n    added: 'FIX.4.4',\n    addedEP: '8',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '119',\n    tag: 22,\n    type: 'String',\n    codeSet: 'SecurityIDSourceCodeSet',\n    description: 'Letter of credit',\n  },\n  {\n    name: 'MarketplaceAssignedIdentifier',\n    id: '22022',\n    value: 'M',\n    sort: 22,\n    added: 'FIX.5.0',\n    addedEP: '58',\n    tag: 22,\n    type: 'String',\n    codeSet: 'SecurityIDSourceCodeSet',\n    description: 'Marketplace-assigned Identifier',\n  },\n  {\n    name: 'MarkitREDEntityCLIP',\n    id: '22023',\n    value: 'N',\n    sort: 23,\n    added: 'FIX.5.0SP2',\n    addedEP: '119',\n    tag: 22,\n    type: 'String',\n    codeSet: 'SecurityIDSourceCodeSet',\n    description: 'Markit RED entity CLIP',\n  },\n  {\n    name: 'MarkitREDPairCLIP',\n    id: '22024',\n    value: 'P',\n    sort: 24,\n    added: 'FIX.5.0SP2',\n    addedEP: '119',\n    tag: 22,\n    type: 'String',\n    codeSet: 'SecurityIDSourceCodeSet',\n    description: 'Markit RED pair CLIP',\n  },\n  {\n    name: 'CFTCCommodityCode',\n    id: '22025',\n    value: 'Q',\n    sort: 25,\n    added: 'FIX.5.0SP2',\n    addedEP: '140',\n    tag: 22,\n    type: 'String',\n    codeSet: 'SecurityIDSourceCodeSet',\n    description: 'CFTC commodity code',\n  },\n  {\n    name: 'ISDACommodityReferencePrice',\n    id: '22026',\n    value: 'R',\n    sort: 26,\n    added: 'FIX.5.0SP2',\n    addedEP: '140',\n    tag: 22,\n    type: 'String',\n    codeSet: 'SecurityIDSourceCodeSet',\n    description: 'ISDA Commodity Reference Price',\n  },\n  {\n    name: 'FinancialInstrumentGlobalIdentifier',\n    id: '22027',\n    value: 'S',\n    sort: 27,\n    added: 'FIX.5.0SP2',\n    addedEP: '158',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '202',\n    tag: 22,\n    type: 'String',\n    codeSet: 'SecurityIDSourceCodeSet',\n    description:\n      'Financial Instrument Global Identifier\\n\\nAn Object Management Group (OMG) standard. Also referred to as FIGI. Formerly known as \"Bloomberg Open Symbology BBGID\".',\n  },\n  {\n    name: 'LegalEntityIdentifier',\n    id: '22028',\n    value: 'T',\n    sort: 28,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 22,\n    type: 'String',\n    codeSet: 'SecurityIDSourceCodeSet',\n    description: 'Legal entity identifier',\n  },\n  {\n    name: 'Synthetic',\n    id: '22029',\n    value: 'U',\n    sort: 29,\n    added: 'FIX.5.0SP2',\n    addedEP: '187',\n    tag: 22,\n    type: 'String',\n    codeSet: 'SecurityIDSourceCodeSet',\n    description:\n      'Synthetic\\n\\nUsed to specify that the security identifier is synthetic for linking nested underliers when there is no market identifier for the collection.',\n  },\n  {\n    name: 'FidessaInstrumentMnemonic',\n    id: '22030',\n    value: 'V',\n    sort: 30,\n    added: 'FIX.5.0SP2',\n    addedEP: '220',\n    tag: 22,\n    type: 'String',\n    codeSet: 'SecurityIDSourceCodeSet',\n    description: 'Fidessa Instrument Mnemonic (FIM)',\n  },\n  {\n    name: 'IndexName',\n    id: '22031',\n    value: 'W',\n    sort: 31,\n    added: 'FIX.5.0SP2',\n    addedEP: '232',\n    updated: 'FIX.Latest',\n    updatedEP: '282',\n    tag: 22,\n    type: 'String',\n    codeSet: 'SecurityIDSourceCodeSet',\n    description:\n      'Index name\\n\\nStandard name of the index or rate index, e.g. \"LIBOR\" or \"iTraxx Australia\".',\n  },\n  {\n    name: 'UniformSymbol',\n    id: '22032',\n    value: 'X',\n    sort: 32,\n    added: 'FIX.5.0SP2',\n    addedEP: '242',\n    tag: 22,\n    type: 'String',\n    codeSet: 'SecurityIDSourceCodeSet',\n    description: 'Uniform Symbol (UMTF Symbol)',\n  },\n  {\n    name: 'DigitalTokenIdentifier',\n    id: '22033',\n    value: 'Y',\n    sort: 33,\n    added: 'FIX.Latest',\n    addedEP: '273',\n    tag: 22,\n    type: 'String',\n    codeSet: 'SecurityIDSourceCodeSet',\n    description: 'Digital Token Identifier (ISO 24165)',\n  },\n  {\n    name: 'High',\n    id: '25001',\n    value: 'H',\n    sort: 1,\n    added: 'FIX.2.7',\n    tag: 25,\n    type: 'char',\n    codeSet: 'IOIQltyIndCodeSet',\n    description: 'High',\n  },\n  {\n    name: 'Low',\n    id: '25002',\n    value: 'L',\n    sort: 2,\n    added: 'FIX.2.7',\n    tag: 25,\n    type: 'char',\n    codeSet: 'IOIQltyIndCodeSet',\n    description: 'Low',\n  },\n  {\n    name: 'Medium',\n    id: '25003',\n    value: 'M',\n    sort: 3,\n    added: 'FIX.2.7',\n    tag: 25,\n    type: 'char',\n    codeSet: 'IOIQltyIndCodeSet',\n    description: 'Medium',\n  },\n  {\n    name: 'Small',\n    id: '27001',\n    value: 'S',\n    sort: 2,\n    added: 'FIX.4.4',\n    addedEP: '25',\n    tag: 27,\n    type: 'String',\n    codeSet: 'IOIQtyCodeSet',\n    description: 'Small',\n  },\n  {\n    name: 'Medium',\n    id: '27002',\n    value: 'M',\n    sort: 3,\n    added: 'FIX.4.4',\n    addedEP: '25',\n    tag: 27,\n    type: 'String',\n    codeSet: 'IOIQtyCodeSet',\n    description: 'Medium',\n  },\n  {\n    name: 'Large',\n    id: '27003',\n    value: 'L',\n    sort: 4,\n    added: 'FIX.4.4',\n    addedEP: '25',\n    tag: 27,\n    type: 'String',\n    codeSet: 'IOIQtyCodeSet',\n    description: 'Large',\n  },\n  {\n    name: 'UndisclosedQuantity',\n    id: '27004',\n    value: 'U',\n    sort: 5,\n    added: 'FIX.4.4',\n    addedEP: '25',\n    tag: 27,\n    type: 'String',\n    codeSet: 'IOIQtyCodeSet',\n    description: 'Undisclosed Quantity',\n  },\n  {\n    name: 'New',\n    id: '28001',\n    value: 'N',\n    sort: 1,\n    added: 'FIX.2.7',\n    tag: 28,\n    type: 'char',\n    codeSet: 'IOITransTypeCodeSet',\n    description: 'New',\n  },\n  {\n    name: 'Cancel',\n    id: '28002',\n    value: 'C',\n    sort: 2,\n    added: 'FIX.2.7',\n    tag: 28,\n    type: 'char',\n    codeSet: 'IOITransTypeCodeSet',\n    description: 'Cancel',\n  },\n  {\n    name: 'Replace',\n    id: '28003',\n    value: 'R',\n    sort: 3,\n    added: 'FIX.2.7',\n    tag: 28,\n    type: 'char',\n    codeSet: 'IOITransTypeCodeSet',\n    description: 'Replace',\n  },\n  {\n    name: 'Agent',\n    id: '29001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.2.7',\n    tag: 29,\n    type: 'char',\n    codeSet: 'LastCapacityCodeSet',\n    description: 'Agent',\n  },\n  {\n    name: 'CrossAsAgent',\n    id: '29002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.2.7',\n    tag: 29,\n    type: 'char',\n    codeSet: 'LastCapacityCodeSet',\n    description: 'Cross as agent',\n  },\n  {\n    name: 'CrossAsPrincipal',\n    id: '29003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.2.7',\n    tag: 29,\n    type: 'char',\n    codeSet: 'LastCapacityCodeSet',\n    description: 'Cross as principal',\n  },\n  {\n    name: 'Principal',\n    id: '29004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.2.7',\n    tag: 29,\n    type: 'char',\n    codeSet: 'LastCapacityCodeSet',\n    description: 'Principal',\n  },\n  {\n    name: 'RisklessPrincipal',\n    id: '29005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '222',\n    tag: 29,\n    type: 'char',\n    codeSet: 'LastCapacityCodeSet',\n    description: 'Riskless principal',\n  },\n  {\n    name: 'Heartbeat',\n    id: '35001',\n    value: '0',\n    sort: 1,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'Heartbeat\\n\\nThe Heartbeat monitors the status of the communication link and identifies when the last of a string of messages was not received.',\n  },\n  {\n    name: 'TestRequest',\n    id: '35002',\n    value: '1',\n    sort: 2,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'TestRequest\\n\\nThe test request message forces a heartbeat from the opposing application. The test request message checks sequence numbers or verifies communication line status. The opposite application responds to the Test Request with a Heartbeat containing the TestReqID.',\n  },\n  {\n    name: 'ResendRequest',\n    id: '35003',\n    value: '2',\n    sort: 3,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'ResendRequest\\n\\nThe resend request is sent by the receiving application to initiate the retransmission of messages. This function is utilized if a sequence number gap is detected, if the receiving application lost a message, or as a function of the initialization process.',\n  },\n  {\n    name: 'Reject',\n    id: '35004',\n    value: '3',\n    sort: 4,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'Reject\\n\\nThe reject message should be issued when a message is received but cannot be properly processed due to a session-level rule violation. An example of when a reject may be appropriate would be the receipt of a message with invalid basic data which successfully passes de-encryption, CheckSum and BodyLength checks.',\n  },\n  {\n    name: 'SequenceReset',\n    id: '35005',\n    value: '4',\n    sort: 5,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'SequenceReset\\n\\nThe sequence reset message is used by the sending application to reset the incoming sequence number on the opposing side.',\n  },\n  {\n    name: 'Logout',\n    id: '35006',\n    value: '5',\n    sort: 6,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'Logout\\n\\nThe logout message initiates or confirms the termination of a FIX session. Disconnection without the exchange of logout messages should be interpreted as an abnormal condition.',\n  },\n  {\n    name: 'IOI',\n    id: '35007',\n    value: '6',\n    sort: 7,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'IOI\\n\\nIndication of interest messages are used to market merchandise which the broker is buying or selling in either a proprietary or agency capacity. The indications can be time bound with a specific expiration value. Indications are distributed with the understanding that other firms may react to the message first and that the merchandise may no longer be available due to prior trade.\\n\\nIndication messages can be transmitted in various transaction types; NEW, CANCEL, and REPLACE. All message types other than NEW modify the state of the message identified in IOIRefID.',\n  },\n  {\n    name: 'Advertisement',\n    id: '35008',\n    value: '7',\n    sort: 8,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'Advertisement\\n\\nAdvertisement messages are used to announce completed transactions. The advertisement message can be transmitted in various transaction types; NEW, CANCEL and REPLACE. All message types other than NEW modify the state of a previously transmitted advertisement identified in AdvRefID.',\n  },\n  {\n    name: 'ExecutionReport',\n    id: '35009',\n    value: '8',\n    sort: 9,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'ExecutionReport\\n\\nThe execution report message is used to:\\n\\n1. confirm the receipt of an order\\n\\n2. confirm changes to an existing order (i.e. accept cancel and replace requests)\\n\\n3. relay order status information\\n\\n4. relay fill information on working orders\\n\\n5. relay fill information on tradeable or restricted tradeable quotes\\n\\n6. reject orders\\n\\n7. report post-trade fees calculations associated with a trade',\n  },\n  {\n    name: 'OrderCancelReject',\n    id: '35010',\n    value: '9',\n    sort: 10,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'OrderCancelReject\\n\\nThe order cancel reject message is issued by the broker upon receipt of a cancel request or cancel/replace request message which cannot be honored.',\n  },\n  {\n    name: 'Logon',\n    id: '35011',\n    value: 'A',\n    sort: 11,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'Logon\\n\\nThe logon message authenticates a user establishing a connection to a remote system. The logon message must be the first message sent by the application requesting to initiate a FIX session.',\n  },\n  {\n    name: 'News',\n    id: '35012',\n    value: 'B',\n    sort: 12,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      \"News\\n\\nThe news message is a general free format message between the broker and institution. The message contains flags to identify the news item's urgency and to allow sorting by subject company (symbol). The News message can be originated at either the broker or institution side, or exchanges and other marketplace venues.\",\n  },\n  {\n    name: 'Email',\n    id: '35013',\n    value: 'C',\n    sort: 13,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'Email\\n\\nThe email message is similar to the format and purpose of the News message, however, it is intended for private use between two parties.',\n  },\n  {\n    name: 'NewOrderSingle',\n    id: '35014',\n    value: 'D',\n    sort: 14,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'NewOrderSingle\\n\\nThe new order message type is used by institutions wishing to electronically submit securities and forex orders to a broker for execution.\\n\\nThe New Order message type may also be used by institutions or retail intermediaries wishing to electronically submit Collective Investment Vehicle (CIV) orders to a broker or fund manager for execution.',\n  },\n  {\n    name: 'NewOrderList',\n    id: '35015',\n    value: 'E',\n    sort: 15,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'NewOrderList\\n\\nThe NewOrderList Message can be used in one of two ways depending on which market conventions are being followed.',\n  },\n  {\n    name: 'OrderCancelRequest',\n    id: '35016',\n    value: 'F',\n    sort: 16,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'OrderCancelRequest\\n\\nThe order cancel request message requests the cancellation of all of the remaining quantity of an existing order. Note that the Order Cancel/Replace Request should be used to partially cancel (reduce) an order).',\n  },\n  {\n    name: 'OrderCancelReplaceRequest',\n    id: '35017',\n    value: 'G',\n    sort: 17,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'OrderCancelReplaceRequest\\n\\nThe order cancel/replace request is used to change the parameters of an existing order.\\n\\nDo not use this message to cancel the remaining quantity of an outstanding order, use the Order Cancel Request message for this purpose.',\n  },\n  {\n    name: 'OrderStatusRequest',\n    id: '35018',\n    value: 'H',\n    sort: 18,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'OrderStatusRequest\\n\\nThe order status request message is used by the institution to generate an order status message back from the broker.',\n  },\n  {\n    name: 'AllocationInstruction',\n    id: '35019',\n    value: 'J',\n    sort: 19,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'AllocationInstruction\\n\\nThe AllocationInstruction(35=J) message provides the ability to specify how an order or set of orders should be subdivided amongst one or more accounts.',\n  },\n  {\n    name: 'ListCancelRequest',\n    id: '35020',\n    value: 'K',\n    sort: 20,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'ListCancelRequest\\n\\nThe List Cancel Request message type is used by institutions wishing to cancel previously submitted lists either before or during execution.',\n  },\n  {\n    name: 'ListExecute',\n    id: '35021',\n    value: 'L',\n    sort: 21,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'ListExecute\\n\\nThe List Execute message type is used by institutions to instruct the broker to begin execution of a previously submitted list. This message may or may not be used, as it may be mirroring a phone conversation.',\n  },\n  {\n    name: 'ListStatusRequest',\n    id: '35022',\n    value: 'M',\n    sort: 22,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'ListStatusRequest\\n\\nThe list status request message type is used by institutions to instruct the broker to generate status messages for a list.',\n  },\n  {\n    name: 'ListStatus',\n    id: '35023',\n    value: 'N',\n    sort: 23,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      \"ListStatus\\n\\nThe list status message is issued as the response to a List Status Request message sent in an unsolicited fashion by the sell-side. It indicates the current state of the orders within the list as they exist at the broker's site. This message may also be used to respond to the List Cancel Request.\",\n  },\n  {\n    name: 'AllocationInstructionAck',\n    id: '35024',\n    value: 'P',\n    sort: 24,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'AllocationInstructionAck\\n\\nIn versions of FIX prior to version 4.4, this message was known as the Allocation ACK message.\\n\\nThe Allocation Instruction Ack message is used to acknowledge the receipt of and provide status for an Allocation Instruction message.',\n  },\n  {\n    name: 'DontKnowTrade',\n    id: '35025',\n    value: 'Q',\n    sort: 25,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'DontKnowTrade\\n\\nThe Don\u2019t Know Trade (DK) message notifies a trading partner that an electronically received execution has been rejected. This message can be thought of as an execution reject message.',\n  },\n  {\n    name: 'QuoteRequest',\n    id: '35026',\n    value: 'R',\n    sort: 26,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'QuoteRequest\\n\\nIn some markets it is the practice to request quotes from brokers prior to placement of an order. The quote request message is used for this purpose. This message is commonly referred to as an Request For Quote (RFQ)',\n  },\n  {\n    name: 'Quote',\n    id: '35027',\n    value: 'S',\n    sort: 27,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'Quote\\n\\nThe Quote message is used as the response to a Quote Request or a Quote Response message in both indicative, tradeable, and restricted tradeable quoting markets.',\n  },\n  {\n    name: 'SettlementInstructions',\n    id: '35028',\n    value: 'T',\n    sort: 28,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'SettlementInstructions\\n\\nThe Settlement Instructions message provides the broker\u2019s, the institution\u2019s, or the intermediary\u2019s instructions for trade settlement. This message has been designed so that it can be sent from the broker to the institution, from the institution to the broker, or from either to an independent \"standing instructions\" database or matching system or, for CIV, from an intermediary to a fund manager.',\n  },\n  {\n    name: 'MarketDataRequest',\n    id: '35029',\n    value: 'V',\n    sort: 29,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'MarketDataRequest\\n\\nSome systems allow the transmission of real-time quote, order, trade, trade volume, open interest, and/or other price information on a subscription basis. A MarketDataRequest(35=V) is a general request for market data on specific securities or forex quotes. The values in the fields provided within the request will serve as further filter criteria for the result set.',\n  },\n  {\n    name: 'MarketDataSnapshotFullRefresh',\n    id: '35030',\n    value: 'W',\n    sort: 30,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'MarketDataSnapshotFullRefresh\\n\\nThe Market Data messages are used as the response to a Market Data Request message. In all cases, one Market Data message refers only to one Market Data Request. It can be used to transmit a 2-sided book of orders or list of quotes, a list of trades, index values, opening, closing, settlement, high, low, or VWAP prices, the trade volume or open interest for a security, or any combination of these.',\n  },\n  {\n    name: 'MarketDataIncrementalRefresh',\n    id: '35031',\n    value: 'X',\n    sort: 31,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'MarketDataIncrementalRefresh\\n\\nThe Market Data message for incremental updates may contain any combination of new, changed, or deleted Market Data Entries, for any combination of instruments, with any combination of trades, imbalances, quotes, index values, open, close, settlement, high, low, and VWAP prices, trade volume and open interest so long as the maximum FIX message size is not exceeded. All of these types of Market Data Entries can be changed and deleted.',\n  },\n  {\n    name: 'MarketDataRequestReject',\n    id: '35032',\n    value: 'Y',\n    sort: 32,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'MarketDataRequestReject\\n\\nThe Market Data Request Reject is used when the broker cannot honor the Market Data Request, due to business or technical reasons. Brokers may choose to limit various parameters, such as the size of requests, whether just the top of book or the entire book may be displayed, and whether Full or Incremental updates must be used.',\n  },\n  {\n    name: 'QuoteCancel',\n    id: '35033',\n    value: 'Z',\n    sort: 33,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'QuoteCancel\\n\\nThe Quote Cancel message is used by an originator of quotes to cancel quotes.\\n\\nThe Quote Cancel message supports cancellation of:\\n\\n\u2022 All quotes\\n\\n\u2022 Quotes for a specific symbol or security ID\\n\\n\u2022 All quotes for a security type\\n\\n\u2022 All quotes for an underlying',\n  },\n  {\n    name: 'QuoteStatusRequest',\n    id: '35034',\n    value: 'a',\n    sort: 34,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'QuoteStatusRequest\\n\\nThe quote status request message is used for the following purposes in markets that employ tradeable or restricted tradeable quotes:\\n\\n\u2022 For the issuer of a quote in a market to query the status of that quote (using the QuoteID to specify the target quote).\\n\\n\u2022 To subscribe and unsubscribe for Quote Status Report messages for one or more securities.',\n  },\n  {\n    name: 'MassQuoteAck',\n    id: '35035',\n    value: 'b',\n    sort: 35,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'MassQuoteAck\\n\\nMass Quote Acknowledgement is used as the application level response to a Mass Quote message.',\n  },\n  {\n    name: 'SecurityDefinitionRequest',\n    id: '35036',\n    value: 'c',\n    sort: 36,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'SecurityDefinitionRequest\\n\\nThe SecurityDefinitionRequest(35=c) message is used for the following:\\n\\n1. Request a specific security to be traded with the second party. The requested security can be defined as a multileg security made up of one or more instrument legs.\\n\\n2. Request a set of individual securities for a single market segment.\\n\\n3. Request all securities, independent of market segment.',\n  },\n  {\n    name: 'SecurityDefinition',\n    id: '35037',\n    value: 'd',\n    sort: 37,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      \"SecurityDefinition\\n\\nThe SecurityDefinition(35=d) message is used for the following:\\n\\n1. Accept the security defined in a SecurityDefinition(35=d) message.\\n\\n2. Accept the security defined in a SecurityDefinition(35=d) message with changes to the definition and/or identity of the security.\\n\\n3. Reject the security requested in a SecurityDefinition(35=d) message.\\n\\n4. Respond to a request for securities within a specified market segment.\\n\\n5. Convey comprehensive security definition for all market segments that the security participates in.\\n\\n6. Convey the security's trading rules that differ from default rules for the market segment.\",\n  },\n  {\n    name: 'SecurityStatusRequest',\n    id: '35038',\n    value: 'e',\n    sort: 38,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'SecurityStatusRequest\\n\\nThe Security Status Request message provides for the ability to request the status of a security. One or more Security Status messages are returned as a result of a Security Status Request message.',\n  },\n  {\n    name: 'SecurityStatus',\n    id: '35039',\n    value: 'f',\n    sort: 39,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'SecurityStatus\\n\\nThe Security Status message provides for the ability to report changes in status to a security. The Security Status message contains fields to indicate trading status, corporate actions, financial status of the company. The Security Status message is used by one trading entity (for instance an exchange) to report changes in the state of a security.',\n  },\n  {\n    name: 'TradingSessionStatusRequest',\n    id: '35040',\n    value: 'g',\n    sort: 40,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'TradingSessionStatusRequest\\n\\nThe Trading Session Status Request is used to request information on the status of a market. With the move to multiple sessions occurring for a given trading party (morning and evening sessions for instance) there is a need to be able to provide information on what product is trading on what market.',\n  },\n  {\n    name: 'TradingSessionStatus',\n    id: '35041',\n    value: 'h',\n    sort: 41,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'TradingSessionStatus\\n\\nThe Trading Session Status provides information on the status of a market. For markets multiple trading sessions on multiple-markets occurring (morning and evening sessions for instance), this message is able to provide information on what products are trading on what market during what trading session.',\n  },\n  {\n    name: 'MassQuote',\n    id: '35042',\n    value: 'i',\n    sort: 42,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'MassQuote\\n\\nThe Mass Quote message can contain quotes for multiple securities to support applications that allow for the mass quoting of an option series. Two levels of repeating groups have been provided to minimize the amount of data required to submit a set of quotes for a class of options (e.g. all option series for IBM).',\n  },\n  {\n    name: 'BusinessMessageReject',\n    id: '35043',\n    value: 'j',\n    sort: 43,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'BusinessMessageReject\\n\\nThe Business Message Reject message can reject an application-level message which fulfills session-level rules and cannot be rejected via any other means. Note if the message fails a session-level rule (e.g. body length is incorrect), a session-level Reject message should be issued.',\n  },\n  {\n    name: 'BidRequest',\n    id: '35044',\n    value: 'k',\n    sort: 44,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'BidRequest\\n\\nThe BidRequest Message can be used in one of two ways depending on which market conventions are being followed.\\n\\nIn the \"Non disclosed\" convention (e.g. US/European model) the BidRequest message can be used to request a bid based on the sector, country, index and liquidity information contained within the message itself. In the \"Non disclosed\" convention the entry repeating group is used to define liquidity of the program. See \" Program/Basket/List Trading\" for an example.\\n\\nIn the \"Disclosed\" convention (e.g. Japanese model) the BidRequest message can be used to request bids based on the ListOrderDetail messages sent in advance of BidRequest message. In the \"Disclosed\" convention the list repeating group is used to define which ListOrderDetail messages a bid is being sort for and the directions of the required bids.',\n  },\n  {\n    name: 'BidResponse',\n    id: '35045',\n    value: 'l',\n    sort: 45,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'BidResponse\\n\\nThe Bid Response message can be used in one of two ways depending on which market conventions are being followed.\\n\\nIn the \"Non disclosed\" convention the Bid Response message can be used to supply a bid based on the sector, country, index and liquidity information contained within the corresponding bid request message. See \"Program/Basket/List Trading\" for an example.\\n\\nIn the \"Disclosed\" convention the Bid Response message can be used to supply bids based on the List Order Detail messages sent in advance of the corresponding Bid Request message.',\n  },\n  {\n    name: 'ListStrikePrice',\n    id: '35046',\n    value: 'm',\n    sort: 46,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'ListStrikePrice\\n\\nThe strike price message is used to exchange strike price information for principal trades. It can also be used to exchange reference prices for agency trades.',\n  },\n  {\n    name: 'XMLnonFIX',\n    id: '35047',\n    value: 'n',\n    sort: 47,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description: 'XMLnonFIX\\n\\n',\n  },\n  {\n    name: 'RegistrationInstructions',\n    id: '35048',\n    value: 'o',\n    sort: 48,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'RegistrationInstructions\\n\\nThe Registration Instructions message type may be used by institutions or retail intermediaries wishing to electronically submit registration information to a broker or fund manager (for CIV) for an order or for an allocation.',\n  },\n  {\n    name: 'RegistrationInstructionsResponse',\n    id: '35049',\n    value: 'p',\n    sort: 49,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'RegistrationInstructionsResponse\\n\\nThe Registration Instructions Response message type may be used by broker or fund manager (for CIV) in response to a Registration Instructions message submitted by an institution or retail intermediary for an order or for an allocation.',\n  },\n  {\n    name: 'OrderMassCancelRequest',\n    id: '35050',\n    value: 'q',\n    sort: 50,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'OrderMassCancelRequest\\n\\nThe order mass cancel request message requests the cancellation of all of the remaining quantity of a group of orders matching criteria specified within the request. NOTE: This message can only be used to cancel order messages (reduce the full quantity).',\n  },\n  {\n    name: 'OrderMassCancelReport',\n    id: '35051',\n    value: 'r',\n    sort: 51,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'OrderMassCancelReport\\n\\nThe Order Mass Cancel Report is used to acknowledge an Order Mass Cancel Request. Note that each affected order that is canceled is acknowledged with a separate Execution Report or Order Cancel Reject message.',\n  },\n  {\n    name: 'NewOrderCross',\n    id: '35052',\n    value: 's',\n    sort: 52,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'NewOrderCross\\n\\nUsed to submit a cross order into a market. The cross order contains two order sides (a buy and a sell). The cross order is identified by its CrossID.',\n  },\n  {\n    name: 'CrossOrderCancelReplaceRequest',\n    id: '35053',\n    value: 't',\n    sort: 53,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'CrossOrderCancelReplaceRequest\\n\\nUsed to modify a cross order previously submitted using the New Order - Cross message. See Order Cancel Replace Request for details concerning message usage.',\n  },\n  {\n    name: 'CrossOrderCancelRequest',\n    id: '35054',\n    value: 'u',\n    sort: 54,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'CrossOrderCancelRequest\\n\\nUsed to fully cancel the remaining open quantity of a cross order.',\n  },\n  {\n    name: 'SecurityTypeRequest',\n    id: '35055',\n    value: 'v',\n    sort: 55,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'SecurityTypeRequest\\n\\nThe Security Type Request message is used to return a list of security types available from a counterparty or market.',\n  },\n  {\n    name: 'SecurityTypes',\n    id: '35056',\n    value: 'w',\n    sort: 56,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'SecurityTypes\\n\\nThe Security Type Request message is used to return a list of security types available from a counterparty or market.',\n  },\n  {\n    name: 'SecurityListRequest',\n    id: '35057',\n    value: 'x',\n    sort: 57,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'SecurityListRequest\\n\\nThe Security List Request message is used to return a list of securities from the counterparty that match criteria provided on the request',\n  },\n  {\n    name: 'SecurityList',\n    id: '35058',\n    value: 'y',\n    sort: 58,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'SecurityList\\n\\nThe Security List message is used to return a list of securities that matches the criteria specified in a Security List Request.',\n  },\n  {\n    name: 'DerivativeSecurityListRequest',\n    id: '35059',\n    value: 'z',\n    sort: 59,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'DerivativeSecurityListRequest\\n\\nThe Derivative Security List Request message is used to return a list of securities from the counterparty that match criteria provided on the request',\n  },\n  {\n    name: 'DerivativeSecurityList',\n    id: '35060',\n    value: 'AA',\n    sort: 60,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'DerivativeSecurityList\\n\\nThe Derivative Security List message is used to return a list of securities that matches the criteria specified in a Derivative Security List Request.',\n  },\n  {\n    name: 'NewOrderMultileg',\n    id: '35061',\n    value: 'AB',\n    sort: 61,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'NewOrderMultileg\\n\\nThe New Order - Multileg is provided to submit orders for securities that are made up of multiple securities, known as legs.',\n  },\n  {\n    name: 'MultilegOrderCancelReplace',\n    id: '35062',\n    value: 'AC',\n    sort: 62,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'MultilegOrderCancelReplace\\n\\nUsed to modify a multileg order previously submitted using the New Order - Multileg message. See Order Cancel Replace Request for details concerning message usage.',\n  },\n  {\n    name: 'TradeCaptureReportRequest',\n    id: '35063',\n    value: 'AD',\n    sort: 63,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'TradeCaptureReportRequest\\n\\nThe Trade Capture Report Request can be used to:\\n\\n\u2022 Request one or more trade capture reports based upon selection criteria provided on the trade capture report request\\n\\n\u2022 Subscribe for trade capture reports based upon selection criteria provided on the trade capture report request.',\n  },\n  {\n    name: 'TradeCaptureReport',\n    id: '35064',\n    value: 'AE',\n    sort: 64,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'TradeCaptureReport\\n\\nThe Trade Capture Report message can be:\\n\\n- Used to report trades between counterparties.\\n\\n- Used to report trades to a trade matching system.\\n\\n- Sent unsolicited between counterparties.\\n\\n- Sent as a reply to a Trade Capture Report Request.\\n\\n- Used to report unmatched and matched trades.',\n  },\n  {\n    name: 'OrderMassStatusRequest',\n    id: '35065',\n    value: 'AF',\n    sort: 65,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'OrderMassStatusRequest\\n\\nThe order mass status request message requests the status for orders matching criteria specified within the request.',\n  },\n  {\n    name: 'QuoteRequestReject',\n    id: '35066',\n    value: 'AG',\n    sort: 66,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'QuoteRequestReject\\n\\nThe Quote Request Reject message is used to reject Quote Request messages for all quoting models.',\n  },\n  {\n    name: 'RFQRequest',\n    id: '35067',\n    value: 'AH',\n    sort: 67,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'RFQRequest\\n\\nIn tradeable and restricted tradeable quoting markets \u2013 Quote Requests are issued by counterparties interested in ascertaining the market for an instrument. Quote Requests are then distributed by the market to liquidity providers who make markets in the instrument. The RFQ Request is used by liquidity providers to indicate to the market for which instruments they are interested in receiving Quote Requests. It can be used to register interest in receiving quote requests for a single instrument or for multiple instruments',\n  },\n  {\n    name: 'QuoteStatusReport',\n    id: '35068',\n    value: 'AI',\n    sort: 68,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'QuoteStatusReport\\n\\nThe quote status report message is used:\\n\\n\u2022 as the response to a Quote Status Request message\\n\\n\u2022 as a response to a Quote Cancel message\\n\\n\u2022 as a response to a Quote Response message in a negotiation dialog (see Volume 7 \u2013 PRODUCT: FIXED INCOME and USER GROUP: EXCHANGES AND MARKETS)',\n  },\n  {\n    name: 'QuoteResponse',\n    id: '35069',\n    value: 'AJ',\n    sort: 69,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'QuoteResponse\\n\\nThe QuoteResponse(35=AJ) message is used for the following purposes:\\n\\n1. Respond to an IOI(35=6) message\\n\\n2. Respond to a Quote(35=S) message\\n\\n3. Counter a Quote\\n\\n4. End a negotiation dialog\\n\\n5. Follow-up or end a QuoteRequest(35=R) dialog that did not receive a response.',\n  },\n  {\n    name: 'Confirmation',\n    id: '35070',\n    value: 'AK',\n    sort: 70,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'Confirmation\\n\\nThe Confirmation messages are used to provide individual trade level confirmations from the sell side to the buy side. In versions of FIX prior to version 4.4, this role was performed by the allocation message. Unlike the allocation message, the confirmation message operates at an allocation account (trade) level rather than block level, allowing for the affirmation or rejection of individual confirmations.',\n  },\n  {\n    name: 'PositionMaintenanceRequest',\n    id: '35071',\n    value: 'AL',\n    sort: 71,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'PositionMaintenanceRequest\\n\\nThe Position Maintenance Request message allows the position owner to submit requests to the holder of a position which will result in a specific action being taken which will affect the position. Generally, the holder of the position is a central counter party or clearing organization but can also be a party providing investment services.',\n  },\n  {\n    name: 'PositionMaintenanceReport',\n    id: '35072',\n    value: 'AM',\n    sort: 72,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'PositionMaintenanceReport\\n\\nThe Position Maintenance Report message is sent by the holder of a position in response to a Position Maintenance Request and is used to confirm that a request has been successfully processed or rejected.',\n  },\n  {\n    name: 'RequestForPositions',\n    id: '35073',\n    value: 'AN',\n    sort: 73,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'RequestForPositions\\n\\nThe Request For Positions message is used by the owner of a position to request a Position Report from the holder of the position, usually the central counter party or clearing organization. The request can be made at several levels of granularity.',\n  },\n  {\n    name: 'RequestForPositionsAck',\n    id: '35074',\n    value: 'AO',\n    sort: 74,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'RequestForPositionsAck\\n\\nThe Request for Positions Ack message is returned by the holder of the position in response to a Request for Positions message. The purpose of the message is to acknowledge that a request has been received and is being processed.',\n  },\n  {\n    name: 'PositionReport',\n    id: '35075',\n    value: 'AP',\n    sort: 75,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'PositionReport\\n\\nThe Position Report message is returned by the holder of a position in response to a Request for Position message. The purpose of the message is to report all aspects of a position and may be provided on a standing basis to report end of day positions to an owner.',\n  },\n  {\n    name: 'TradeCaptureReportRequestAck',\n    id: '35076',\n    value: 'AQ',\n    sort: 76,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'TradeCaptureReportRequestAck\\n\\nThe Trade Capture Request Ack message is used to:\\n\\n- Provide an acknowledgement to a Trade Capture Report Request in the case where the Trade Capture Report Request is used to specify a subscription or delivery of reports via an out-of-band ResponseTransmissionMethod.\\n\\n- Provide an acknowledgement to a Trade Capture Report Request in the case when the return of the Trade Capture Reports matching that request will be delayed or delivered asynchronously. This is useful in distributed trading system environments.\\n\\n- Indicate that no trades were found that matched the selection criteria specified on the Trade Capture Report Request or the Trade Capture Request was invalid for some business reason, such as request is not authorized, invalid or unknown instrument, party, trading session, etc.',\n  },\n  {\n    name: 'TradeCaptureReportAck',\n    id: '35077',\n    value: 'AR',\n    sort: 77,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'TradeCaptureReportAck\\n\\nThe Trade Capture Report Ack message can be:\\n\\n- Used to acknowledge trade capture reports received from a counterparty.\\n\\n- Used to reject a trade capture report received from a counterparty.',\n  },\n  {\n    name: 'AllocationReport',\n    id: '35078',\n    value: 'AS',\n    sort: 78,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'AllocationReport\\n\\nSent from sell-side to buy-side, sell-side to 3rd-party or 3rd-party to buy-side, the AllocationReport(35=AS) message (Claim) provides account breakdown of an order or set of orders plus any additional follow-up front-office information developed post-trade during the trade allocation, matching and calculation phase.',\n  },\n  {\n    name: 'AllocationReportAck',\n    id: '35079',\n    value: 'AT',\n    sort: 79,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'AllocationReportAck\\n\\nThe Allocation Report Ack message is used to acknowledge the receipt of and provide status for an Allocation Report message.',\n  },\n  {\n    name: 'ConfirmationAck',\n    id: '35080',\n    value: 'AU',\n    sort: 80,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'ConfirmationAck\\n\\nThe Confirmation Ack (aka Affirmation) message is used to respond to a Confirmation message.',\n  },\n  {\n    name: 'SettlementInstructionRequest',\n    id: '35081',\n    value: 'AV',\n    sort: 81,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'SettlementInstructionRequest\\n\\nThe Settlement Instruction Request message is used to request standing settlement instructions from another party.',\n  },\n  {\n    name: 'AssignmentReport',\n    id: '35082',\n    value: 'AW',\n    sort: 82,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'AssignmentReport\\n\\nAssignment Reports are sent from a clearing house to counterparties, such as a clearing firm as a result of the assignment process.',\n  },\n  {\n    name: 'CollateralRequest',\n    id: '35083',\n    value: 'AX',\n    sort: 83,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'CollateralRequest\\n\\nAn initiator that requires collateral from a respondent sends a Collateral Request. The initiator can be either counterparty to a trade in a two party model or an intermediary such as an ATS or clearinghouse in a three party model. A Collateral Assignment is expected as a response to a request for collateral.',\n  },\n  {\n    name: 'CollateralAssignment',\n    id: '35084',\n    value: 'AY',\n    sort: 84,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'CollateralAssignment\\n\\nUsed to assign collateral to cover a trading position. This message can be sent unsolicited or in reply to a Collateral Request message.',\n  },\n  {\n    name: 'CollateralResponse',\n    id: '35085',\n    value: 'AZ',\n    sort: 85,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'CollateralResponse\\n\\nUsed to respond to a Collateral Assignment message.',\n  },\n  {\n    name: 'CollateralReport',\n    id: '35086',\n    value: 'BA',\n    sort: 86,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'CollateralReport\\n\\nUsed to report collateral status when responding to a Collateral Inquiry message.',\n  },\n  {\n    name: 'CollateralInquiry',\n    id: '35087',\n    value: 'BB',\n    sort: 87,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description: 'CollateralInquiry\\n\\nUsed to inquire for collateral status.',\n  },\n  {\n    name: 'NetworkCounterpartySystemStatusRequest',\n    id: '35088',\n    value: 'BC',\n    sort: 88,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'NetworkCounterpartySystemStatusRequest\\n\\nThis message is send either immediately after logging on to inform a network (counterparty system) of the type of updates required or to at any other time in the FIX conversation to change the nature of the types of status updates required. It can also be used with a NetworkRequestType of Snapshot to request a one-off report of the status of a network (or counterparty) system. Finally this message can also be used to cancel a request to receive updates into the status of the counterparties on a network by sending a NetworkRequestStatusMessage with a NetworkRequestType of StopSubscribing.',\n  },\n  {\n    name: 'NetworkCounterpartySystemStatusResponse',\n    id: '35089',\n    value: 'BD',\n    sort: 89,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'NetworkCounterpartySystemStatusResponse\\n\\nThis message is sent in response to a Network (Counterparty System) Status Request Message.',\n  },\n  {\n    name: 'UserRequest',\n    id: '35090',\n    value: 'BE',\n    sort: 90,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      \"UserRequest\\n\\nThis message is used to initiate a user action, logon, logout or password change. It can also be used to request a report on a user's status.\",\n  },\n  {\n    name: 'UserResponse',\n    id: '35091',\n    value: 'BF',\n    sort: 91,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'UserResponse\\n\\nThis message is used to respond to a user request message, it reports the status of the user after the completion of any action requested in the user request message.',\n  },\n  {\n    name: 'CollateralInquiryAck',\n    id: '35092',\n    value: 'BG',\n    sort: 92,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'CollateralInquiryAck\\n\\nUsed to respond to a Collateral Inquiry in the following situations:\\n\\n\u2022 When the CollateralInquiry will result in an out of band response (such as a file transfer).\\n\\n\u2022 When the inquiry is otherwise valid but no collateral is found to match the criteria specified on the Collateral Inquiry message.\\n\\n\u2022 When the Collateral Inquiry is invalid based upon the business rules of the counterparty.',\n  },\n  {\n    name: 'ConfirmationRequest',\n    id: '35093',\n    value: 'BH',\n    sort: 93,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'ConfirmationRequest\\n\\nThe Confirmation Request message is used to request a Confirmation message.',\n  },\n  {\n    name: 'ContraryIntentionReport',\n    id: '35094',\n    value: 'BO',\n    sort: 94,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'ContraryIntentionReport\\n\\nThe Contrary Intention Report is used for reporting of contrary expiration quantities for Saturday expiring options. This information is required by options exchanges for regulatory purposes.',\n  },\n  {\n    name: 'SecurityDefinitionUpdateReport',\n    id: '35095',\n    value: 'BP',\n    sort: 95,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'SecurityDefinitionUpdateReport\\n\\nThis message is used for reporting updates to a product security master file. Updates could be the result of corporate actions or other business events. Updates may include additions, modifications or deletions.',\n  },\n  {\n    name: 'SecurityListUpdateReport',\n    id: '35096',\n    value: 'BK',\n    sort: 96,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'SecurityListUpdateReport\\n\\nThe Security List Update Report is used for reporting updates to a Contract Security Masterfile. Updates could be due to Corporate Actions or other business events. Update may include additions, modifications and deletions.',\n  },\n  {\n    name: 'AdjustedPositionReport',\n    id: '35097',\n    value: 'BL',\n    sort: 97,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'AdjustedPositionReport\\n\\nUsed to report changes in position, primarily in equity options, due to modifications to the underlying due to corporate actions',\n  },\n  {\n    name: 'AllocationInstructionAlert',\n    id: '35098',\n    value: 'BM',\n    sort: 98,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'AllocationInstructionAlert\\n\\nThis message is used in a 3-party allocation model (buy-side and sell-side using a central clearing entity) where notification of group creation and group updates to counterparties is needed. The message will also carry trade information that comprised the group to the counterparties.',\n  },\n  {\n    name: 'ExecutionAck',\n    id: '35099',\n    value: 'BN',\n    sort: 99,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      \"ExecutionAck\\n\\nThe Execution Report Acknowledgement message is an optional message that provides dual functionality to notify a trading partner that an electronically received execution has either been accepted or rejected (DK'd).\",\n  },\n  {\n    name: 'TradingSessionList',\n    id: '35100',\n    value: 'BJ',\n    sort: 100,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'TradingSessionList\\n\\nThe Trading Session List message is sent as a response to a Trading Session List Request. The Trading Session List should contain the characteristics of the trading session and the current state of the trading session.',\n  },\n  {\n    name: 'TradingSessionListRequest',\n    id: '35101',\n    value: 'BI',\n    sort: 101,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'TradingSessionListRequest\\n\\nThe Trading Session List Request is used to request a list of trading sessions available in a market place and the state of those trading sessions. A successful request will result in a response from the counterparty of a Trading Session List (MsgType=BJ) message that contains a list of zero or more trading sessions.',\n  },\n  {\n    name: 'SettlementObligationReport',\n    id: '35102',\n    value: 'BQ',\n    sort: 102,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'SettlementObligationReport\\n\\nThe Settlement Obligation Report message provides a central counterparty, institution, or individual counterparty with a capacity for reporting the final details of a currency settlement obligation.',\n  },\n  {\n    name: 'DerivativeSecurityListUpdateReport',\n    id: '35103',\n    value: 'BR',\n    sort: 103,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'DerivativeSecurityListUpdateReport\\n\\nThe Derivative Security List Update Report message is used to send updates to an option family or the strikes that comprise an option family.',\n  },\n  {\n    name: 'TradingSessionListUpdateReport',\n    id: '35104',\n    value: 'BS',\n    sort: 104,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'TradingSessionListUpdateReport\\n\\nThe Trading Session List Update Report is used by marketplaces to provide intra-day updates of trading sessions when there are changes to one or more trading sessions.',\n  },\n  {\n    name: 'MarketDefinitionRequest',\n    id: '35105',\n    value: 'BT',\n    sort: 105,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'MarketDefinitionRequest\\n\\nThe Market Definition Request message is used to request for market structure information from the Respondent that receives this request.',\n  },\n  {\n    name: 'MarketDefinition',\n    id: '35106',\n    value: 'BU',\n    sort: 106,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'MarketDefinition\\n\\nThe MarketDefinition(35=BU) message is used to respond to MarketDefinitionRequest(35=BT). In a subscription, it will be used to provide the initial snapshot of the information requested. Subsequent updates are provided by the MarketDefinitionUpdateReport(35=BV).',\n  },\n  {\n    name: 'MarketDefinitionUpdateReport',\n    id: '35107',\n    value: 'BV',\n    sort: 107,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'MarketDefinitionUpdateReport\\n\\nIn a subscription for market structure information, this message is used once the initial snapshot of the information has been sent using the MarketDefinition(35=BU) message.',\n  },\n  {\n    name: 'ApplicationMessageRequest',\n    id: '35108',\n    value: 'BW',\n    sort: 108,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'ApplicationMessageRequest\\n\\nThis message is used to request a retransmission of a set of one or more messages generated by the application specified in RefApplID (1355).',\n  },\n  {\n    name: 'ApplicationMessageRequestAck',\n    id: '35109',\n    value: 'BX',\n    sort: 109,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'ApplicationMessageRequestAck\\n\\nThis message is used to acknowledge an Application Message Request providing a status on the request (i.e. whether successful or not). This message does not provide the actual content of the messages to be resent.',\n  },\n  {\n    name: 'ApplicationMessageReport',\n    id: '35110',\n    value: 'BY',\n    sort: 110,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'ApplicationMessageReport\\n\\nThis message is used for three difference purposes: to reset the ApplSeqNum (1181) of a specified ApplID (1180). to indicate that the last message has been sent for a particular ApplID, or as a keep-alive mechanism for ApplIDs with infrequent message traffic.',\n  },\n  {\n    name: 'OrderMassActionReport',\n    id: '35111',\n    value: 'BZ',\n    sort: 111,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'OrderMassActionReport\\n\\nThe Order Mass Action Report is used to acknowledge an Order Mass Action Request. Note that each affected order that is suspended or released or canceled is acknowledged with a separate Execution Report for each order.',\n  },\n  {\n    name: 'OrderMassActionRequest',\n    id: '35112',\n    value: 'CA',\n    sort: 112,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'OrderMassActionRequest\\n\\nThe Order Mass Action Request message can be used to request the suspension or release of a group of orders that match the criteria specified within the request. This is equivalent to individual Order Cancel Replace Requests for each order with or without adding \"S\" to the ExecInst values. It can also be used for mass order cancellation.',\n  },\n  {\n    name: 'UserNotification',\n    id: '35113',\n    value: 'CB',\n    sort: 113,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'UserNotification\\n\\nThe User Notification message is used to notify one or more users of an event or information from the sender of the message. This message is usually sent unsolicited from a marketplace (e.g. Exchange, ECN) to a market participant.',\n  },\n  {\n    name: 'StreamAssignmentRequest',\n    id: '35114',\n    value: 'CC',\n    sort: 114,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'StreamAssignmentRequest\\n\\nIn certain markets where market data aggregators fan out to end clients the pricing streams provided by the price makers, the price maker may assign the clients to certain pricing streams that the price maker publishes via the aggregator. An example of this use is in the FX markets where clients may be assigned to different pricing streams based on volume bands and currency pairs.',\n  },\n  {\n    name: 'StreamAssignmentReport',\n    id: '35115',\n    value: 'CD',\n    sort: 115,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'StreamAssignmentReport\\n\\nhe StreamAssignmentReport message is in response to the StreamAssignmentRequest message. It provides information back to the aggregator as to which clients to assign to receive which price stream based on requested CCY pair. This message can be sent unsolicited to the Aggregator from the Price Maker.',\n  },\n  {\n    name: 'StreamAssignmentReportACK',\n    id: '35116',\n    value: 'CE',\n    sort: 116,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'StreamAssignmentReportACK\\n\\nThis message is used to respond to the Stream Assignment Report, to either accept or reject an unsolicited assingment.',\n  },\n  {\n    name: 'PartyDetailsListRequest',\n    id: '35117',\n    value: 'CF',\n    sort: 117,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'PartyDetailsListRequest\\n\\nThe PartyDetailsListRequest is used to request party detail information.',\n  },\n  {\n    name: 'PartyDetailsListReport',\n    id: '35118',\n    value: 'CG',\n    sort: 118,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'PartyDetailsListReport\\n\\nThe PartyDetailsListReport message is used to disseminate party details between counterparties. PartyDetailsListReport messages may be sent in response to a PartyDetailsListRequest message or sent unsolicited.',\n  },\n  {\n    name: 'MarginRequirementInquiry',\n    id: '35119',\n    value: 'CH',\n    sort: 119,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'MarginRequirementInquiry\\n\\nThe purpose of this message is to initiate a margin requirement inquiry for a margin account. The inquiry may be submitted at the detail level or the summary level. It can also be used to inquire margin excess/deficit or net position information. Margin excess/deficit will provide information about the surplus or shortfall compared to the previous trading day or a more recent margin calculation. An inquiry for net position information will trigger one or more PositionReport messages instead of one or more MarginRequirementReport messages.\\n\\nIf the inquiry is made at the detail level, an Instrument block must be provided with the desired level of detail. If the inquiry is made at the summary level, the Instrument block is not provided, implying a summary request is being made. For example, if the inquiring firm specifies the Security Type of \u201CFUT\u201D in the Instrument block, then a detail report will be generated containing the margin requirements for all futures positions for the inquiring account. Similarly, if the inquiry is made at the summary level, the report will contain the total margin requirement aggregated to the margin account level.',\n  },\n  {\n    name: 'MarginRequirementInquiryAck',\n    id: '35120',\n    value: 'CI',\n    sort: 120,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'MarginRequirementInquiryAck\\n\\nUsed to respond to a Margin Requirement Inquiry.',\n  },\n  {\n    name: 'MarginRequirementReport',\n    id: '35121',\n    value: 'CJ',\n    sort: 121,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'MarginRequirementReport\\n\\nThe Margin Requirement Report returns information about margin requirement either as on overview across all margin accounts or on a detailed level due to the inquiry making use of the optional Instrument component block. Application sequencing can be used to re-request a range of reports.',\n  },\n  {\n    name: 'PartyDetailsListUpdateReport',\n    id: '35122',\n    value: 'CK',\n    sort: 122,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'PartyDetailsListUpdateReport\\n\\nThe PartyDetailsListUpdateReport(35=CK) is used to disseminate updates to party detail information.',\n  },\n  {\n    name: 'PartyRiskLimitsRequest',\n    id: '35123',\n    value: 'CL',\n    sort: 123,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'PartyRiskLimitsRequest\\n\\nThe PartyRiskLimitsRequest message is used to request for risk information for specific parties, specific party roles or specific instruments.',\n  },\n  {\n    name: 'PartyRiskLimitsReport',\n    id: '35124',\n    value: 'CM',\n    sort: 124,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'PartyRiskLimitsReport\\n\\nThe PartyRiskLimitsReport message is used to communicate party risk limits. The message can either be sent as a response to the PartyRiskLimitsRequest message or can be published unsolicited.',\n  },\n  {\n    name: 'SecurityMassStatusRequest',\n    id: '35125',\n    value: 'CN',\n    sort: 125,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description: 'SecurityMassStatusRequest\\n\\n',\n  },\n  {\n    name: 'SecurityMassStatus',\n    id: '35126',\n    value: 'CO',\n    sort: 126,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description: 'SecurityMassStatus\\n\\n',\n  },\n  {\n    name: 'AccountSummaryReport',\n    id: '35127',\n    value: 'CQ',\n    sort: 127,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'AccountSummaryReport\\n\\nThe AccountSummaryReport is provided by the clearinghouse to its clearing members on a daily basis. It contains margin, settlement, collateral and pay/collect data for each clearing member level account type. Clearing member account types will be described through use of the Parties component and PtysSubGrp sub-component.\\n\\nIn certain usages, the clearing members can send the AccountSummaryReport message to the clearinghouse as needed. For example, clearing members can send this message to the clearinghouse to identify the value of collateral for each customer (to satisfy CFTC Legally Segregated Operationally Commingled (LSOC) regulatory reporting obligations).\\n\\nClearing organizations can also send the AccountSummaryReport message to regulators to meet regulatory reporting obligations. For example, clearing organizations can use this message to submit daily reports for each clearing member (\u201CCM\u201D) by house origin and by each customer origin for all futures, options, and swaps positions, and all securities positions held in a segregated account or pursuant to a cross margining agreement, to a regulator (e.g. to the CFTC to meet Part 39, Section 39.19 reporting obligations).',\n  },\n  {\n    name: 'PartyRiskLimitsUpdateReport',\n    id: '35128',\n    value: 'CR',\n    sort: 128,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'PartyRiskLimitsUpdateReport\\n\\nThe PartyRiskLimitsUpdateReport(35=CR) is used to convey incremental changes to risk limits. It is similar to the regular report but uses the PartyRiskLimitsUpdateGrp component instead of the PartyRiskLimitsGrp component to include an update action.',\n  },\n  {\n    name: 'PartyRiskLimitsDefinitionRequest',\n    id: '35129',\n    value: 'CS',\n    sort: 129,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'PartyRiskLimitsDefinitionRequest\\n\\nPartyRiskLimitDefinitionRequest is used for defining new risk limits.',\n  },\n  {\n    name: 'PartyRiskLimitsDefinitionRequestAck',\n    id: '35130',\n    value: 'CT',\n    sort: 130,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'PartyRiskLimitsDefinitionRequestAck\\n\\nPartyRiskLimitDefinitionRequestAck is used for accepting (with or without changes) or rejecting the definition of risk limits.',\n  },\n  {\n    name: 'PartyEntitlementsRequest',\n    id: '35131',\n    value: 'CU',\n    sort: 131,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'PartyEntitlementsRequest\\n\\nThe PartyEntitlementsRequest message is used to request for entitlement information for one or more party(-ies), specific party role(s), or specific instruments(s).',\n  },\n  {\n    name: 'PartyEntitlementsReport',\n    id: '35132',\n    value: 'CV',\n    sort: 132,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'PartyEntitlementsReport\\n\\nThe PartyEntitlementsReport is used to report entitlements for one or more parties, party role(s), or specific instrument(s).',\n  },\n  {\n    name: 'QuoteAck',\n    id: '35133',\n    value: 'CW',\n    sort: 133,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'QuoteAck\\n\\nThe QuoteAck(35=CW) message is used to acknowledge a Quote(35=S) submittal or request to cancel an individual quote using the QuoteCancel(35=Z) message during a Quote/Negotiation dialog.',\n  },\n  {\n    name: 'PartyDetailsDefinitionRequest',\n    id: '35134',\n    value: 'CX',\n    sort: 134,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'PartyDetailsDefinitionRequest\\n\\nThe PartyDetailsDefinitionRequest(35=CX) is used for defining new parties and modifying or deleting existing parties information, including the relationships between parties.\\n\\nThe recipient of the message responds with a PartyDetailsDefinitionRequestAck(35=CY) to indicate whether the request was accepted or rejected.',\n  },\n  {\n    name: 'PartyDetailsDefinitionRequestAck',\n    id: '35135',\n    value: 'CY',\n    sort: 135,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'PartyDetailsDefinitionRequestAck\\n\\nThe PartyDetailsDefinitionRequestAck(35=CY) is used as a response to the PartyDetailsDefinitionRequest(35=CX) message. The request can be accepted (with or without changes) or rejected.',\n  },\n  {\n    name: 'PartyEntitlementsUpdateReport',\n    id: '35136',\n    value: 'CZ',\n    sort: 136,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'PartyEntitlementsUpdateReport\\n\\nThe PartyEntitlementsUpdateReport(35=CZ) is used to convey incremental changes to party entitlements. It is similar to the PartyEntitlementsReport(35=CV). This message uses the PartyEntitlementsUpdateGrp component which includes the ability to specify an update action using ListUpdateAction(1324).',\n  },\n  {\n    name: 'PartyEntitlementsDefinitionRequest',\n    id: '35137',\n    value: 'DA',\n    sort: 137,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'PartyEntitlementsDefinitionRequest\\n\\nThe PartyEntitlementsDefinitionRequest(35=DA) is used for defining new entitlements, and modifying or deleting existing entitlements for the specified party(-ies).',\n  },\n  {\n    name: 'PartyEntitlementsDefinitionRequestAck',\n    id: '35138',\n    value: 'DB',\n    sort: 138,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'PartyEntitlementsDefinitionRequestAck\\n\\nThe PartyEntitlementsDefinitionRequestAck(35=DB) is used as a response to the PartyEntitlemensDefinitionRequest(35=DA) to accept (with or without changes) or reject the definition of party entitlements.',\n  },\n  {\n    name: 'TradeMatchReport',\n    id: '35139',\n    value: 'DC',\n    sort: 139,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'TradeMatchReport\\n\\nThe TradeMatchReport(35=DC) message is used by exchanges and ECN\u2019s to report matched trades to central counterparties (CCPs) as an atomic event. The message is used to express the one-to-one, one-to-many and many-to-many matches as well as implied matches in which more complex instruments can match with simpler instruments.',\n  },\n  {\n    name: 'TradeMatchReportAck',\n    id: '35140',\n    value: 'DD',\n    sort: 140,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'TradeMatchReportAck\\n\\nThe TradeMatchReportAck(35=DD) is used to respond to theTradeMatchReport(35=DC) message. It may be used to report on the status of the request (e.g. accepting the request or rejecting the request).',\n  },\n  {\n    name: 'PartyRiskLimitsReportAck',\n    id: '35141',\n    value: 'DE',\n    sort: 141,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'PartyRiskLimitsReportAck\\n\\nPartyRiskLimitsReportAck is an optional message used as a response to the PartyRiskLimitReport(35=CM) or PartyRiskLimitUpdateReport(35=CR) messages to acknowledge or reject those messages.',\n  },\n  {\n    name: 'PartyRiskLimitCheckRequest',\n    id: '35142',\n    value: 'DF',\n    sort: 142,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'PartyRiskLimitCheckRequest\\n\\nPartyRiskLimitCheckRequest is used to request for approval of credit or risk limit amount intended to be used by a party in a transaction from another party that holds the information.',\n  },\n  {\n    name: 'PartyRiskLimitCheckRequestAck',\n    id: '35143',\n    value: 'DG',\n    sort: 143,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'PartyRiskLimitCheckRequestAck\\n\\nPartyRiskLimitCheckRequestAck is used to acknowledge a PartyRiskLimitCheckRequest(35=DF) message and to respond whether the limit check request was approved or not. When used to accept the PartyRiskLimitCheckRequest(35=DF) message the Respondent may also include the limit amount that was approved.',\n  },\n  {\n    name: 'PartyActionRequest',\n    id: '35144',\n    value: 'DH',\n    sort: 144,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'PartyActionRequest\\n\\nThe PartyActionRequest message is used suspend or halt the specified party from further trading activities at the Respondent. The Respondent must respond with a PartyActionReport(35=DI) message.',\n  },\n  {\n    name: 'PartyActionReport',\n    id: '35145',\n    value: 'DI',\n    sort: 145,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'PartyActionReport\\n\\nUsed to respond to the PartyActionRequest(35=DH) message, indicating whether the request has been received, accepted or rejected. Can also be used in an unsolicited manner to report party actions, e.g. reinstatements after a manual intervention out of band.',\n  },\n  {\n    name: 'MassOrder',\n    id: '35146',\n    value: 'DJ',\n    sort: 146,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'MassOrder\\n\\nThe MassOrder(35=DJ) message can be used to add, modify or delete multiple unrelated orders with a single message. Apart from clearing related attributes, only the key order attributes for high performance trading are available.',\n  },\n  {\n    name: 'MassOrderAck',\n    id: '35147',\n    value: 'DK',\n    sort: 147,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'MassOrderAck\\n\\nThe mass order acknowledgement message is used to acknowledge the receipt of and the status for a MassOrder(35=DJ) message.',\n  },\n  {\n    name: 'PositionTransferInstruction',\n    id: '35148',\n    value: 'DL',\n    sort: 148,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'PositionTransferInstruction\\n\\nThe PositionTransferInstruction(35=DL) is sent by clearing firms to CCPs to initiate position transfers, or to accept or decline position transfers.',\n  },\n  {\n    name: 'PositionTransferInstructionAck',\n    id: '35149',\n    value: 'DM',\n    sort: 149,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'PositionTransferInstructionAck\\n\\nThe PositionTransferInstructionAck(35=DM) is sent by CCPs to clearing firms to acknowledge position transfer instructions, and to report errors processing position transfer instructions.',\n  },\n  {\n    name: 'PositionTransferReport',\n    id: '35150',\n    value: 'DN',\n    sort: 150,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'PositionTransferReport\\n\\nThe PositionTransferReport(35=DN) is sent by CCPs to clearing firms indicating of positions that are to be transferred to the clearing firm, or to report on status of the transfer to the clearing firms involved in the transfer process.',\n  },\n  {\n    name: 'MarketDataStatisticsRequest',\n    id: '35151',\n    value: 'DO',\n    sort: 151,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'MarketDataStatisticsRequest\\n\\nThe MarketDataStatisticsRequest(35=DO) is used to request for statistical data. The simple form is to use an identifier (MDStatisticID(2475)) assigned by the market place which would denote a pre-defined statistical report. Alternatively, or also in addition, the request can define a number of parameters for the desired statistical information.',\n  },\n  {\n    name: 'MarketDataStatisticsReport',\n    id: '35152',\n    value: 'DP',\n    sort: 152,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'MarketDataStatisticsReport\\n\\nThe MarketDataStatisticsReport(35=DP) is used to provide unsolicited statistical information or in response to a specific request. Each report contains a set of statistics for a single entity which could be a market, a market segment, a security list or an instrument.',\n  },\n  {\n    name: 'CollateralReportAck',\n    id: '35153',\n    value: 'DQ',\n    sort: 153,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'CollateralReportAck\\n\\nCollateralReportAck(35=DQ) is used as a response to the CollateralReport(35=BA). It can be used to reject a CollateralReport(35=BA) when the content of the report is invalid based on the business rules of the receiver. The message may also be used to acknowledge receipt of a valid CollateralReport(35=BA).',\n  },\n  {\n    name: 'MarketDataReport',\n    id: '35154',\n    value: 'DR',\n    sort: 154,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'MarketDataReport\\n\\nThe MarketDataReport(35=DR) message is used to provide delimiting references (e.g. start and end markers in a continuous broadcast) and details about the number of market data messages sent in a given distribution cycle.',\n  },\n  {\n    name: 'CrossRequest',\n    id: '35155',\n    value: 'DS',\n    sort: 155,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'CrossRequest\\n\\nThe CrossRequest(35=DS) message is used to indicate the submission of orders or quotes that may result in a crossed trade.',\n  },\n  {\n    name: 'CrossRequestAck',\n    id: '35156',\n    value: 'DT',\n    sort: 156,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'CrossRequestAck\\n\\nThe CrossRequestAck(35=DT) message is used to confirm the receipt of a CrossRequest(35=DS) message.',\n  },\n  {\n    name: 'AllocationInstructionAlertRequest',\n    id: '35157',\n    value: 'DU',\n    sort: 157,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'AllocationInstructionAlertRequest\\n\\nThis message is used in a clearinghouse 3-party allocation model to request for AllocationInstructionAlert(35=BM) from the clearinghouse. The request may be used to obtain a one-time notification of the status of an allocation group.',\n  },\n  {\n    name: 'AllocationInstructionAlertRequestAck',\n    id: '35158',\n    value: 'DV',\n    sort: 158,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'AllocationInstructionAlertRequestAck\\n\\nThis message is used in a clearinghouse 3-party allocation model to acknowledge a AllocationInstructionAlertRequest(35=DU) message for an AllocationInstructionAlert(35=BM) message from the clearinghouse.',\n  },\n  {\n    name: 'TradeAggregationRequest',\n    id: '35159',\n    value: 'DW',\n    sort: 159,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'TradeAggregationRequest\\n\\nTradeAggregationRequest(35=DW) is used to request that the identified trades between the initiator and respondent be aggregated together for further processing.',\n  },\n  {\n    name: 'TradeAggregationReport',\n    id: '35160',\n    value: 'DX',\n    sort: 160,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'TradeAggregationReport\\n\\nTradeAggregationReport(35=DX) is used to respond to the TradeAggregationRequest(35=DW) message. It provides the status of the request (e.g. accepted or rejected) and may also provide additional information supplied by the respondent.',\n  },\n  {\n    name: 'PayManagementReport',\n    id: '35161',\n    value: 'EA',\n    sort: 161,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'PayManagementReport\\n\\nPayManagementReport(35=EA) may be used to respond to the PayManagementRequest(35=DY) message. It provides the status of the request (e.g. accepted, disputed) and may provide additional information related to the request.\\n\\nPayManagementReport(35=EA) may also be sent unsolicited by the broker to a client. In which case the client may acknowledge and resolve disputes out-of-band or with a simple PayManagementReportAck(35=EB).\\n\\nPayManagementReport(35=EA) may also be sent unsolicited to report the progress status of the payment itself with PayReportTransType(2804)=2 (Status).',\n  },\n  {\n    name: 'PayManagementReportAck',\n    id: '35162',\n    value: 'EB',\n    sort: 162,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'PayManagementReportAck\\n\\nPayManagementReportAck(35=EB) is used as a response to the PayManagementReport(35=EA) message. It may be used to accept, reject or dispute the details of the PayManagementReport(35=EA) depending on the business rules of the receiver. This message may also be used to acknowledge the receipt of a PayManagementReport(35=EA) message.',\n  },\n  {\n    name: 'PayManagementRequest',\n    id: '35163',\n    value: 'DY',\n    sort: 163,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'PayManagementRequest\\n\\nPayManagementRequest(35=DY) message is used to communicate a future or expected payment to be made or received related to a trade or contract after its settlement.',\n  },\n  {\n    name: 'PayManagementRequestAck',\n    id: '35164',\n    value: 'DZ',\n    sort: 164,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'PayManagementRequestAck\\n\\nPayManagementRequestAck(35=DZ) is used to acknowledge the receipt of the PayManagementRequest(35=DY) message (i.e. a technical acknowledgement of receipt). Acceptance or rejection of the request is reported in the corresponding PayManagementReport(35=EA).',\n  },\n  {\n    name: 'SettlementStatusRequest',\n    id: '35165',\n    value: 'EC',\n    sort: 165,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'SettlementStatusRequest\\n\\nSettlementStatusRequest(35=EC) is used to request for the settlement status of a trade.',\n  },\n  {\n    name: 'SettlementStatusRequestAck',\n    id: '35166',\n    value: 'ED',\n    sort: 166,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'SettlementStatusRequestAck\\n\\nSettlementStatusRequestAck(35=ED) is used to respond to the SettlementStatusRequest(35=EC) to acknowledge the request and provide status for the request message.',\n  },\n  {\n    name: 'SettlementStatusReport',\n    id: '35167',\n    value: 'EE',\n    sort: 167,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'SettlementStatusReport\\n\\nSettlementStatusReport(35=EE) is a response to the SettlementStatusRequest(35=EC) to provide settlement status for the requested trade. It may also be sent unsolicited without an explicit request message by the party able to provide the settlement status for the trade identified in the report message.',\n  },\n  {\n    name: 'SettlementStatusReportAck',\n    id: '35168',\n    value: 'EF',\n    sort: 168,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'SettlementStatusReportAck\\n\\nSettlementStatusReportAck(35=EF) is used to respond to the SettlementStatusReport(35=EE) to acknowledge or reject the report.',\n  },\n  {\n    name: 'SecurityRiskMetricsReport',\n    id: '35169',\n    value: 'EG',\n    sort: 169,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'SecurityRiskMetricsReport\\n\\nSecurityRiskMetricsReport(35=EG) is used for publishing the risk metrics, valuation metrics or analytics of one or more securities, or for an option series.',\n  },\n  {\n    name: 'AlgoCertificateRequest',\n    id: '35170',\n    value: 'EH',\n    sort: 170,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'AlgoCertificateRequest\\n\\nAlgoCertificateRequest(35=EH) is used to request for algo testing certificate information for one or more algorithms.',\n  },\n  {\n    name: 'AlgoCertificateRequestAck',\n    id: '35171',\n    value: 'EI',\n    sort: 171,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'AlgoCertificateRequestAck\\n\\nAlgoCertificateRequestAck(35=EI) is used to respond to the AlgoCertificateRequest(35=EH) to acknowledge the request and provide status for the request message.',\n  },\n  {\n    name: 'AlgoCertificateReport',\n    id: '35172',\n    value: 'EJ',\n    sort: 172,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'AlgoCertificateReport\\n\\nAlgoCertificateReport(35=EJ) is a response to the AlgoCertificateRequest(35=EH) to certify an algo. It may also be sent unsolicited without an explicit request message by the party able to provide certificate information for the algo identified in the report message.',\n  },\n  {\n    name: 'AlgoCertificateReportAck',\n    id: '35173',\n    value: 'EK',\n    sort: 173,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'AlgoCertificateReportAck\\n\\nAlgoCertificateReportAck(35=EK) is used to respond to the AlgoCertificateReport(35=EJ) to acknowledge or reject the report message.',\n  },\n  {\n    name: 'TestSuiteDefinitionRequest',\n    id: '35174',\n    value: 'EL',\n    sort: 174,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'TestSuiteDefinitionRequest\\n\\nTestSuiteDefinitionRequest(35=EL) is used to convey to the test system the suite of test scenarios to perform.',\n  },\n  {\n    name: 'TestSuiteDefinitionRequestAck',\n    id: '35175',\n    value: 'EM',\n    sort: 175,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'TestSuiteDefinitionRequestAck\\n\\nTestSuiteDefinitionRequestAck(35=EM) is used to respond to the TestSuiteDefinitionRequest(35= EL) to acknowledge the request and provide status for the request message.',\n  },\n  {\n    name: 'TestActionRequest',\n    id: '35176',\n    value: 'EN',\n    sort: 176,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'TestActionRequest\\n\\nTestActionRequest(35=EN) is used to manage test executions or request for testing activity state of the identified test suite.',\n  },\n  {\n    name: 'TestActionRequestAck',\n    id: '35177',\n    value: 'EO',\n    sort: 177,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'TestActionRequestAck\\n\\nTestActionRequestAck(35=EO) is used to respond to the TestActionRequest(35=EN) to acknowledge the request and provide status for the request message.',\n  },\n  {\n    name: 'TestActionReport',\n    id: '35178',\n    value: 'EP',\n    sort: 178,\n    tag: 35,\n    type: 'String',\n    codeSet: 'MsgTypeCodeSet',\n    description:\n      'TestActionReport\\n\\nTestActionReport(35=EP) is used to report the testing results of the identified test suite that has been executed with TestActionRequest(35=EN). In the context of algorithmic trading, the results may be used to create a certificate for the algorithm upon meeting the success criteria.',\n  },\n  {\n    name: 'New',\n    id: '39001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.2.7',\n    tag: 39,\n    type: 'char',\n    codeSet: 'OrdStatusCodeSet',\n    description: 'New',\n  },\n  {\n    name: 'PartiallyFilled',\n    id: '39002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.2.7',\n    tag: 39,\n    type: 'char',\n    codeSet: 'OrdStatusCodeSet',\n    description: 'Partially filled',\n  },\n  {\n    name: 'Filled',\n    id: '39003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.2.7',\n    tag: 39,\n    type: 'char',\n    codeSet: 'OrdStatusCodeSet',\n    description: 'Filled',\n  },\n  {\n    name: 'DoneForDay',\n    id: '39004',\n    value: '3',\n    sort: 4,\n    added: 'FIX.2.7',\n    tag: 39,\n    type: 'char',\n    codeSet: 'OrdStatusCodeSet',\n    description: 'Done for day',\n  },\n  {\n    name: 'Canceled',\n    id: '39005',\n    value: '4',\n    sort: 5,\n    added: 'FIX.2.7',\n    tag: 39,\n    type: 'char',\n    codeSet: 'OrdStatusCodeSet',\n    description: 'Canceled',\n  },\n  {\n    name: 'Replaced',\n    id: '39006',\n    value: '5',\n    sort: 6,\n    added: 'FIX.4.4',\n    addedEP: '35',\n    deprecated: 'FIX.4.3',\n    tag: 39,\n    type: 'char',\n    codeSet: 'OrdStatusCodeSet',\n    description: 'Replaced (No longer used)',\n  },\n  {\n    name: 'PendingCancel',\n    id: '39007',\n    value: '6',\n    sort: 7,\n    added: 'FIX.2.7',\n    tag: 39,\n    type: 'char',\n    codeSet: 'OrdStatusCodeSet',\n    description: 'Pending Cancel (i.e. result of Order Cancel Request)',\n  },\n  {\n    name: 'Stopped',\n    id: '39008',\n    value: '7',\n    sort: 8,\n    added: 'FIX.2.7',\n    tag: 39,\n    type: 'char',\n    codeSet: 'OrdStatusCodeSet',\n    description: 'Stopped',\n  },\n  {\n    name: 'Rejected',\n    id: '39009',\n    value: '8',\n    sort: 9,\n    added: 'FIX.2.7',\n    tag: 39,\n    type: 'char',\n    codeSet: 'OrdStatusCodeSet',\n    description: 'Rejected',\n  },\n  {\n    name: 'Suspended',\n    id: '39010',\n    value: '9',\n    sort: 10,\n    added: 'FIX.3.0',\n    tag: 39,\n    type: 'char',\n    codeSet: 'OrdStatusCodeSet',\n    description: 'Suspended',\n  },\n  {\n    name: 'PendingNew',\n    id: '39011',\n    value: 'A',\n    sort: 11,\n    added: 'FIX.3.0',\n    tag: 39,\n    type: 'char',\n    codeSet: 'OrdStatusCodeSet',\n    description: 'Pending New',\n  },\n  {\n    name: 'Calculated',\n    id: '39012',\n    value: 'B',\n    sort: 12,\n    added: 'FIX.4.0',\n    tag: 39,\n    type: 'char',\n    codeSet: 'OrdStatusCodeSet',\n    description: 'Calculated',\n  },\n  {\n    name: 'Expired',\n    id: '39013',\n    value: 'C',\n    sort: 13,\n    added: 'FIX.4.0',\n    tag: 39,\n    type: 'char',\n    codeSet: 'OrdStatusCodeSet',\n    description: 'Expired',\n  },\n  {\n    name: 'AcceptedForBidding',\n    id: '39014',\n    value: 'D',\n    sort: 14,\n    added: 'FIX.4.2',\n    tag: 39,\n    type: 'char',\n    codeSet: 'OrdStatusCodeSet',\n    description: 'Accepted for Bidding',\n  },\n  {\n    name: 'PendingReplace',\n    id: '39015',\n    value: 'E',\n    sort: 15,\n    added: 'FIX.4.2',\n    tag: 39,\n    type: 'char',\n    codeSet: 'OrdStatusCodeSet',\n    description: 'Pending Replace (i.e. result of Order Cancel/Replace Request)',\n  },\n  {\n    name: 'Market',\n    id: '40001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.2.7',\n    tag: 40,\n    type: 'char',\n    codeSet: 'OrdTypeCodeSet',\n    description: 'Market',\n  },\n  {\n    name: 'Limit',\n    id: '40002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.2.7',\n    tag: 40,\n    type: 'char',\n    codeSet: 'OrdTypeCodeSet',\n    description: 'Limit',\n  },\n  {\n    name: 'Stop',\n    id: '40003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.2.7',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '166',\n    tag: 40,\n    type: 'char',\n    codeSet: 'OrdTypeCodeSet',\n    description:\n      'Stop/Stop Loss.\\n\\nA stop order that is triggered as a result of a trade in the market at which point the stopped order becomes a market order.',\n  },\n  {\n    name: 'StopLimit',\n    id: '40004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.2.7',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '166',\n    tag: 40,\n    type: 'char',\n    codeSet: 'OrdTypeCodeSet',\n    description:\n      'Stop Limit.\\n\\nA stop limit order that is triggered as a result of a trade in the market at which point the stopped order becomes a limit order.',\n  },\n  {\n    name: 'MarketOnClose',\n    id: '40005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.2.7',\n    deprecated: 'FIX.4.3',\n    tag: 40,\n    type: 'char',\n    codeSet: 'OrdTypeCodeSet',\n    description: 'Market On Close (No longer used)',\n  },\n  {\n    name: 'WithOrWithout',\n    id: '40006',\n    value: '6',\n    sort: 6,\n    added: 'FIX.2.7',\n    tag: 40,\n    type: 'char',\n    codeSet: 'OrdTypeCodeSet',\n    description: 'With Or Without',\n  },\n  {\n    name: 'LimitOrBetter',\n    id: '40007',\n    value: '7',\n    sort: 7,\n    added: 'FIX.2.7',\n    deprecated: 'FIX.4.4',\n    tag: 40,\n    type: 'char',\n    codeSet: 'OrdTypeCodeSet',\n    description: 'Limit Or Better',\n  },\n  {\n    name: 'LimitWithOrWithout',\n    id: '40008',\n    value: '8',\n    sort: 8,\n    added: 'FIX.2.7',\n    tag: 40,\n    type: 'char',\n    codeSet: 'OrdTypeCodeSet',\n    description: 'Limit With Or Without',\n  },\n  {\n    name: 'OnBasis',\n    id: '40009',\n    value: '9',\n    sort: 9,\n    added: 'FIX.2.7',\n    tag: 40,\n    type: 'char',\n    codeSet: 'OrdTypeCodeSet',\n    description: 'On Basis',\n  },\n  {\n    name: 'OnClose',\n    id: '40010',\n    value: 'A',\n    sort: 10,\n    added: 'FIX.2.7',\n    deprecated: 'FIX.4.3',\n    tag: 40,\n    type: 'char',\n    codeSet: 'OrdTypeCodeSet',\n    description: 'On Close (No longer used)',\n  },\n  {\n    name: 'LimitOnClose',\n    id: '40011',\n    value: 'B',\n    sort: 11,\n    added: 'FIX.2.7',\n    deprecated: 'FIX.4.3',\n    tag: 40,\n    type: 'char',\n    codeSet: 'OrdTypeCodeSet',\n    description: 'Limit On Close (No longer used)',\n  },\n  {\n    name: 'ForexMarket',\n    id: '40012',\n    value: 'C',\n    sort: 12,\n    added: 'FIX.4.0',\n    deprecated: 'FIX.4.3',\n    tag: 40,\n    type: 'char',\n    codeSet: 'OrdTypeCodeSet',\n    description: 'Forex Market (No longer used)',\n  },\n  {\n    name: 'PreviouslyQuoted',\n    id: '40013',\n    value: 'D',\n    sort: 13,\n    added: 'FIX.4.0',\n    tag: 40,\n    type: 'char',\n    codeSet: 'OrdTypeCodeSet',\n    description: 'Previously Quoted',\n  },\n  {\n    name: 'PreviouslyIndicated',\n    id: '40014',\n    value: 'E',\n    sort: 14,\n    added: 'FIX.4.0',\n    tag: 40,\n    type: 'char',\n    codeSet: 'OrdTypeCodeSet',\n    description: 'Previously Indicated',\n  },\n  {\n    name: 'ForexLimit',\n    id: '40015',\n    value: 'F',\n    sort: 15,\n    added: 'FIX.4.1',\n    deprecated: 'FIX.4.3',\n    tag: 40,\n    type: 'char',\n    codeSet: 'OrdTypeCodeSet',\n    description: 'Forex Limit (No longer used)',\n  },\n  {\n    name: 'ForexSwap',\n    id: '40016',\n    value: 'G',\n    sort: 16,\n    added: 'FIX.4.1',\n    tag: 40,\n    type: 'char',\n    codeSet: 'OrdTypeCodeSet',\n    description: 'Forex Swap',\n  },\n  {\n    name: 'ForexPreviouslyQuoted',\n    id: '40017',\n    value: 'H',\n    sort: 17,\n    added: 'FIX.4.1',\n    deprecated: 'FIX.4.3',\n    tag: 40,\n    type: 'char',\n    codeSet: 'OrdTypeCodeSet',\n    description: 'Forex Previously Quoted (No longer used)',\n  },\n  {\n    name: 'Funari',\n    id: '40018',\n    value: 'I',\n    sort: 18,\n    added: 'FIX.4.2',\n    tag: 40,\n    type: 'char',\n    codeSet: 'OrdTypeCodeSet',\n    description:\n      'Funari (Limit day order with unexecuted portion handles as Market On Close. E.g. Japan)',\n  },\n  {\n    name: 'MarketIfTouched',\n    id: '40019',\n    value: 'J',\n    sort: 19,\n    added: 'FIX.4.3',\n    tag: 40,\n    type: 'char',\n    codeSet: 'OrdTypeCodeSet',\n    description: 'Market If Touched (MIT)',\n  },\n  {\n    name: 'MarketWithLeftOverAsLimit',\n    id: '40020',\n    value: 'K',\n    sort: 20,\n    added: 'FIX.4.3',\n    tag: 40,\n    type: 'char',\n    codeSet: 'OrdTypeCodeSet',\n    description:\n      'Market With Left Over as Limit (market order with unexecuted quantity becoming limit order at last price)',\n  },\n  {\n    name: 'PreviousFundValuationPoint',\n    id: '40021',\n    value: 'L',\n    sort: 21,\n    added: 'FIX.4.3',\n    tag: 40,\n    type: 'char',\n    codeSet: 'OrdTypeCodeSet',\n    description: 'Previous Fund Valuation Point (Historic pricing; for CIV)',\n  },\n  {\n    name: 'NextFundValuationPoint',\n    id: '40022',\n    value: 'M',\n    sort: 22,\n    added: 'FIX.4.3',\n    tag: 40,\n    type: 'char',\n    codeSet: 'OrdTypeCodeSet',\n    description: 'Next Fund Valuation Point (Forward pricing; for CIV)',\n  },\n  {\n    name: 'Pegged',\n    id: '40023',\n    value: 'P',\n    sort: 23,\n    added: 'FIX.3.0',\n    tag: 40,\n    type: 'char',\n    codeSet: 'OrdTypeCodeSet',\n    description: 'Pegged',\n  },\n  {\n    name: 'CounterOrderSelection',\n    id: '40024',\n    value: 'Q',\n    sort: 24,\n    added: 'FIX.4.4',\n    addedEP: '22',\n    tag: 40,\n    type: 'char',\n    codeSet: 'OrdTypeCodeSet',\n    description: 'Counter-order selection',\n  },\n  {\n    name: 'StopOnBidOrOffer',\n    id: '40025',\n    value: 'R',\n    sort: 25,\n    added: 'FIX.5.0SP2',\n    addedEP: '166',\n    tag: 40,\n    type: 'char',\n    codeSet: 'OrdTypeCodeSet',\n    description:\n      'Stop on Bid or Offer\\n\\nA stop order that is triggered by a bid or offer price movement (quote) at which point the stopped order becomes a market order, also known as \"stop on quote\" in some markets (e.g. US markets). In the US equities market it is common to trigger a stop off the National Best Bid or Offer (NBBO).',\n  },\n  {\n    name: 'StopLimitOnBidOrOffer',\n    id: '40026',\n    value: 'S',\n    sort: 26,\n    added: 'FIX.5.0SP2',\n    addedEP: '166',\n    tag: 40,\n    type: 'char',\n    codeSet: 'OrdTypeCodeSet',\n    description:\n      'Stop Limit on Bid or Offer\\n\\nA stop order that is triggered by a bid or offer price movement (quote) at which point the stopped order becomes a limit order, also known as \"stop limit on quote\" in some markets (e.g. US markets). In the US equities market it is common to trigger a stop off the National Best Bid or Offer (NBBO).',\n  },\n  {\n    name: 'OriginalTransmission',\n    id: '43001',\n    value: 'N',\n    sort: 1,\n    added: 'FIX.2.7',\n    tag: 43,\n    type: 'Boolean',\n    codeSet: 'PossDupFlagCodeSet',\n    description: 'Original transmission',\n  },\n  {\n    name: 'PossibleDuplicate',\n    id: '43002',\n    value: 'Y',\n    sort: 2,\n    added: 'FIX.2.7',\n    tag: 43,\n    type: 'Boolean',\n    codeSet: 'PossDupFlagCodeSet',\n    description: 'Possible duplicate',\n  },\n  {\n    name: 'Buy',\n    id: '54001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.2.7',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '254',\n    tag: 54,\n    type: 'char',\n    codeSet: 'SideCodeSet',\n    description:\n      'Buy\\n\\nFor Securities Financing indicates the receipt of securities or collateral.',\n  },\n  {\n    name: 'Sell',\n    id: '54002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.2.7',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '254',\n    tag: 54,\n    type: 'char',\n    codeSet: 'SideCodeSet',\n    description:\n      'Sell\\n\\nFor Securities Financing indicates the delivery of securities or collateral.',\n  },\n  {\n    name: 'BuyMinus',\n    id: '54003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.2.7',\n    tag: 54,\n    type: 'char',\n    codeSet: 'SideCodeSet',\n    description: 'Buy minus',\n  },\n  {\n    name: 'SellPlus',\n    id: '54004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.2.7',\n    tag: 54,\n    type: 'char',\n    codeSet: 'SideCodeSet',\n    description: 'Sell plus',\n  },\n  {\n    name: 'SellShort',\n    id: '54005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.2.7',\n    tag: 54,\n    type: 'char',\n    codeSet: 'SideCodeSet',\n    description: 'Sell short',\n  },\n  {\n    name: 'SellShortExempt',\n    id: '54006',\n    value: '6',\n    sort: 6,\n    added: 'FIX.2.7',\n    tag: 54,\n    type: 'char',\n    codeSet: 'SideCodeSet',\n    description: 'Sell short exempt',\n  },\n  {\n    name: 'Undisclosed',\n    id: '54007',\n    value: '7',\n    sort: 7,\n    added: 'FIX.4.1',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '131',\n    tag: 54,\n    type: 'char',\n    codeSet: 'SideCodeSet',\n    description: 'Undisclosed',\n  },\n  {\n    name: 'Cross',\n    id: '54008',\n    value: '8',\n    sort: 8,\n    added: 'FIX.4.1',\n    tag: 54,\n    type: 'char',\n    codeSet: 'SideCodeSet',\n    description:\n      'Cross (orders where counterparty is an exchange, valid for all messages except IOIs)',\n  },\n  {\n    name: 'CrossShort',\n    id: '54009',\n    value: '9',\n    sort: 9,\n    added: 'FIX.4.2',\n    tag: 54,\n    type: 'char',\n    codeSet: 'SideCodeSet',\n    description: 'Cross short',\n  },\n  {\n    name: 'CrossShortExempt',\n    id: '54010',\n    value: 'A',\n    sort: 10,\n    added: 'FIX.4.3',\n    updated: 'FIX.5.0SP1',\n    updatedEP: '95',\n    tag: 54,\n    type: 'char',\n    codeSet: 'SideCodeSet',\n    description: 'Cross short exempt',\n  },\n  {\n    name: 'AsDefined',\n    id: '54011',\n    value: 'B',\n    sort: 11,\n    added: 'FIX.4.3',\n    tag: 54,\n    type: 'char',\n    codeSet: 'SideCodeSet',\n    description: '\"As Defined\" (for use with multileg instruments)',\n  },\n  {\n    name: 'Opposite',\n    id: '54012',\n    value: 'C',\n    sort: 12,\n    added: 'FIX.4.3',\n    tag: 54,\n    type: 'char',\n    codeSet: 'SideCodeSet',\n    description: '\"Opposite\" (for use with multileg instruments)',\n  },\n  {\n    name: 'Subscribe',\n    id: '54013',\n    value: 'D',\n    sort: 13,\n    added: 'FIX.4.4',\n    tag: 54,\n    type: 'char',\n    codeSet: 'SideCodeSet',\n    description: 'Subscribe (e.g. CIV)',\n  },\n  {\n    name: 'Redeem',\n    id: '54014',\n    value: 'E',\n    sort: 14,\n    added: 'FIX.4.4',\n    tag: 54,\n    type: 'char',\n    codeSet: 'SideCodeSet',\n    description: 'Redeem (e.g. CIV)',\n  },\n  {\n    name: 'Lend',\n    id: '54015',\n    value: 'F',\n    sort: 15,\n    added: 'FIX.4.4',\n    tag: 54,\n    type: 'char',\n    codeSet: 'SideCodeSet',\n    description: 'Lend (FINANCING - identifies direction of collateral)',\n  },\n  {\n    name: 'Borrow',\n    id: '54016',\n    value: 'G',\n    sort: 16,\n    added: 'FIX.4.4',\n    tag: 54,\n    type: 'char',\n    codeSet: 'SideCodeSet',\n    description: 'Borrow (FINANCING - identifies direction of collateral)',\n  },\n  {\n    name: 'SellUndisclosed',\n    id: '54017',\n    value: 'H',\n    sort: 17,\n    added: 'FIX.5.0SP2',\n    addedEP: '222',\n    tag: 54,\n    type: 'char',\n    codeSet: 'SideCodeSet',\n    description:\n      'Sell undisclosed\\n\\nIn the context of ESMA RTS 22, this allows for reporting of transactions where the investment firm (broker) is not able to determine whether the sell is a short sale transaction. Corresponds to RTS 22 \"short selling indicator\" value of \\'UNDI\\'.',\n  },\n  {\n    name: 'Day',\n    id: '59001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.2.7',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '253',\n    tag: 59,\n    type: 'char',\n    codeSet: 'TimeInForceCodeSet',\n    description:\n      'Day (or session)\\n\\nA buy or sell order that, if not executed expires at the end of the trading day on which it was entered.',\n  },\n  {\n    name: 'GoodTillCancel',\n    id: '59002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.2.7',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '253',\n    tag: 59,\n    type: 'char',\n    codeSet: 'TimeInForceCodeSet',\n    description:\n      'Good Till Cancel (GTC)\\n\\nAn order to buy or sell that remains in effect until it is either executed or canceled; sometimes called an \u201Copen order\u201D.',\n  },\n  {\n    name: 'AtTheOpening',\n    id: '59003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.2.7',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '253',\n    tag: 59,\n    type: 'char',\n    codeSet: 'TimeInForceCodeSet',\n    description:\n      'At the Opening (OPG)\\n\\nA market or limit-price order to be executed at the opening of the stock or not at all; all or part of any order not executed at the opening is treated as canceled.',\n  },\n  {\n    name: 'ImmediateOrCancel',\n    id: '59004',\n    value: '3',\n    sort: 4,\n    added: 'FIX.2.7',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '253',\n    tag: 59,\n    type: 'char',\n    codeSet: 'TimeInForceCodeSet',\n    description:\n      'Immediate Or Cancel (IOC)\\n\\nA market or limit-price order that is to be executed in whole or in part as soon as it is available in the market; any portion not so executed is to be canceled.',\n  },\n  {\n    name: 'FillOrKill',\n    id: '59005',\n    value: '4',\n    sort: 5,\n    added: 'FIX.2.7',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '253',\n    tag: 59,\n    type: 'char',\n    codeSet: 'TimeInForceCodeSet',\n    description:\n      'Fill Or Kill (FOK)\\n\\nA market or limit-price order that is to be executed in its entirety as soon as it is available in the market; if not so executed, the order is to be canceled.',\n  },\n  {\n    name: 'GoodTillCrossing',\n    id: '59006',\n    value: '5',\n    sort: 6,\n    added: 'FIX.2.7',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '253',\n    tag: 59,\n    type: 'char',\n    codeSet: 'TimeInForceCodeSet',\n    description:\n      'Good Till Crossing (GTX)\\n\\nAn order to buy or sell that is canceled prior to the market entering into an auction or crossing phase.',\n  },\n  {\n    name: 'GoodTillDate',\n    id: '59007',\n    value: '6',\n    sort: 7,\n    added: 'FIX.4.0',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '253',\n    tag: 59,\n    type: 'char',\n    codeSet: 'TimeInForceCodeSet',\n    description:\n      'Good Till Date (GTD)\\n\\nAn order to buy or sell that remains in effect until it expires, defined by ExpireDate(432) or ExpireTime(126).',\n  },\n  {\n    name: 'AtTheClose',\n    id: '59008',\n    value: '7',\n    sort: 8,\n    added: 'FIX.4.3',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '253',\n    tag: 59,\n    type: 'char',\n    codeSet: 'TimeInForceCodeSet',\n    description:\n      'At the Close\\n\\nIndicated price is to be around the closing price, however, not held to the closing price.',\n  },\n  {\n    name: 'GoodThroughCrossing',\n    id: '59009',\n    value: '8',\n    sort: 9,\n    added: 'FIX.5.0',\n    addedEP: '61',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '253',\n    tag: 59,\n    type: 'char',\n    codeSet: 'TimeInForceCodeSet',\n    description:\n      'Good Through Crossing\\n\\nAn order that is valid up till and including a crossing phase.]',\n  },\n  {\n    name: 'AtCrossing',\n    id: '59010',\n    value: '9',\n    sort: 10,\n    added: 'FIX.5.0',\n    addedEP: '61',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '253',\n    tag: 59,\n    type: 'char',\n    codeSet: 'TimeInForceCodeSet',\n    description:\n      'At Crossing\\n\\nAn order that is valid only during crossing (auction) phases. The order is valid during the day or up to and including a specified trading (sub) session.',\n  },\n  {\n    name: 'GoodForTime',\n    id: '59011',\n    value: 'A',\n    sort: 11,\n    added: 'FIX.5.0SP2',\n    addedEP: '100',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '253',\n    tag: 59,\n    type: 'char',\n    codeSet: 'TimeInForceCodeSet',\n    description:\n      'Good for Time (GFT)\\n\\nAn order that is valid for a pre-defined time period expressed with ExposureDuration(1629) and (optionally) ExposureDurationUnit(1916).',\n  },\n  {\n    name: 'GoodForAuction',\n    id: '59012',\n    value: 'B',\n    sort: 12,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '253',\n    tag: 59,\n    type: 'char',\n    codeSet: 'TimeInForceCodeSet',\n    description:\n      'Good for Auction (GFA)\\n\\nAn order that is valid for an auction initiated by a trading firm (see AuctionType(1803) for examples.',\n  },\n  {\n    name: 'GoodForMonth',\n    id: '59013',\n    value: 'C',\n    sort: 13,\n    added: 'FIX.5.0SP2',\n    addedEP: '253',\n    tag: 59,\n    type: 'char',\n    codeSet: 'TimeInForceCodeSet',\n    description:\n      'Good for this Month (GFM)\\n\\nAn order that is valid until the end of the current month, i.e. from the time of order submission until the end of the last trading day of the current month.',\n  },\n  {\n    name: 'Normal',\n    id: '61001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.2.7',\n    tag: 61,\n    type: 'char',\n    codeSet: 'UrgencyCodeSet',\n    description: 'Normal',\n  },\n  {\n    name: 'Flash',\n    id: '61002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.2.7',\n    tag: 61,\n    type: 'char',\n    codeSet: 'UrgencyCodeSet',\n    description: 'Flash',\n  },\n  {\n    name: 'Background',\n    id: '61003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.2.7',\n    tag: 61,\n    type: 'char',\n    codeSet: 'UrgencyCodeSet',\n    description: 'Background',\n  },\n  {\n    name: 'Regular',\n    id: '63001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.2.7',\n    tag: 63,\n    type: 'String',\n    codeSet: 'SettlTypeCodeSet',\n    description: 'Regular / FX Spot settlement (T+1 or T+2 depending on currency)',\n  },\n  {\n    name: 'Cash',\n    id: '63002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.2.7',\n    tag: 63,\n    type: 'String',\n    codeSet: 'SettlTypeCodeSet',\n    description: 'Cash (TOD / T+0)',\n  },\n  {\n    name: 'NextDay',\n    id: '63003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.2.7',\n    tag: 63,\n    type: 'String',\n    codeSet: 'SettlTypeCodeSet',\n    description: 'Next Day (TOM / T+1)',\n  },\n  {\n    name: 'TPlus2',\n    id: '63004',\n    value: '3',\n    sort: 4,\n    added: 'FIX.2.7',\n    tag: 63,\n    type: 'String',\n    codeSet: 'SettlTypeCodeSet',\n    description: 'T+2',\n  },\n  {\n    name: 'TPlus3',\n    id: '63005',\n    value: '4',\n    sort: 5,\n    added: 'FIX.2.7',\n    tag: 63,\n    type: 'String',\n    codeSet: 'SettlTypeCodeSet',\n    description: 'T+3',\n  },\n  {\n    name: 'TPlus4',\n    id: '63006',\n    value: '5',\n    sort: 6,\n    added: 'FIX.2.7',\n    tag: 63,\n    type: 'String',\n    codeSet: 'SettlTypeCodeSet',\n    description: 'T+4',\n  },\n  {\n    name: 'Future',\n    id: '63007',\n    value: '6',\n    sort: 7,\n    added: 'FIX.2.7',\n    tag: 63,\n    type: 'String',\n    codeSet: 'SettlTypeCodeSet',\n    description: 'Future',\n  },\n  {\n    name: 'WhenAndIfIssued',\n    id: '63008',\n    value: '7',\n    sort: 8,\n    added: 'FIX.2.7',\n    tag: 63,\n    type: 'String',\n    codeSet: 'SettlTypeCodeSet',\n    description: 'When And If Issued',\n  },\n  {\n    name: 'SellersOption',\n    id: '63009',\n    value: '8',\n    sort: 9,\n    added: 'FIX.2.7',\n    tag: 63,\n    type: 'String',\n    codeSet: 'SettlTypeCodeSet',\n    description: 'Sellers Option',\n  },\n  {\n    name: 'TPlus5',\n    id: '63010',\n    value: '9',\n    sort: 10,\n    added: 'FIX.3.0',\n    tag: 63,\n    type: 'String',\n    codeSet: 'SettlTypeCodeSet',\n    description: 'T+5',\n  },\n  {\n    name: 'BrokenDate',\n    id: '63011',\n    value: 'B',\n    sort: 12,\n    added: 'FIX.4.4',\n    addedEP: '25',\n    updated: 'FIX.Latest',\n    updatedEP: '271',\n    tag: 63,\n    type: 'String',\n    codeSet: 'SettlTypeCodeSet',\n    description:\n      'Broken date\\n\\nUse within FX to specify a non-standard tenor. The use of SettlDate(64) is required to specify the actual settlement date when SettlType(63) = B (Broken date).',\n  },\n  {\n    name: 'FXSpotNextSettlement',\n    id: '63012',\n    value: 'C',\n    sort: 99,\n    added: 'FIX.4.4',\n    addedEP: '21',\n    tag: 63,\n    type: 'String',\n    codeSet: 'SettlTypeCodeSet',\n    description: 'FX Spot Next settlement (Spot+1, aka next day)',\n  },\n  {\n    name: 'EUCPWithLumpSumInterest',\n    id: '65001',\n    value: 'CD',\n    sort: 1,\n    group: 'For Fixed Income',\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 65,\n    type: 'String',\n    codeSet: 'SymbolSfxCodeSet',\n    description: 'EUCP with lump-sum interest rather than discount price',\n  },\n  {\n    name: 'WhenIssued',\n    id: '65002',\n    value: 'WI',\n    sort: 2,\n    group: 'For Fixed Income',\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 65,\n    type: 'String',\n    codeSet: 'SymbolSfxCodeSet',\n    description: '\"When Issued\" for a security to be reissued under an old CUSIP or ISIN',\n  },\n  {\n    name: 'New',\n    id: '71001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.2.7',\n    tag: 71,\n    type: 'char',\n    codeSet: 'AllocTransTypeCodeSet',\n    description: 'New',\n  },\n  {\n    name: 'Replace',\n    id: '71002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.2.7',\n    tag: 71,\n    type: 'char',\n    codeSet: 'AllocTransTypeCodeSet',\n    description: 'Replace',\n  },\n  {\n    name: 'Cancel',\n    id: '71003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.2.7',\n    tag: 71,\n    type: 'char',\n    codeSet: 'AllocTransTypeCodeSet',\n    description: 'Cancel',\n  },\n  {\n    name: 'Preliminary',\n    id: '71004',\n    value: '3',\n    sort: 4,\n    added: 'FIX.4.1',\n    deprecated: 'FIX.4.2',\n    tag: 71,\n    type: 'char',\n    codeSet: 'AllocTransTypeCodeSet',\n    description: 'Preliminary (without MiscFees and NetMoney) (Removed/Replaced)',\n  },\n  {\n    name: 'Calculated',\n    id: '71005',\n    value: '4',\n    sort: 5,\n    added: 'FIX.4.1',\n    deprecated: 'FIX.4.2',\n    tag: 71,\n    type: 'char',\n    codeSet: 'AllocTransTypeCodeSet',\n    description: 'Calculated (includes MiscFees and NetMoney) (Removed/Replaced)',\n  },\n  {\n    name: 'CalculatedWithoutPreliminary',\n    id: '71006',\n    value: '5',\n    sort: 6,\n    added: 'FIX.4.2',\n    deprecated: 'FIX.4.2',\n    tag: 71,\n    type: 'char',\n    codeSet: 'AllocTransTypeCodeSet',\n    description:\n      'Calculated without Preliminary (sent unsolicited by broker, includes MiscFees and NetMoney) (Removed/Replaced)',\n  },\n  {\n    name: 'Reversal',\n    id: '71007',\n    value: '6',\n    sort: 7,\n    added: 'FIX.4.4',\n    addedEP: '5',\n    tag: 71,\n    type: 'char',\n    codeSet: 'AllocTransTypeCodeSet',\n    description: 'Reversal',\n  },\n  {\n    name: 'Close',\n    id: '77001',\n    value: 'C',\n    sort: 1,\n    added: 'FIX.4.1',\n    tag: 77,\n    type: 'char',\n    codeSet: 'PositionEffectCodeSet',\n    description: 'Close',\n  },\n  {\n    name: 'FIFO',\n    id: '77002',\n    value: 'F',\n    sort: 2,\n    added: 'FIX.4.3',\n    tag: 77,\n    type: 'char',\n    codeSet: 'PositionEffectCodeSet',\n    description: 'FIFO',\n  },\n  {\n    name: 'Open',\n    id: '77003',\n    value: 'O',\n    sort: 3,\n    added: 'FIX.4.1',\n    tag: 77,\n    type: 'char',\n    codeSet: 'PositionEffectCodeSet',\n    description: 'Open',\n  },\n  {\n    name: 'Rolled',\n    id: '77004',\n    value: 'R',\n    sort: 4,\n    added: 'FIX.4.3',\n    tag: 77,\n    type: 'char',\n    codeSet: 'PositionEffectCodeSet',\n    description: 'Rolled',\n  },\n  {\n    name: 'CloseButNotifyOnOpen',\n    id: '77005',\n    value: 'N',\n    sort: 5,\n    added: 'FIX.5.0',\n    addedEP: '61',\n    tag: 77,\n    type: 'char',\n    codeSet: 'PositionEffectCodeSet',\n    description: 'Close but notify on open',\n  },\n  {\n    name: 'Default',\n    id: '77006',\n    value: 'D',\n    sort: 6,\n    added: 'FIX.5.0',\n    addedEP: '61',\n    tag: 77,\n    type: 'char',\n    codeSet: 'PositionEffectCodeSet',\n    description: 'Default',\n  },\n  {\n    name: 'Regular',\n    id: '81001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.2.7',\n    tag: 81,\n    type: 'char',\n    codeSet: 'ProcessCodeCodeSet',\n    description: 'Regular',\n  },\n  {\n    name: 'SoftDollar',\n    id: '81002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.2.7',\n    tag: 81,\n    type: 'char',\n    codeSet: 'ProcessCodeCodeSet',\n    description: 'Soft Dollar',\n  },\n  {\n    name: 'StepIn',\n    id: '81003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.2.7',\n    tag: 81,\n    type: 'char',\n    codeSet: 'ProcessCodeCodeSet',\n    description: 'Step-In',\n  },\n  {\n    name: 'StepOut',\n    id: '81004',\n    value: '3',\n    sort: 4,\n    added: 'FIX.2.7',\n    tag: 81,\n    type: 'char',\n    codeSet: 'ProcessCodeCodeSet',\n    description: 'Step-Out',\n  },\n  {\n    name: 'SoftDollarStepIn',\n    id: '81005',\n    value: '4',\n    sort: 5,\n    added: 'FIX.2.7',\n    tag: 81,\n    type: 'char',\n    codeSet: 'ProcessCodeCodeSet',\n    description: 'Soft-dollar Step-In',\n  },\n  {\n    name: 'SoftDollarStepOut',\n    id: '81006',\n    value: '5',\n    sort: 6,\n    added: 'FIX.2.7',\n    tag: 81,\n    type: 'char',\n    codeSet: 'ProcessCodeCodeSet',\n    description: 'Soft-dollar Step-Out',\n  },\n  {\n    name: 'PlanSponsor',\n    id: '81007',\n    value: '6',\n    sort: 7,\n    added: 'FIX.4.0',\n    tag: 81,\n    type: 'char',\n    codeSet: 'ProcessCodeCodeSet',\n    description: 'Plan Sponsor',\n  },\n  {\n    name: 'Accepted',\n    id: '87001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.2.7',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '118',\n    tag: 87,\n    type: 'int',\n    codeSet: 'AllocStatusCodeSet',\n    description: 'Accepted (successfully processed)',\n  },\n  {\n    name: 'BlockLevelReject',\n    id: '87002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.2.7',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '118',\n    tag: 87,\n    type: 'int',\n    codeSet: 'AllocStatusCodeSet',\n    description: 'Block level reject',\n  },\n  {\n    name: 'AccountLevelReject',\n    id: '87003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.2.7',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '118',\n    tag: 87,\n    type: 'int',\n    codeSet: 'AllocStatusCodeSet',\n    description: 'Account level reject',\n  },\n  {\n    name: 'Received',\n    id: '87004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.0',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '118',\n    tag: 87,\n    type: 'int',\n    codeSet: 'AllocStatusCodeSet',\n    description: 'Received (received not yet processed)',\n  },\n  {\n    name: 'Incomplete',\n    id: '87005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '118',\n    tag: 87,\n    type: 'int',\n    codeSet: 'AllocStatusCodeSet',\n    description: 'Incomplete',\n  },\n  {\n    name: 'RejectedByIntermediary',\n    id: '87006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '118',\n    tag: 87,\n    type: 'int',\n    codeSet: 'AllocStatusCodeSet',\n    description: 'Rejected by intermediary',\n  },\n  {\n    name: 'AllocationPending',\n    id: '87007',\n    value: '6',\n    sort: 6,\n    added: 'FIX.4.4',\n    addedEP: '5',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '118',\n    tag: 87,\n    type: 'int',\n    codeSet: 'AllocStatusCodeSet',\n    description: 'Allocation pending',\n  },\n  {\n    name: 'Reversed',\n    id: '87008',\n    value: '7',\n    sort: 7,\n    added: 'FIX.4.4',\n    addedEP: '5',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '118',\n    tag: 87,\n    type: 'int',\n    codeSet: 'AllocStatusCodeSet',\n    description: 'Reversed',\n  },\n  {\n    name: 'CancelledByIntermediary',\n    id: '87009',\n    value: '8',\n    sort: 8,\n    added: 'FIX.5.0SP2',\n    addedEP: '118',\n    tag: 87,\n    type: 'int',\n    codeSet: 'AllocStatusCodeSet',\n    description: 'Cancelled by intermediary\\n\\n',\n  },\n  {\n    name: 'Claimed',\n    id: '87010',\n    value: '9',\n    sort: 9,\n    added: 'FIX.5.0SP2',\n    addedEP: '118',\n    tag: 87,\n    type: 'int',\n    codeSet: 'AllocStatusCodeSet',\n    description: 'Claimed',\n  },\n  {\n    name: 'Refused',\n    id: '87011',\n    value: '10',\n    sort: 10,\n    added: 'FIX.5.0SP2',\n    addedEP: '118',\n    tag: 87,\n    type: 'int',\n    codeSet: 'AllocStatusCodeSet',\n    description: 'Refused',\n  },\n  {\n    name: 'PendingGiveUpApproval',\n    id: '87012',\n    value: '11',\n    sort: 11,\n    added: 'FIX.5.0SP2',\n    addedEP: '118',\n    tag: 87,\n    type: 'int',\n    codeSet: 'AllocStatusCodeSet',\n    description: 'Pending give-up approval',\n  },\n  {\n    name: 'Cancelled',\n    id: '87013',\n    value: '12',\n    sort: 12,\n    added: 'FIX.5.0SP2',\n    addedEP: '118',\n    tag: 87,\n    type: 'int',\n    codeSet: 'AllocStatusCodeSet',\n    description: 'Cancelled',\n  },\n  {\n    name: 'PendingTakeUpApproval',\n    id: '87014',\n    value: '13',\n    sort: 13,\n    added: 'FIX.5.0SP2',\n    addedEP: '118',\n    tag: 87,\n    type: 'int',\n    codeSet: 'AllocStatusCodeSet',\n    description: 'Pending take-up approval',\n  },\n  {\n    name: 'ReversalPending',\n    id: '87015',\n    value: '14',\n    sort: 14,\n    added: 'FIX.5.0SP2',\n    addedEP: '118',\n    tag: 87,\n    type: 'int',\n    codeSet: 'AllocStatusCodeSet',\n    description: 'Reversal pending',\n  },\n  {\n    name: 'UnknownAccount',\n    id: '88001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.2.7',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '170',\n    tag: 88,\n    type: 'int',\n    codeSet: 'AllocRejCodeCodeSet',\n    description: 'Unknown or missing account(s)',\n  },\n  {\n    name: 'IncorrectQuantity',\n    id: '88002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.2.7',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '170',\n    tag: 88,\n    type: 'int',\n    codeSet: 'AllocRejCodeCodeSet',\n    description: 'Incorrect or missing block quantity',\n  },\n  {\n    name: 'IncorrectAveragePrice',\n    id: '88003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.2.7',\n    updated: 'FIX.Latest',\n    updatedEP: '271',\n    tag: 88,\n    type: 'int',\n    codeSet: 'AllocRejCodeCodeSet',\n    description: 'Incorrect or missing average price',\n  },\n  {\n    name: 'UnknownExecutingBrokerMnemonic',\n    id: '88004',\n    value: '3',\n    sort: 4,\n    added: 'FIX.2.7',\n    tag: 88,\n    type: 'int',\n    codeSet: 'AllocRejCodeCodeSet',\n    description: 'Unknown executing broker mnemonic',\n  },\n  {\n    name: 'CommissionDifference',\n    id: '88005',\n    value: '4',\n    sort: 5,\n    added: 'FIX.2.7',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '170',\n    tag: 88,\n    type: 'int',\n    codeSet: 'AllocRejCodeCodeSet',\n    description: 'Incorrect or missing commission',\n  },\n  {\n    name: 'UnknownOrderID',\n    id: '88006',\n    value: '5',\n    sort: 6,\n    added: 'FIX.2.7',\n    updated: 'FIX.Latest',\n    updatedEP: '271',\n    tag: 88,\n    type: 'int',\n    codeSet: 'AllocRejCodeCodeSet',\n    description: 'Unknown OrderID(37)',\n  },\n  {\n    name: 'UnknownListID',\n    id: '88007',\n    value: '6',\n    sort: 7,\n    added: 'FIX.2.7',\n    updated: 'FIX.Latest',\n    updatedEP: '271',\n    tag: 88,\n    type: 'int',\n    codeSet: 'AllocRejCodeCodeSet',\n    description: 'Unknown ListID(66)',\n  },\n  {\n    name: 'OtherSeeText',\n    id: '88008',\n    value: '7',\n    sort: 8,\n    added: 'FIX.2.7',\n    tag: 88,\n    type: 'int',\n    codeSet: 'AllocRejCodeCodeSet',\n    description: 'Other (further in Text (58))',\n  },\n  {\n    name: 'IncorrectAllocatedQuantity',\n    id: '88009',\n    value: '8',\n    sort: 9,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '170',\n    tag: 88,\n    type: 'int',\n    codeSet: 'AllocRejCodeCodeSet',\n    description: 'Incorrect or missing allocated quantity',\n  },\n  {\n    name: 'CalculationDifference',\n    id: '88010',\n    value: '9',\n    sort: 10,\n    added: 'FIX.4.4',\n    tag: 88,\n    type: 'int',\n    codeSet: 'AllocRejCodeCodeSet',\n    description: 'Calculation difference',\n  },\n  {\n    name: 'UnknownOrStaleExecID',\n    id: '88011',\n    value: '10',\n    sort: 11,\n    added: 'FIX.4.4',\n    updated: 'FIX.Latest',\n    updatedEP: '271',\n    tag: 88,\n    type: 'int',\n    codeSet: 'AllocRejCodeCodeSet',\n    description: 'Unknown or Stale ExecID(17)',\n  },\n  {\n    name: 'MismatchedData',\n    id: '88012',\n    value: '11',\n    sort: 12,\n    added: 'FIX.4.4',\n    tag: 88,\n    type: 'int',\n    codeSet: 'AllocRejCodeCodeSet',\n    description: 'Mismatched data',\n  },\n  {\n    name: 'UnknownClOrdID',\n    id: '88013',\n    value: '12',\n    sort: 13,\n    added: 'FIX.4.4',\n    updated: 'FIX.Latest',\n    updatedEP: '271',\n    tag: 88,\n    type: 'int',\n    codeSet: 'AllocRejCodeCodeSet',\n    description: 'Unknown ClOrdID(11)',\n  },\n  {\n    name: 'WarehouseRequestRejected',\n    id: '88014',\n    value: '13',\n    sort: 14,\n    added: 'FIX.4.4',\n    tag: 88,\n    type: 'int',\n    codeSet: 'AllocRejCodeCodeSet',\n    description: 'Warehouse request rejected',\n  },\n  {\n    name: 'DuplicateOrMissingIndividualAllocID',\n    id: '88015',\n    value: '14',\n    sort: 15,\n    added: 'FIX.5.0SP2',\n    addedEP: '170',\n    updated: 'FIX.Latest',\n    updatedEP: '271',\n    tag: 88,\n    type: 'int',\n    codeSet: 'AllocRejCodeCodeSet',\n    description: 'Duplicate or missing IndividualAllocID(467)',\n  },\n  {\n    name: 'TradeNotRecognized',\n    id: '88016',\n    value: '15',\n    sort: 16,\n    added: 'FIX.5.0SP2',\n    addedEP: '170',\n    updated: 'FIX.Latest',\n    updatedEP: '271',\n    tag: 88,\n    type: 'int',\n    codeSet: 'AllocRejCodeCodeSet',\n    description: 'Trade not recognized',\n  },\n  {\n    name: 'DuplicateTrade',\n    id: '88017',\n    value: '16',\n    sort: 17,\n    added: 'FIX.5.0SP2',\n    addedEP: '170',\n    updated: 'FIX.Latest',\n    updatedEP: '271',\n    tag: 88,\n    type: 'int',\n    codeSet: 'AllocRejCodeCodeSet',\n    description: 'Trade previously allocated',\n  },\n  {\n    name: 'IncorrectOrMissingInstrument',\n    id: '88018',\n    value: '17',\n    sort: 18,\n    added: 'FIX.5.0SP2',\n    addedEP: '170',\n    updated: 'FIX.Latest',\n    updatedEP: '271',\n    tag: 88,\n    type: 'int',\n    codeSet: 'AllocRejCodeCodeSet',\n    description: 'Incorrect or missing instrument',\n  },\n  {\n    name: 'IncorrectOrMissingSettlDate',\n    id: '88019',\n    value: '18',\n    sort: 19,\n    added: 'FIX.5.0SP2',\n    addedEP: '170',\n    updated: 'FIX.Latest',\n    updatedEP: '271',\n    tag: 88,\n    type: 'int',\n    codeSet: 'AllocRejCodeCodeSet',\n    description: 'Incorrect or missing settlement date',\n  },\n  {\n    name: 'IncorrectOrMissingFundIDOrFundName',\n    id: '88020',\n    value: '19',\n    sort: 20,\n    added: 'FIX.5.0SP2',\n    addedEP: '170',\n    updated: 'FIX.Latest',\n    updatedEP: '271',\n    tag: 88,\n    type: 'int',\n    codeSet: 'AllocRejCodeCodeSet',\n    description: 'Incorrect or missing fund ID or fund name',\n  },\n  {\n    name: 'IncorrectOrMissingSettlInstructions',\n    id: '88021',\n    value: '20',\n    sort: 21,\n    added: 'FIX.5.0SP2',\n    addedEP: '170',\n    updated: 'FIX.Latest',\n    updatedEP: '271',\n    tag: 88,\n    type: 'int',\n    codeSet: 'AllocRejCodeCodeSet',\n    description: 'Incorrect or missing settlement instructions',\n  },\n  {\n    name: 'IncorrectOrMissingFees',\n    id: '88022',\n    value: '21',\n    sort: 22,\n    added: 'FIX.5.0SP2',\n    addedEP: '170',\n    updated: 'FIX.Latest',\n    updatedEP: '271',\n    tag: 88,\n    type: 'int',\n    codeSet: 'AllocRejCodeCodeSet',\n    description: 'Incorrect or missing fees',\n  },\n  {\n    name: 'IncorrectOrMissingTax',\n    id: '88023',\n    value: '22',\n    sort: 23,\n    added: 'FIX.5.0SP2',\n    addedEP: '170',\n    updated: 'FIX.Latest',\n    updatedEP: '271',\n    tag: 88,\n    type: 'int',\n    codeSet: 'AllocRejCodeCodeSet',\n    description: 'Incorrect or missing tax',\n  },\n  {\n    name: 'UnknownOrMissingParty',\n    id: '88024',\n    value: '23',\n    sort: 24,\n    added: 'FIX.5.0SP2',\n    addedEP: '170',\n    updated: 'FIX.Latest',\n    updatedEP: '271',\n    tag: 88,\n    type: 'int',\n    codeSet: 'AllocRejCodeCodeSet',\n    description: 'Unknown or missing party',\n  },\n  {\n    name: 'IncorrectOrMissingSide',\n    id: '88025',\n    value: '24',\n    sort: 25,\n    added: 'FIX.5.0SP2',\n    addedEP: '170',\n    updated: 'FIX.Latest',\n    updatedEP: '271',\n    tag: 88,\n    type: 'int',\n    codeSet: 'AllocRejCodeCodeSet',\n    description: 'Incorrect or missing side',\n  },\n  {\n    name: 'IncorrectOrMissingNetMoney',\n    id: '88026',\n    value: '25',\n    sort: 26,\n    added: 'FIX.5.0SP2',\n    addedEP: '170',\n    updated: 'FIX.Latest',\n    updatedEP: '271',\n    tag: 88,\n    type: 'int',\n    codeSet: 'AllocRejCodeCodeSet',\n    description: 'Incorrect or missing net-money',\n  },\n  {\n    name: 'IncorrectOrMissingTradeDate',\n    id: '88027',\n    value: '26',\n    sort: 27,\n    added: 'FIX.5.0SP2',\n    addedEP: '170',\n    updated: 'FIX.Latest',\n    updatedEP: '271',\n    tag: 88,\n    type: 'int',\n    codeSet: 'AllocRejCodeCodeSet',\n    description: 'Incorrect or missing trade date',\n  },\n  {\n    name: 'IncorrectOrMissingSettlCcyInstructions',\n    id: '88028',\n    value: '27',\n    sort: 28,\n    added: 'FIX.5.0SP2',\n    addedEP: '170',\n    updated: 'FIX.Latest',\n    updatedEP: '271',\n    tag: 88,\n    type: 'int',\n    codeSet: 'AllocRejCodeCodeSet',\n    description: 'Incorrect or missing settlement currency instructions',\n  },\n  {\n    name: 'IncorrectOrMissingProcessCode',\n    id: '88029',\n    value: '28',\n    sort: 29,\n    added: 'FIX.5.0SP2',\n    addedEP: '170',\n    updated: 'FIX.Latest',\n    updatedEP: '271',\n    tag: 88,\n    type: 'int',\n    codeSet: 'AllocRejCodeCodeSet',\n    description: 'Incorrrect or missing ProcessCode(81)',\n  },\n  {\n    name: 'Other',\n    id: '88030',\n    value: '99',\n    sort: 100,\n    added: 'FIX.5.0SP1',\n    addedEP: '95',\n    updated: 'FIX.Latest',\n    updatedEP: '271',\n    tag: 88,\n    type: 'int',\n    codeSet: 'AllocRejCodeCodeSet',\n    description: 'Other\\n\\nUse Text(58) for further reject reasons.',\n  },\n  {\n    name: 'New',\n    id: '94001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.2.7',\n    tag: 94,\n    type: 'char',\n    codeSet: 'EmailTypeCodeSet',\n    description: 'New',\n  },\n  {\n    name: 'Reply',\n    id: '94002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.2.7',\n    tag: 94,\n    type: 'char',\n    codeSet: 'EmailTypeCodeSet',\n    description: 'Reply',\n  },\n  {\n    name: 'AdminReply',\n    id: '94003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.2.7',\n    tag: 94,\n    type: 'char',\n    codeSet: 'EmailTypeCodeSet',\n    description: 'Admin Reply',\n  },\n  {\n    name: 'OriginalTransmission',\n    id: '97001',\n    value: 'N',\n    sort: 1,\n    added: 'FIX.4.1',\n    tag: 97,\n    type: 'Boolean',\n    codeSet: 'PossResendCodeSet',\n    description: 'Original Transmission',\n  },\n  {\n    name: 'PossibleResend',\n    id: '97002',\n    value: 'Y',\n    sort: 2,\n    added: 'FIX.4.1',\n    tag: 97,\n    type: 'Boolean',\n    codeSet: 'PossResendCodeSet',\n    description: 'Possible Resend',\n  },\n  {\n    name: 'None',\n    id: '98001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.2.7',\n    tag: 98,\n    type: 'int',\n    codeSet: 'EncryptMethodCodeSet',\n    description: 'None / Other',\n  },\n  {\n    name: 'PKCS',\n    id: '98002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.2.7',\n    tag: 98,\n    type: 'int',\n    codeSet: 'EncryptMethodCodeSet',\n    description: 'PKCS (Proprietary)',\n  },\n  {\n    name: 'DES',\n    id: '98003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.2.7',\n    tag: 98,\n    type: 'int',\n    codeSet: 'EncryptMethodCodeSet',\n    description: 'DES (ECB Mode)',\n  },\n  {\n    name: 'PKCSDES',\n    id: '98004',\n    value: '3',\n    sort: 4,\n    added: 'FIX.2.7',\n    tag: 98,\n    type: 'int',\n    codeSet: 'EncryptMethodCodeSet',\n    description: 'PKCS / DES (Proprietary)',\n  },\n  {\n    name: 'PGPDES',\n    id: '98005',\n    value: '4',\n    sort: 5,\n    added: 'FIX.3.0',\n    tag: 98,\n    type: 'int',\n    codeSet: 'EncryptMethodCodeSet',\n    description: 'PGP / DES (Defunct)',\n  },\n  {\n    name: 'PGPDESMD5',\n    id: '98006',\n    value: '5',\n    sort: 6,\n    added: 'FIX.4.0',\n    tag: 98,\n    type: 'int',\n    codeSet: 'EncryptMethodCodeSet',\n    description: 'PGP / DES-MD5 (See app note on FIX web site)',\n  },\n  {\n    name: 'PEM',\n    id: '98007',\n    value: '6',\n    sort: 7,\n    added: 'FIX.4.0',\n    tag: 98,\n    type: 'int',\n    codeSet: 'EncryptMethodCodeSet',\n    description: 'PEM / DES-MD5 (see app note on FIX web site)',\n  },\n  {\n    name: 'TooLateToCancel',\n    id: '102001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.2.7',\n    tag: 102,\n    type: 'int',\n    codeSet: 'CxlRejReasonCodeSet',\n    description: 'Too late to cancel',\n  },\n  {\n    name: 'UnknownOrder',\n    id: '102002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.2.7',\n    tag: 102,\n    type: 'int',\n    codeSet: 'CxlRejReasonCodeSet',\n    description: 'Unknown order',\n  },\n  {\n    name: 'BrokerCredit',\n    id: '102003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.4.2',\n    tag: 102,\n    type: 'int',\n    codeSet: 'CxlRejReasonCodeSet',\n    description: 'Broker / Exchange Option',\n  },\n  {\n    name: 'OrderAlreadyInPendingStatus',\n    id: '102004',\n    value: '3',\n    sort: 4,\n    added: 'FIX.4.2',\n    tag: 102,\n    type: 'int',\n    codeSet: 'CxlRejReasonCodeSet',\n    description: 'Order already in Pending Cancel or Pending Replace status',\n  },\n  {\n    name: 'UnableToProcessOrderMassCancelRequest',\n    id: '102005',\n    value: '4',\n    sort: 5,\n    added: 'FIX.4.3',\n    tag: 102,\n    type: 'int',\n    codeSet: 'CxlRejReasonCodeSet',\n    description: 'Unable to process Order Mass Cancel Request',\n  },\n  {\n    name: 'OrigOrdModTime',\n    id: '102006',\n    value: '5',\n    sort: 6,\n    added: 'FIX.4.3',\n    tag: 102,\n    type: 'int',\n    codeSet: 'CxlRejReasonCodeSet',\n    description: 'OrigOrdModTime (586) did not match last TransactTime (60) of order',\n  },\n  {\n    name: 'DuplicateClOrdID',\n    id: '102007',\n    value: '6',\n    sort: 7,\n    added: 'FIX.4.3',\n    tag: 102,\n    type: 'int',\n    codeSet: 'CxlRejReasonCodeSet',\n    description: 'Duplicate ClOrdID (11) received',\n  },\n  {\n    name: 'PriceExceedsCurrentPrice',\n    id: '102008',\n    value: '7',\n    sort: 8,\n    added: 'FIX.5.0',\n    addedEP: '-1',\n    tag: 102,\n    type: 'int',\n    codeSet: 'CxlRejReasonCodeSet',\n    description: 'Price exceeds current price',\n  },\n  {\n    name: 'PriceExceedsCurrentPriceBand',\n    id: '102009',\n    value: '8',\n    sort: 9,\n    added: 'FIX.5.0',\n    addedEP: '43',\n    tag: 102,\n    type: 'int',\n    codeSet: 'CxlRejReasonCodeSet',\n    description: 'Price exceeds current price band',\n  },\n  {\n    name: 'InvalidPriceIncrement',\n    id: '102010',\n    value: '18',\n    sort: 18,\n    added: 'FIX.4.4',\n    addedEP: '6',\n    tag: 102,\n    type: 'int',\n    codeSet: 'CxlRejReasonCodeSet',\n    description: 'Invalid price increment',\n  },\n  {\n    name: 'Other',\n    id: '102011',\n    value: '99',\n    sort: 99,\n    added: 'FIX.4.4',\n    tag: 102,\n    type: 'int',\n    codeSet: 'CxlRejReasonCodeSet',\n    description: 'Other',\n  },\n  {\n    name: 'BrokerCredit',\n    id: '103001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.2.7',\n    tag: 103,\n    type: 'int',\n    codeSet: 'OrdRejReasonCodeSet',\n    description: 'Broker / Exchange option',\n  },\n  {\n    name: 'UnknownSymbol',\n    id: '103002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.2.7',\n    updated: 'FIX.Latest',\n    updatedEP: '290',\n    tag: 103,\n    type: 'int',\n    codeSet: 'OrdRejReasonCodeSet',\n    description:\n      'Unknown symbol\\n\\nIn the context of IA FX Reject codes, Trade Request Rejection Category F, order rejected due to the product not being supported, e.g. by the specific venue, tenor restrictions on the market participant(s) involved.',\n  },\n  {\n    name: 'ExchangeClosed',\n    id: '103003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.2.7',\n    tag: 103,\n    type: 'int',\n    codeSet: 'OrdRejReasonCodeSet',\n    description: 'Exchange closed',\n  },\n  {\n    name: 'OrderExceedsLimit',\n    id: '103004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.2.7',\n    tag: 103,\n    type: 'int',\n    codeSet: 'OrdRejReasonCodeSet',\n    description: 'Order exceeds limit',\n  },\n  {\n    name: 'TooLateToEnter',\n    id: '103005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.4.0',\n    tag: 103,\n    type: 'int',\n    codeSet: 'OrdRejReasonCodeSet',\n    description: 'Too late to enter',\n  },\n  {\n    name: 'UnknownOrder',\n    id: '103006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.4.1',\n    tag: 103,\n    type: 'int',\n    codeSet: 'OrdRejReasonCodeSet',\n    description: 'Unknown order',\n  },\n  {\n    name: 'DuplicateOrder',\n    id: '103007',\n    value: '6',\n    sort: 6,\n    added: 'FIX.4.1',\n    tag: 103,\n    type: 'int',\n    codeSet: 'OrdRejReasonCodeSet',\n    description: 'Duplicate Order (e.g. dupe ClOrdID)',\n  },\n  {\n    name: 'DuplicateOfAVerballyCommunicatedOrder',\n    id: '103008',\n    value: '7',\n    sort: 7,\n    added: 'FIX.4.2',\n    tag: 103,\n    type: 'int',\n    codeSet: 'OrdRejReasonCodeSet',\n    description: 'Duplicate of a verbally communicated order',\n  },\n  {\n    name: 'StaleOrder',\n    id: '103009',\n    value: '8',\n    sort: 8,\n    added: 'FIX.4.2',\n    tag: 103,\n    type: 'int',\n    codeSet: 'OrdRejReasonCodeSet',\n    description: 'Stale order',\n  },\n  {\n    name: 'TradeAlongRequired',\n    id: '103010',\n    value: '9',\n    sort: 9,\n    added: 'FIX.4.3',\n    tag: 103,\n    type: 'int',\n    codeSet: 'OrdRejReasonCodeSet',\n    description: 'Trade along required',\n  },\n  {\n    name: 'InvalidInvestorID',\n    id: '103011',\n    value: '10',\n    sort: 10,\n    added: 'FIX.4.3',\n    tag: 103,\n    type: 'int',\n    codeSet: 'OrdRejReasonCodeSet',\n    description: 'Invalid Investor ID',\n  },\n  {\n    name: 'UnsupportedOrderCharacteristic',\n    id: '103012',\n    value: '11',\n    sort: 11,\n    added: 'FIX.4.3',\n    tag: 103,\n    type: 'int',\n    codeSet: 'OrdRejReasonCodeSet',\n    description: 'Unsupported order characteristic',\n  },\n  {\n    name: 'SurveillanceOption',\n    id: '103013',\n    value: '12',\n    sort: 12,\n    added: 'FIX.4.3',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '204',\n    tag: 103,\n    type: 'int',\n    codeSet: 'OrdRejReasonCodeSet',\n    description: 'Surveillance option',\n  },\n  {\n    name: 'IncorrectQuantity',\n    id: '103014',\n    value: '13',\n    sort: 13,\n    added: 'FIX.4.4',\n    tag: 103,\n    type: 'int',\n    codeSet: 'OrdRejReasonCodeSet',\n    description: 'Incorrect quantity',\n  },\n  {\n    name: 'IncorrectAllocatedQuantity',\n    id: '103015',\n    value: '14',\n    sort: 14,\n    added: 'FIX.4.4',\n    tag: 103,\n    type: 'int',\n    codeSet: 'OrdRejReasonCodeSet',\n    description: 'Incorrect allocated quantity',\n  },\n  {\n    name: 'UnknownAccount',\n    id: '103016',\n    value: '15',\n    sort: 15,\n    added: 'FIX.4.4',\n    updated: 'FIX.Latest',\n    updatedEP: '290',\n    tag: 103,\n    type: 'int',\n    codeSet: 'OrdRejReasonCodeSet',\n    description:\n      'Unknown account(s)\\n\\nIn the context of IA FX Reject codes, Trade Request Rejection Category D, order rejected due to static data when the account/fund is not setup or unknown.',\n  },\n  {\n    name: 'PriceExceedsCurrentPriceBand',\n    id: '103017',\n    value: '16',\n    sort: 16,\n    added: 'FIX.5.0',\n    addedEP: '-1',\n    tag: 103,\n    type: 'int',\n    codeSet: 'OrdRejReasonCodeSet',\n    description: 'Price exceeds current price band',\n  },\n  {\n    name: 'InvalidPriceIncrement',\n    id: '103018',\n    value: '18',\n    sort: 18,\n    added: 'FIX.4.4',\n    addedEP: '6',\n    tag: 103,\n    type: 'int',\n    codeSet: 'OrdRejReasonCodeSet',\n    description: 'Invalid price increment',\n  },\n  {\n    name: 'ReferencePriceNotAvailable',\n    id: '103019',\n    value: '19',\n    sort: 19,\n    added: 'FIX.5.0SP2',\n    addedEP: '134',\n    tag: 103,\n    type: 'int',\n    codeSet: 'OrdRejReasonCodeSet',\n    description: 'Reference price not available',\n  },\n  {\n    name: 'NotionalValueExceedsThreshold',\n    id: '103020',\n    value: '20',\n    sort: 20,\n    added: 'FIX.5.0SP2',\n    addedEP: '134',\n    tag: 103,\n    type: 'int',\n    codeSet: 'OrdRejReasonCodeSet',\n    description: 'Notional value exceeds threshold',\n  },\n  {\n    name: 'AlgorithmRiskThresholdBreached',\n    id: '103021',\n    value: '21',\n    sort: 21,\n    added: 'FIX.5.0SP2',\n    addedEP: '149',\n    updated: 'FIX.Latest',\n    updatedEP: '271',\n    tag: 103,\n    type: 'int',\n    codeSet: 'OrdRejReasonCodeSet',\n    description:\n      'Algorithm risk threshold breached\\n\\nA sell-side broker algorithm has detected that a risk limit has been breached which requires further communication with the client. Used in conjunction with Text(58) to convey the details of the specific event.',\n  },\n  {\n    name: 'ShortSellNotPermitted',\n    id: '103022',\n    value: '22',\n    sort: 22,\n    added: 'FIX.5.0SP2',\n    addedEP: '164',\n    tag: 103,\n    type: 'int',\n    codeSet: 'OrdRejReasonCodeSet',\n    description: 'Short sell not permitted',\n  },\n  {\n    name: 'ShortSellSecurityPreBorrowRestriction',\n    id: '103023',\n    value: '23',\n    sort: 23,\n    added: 'FIX.5.0SP2',\n    addedEP: '164',\n    tag: 103,\n    type: 'int',\n    codeSet: 'OrdRejReasonCodeSet',\n    description: 'Short sell rejected due to security pre-borrow restriction',\n  },\n  {\n    name: 'ShortSellAccountPreBorrowRestriction',\n    id: '103024',\n    value: '24',\n    sort: 24,\n    added: 'FIX.5.0SP2',\n    addedEP: '164',\n    tag: 103,\n    type: 'int',\n    codeSet: 'OrdRejReasonCodeSet',\n    description: 'Short sell rejected due to account pre-borrow restriction',\n  },\n  {\n    name: 'InsufficientCreditLimit',\n    id: '103025',\n    value: '25',\n    sort: 25,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    updated: 'FIX.Latest',\n    updatedEP: '290',\n    tag: 103,\n    type: 'int',\n    codeSet: 'OrdRejReasonCodeSet',\n    description:\n      'Insufficient credit limit\\n\\nIn the context of IA FX Reject codes, Trade Request Rejection Category C, order rejected due to credit limit exceeded or not in place.',\n  },\n  {\n    name: 'ExceededClipSizeLimit',\n    id: '103026',\n    value: '26',\n    sort: 26,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    tag: 103,\n    type: 'int',\n    codeSet: 'OrdRejReasonCodeSet',\n    description: 'Exceeded clip size limit',\n  },\n  {\n    name: 'ExceededMaxNotionalOrderAmt',\n    id: '103027',\n    value: '27',\n    sort: 27,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    tag: 103,\n    type: 'int',\n    codeSet: 'OrdRejReasonCodeSet',\n    description: 'Exceeded maximum notional order amount',\n  },\n  {\n    name: 'ExceededDV01PV01Limit',\n    id: '103028',\n    value: '28',\n    sort: 28,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    tag: 103,\n    type: 'int',\n    codeSet: 'OrdRejReasonCodeSet',\n    description: 'Exceeded DV01/PV01 limit',\n  },\n  {\n    name: 'ExceededCS01Limit',\n    id: '103029',\n    value: '29',\n    sort: 29,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    tag: 103,\n    type: 'int',\n    codeSet: 'OrdRejReasonCodeSet',\n    description: 'Exceeded CS01 limit',\n  },\n  {\n    name: 'LastLook',\n    id: '103030',\n    value: '30',\n    sort: 30,\n    added: 'FIX.Latest',\n    addedEP: '290',\n    tag: 103,\n    type: 'int',\n    codeSet: 'OrdRejReasonCodeSet',\n    description:\n      'Last look\\n\\nIn the context of IA FX Reject codes, Trade Request Rejection Category A-1, order rejected due to a \"last look\".',\n  },\n  {\n    name: 'LastLookLatency',\n    id: '103031',\n    value: '31',\n    sort: 31,\n    added: 'FIX.Latest',\n    addedEP: '290',\n    tag: 103,\n    type: 'int',\n    codeSet: 'OrdRejReasonCodeSet',\n    description:\n      'Last look latency\\n\\nIn the context of IA FX Reject codes, Trade Request Rejection Category A-2, order rejected due to \"last look latency\", therefore price or liquidity is unavailable.',\n  },\n  {\n    name: 'UnavailablePriceLiquidity',\n    id: '103032',\n    value: '32',\n    sort: 32,\n    added: 'FIX.Latest',\n    addedEP: '290',\n    tag: 103,\n    type: 'int',\n    codeSet: 'OrdRejReasonCodeSet',\n    description:\n      'Unavailable price or liquidity\\n\\nIn the context of IA FX Reject codes, Trade Request Rejection Category B, the order was not subjected to last look but rejected due to pricing or liquidity being no longer available for execution.',\n  },\n  {\n    name: 'InvalidMissingEntitlements',\n    id: '103033',\n    value: '33',\n    sort: 33,\n    added: 'FIX.Latest',\n    addedEP: '290',\n    tag: 103,\n    type: 'int',\n    codeSet: 'OrdRejReasonCodeSet',\n    description:\n      'Invalid or missing entitlements\\n\\nIn the context of IA FX Reject codes, Trade Request Rejection Category D, order rejected due to static/reference data error where counterparty is not permissioned or entitled.',\n  },\n  {\n    name: 'Other',\n    id: '103034',\n    value: '99',\n    sort: 99,\n    added: 'FIX.4.4',\n    updated: 'FIX.Latest',\n    updatedEP: '290',\n    tag: 103,\n    type: 'int',\n    codeSet: 'OrdRejReasonCodeSet',\n    description:\n      'Other\\n\\nIn the context of IA FX Reject codes, Trade Request Rejection Category E, order rejected due to other exceptions. Further detail may be provided in RejectText(1328) or Text(58), with preference for RejectText(1328) if field is present in the message.',\n  },\n  {\n    name: 'AllOrNone',\n    id: '104001',\n    value: 'A',\n    sort: 1,\n    added: 'FIX.3.0',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '225',\n    tag: 104,\n    type: 'char',\n    codeSet: 'IOIQualifierCodeSet',\n    description: 'All or None (AON)',\n  },\n  {\n    name: 'MarketOnClose',\n    id: '104002',\n    value: 'B',\n    sort: 2,\n    added: 'FIX.4.3',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '225',\n    tag: 104,\n    type: 'char',\n    codeSet: 'IOIQualifierCodeSet',\n    description: 'Market On Close (MOC) (held to close)',\n  },\n  {\n    name: 'AtTheClose',\n    id: '104003',\n    value: 'C',\n    sort: 3,\n    added: 'FIX.3.0',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '225',\n    tag: 104,\n    type: 'char',\n    codeSet: 'IOIQualifierCodeSet',\n    description: 'At the close (around/not held to close)',\n  },\n  {\n    name: 'VWAP',\n    id: '104004',\n    value: 'D',\n    sort: 4,\n    added: 'FIX.4.3',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '225',\n    tag: 104,\n    type: 'char',\n    codeSet: 'IOIQualifierCodeSet',\n    description: 'VWAP (Volume Weighted Average Price)',\n  },\n  {\n    name: 'Axe',\n    id: '104005',\n    value: 'E',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '184',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '225',\n    tag: 104,\n    type: 'char',\n    codeSet: 'IOIQualifierCodeSet',\n    description:\n      'Axe\\n\\nIndicates that a quote is an Axe, without specifying a side preference. Mutually exclusive with F(Axe on bid) and G(Axe on offer).',\n  },\n  {\n    name: 'AxeOnBid',\n    id: '104006',\n    value: 'F',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '184',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '225',\n    tag: 104,\n    type: 'char',\n    codeSet: 'IOIQualifierCodeSet',\n    description:\n      'Axe on bid\\n\\nIndicates that a quote is an Axe, with a preference to execute on the bid side. Mutually exclusive with E(Axe) and G (Axe on offer)',\n  },\n  {\n    name: 'AxeOnOffer',\n    id: '104007',\n    value: 'G',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '184',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '225',\n    tag: 104,\n    type: 'char',\n    codeSet: 'IOIQualifierCodeSet',\n    description:\n      'Axe on offer\\n\\nIndicates that a quote is an Axe, with a preference to execute on the offer side. Mutually exclusive with E(Axe) and F (Axe on bid)',\n  },\n  {\n    name: 'ClientNaturalWorking',\n    id: '104008',\n    value: 'H',\n    sort: 8,\n    added: 'FIX.5.0SP2',\n    addedEP: '225',\n    tag: 104,\n    type: 'char',\n    codeSet: 'IOIQualifierCodeSet',\n    description:\n      'Client natural working\\n\\nWith reference to the AFME/IA Framework for Indications of Interest, this is to be used to denote IOIs of type C2 \u2013 Client Natural (Working). A client should be able to seek verification (from IOI publisher\u2019s management/compliance) that, for any C2 IOIs received, there was a corresponding live client order for at least the advertised size prior to the IOI being generated. Resulting trades are expected to be of a riskless nature.',\n  },\n  {\n    name: 'InTouchWith',\n    id: '104009',\n    value: 'I',\n    sort: 9,\n    added: 'FIX.3.0',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '225',\n    tag: 104,\n    type: 'char',\n    codeSet: 'IOIQualifierCodeSet',\n    description:\n      'In touch with\\n\\nWith reference to the AFME/IA Framework for Indications of Interest, this is to be used to denote IOIs of type P1 - Potential. Post-execution, a client should be able to seek verification (from IOI publisher\u2019s management/ compliance) that, for any P1 IOIs received and executed against, there was by time of the execution, an opposing specific client order. Resulting trades are expected to be of a riskless nature. If the anticipated client order does not materialise, and the broker elects to commit capital, this must be disclosed prior to execution.',\n  },\n  {\n    name: 'PositionWanted',\n    id: '104010',\n    value: 'J',\n    sort: 10,\n    added: 'FIX.5.0SP2',\n    addedEP: '225',\n    tag: 104,\n    type: 'char',\n    codeSet: 'IOIQualifierCodeSet',\n    description:\n      'Position wanted\\n\\nWith reference to the AFME/IA Framework for Indications of Interest, this is to be used to denote IOIs of type H2 \u2013 Position Wanted. Brokers will be likely be sourcing liquidity and therefore may advertise the size of IOI they wish; however, clients can expect the broker to honour the size of IOI shown. The presumption is that there is no intent to immediately unwind the position without notification, however, brokers may provide additional granularity to the category and may offer bilateral post trade commitments. Brokers will also offer clients a feedback mechanism.',\n  },\n  {\n    name: 'MarketMaking',\n    id: '104011',\n    value: 'K',\n    sort: 11,\n    added: 'FIX.5.0SP2',\n    addedEP: '225',\n    tag: 104,\n    type: 'char',\n    codeSet: 'IOIQualifierCodeSet',\n    description:\n      'Market making\\n\\nWith reference to the AFME/IA Framework for Indications of Interest, this is to be used to denote IOIs of type H3 \u2013 Market Making, no enforcement is required.',\n  },\n  {\n    name: 'Limit',\n    id: '104012',\n    value: 'L',\n    sort: 12,\n    added: 'FIX.3.0',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '225',\n    tag: 104,\n    type: 'char',\n    codeSet: 'IOIQualifierCodeSet',\n    description: 'Limit',\n  },\n  {\n    name: 'MoreBehind',\n    id: '104013',\n    value: 'M',\n    sort: 13,\n    added: 'FIX.3.0',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '225',\n    tag: 104,\n    type: 'char',\n    codeSet: 'IOIQualifierCodeSet',\n    description: 'More Behind',\n  },\n  {\n    name: 'ClientNaturalBlock',\n    id: '104014',\n    value: 'N',\n    sort: 14,\n    added: 'FIX.5.0SP2',\n    addedEP: '225',\n    tag: 104,\n    type: 'char',\n    codeSet: 'IOIQualifierCodeSet',\n    description:\n      'Client natural block\\n\\nWith reference to the AFME/IA Framework for Indications of Interest, this is to be used to denote IOIs of type C1 - Client Natural (Block). A client should be able to seek verification (from IOI publisher\u2019s management/compliance) that, for any C1 IOIs received, there was a corresponding live client order for at least the advertised size prior to the IOI being generated. Resulting trades are expected to be of a riskless nature.',\n  },\n  {\n    name: 'AtTheOpen',\n    id: '104015',\n    value: 'O',\n    sort: 15,\n    added: 'FIX.3.0',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '225',\n    tag: 104,\n    type: 'char',\n    codeSet: 'IOIQualifierCodeSet',\n    description: 'At the Open',\n  },\n  {\n    name: 'TakingAPosition',\n    id: '104016',\n    value: 'P',\n    sort: 16,\n    added: 'FIX.3.0',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '225',\n    tag: 104,\n    type: 'char',\n    codeSet: 'IOIQualifierCodeSet',\n    description: 'Taking a Position',\n  },\n  {\n    name: 'AtTheMarket',\n    id: '104017',\n    value: 'Q',\n    sort: 17,\n    added: 'FIX.3.0',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '225',\n    tag: 104,\n    type: 'char',\n    codeSet: 'IOIQualifierCodeSet',\n    description: 'At the Market (previously called Current Quote)',\n  },\n  {\n    name: 'ReadyToTrade',\n    id: '104018',\n    value: 'R',\n    sort: 18,\n    added: 'FIX.4.2',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '225',\n    tag: 104,\n    type: 'char',\n    codeSet: 'IOIQualifierCodeSet',\n    description: 'Ready to Trade',\n  },\n  {\n    name: 'PortfolioShown',\n    id: '104019',\n    value: 'S',\n    sort: 19,\n    added: 'FIX.3.0',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '225',\n    tag: 104,\n    type: 'char',\n    codeSet: 'IOIQualifierCodeSet',\n    description: 'Inventory or Portfolio Shown',\n  },\n  {\n    name: 'ThroughTheDay',\n    id: '104020',\n    value: 'T',\n    sort: 20,\n    added: 'FIX.3.0',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '225',\n    tag: 104,\n    type: 'char',\n    codeSet: 'IOIQualifierCodeSet',\n    description: 'Through the Day',\n  },\n  {\n    name: 'Unwind',\n    id: '104021',\n    value: 'U',\n    sort: 21,\n    added: 'FIX.5.0SP2',\n    addedEP: '225',\n    tag: 104,\n    type: 'char',\n    codeSet: 'IOIQualifierCodeSet',\n    description:\n      'Unwind\\n\\nWith reference to the AFME/IA Framework for Indications of Interest, this is to be used to denote IOIs of type H1 - Unwind. Brokers will be responsible for ensuring that the size of the IOI reflects the actual house position in the relevant business unit and should not inflate the size of the IOI. The presumption is that there is no intent to immediately replace the position without notification, however, brokers may provide additional granularity to the category and may offer bilateral post trade commitments. Brokers will also offer clients a feedback mechanism.',\n  },\n  {\n    name: 'Versus',\n    id: '104022',\n    value: 'V',\n    sort: 22,\n    added: 'FIX.3.0',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '225',\n    tag: 104,\n    type: 'char',\n    codeSet: 'IOIQualifierCodeSet',\n    description: 'Versus',\n  },\n  {\n    name: 'Indication',\n    id: '104023',\n    value: 'W',\n    sort: 23,\n    added: 'FIX.3.0',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '225',\n    tag: 104,\n    type: 'char',\n    codeSet: 'IOIQualifierCodeSet',\n    description: 'Indication - Working Away',\n  },\n  {\n    name: 'CrossingOpportunity',\n    id: '104024',\n    value: 'X',\n    sort: 24,\n    added: 'FIX.3.0',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '225',\n    tag: 104,\n    type: 'char',\n    codeSet: 'IOIQualifierCodeSet',\n    description: 'Crossing Opportunity',\n  },\n  {\n    name: 'AtTheMidpoint',\n    id: '104025',\n    value: 'Y',\n    sort: 25,\n    added: 'FIX.4.1',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '225',\n    tag: 104,\n    type: 'char',\n    codeSet: 'IOIQualifierCodeSet',\n    description: 'At the Midpoint',\n  },\n  {\n    name: 'PreOpen',\n    id: '104026',\n    value: 'Z',\n    sort: 26,\n    added: 'FIX.4.1',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '225',\n    tag: 104,\n    type: 'char',\n    codeSet: 'IOIQualifierCodeSet',\n    description: 'Pre-open',\n  },\n  {\n    name: 'QuantityNegotiable',\n    id: '104027',\n    value: '1',\n    sort: 28,\n    added: 'FIX.5.0SP2',\n    addedEP: '226',\n    tag: 104,\n    type: 'char',\n    codeSet: 'IOIQualifierCodeSet',\n    description:\n      'Quantity is negotiable\\n\\nWhen specified, the dealer may counter with a reduced quantity in its Quotes in response to QuoteRequest(35=R). All-or-none if omitted.',\n  },\n  {\n    name: 'AllowLateBids',\n    id: '104028',\n    value: '2',\n    sort: 29,\n    added: 'FIX.5.0SP2',\n    addedEP: '226',\n    tag: 104,\n    type: 'char',\n    codeSet: 'IOIQualifierCodeSet',\n    description:\n      'Allow late bids\\n\\nWhen specified in QuoteRequest(35=R) the dealer may submit quotes after curtain time has elapsed.',\n  },\n  {\n    name: 'ImmediateOrCounter',\n    id: '104029',\n    value: '3',\n    sort: 30,\n    added: 'FIX.5.0SP2',\n    addedEP: '226',\n    tag: 104,\n    type: 'char',\n    codeSet: 'IOIQualifierCodeSet',\n    description:\n      'Immediate or counter\\n\\nWhen specified, the buy-side customer is permitted to counter a firm quote during wiretime.',\n  },\n  {\n    name: 'AutoTrade',\n    id: '104030',\n    value: '4',\n    sort: 31,\n    added: 'FIX.5.0SP2',\n    addedEP: '226',\n    tag: 104,\n    type: 'char',\n    codeSet: 'IOIQualifierCodeSet',\n    description:\n      'Auto trade\\n\\nTrade is in an auto-trading mode whereby the best quote that satisfies user criteria as determined by the trading platform will be accepted automatically.',\n  },\n  {\n    name: 'AutomaticSpot',\n    id: '104031',\n    value: 'a',\n    sort: 37,\n    added: 'FIX.5.0SP2',\n    addedEP: '226',\n    tag: 104,\n    type: 'char',\n    codeSet: 'IOIQualifierCodeSet',\n    description:\n      'Automatic spot\\n\\nAt completion of price negotiation based on spread the trading platform will propose a benchmark spot price which may be filled immediately by the dealer or countered.',\n  },\n  {\n    name: 'PlatformCalculatedSpot',\n    id: '104032',\n    value: 'b',\n    sort: 38,\n    added: 'FIX.5.0SP2',\n    addedEP: '226',\n    tag: 104,\n    type: 'char',\n    codeSet: 'IOIQualifierCodeSet',\n    description:\n      'Platform calculated spot\\n\\nAt completion of price negotiation based on spread the trading platform will supply a benchmark spot price and immediately complete the trade reporting fill. There is no dealer last look.',\n  },\n  {\n    name: 'OutsideSpread',\n    id: '104033',\n    value: 'c',\n    sort: 39,\n    added: 'FIX.5.0SP2',\n    addedEP: '225',\n    tag: 104,\n    type: 'char',\n    codeSet: 'IOIQualifierCodeSet',\n    description:\n      'Outside spread\\n\\nThe IOI is identifiable outside the current bid/offer.',\n  },\n  {\n    name: 'DeferredSpot',\n    id: '104034',\n    value: 'd',\n    sort: 40,\n    added: 'FIX.5.0SP2',\n    addedEP: '226',\n    tag: 104,\n    type: 'char',\n    codeSet: 'IOIQualifierCodeSet',\n    description:\n      'Deferred spot\\n\\nAt a future time after completion of price negotiation based on spread and reported in StrikeTime(443) the trading platform will propose a benchmark spot price which may be filled immediately by the dealer or countered.',\n  },\n  {\n    name: 'NegotiatedSpot',\n    id: '104035',\n    value: 'n',\n    sort: 50,\n    added: 'FIX.5.0SP2',\n    addedEP: '226',\n    tag: 104,\n    type: 'char',\n    codeSet: 'IOIQualifierCodeSet',\n    description:\n      'Negotiated spot\\n\\nOnce price negotiation based on spread is completed negotiation of the benchmark spot price proceeds immediately.',\n  },\n  {\n    name: 'SenderReports',\n    id: '113001',\n    value: 'N',\n    sort: 1,\n    added: 'FIX.3.0',\n    tag: 113,\n    type: 'Boolean',\n    codeSet: 'ReportToExchCodeSet',\n    description: 'Indicates the party sending message will report trade',\n  },\n  {\n    name: 'ReceiverReports',\n    id: '113002',\n    value: 'Y',\n    sort: 2,\n    added: 'FIX.3.0',\n    tag: 113,\n    type: 'Boolean',\n    codeSet: 'ReportToExchCodeSet',\n    description: 'Indicates the party receiving message must report trade',\n  },\n  {\n    name: 'No',\n    id: '114001',\n    value: 'N',\n    sort: 1,\n    added: 'FIX.4.0',\n    tag: 114,\n    type: 'Boolean',\n    codeSet: 'LocateReqdCodeSet',\n    description: 'Indicates the broker is not required to locate',\n  },\n  {\n    name: 'Yes',\n    id: '114002',\n    value: 'Y',\n    sort: 2,\n    added: 'FIX.4.0',\n    tag: 114,\n    type: 'Boolean',\n    codeSet: 'LocateReqdCodeSet',\n    description: 'Indicates the broker is responsible for locating the stock',\n  },\n  {\n    name: 'DoNotExecuteForexAfterSecurityTrade',\n    id: '121001',\n    value: 'N',\n    sort: 1,\n    added: 'FIX.4.0',\n    tag: 121,\n    type: 'Boolean',\n    codeSet: 'ForexReqCodeSet',\n    description: 'Do Not Execute Forex After Security Trade',\n  },\n  {\n    name: 'ExecuteForexAfterSecurityTrade',\n    id: '121002',\n    value: 'Y',\n    sort: 2,\n    added: 'FIX.4.0',\n    tag: 121,\n    type: 'Boolean',\n    codeSet: 'ForexReqCodeSet',\n    description: 'Execute Forex After Security Trade',\n  },\n  {\n    name: 'SequenceReset',\n    id: '123001',\n    value: 'N',\n    sort: 1,\n    added: 'FIX.4.0',\n    tag: 123,\n    type: 'Boolean',\n    codeSet: 'GapFillFlagCodeSet',\n    description: 'Sequence Reset, Ignore Msg Seq Num (N/A For FIXML - Not Used)',\n  },\n  {\n    name: 'GapFillMessage',\n    id: '123002',\n    value: 'Y',\n    sort: 2,\n    added: 'FIX.4.0',\n    tag: 123,\n    type: 'Boolean',\n    codeSet: 'GapFillFlagCodeSet',\n    description: 'Gap Fill Message, Msg Seq Num Field Valid',\n  },\n  {\n    name: 'UnknownSymbol',\n    id: '127001',\n    value: 'A',\n    sort: 1,\n    added: 'FIX.4.0',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '131',\n    tag: 127,\n    type: 'char',\n    codeSet: 'DKReasonCodeSet',\n    description: 'Unknown security',\n  },\n  {\n    name: 'WrongSide',\n    id: '127002',\n    value: 'B',\n    sort: 2,\n    added: 'FIX.4.0',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '131',\n    tag: 127,\n    type: 'char',\n    codeSet: 'DKReasonCodeSet',\n    description: 'Wrong side',\n  },\n  {\n    name: 'QuantityExceedsOrder',\n    id: '127003',\n    value: 'C',\n    sort: 3,\n    added: 'FIX.4.0',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '131',\n    tag: 127,\n    type: 'char',\n    codeSet: 'DKReasonCodeSet',\n    description: 'Quantity exceeds order',\n  },\n  {\n    name: 'NoMatchingOrder',\n    id: '127004',\n    value: 'D',\n    sort: 4,\n    added: 'FIX.4.0',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '131',\n    tag: 127,\n    type: 'char',\n    codeSet: 'DKReasonCodeSet',\n    description: 'No matching order',\n  },\n  {\n    name: 'PriceExceedsLimit',\n    id: '127005',\n    value: 'E',\n    sort: 5,\n    added: 'FIX.4.0',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '131',\n    tag: 127,\n    type: 'char',\n    codeSet: 'DKReasonCodeSet',\n    description: 'Price exceeds limit',\n  },\n  {\n    name: 'CalculationDifference',\n    id: '127006',\n    value: 'F',\n    sort: 6,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '131',\n    tag: 127,\n    type: 'char',\n    codeSet: 'DKReasonCodeSet',\n    description: 'Calculation difference',\n  },\n  {\n    name: 'NoMatchingExecutionReport',\n    id: '127007',\n    value: 'G',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 127,\n    type: 'char',\n    codeSet: 'DKReasonCodeSet',\n    description: 'No matching ExecutionReport(35=8)',\n  },\n  {\n    name: 'Other',\n    id: '127008',\n    value: 'Z',\n    sort: 100,\n    added: 'FIX.4.0',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '131',\n    tag: 127,\n    type: 'char',\n    codeSet: 'DKReasonCodeSet',\n    description: 'Other',\n  },\n  {\n    name: 'NotNatural',\n    id: '130001',\n    value: 'N',\n    sort: 1,\n    added: 'FIX.4.0',\n    tag: 130,\n    type: 'Boolean',\n    codeSet: 'IOINaturalFlagCodeSet',\n    description: 'Not Natural',\n  },\n  {\n    name: 'Natural',\n    id: '130002',\n    value: 'Y',\n    sort: 2,\n    added: 'FIX.4.0',\n    tag: 130,\n    type: 'Boolean',\n    codeSet: 'IOINaturalFlagCodeSet',\n    description: 'Natural',\n  },\n  {\n    name: 'Regulatory',\n    id: '139001',\n    value: '1',\n    sort: 0,\n    added: 'FIX.4.0',\n    tag: 139,\n    type: 'String',\n    codeSet: 'MiscFeeTypeCodeSet',\n    description: 'Regulatory (e.g. SEC)',\n  },\n  {\n    name: 'Tax',\n    id: '139002',\n    value: '2',\n    sort: 1,\n    added: 'FIX.4.0',\n    tag: 139,\n    type: 'String',\n    codeSet: 'MiscFeeTypeCodeSet',\n    description: 'Tax',\n  },\n  {\n    name: 'LocalCommission',\n    id: '139003',\n    value: '3',\n    sort: 2,\n    added: 'FIX.4.0',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '204',\n    deprecated: 'FIX.5.0SP2',\n    deprecatedEP: '204',\n    tag: 139,\n    type: 'String',\n    codeSet: 'MiscFeeTypeCodeSet',\n    description:\n      'Local Commission\\n\\nDEPRECATE - use <CommissionDataGrp> component instead',\n  },\n  {\n    name: 'ExchangeFees',\n    id: '139004',\n    value: '4',\n    sort: 3,\n    added: 'FIX.4.0',\n    tag: 139,\n    type: 'String',\n    codeSet: 'MiscFeeTypeCodeSet',\n    description: 'Exchange Fees',\n  },\n  {\n    name: 'Stamp',\n    id: '139005',\n    value: '5',\n    sort: 4,\n    added: 'FIX.4.0',\n    tag: 139,\n    type: 'String',\n    codeSet: 'MiscFeeTypeCodeSet',\n    description: 'Stamp',\n  },\n  {\n    name: 'Levy',\n    id: '139006',\n    value: '6',\n    sort: 5,\n    added: 'FIX.4.0',\n    tag: 139,\n    type: 'String',\n    codeSet: 'MiscFeeTypeCodeSet',\n    description: 'Levy',\n  },\n  {\n    name: 'Other',\n    id: '139007',\n    value: '7',\n    sort: 6,\n    added: 'FIX.4.0',\n    tag: 139,\n    type: 'String',\n    codeSet: 'MiscFeeTypeCodeSet',\n    description: 'Other',\n  },\n  {\n    name: 'Markup',\n    id: '139008',\n    value: '8',\n    sort: 7,\n    added: 'FIX.4.1',\n    tag: 139,\n    type: 'String',\n    codeSet: 'MiscFeeTypeCodeSet',\n    description: 'Markup',\n  },\n  {\n    name: 'ConsumptionTax',\n    id: '139009',\n    value: '9',\n    sort: 8,\n    added: 'FIX.4.2',\n    tag: 139,\n    type: 'String',\n    codeSet: 'MiscFeeTypeCodeSet',\n    description: 'Consumption Tax',\n  },\n  {\n    name: 'PerTransaction',\n    id: '139010',\n    value: '10',\n    sort: 9,\n    added: 'FIX.4.4',\n    tag: 139,\n    type: 'String',\n    codeSet: 'MiscFeeTypeCodeSet',\n    description: 'Per transaction',\n  },\n  {\n    name: 'Conversion',\n    id: '139011',\n    value: '11',\n    sort: 10,\n    added: 'FIX.4.4',\n    tag: 139,\n    type: 'String',\n    codeSet: 'MiscFeeTypeCodeSet',\n    description: 'Conversion',\n  },\n  {\n    name: 'Agent',\n    id: '139012',\n    value: '12',\n    sort: 11,\n    added: 'FIX.4.4',\n    tag: 139,\n    type: 'String',\n    codeSet: 'MiscFeeTypeCodeSet',\n    description: 'Agent',\n  },\n  {\n    name: 'TransferFee',\n    id: '139013',\n    value: '13',\n    sort: 15,\n    added: 'FIX.4.4',\n    addedEP: '25',\n    tag: 139,\n    type: 'String',\n    codeSet: 'MiscFeeTypeCodeSet',\n    description: 'Transfer Fee',\n  },\n  {\n    name: 'SecurityLending',\n    id: '139014',\n    value: '14',\n    sort: 16,\n    added: 'FIX.4.4',\n    addedEP: '25',\n    tag: 139,\n    type: 'String',\n    codeSet: 'MiscFeeTypeCodeSet',\n    description: 'Security Lending',\n  },\n  {\n    name: 'TradeReporting',\n    id: '139015',\n    value: '15',\n    sort: 17,\n    added: 'FIX.5.0SP2',\n    addedEP: '204',\n    tag: 139,\n    type: 'String',\n    codeSet: 'MiscFeeTypeCodeSet',\n    description:\n      'Trade reporting\\n\\nTrade reporting [Elaboration: The fee charged to recover the cost of trade reporting, e.g. corporate bonds and structured products reported to FINRA TRACE.',\n  },\n  {\n    name: 'TaxOnPrincipalAmount',\n    id: '139016',\n    value: '16',\n    sort: 18,\n    added: 'FIX.5.0SP2',\n    addedEP: '204',\n    tag: 139,\n    type: 'String',\n    codeSet: 'MiscFeeTypeCodeSet',\n    description: 'Tax on principal amount',\n  },\n  {\n    name: 'TaxOnAccruedInterestAmount',\n    id: '139017',\n    value: '17',\n    sort: 19,\n    added: 'FIX.5.0SP2',\n    addedEP: '204',\n    tag: 139,\n    type: 'String',\n    codeSet: 'MiscFeeTypeCodeSet',\n    description: 'Tax on accrued interest amount',\n  },\n  {\n    name: 'NewIssuanceFee',\n    id: '139018',\n    value: '18',\n    sort: 20,\n    added: 'FIX.5.0SP2',\n    addedEP: '204',\n    tag: 139,\n    type: 'String',\n    codeSet: 'MiscFeeTypeCodeSet',\n    description: 'New issuance fee',\n  },\n  {\n    name: 'ServiceFee',\n    id: '139019',\n    value: '19',\n    sort: 21,\n    added: 'FIX.5.0SP2',\n    addedEP: '204',\n    tag: 139,\n    type: 'String',\n    codeSet: 'MiscFeeTypeCodeSet',\n    description: 'Service fee',\n  },\n  {\n    name: 'OddLotFee',\n    id: '139020',\n    value: '20',\n    sort: 22,\n    added: 'FIX.5.0SP2',\n    addedEP: '204',\n    tag: 139,\n    type: 'String',\n    codeSet: 'MiscFeeTypeCodeSet',\n    description: 'Odd lot fee',\n  },\n  {\n    name: 'AuctionFee',\n    id: '139021',\n    value: '21',\n    sort: 23,\n    added: 'FIX.5.0SP2',\n    addedEP: '204',\n    tag: 139,\n    type: 'String',\n    codeSet: 'MiscFeeTypeCodeSet',\n    description: 'Auction fee',\n  },\n  {\n    name: 'ValueAddedTax',\n    id: '139022',\n    value: '22',\n    sort: 24,\n    added: 'FIX.5.0SP2',\n    addedEP: '204',\n    tag: 139,\n    type: 'String',\n    codeSet: 'MiscFeeTypeCodeSet',\n    description: 'Value Added tax - VAT',\n  },\n  {\n    name: 'SalesTax',\n    id: '139023',\n    value: '23',\n    sort: 25,\n    added: 'FIX.5.0SP2',\n    addedEP: '204',\n    tag: 139,\n    type: 'String',\n    codeSet: 'MiscFeeTypeCodeSet',\n    description: 'Sales tax',\n  },\n  {\n    name: 'ExecutionFee',\n    id: '139024',\n    value: '24',\n    sort: 26,\n    added: 'FIX.5.0SP2',\n    addedEP: '231',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '236',\n    tag: 139,\n    type: 'String',\n    codeSet: 'MiscFeeTypeCodeSet',\n    description: 'Execution venue fee',\n  },\n  {\n    name: 'OrderEntryFee',\n    id: '139025',\n    value: '25',\n    sort: 27,\n    added: 'FIX.5.0SP2',\n    addedEP: '231',\n    tag: 139,\n    type: 'String',\n    codeSet: 'MiscFeeTypeCodeSet',\n    description:\n      'Order or quote entry fee\\n\\nOrder or quote submission fees per transaction.',\n  },\n  {\n    name: 'OrderModificationFee',\n    id: '139026',\n    value: '26',\n    sort: 28,\n    added: 'FIX.5.0SP2',\n    addedEP: '231',\n    tag: 139,\n    type: 'String',\n    codeSet: 'MiscFeeTypeCodeSet',\n    description:\n      'Order or quote modification fee\\n\\nOrder or quote modification fees per transaction.',\n  },\n  {\n    name: 'OrdersCancellationFee',\n    id: '139027',\n    value: '27',\n    sort: 29,\n    added: 'FIX.5.0SP2',\n    addedEP: '231',\n    tag: 139,\n    type: 'String',\n    codeSet: 'MiscFeeTypeCodeSet',\n    description:\n      'Orders or quote cancellation fee\\n\\nOrder or quote cancellation fees per transaction.',\n  },\n  {\n    name: 'MarketDataAccessFee',\n    id: '139028',\n    value: '28',\n    sort: 30,\n    added: 'FIX.5.0SP2',\n    addedEP: '231',\n    tag: 139,\n    type: 'String',\n    codeSet: 'MiscFeeTypeCodeSet',\n    description: 'Market data access fee\\n\\nFee for market data access.',\n  },\n  {\n    name: 'MarketDataTerminalFee',\n    id: '139029',\n    value: '29',\n    sort: 31,\n    added: 'FIX.5.0SP2',\n    addedEP: '231',\n    tag: 139,\n    type: 'String',\n    codeSet: 'MiscFeeTypeCodeSet',\n    description: 'Market data terminal fee\\n\\nFee for market data terminal.',\n  },\n  {\n    name: 'MarketDataVolumeFee',\n    id: '139030',\n    value: '30',\n    sort: 32,\n    added: 'FIX.5.0SP2',\n    addedEP: '231',\n    tag: 139,\n    type: 'String',\n    codeSet: 'MiscFeeTypeCodeSet',\n    description: 'Market data volume fee\\n\\nFee for market data per volume group.',\n  },\n  {\n    name: 'ClearingFee',\n    id: '139031',\n    value: '31',\n    sort: 33,\n    added: 'FIX.5.0SP2',\n    addedEP: '231',\n    tag: 139,\n    type: 'String',\n    codeSet: 'MiscFeeTypeCodeSet',\n    description: 'Clearing fee\\n\\nFee for clearing of trades.',\n  },\n  {\n    name: 'SettlementFee',\n    id: '139032',\n    value: '32',\n    sort: 34,\n    added: 'FIX.5.0SP2',\n    addedEP: '231',\n    tag: 139,\n    type: 'String',\n    codeSet: 'MiscFeeTypeCodeSet',\n    description: 'Settlement fee\\n\\nFee for settlement of trades.',\n  },\n  {\n    name: 'Rebates',\n    id: '139033',\n    value: '33',\n    sort: 35,\n    added: 'FIX.5.0SP2',\n    addedEP: '231',\n    tag: 139,\n    type: 'String',\n    codeSet: 'MiscFeeTypeCodeSet',\n    description: 'Rebates\\n\\nRebates offered to the client.',\n  },\n  {\n    name: 'Discounts',\n    id: '139034',\n    value: '34',\n    sort: 36,\n    added: 'FIX.5.0SP2',\n    addedEP: '231',\n    tag: 139,\n    type: 'String',\n    codeSet: 'MiscFeeTypeCodeSet',\n    description: 'Discounts\\n\\nDiscounts offered to the client.',\n  },\n  {\n    name: 'Payments',\n    id: '139035',\n    value: '35',\n    sort: 37,\n    added: 'FIX.5.0SP2',\n    addedEP: '231',\n    tag: 139,\n    type: 'String',\n    codeSet: 'MiscFeeTypeCodeSet',\n    description: 'Payments\\n\\nOther benefits offered to the client.',\n  },\n  {\n    name: 'NonMonetaryPayments',\n    id: '139036',\n    value: '36',\n    sort: 38,\n    added: 'FIX.5.0SP2',\n    addedEP: '231',\n    tag: 139,\n    type: 'String',\n    codeSet: 'MiscFeeTypeCodeSet',\n    description: 'Non-monetary payments\\n\\nNon-monetary benefits offered to the client.',\n  },\n  {\n    name: 'No',\n    id: '141001',\n    value: 'N',\n    sort: 1,\n    added: 'FIX.4.1',\n    tag: 141,\n    type: 'Boolean',\n    codeSet: 'ResetSeqNumFlagCodeSet',\n    description: 'No',\n  },\n  {\n    name: 'Yes',\n    id: '141002',\n    value: 'Y',\n    sort: 2,\n    added: 'FIX.4.1',\n    tag: 141,\n    type: 'Boolean',\n    codeSet: 'ResetSeqNumFlagCodeSet',\n    description: 'Yes, reset sequence numbers',\n  },\n  {\n    name: 'New',\n    id: '150001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.1',\n    tag: 150,\n    type: 'char',\n    codeSet: 'ExecTypeCodeSet',\n    description: 'New',\n  },\n  {\n    name: 'DoneForDay',\n    id: '150002',\n    value: '3',\n    sort: 2,\n    added: 'FIX.4.1',\n    tag: 150,\n    type: 'char',\n    codeSet: 'ExecTypeCodeSet',\n    description: 'Done for day',\n  },\n  {\n    name: 'Canceled',\n    id: '150003',\n    value: '4',\n    sort: 3,\n    added: 'FIX.4.1',\n    tag: 150,\n    type: 'char',\n    codeSet: 'ExecTypeCodeSet',\n    description: 'Canceled',\n  },\n  {\n    name: 'Replaced',\n    id: '150004',\n    value: '5',\n    sort: 4,\n    added: 'FIX.4.1',\n    tag: 150,\n    type: 'char',\n    codeSet: 'ExecTypeCodeSet',\n    description: 'Replaced',\n  },\n  {\n    name: 'PendingCancel',\n    id: '150005',\n    value: '6',\n    sort: 5,\n    added: 'FIX.4.1',\n    tag: 150,\n    type: 'char',\n    codeSet: 'ExecTypeCodeSet',\n    description: 'Pending Cancel (e.g. result of Order Cancel Request)',\n  },\n  {\n    name: 'Stopped',\n    id: '150006',\n    value: '7',\n    sort: 6,\n    added: 'FIX.4.1',\n    tag: 150,\n    type: 'char',\n    codeSet: 'ExecTypeCodeSet',\n    description: 'Stopped',\n  },\n  {\n    name: 'Rejected',\n    id: '150007',\n    value: '8',\n    sort: 7,\n    added: 'FIX.4.1',\n    tag: 150,\n    type: 'char',\n    codeSet: 'ExecTypeCodeSet',\n    description: 'Rejected',\n  },\n  {\n    name: 'Suspended',\n    id: '150008',\n    value: '9',\n    sort: 8,\n    added: 'FIX.4.1',\n    tag: 150,\n    type: 'char',\n    codeSet: 'ExecTypeCodeSet',\n    description: 'Suspended',\n  },\n  {\n    name: 'PendingNew',\n    id: '150009',\n    value: 'A',\n    sort: 9,\n    added: 'FIX.4.1',\n    tag: 150,\n    type: 'char',\n    codeSet: 'ExecTypeCodeSet',\n    description: 'Pending New',\n  },\n  {\n    name: 'Calculated',\n    id: '150010',\n    value: 'B',\n    sort: 10,\n    added: 'FIX.4.1',\n    tag: 150,\n    type: 'char',\n    codeSet: 'ExecTypeCodeSet',\n    description: 'Calculated',\n  },\n  {\n    name: 'Expired',\n    id: '150011',\n    value: 'C',\n    sort: 11,\n    added: 'FIX.4.1',\n    tag: 150,\n    type: 'char',\n    codeSet: 'ExecTypeCodeSet',\n    description: 'Expired',\n  },\n  {\n    name: 'Restated',\n    id: '150012',\n    value: 'D',\n    sort: 12,\n    added: 'FIX.4.2',\n    tag: 150,\n    type: 'char',\n    codeSet: 'ExecTypeCodeSet',\n    description:\n      'Restated (Execution Report sent unsolicited by sellside, with ExecRestatementReason (378) set)',\n  },\n  {\n    name: 'PendingReplace',\n    id: '150013',\n    value: 'E',\n    sort: 13,\n    added: 'FIX.4.2',\n    tag: 150,\n    type: 'char',\n    codeSet: 'ExecTypeCodeSet',\n    description: 'Pending Replace (e.g. result of Order Cancel/Replace Request)',\n  },\n  {\n    name: 'Trade',\n    id: '150014',\n    value: 'F',\n    sort: 14,\n    added: 'FIX.4.3',\n    tag: 150,\n    type: 'char',\n    codeSet: 'ExecTypeCodeSet',\n    description: 'Trade (partial fill or fill)',\n  },\n  {\n    name: 'TradeCorrect',\n    id: '150015',\n    value: 'G',\n    sort: 15,\n    added: 'FIX.4.3',\n    tag: 150,\n    type: 'char',\n    codeSet: 'ExecTypeCodeSet',\n    description: 'Trade Correct',\n  },\n  {\n    name: 'TradeCancel',\n    id: '150016',\n    value: 'H',\n    sort: 16,\n    added: 'FIX.4.3',\n    tag: 150,\n    type: 'char',\n    codeSet: 'ExecTypeCodeSet',\n    description: 'Trade Cancel',\n  },\n  {\n    name: 'OrderStatus',\n    id: '150017',\n    value: 'I',\n    sort: 17,\n    added: 'FIX.4.3',\n    tag: 150,\n    type: 'char',\n    codeSet: 'ExecTypeCodeSet',\n    description: 'Order Status',\n  },\n  {\n    name: 'TradeInAClearingHold',\n    id: '150018',\n    value: 'J',\n    sort: 18,\n    added: 'FIX.4.4',\n    addedEP: '5',\n    tag: 150,\n    type: 'char',\n    codeSet: 'ExecTypeCodeSet',\n    description: 'Trade in a Clearing Hold',\n  },\n  {\n    name: 'TradeHasBeenReleasedToClearing',\n    id: '150019',\n    value: 'K',\n    sort: 19,\n    added: 'FIX.4.4',\n    addedEP: '5',\n    tag: 150,\n    type: 'char',\n    codeSet: 'ExecTypeCodeSet',\n    description: 'Trade has been released to Clearing',\n  },\n  {\n    name: 'TriggeredOrActivatedBySystem',\n    id: '150020',\n    value: 'L',\n    sort: 20,\n    added: 'FIX.4.4',\n    addedEP: '22',\n    tag: 150,\n    type: 'char',\n    codeSet: 'ExecTypeCodeSet',\n    description: 'Triggered or Activated by System',\n  },\n  {\n    name: 'Locked',\n    id: '150021',\n    value: 'M',\n    sort: 21,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 150,\n    type: 'char',\n    codeSet: 'ExecTypeCodeSet',\n    description: 'Locked',\n  },\n  {\n    name: 'Released',\n    id: '150022',\n    value: 'N',\n    sort: 22,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 150,\n    type: 'char',\n    codeSet: 'ExecTypeCodeSet',\n    description: 'Released',\n  },\n  {\n    name: 'Multiply',\n    id: '156001',\n    value: 'M',\n    sort: 1,\n    added: 'FIX.4.4',\n    addedEP: '38',\n    tag: 156,\n    type: 'char',\n    codeSet: 'SettlCurrFxRateCalcCodeSet',\n    description: 'Multiply',\n  },\n  {\n    name: 'Divide',\n    id: '156002',\n    value: 'D',\n    sort: 2,\n    added: 'FIX.4.4',\n    addedEP: '38',\n    tag: 156,\n    type: 'char',\n    codeSet: 'SettlCurrFxRateCalcCodeSet',\n    description: 'Divide',\n  },\n  {\n    name: 'Default',\n    id: '160001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.1',\n    deprecated: 'FIX.Latest',\n    deprecatedEP: '271',\n    tag: 160,\n    type: 'char',\n    codeSet: 'SettlInstModeCodeSet',\n    description: 'Default (Replaced)',\n  },\n  {\n    name: 'StandingInstructionsProvided',\n    id: '160002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.1',\n    tag: 160,\n    type: 'char',\n    codeSet: 'SettlInstModeCodeSet',\n    description: 'Standing Instructions Provided',\n  },\n  {\n    name: 'SpecificAllocationAccountOverriding',\n    id: '160003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.4.1',\n    deprecated: 'FIX.Latest',\n    deprecatedEP: '271',\n    tag: 160,\n    type: 'char',\n    codeSet: 'SettlInstModeCodeSet',\n    description: 'Specific Allocation Account Overriding (Replaced)',\n  },\n  {\n    name: 'SpecificAllocationAccountStanding',\n    id: '160004',\n    value: '3',\n    sort: 4,\n    added: 'FIX.4.1',\n    deprecated: 'FIX.Latest',\n    deprecatedEP: '271',\n    tag: 160,\n    type: 'char',\n    codeSet: 'SettlInstModeCodeSet',\n    description: 'Specific Allocation Account Standing (Replaced)',\n  },\n  {\n    name: 'SpecificOrderForASingleAccount',\n    id: '160005',\n    value: '4',\n    sort: 5,\n    added: 'FIX.4.3',\n    tag: 160,\n    type: 'char',\n    codeSet: 'SettlInstModeCodeSet',\n    description: 'Specific Order for a single account (for CIV)',\n  },\n  {\n    name: 'RequestReject',\n    id: '160006',\n    value: '5',\n    sort: 6,\n    added: 'FIX.4.4',\n    tag: 160,\n    type: 'char',\n    codeSet: 'SettlInstModeCodeSet',\n    description: 'Request reject',\n  },\n  {\n    name: 'New',\n    id: '163001',\n    value: 'N',\n    sort: 1,\n    added: 'FIX.4.1',\n    tag: 163,\n    type: 'char',\n    codeSet: 'SettlInstTransTypeCodeSet',\n    description: 'New',\n  },\n  {\n    name: 'Cancel',\n    id: '163002',\n    value: 'C',\n    sort: 2,\n    added: 'FIX.4.1',\n    tag: 163,\n    type: 'char',\n    codeSet: 'SettlInstTransTypeCodeSet',\n    description: 'Cancel',\n  },\n  {\n    name: 'Replace',\n    id: '163003',\n    value: 'R',\n    sort: 3,\n    added: 'FIX.4.1',\n    tag: 163,\n    type: 'char',\n    codeSet: 'SettlInstTransTypeCodeSet',\n    description: 'Replace',\n  },\n  {\n    name: 'Restate',\n    id: '163004',\n    value: 'T',\n    sort: 4,\n    added: 'FIX.4.4',\n    tag: 163,\n    type: 'char',\n    codeSet: 'SettlInstTransTypeCodeSet',\n    description: 'Restate',\n  },\n  {\n    name: 'BrokerCredit',\n    id: '165001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.1',\n    tag: 165,\n    type: 'char',\n    codeSet: 'SettlInstSourceCodeSet',\n    description: \"Broker's Instructions\",\n  },\n  {\n    name: 'Institution',\n    id: '165002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.1',\n    tag: 165,\n    type: 'char',\n    codeSet: 'SettlInstSourceCodeSet',\n    description: \"Institution's Instructions\",\n  },\n  {\n    name: 'Investor',\n    id: '165003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.3',\n    tag: 165,\n    type: 'char',\n    codeSet: 'SettlInstSourceCodeSet',\n    description: 'Investor (e.g. CIV use)',\n  },\n  {\n    name: 'USTreasuryNoteOld',\n    id: '167001',\n    value: 'UST',\n    sort: 3,\n    added: 'FIX.4.3',\n    deprecated: 'FIX.4.4',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'US Treasury Note (Deprecated Value Use TNOTE)',\n  },\n  {\n    name: 'USTreasuryBillOld',\n    id: '167002',\n    value: 'USTB',\n    sort: 4,\n    added: 'FIX.4.1',\n    deprecated: 'FIX.4.4',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'US Treasury Bill (Deprecated Value Use TBILL)',\n  },\n  {\n    name: 'EuroSupranationalCoupons',\n    id: '167003',\n    value: 'EUSUPRA',\n    sort: 0,\n    group: 'Agency',\n    added: 'FIX.4.4',\n    updated: 'FIX.Latest',\n    updatedEP: '272',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Euro Supranational Coupons\\n\\nIdentify the issuer name in Issuer(106).',\n  },\n  {\n    name: 'FederalAgencyCoupon',\n    id: '167004',\n    value: 'FAC',\n    sort: 1,\n    group: 'Agency',\n    added: 'FIX.4.3',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Federal Agency Coupon',\n  },\n  {\n    name: 'FederalAgencyDiscountNote',\n    id: '167005',\n    value: 'FADN',\n    sort: 2,\n    group: 'Agency',\n    added: 'FIX.4.3',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Federal Agency Discount Note',\n  },\n  {\n    name: 'PrivateExportFunding',\n    id: '167006',\n    value: 'PEF',\n    sort: 3,\n    group: 'Agency',\n    added: 'FIX.4.3',\n    updated: 'FIX.Latest',\n    updatedEP: '272',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Private Export Funding\\n\\nIdentify the issuer name in Issuer(106).',\n  },\n  {\n    name: 'USDSupranationalCoupons',\n    id: '167007',\n    value: 'SUPRA',\n    sort: 4,\n    group: 'Agency',\n    added: 'FIX.4.4',\n    updated: 'FIX.Latest',\n    updatedEP: '272',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'USD Supranational Coupons\\n\\nIdentify the issuer name in Issuer(106).',\n  },\n  {\n    name: 'CorporateBond',\n    id: '167008',\n    value: 'CORP',\n    sort: 0,\n    group: 'Corporate',\n    added: 'FIX.4.1',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Corporate Bond',\n  },\n  {\n    name: 'CorporatePrivatePlacement',\n    id: '167009',\n    value: 'CPP',\n    sort: 1,\n    group: 'Corporate',\n    added: 'FIX.4.1',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Corporate Private Placement',\n  },\n  {\n    name: 'ConvertibleBond',\n    id: '167010',\n    value: 'CB',\n    sort: 2,\n    group: 'Corporate',\n    added: 'FIX.4.2',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Convertible Bond',\n  },\n  {\n    name: 'DualCurrency',\n    id: '167011',\n    value: 'DUAL',\n    sort: 3,\n    group: 'Corporate',\n    added: 'FIX.4.3',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Dual Currency',\n  },\n  {\n    name: 'EuroCorporateBond',\n    id: '167012',\n    value: 'EUCORP',\n    sort: 4,\n    group: 'Corporate',\n    added: 'FIX.4.4',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Euro Corporate Bond',\n  },\n  {\n    name: 'EuroCorporateFloatingRateNotes',\n    id: '167013',\n    value: 'EUFRN',\n    sort: 5,\n    group: 'Corporate',\n    added: 'FIX.5.0',\n    addedEP: '68',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Euro Corporate Floating Rate Notes',\n  },\n  {\n    name: 'USCorporateFloatingRateNotes',\n    id: '167014',\n    value: 'FRN',\n    sort: 6,\n    group: 'Corporate',\n    added: 'FIX.5.0',\n    addedEP: '68',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'US Corporate Floating Rate Notes',\n  },\n  {\n    name: 'IndexedLinked',\n    id: '167015',\n    value: 'XLINKD',\n    sort: 7,\n    group: 'Corporate',\n    added: 'FIX.4.3',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Indexed Linked',\n  },\n  {\n    name: 'StructuredNotes',\n    id: '167016',\n    value: 'STRUCT',\n    sort: 8,\n    group: 'Corporate',\n    added: 'FIX.4.3',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Structured Notes',\n  },\n  {\n    name: 'YankeeCorporateBond',\n    id: '167017',\n    value: 'YANK',\n    sort: 9,\n    group: 'Corporate',\n    added: 'FIX.4.3',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Yankee Corporate Bond',\n  },\n  {\n    name: 'OffshoreIssuedChineseYuanCorporateBond',\n    id: '167018',\n    value: 'DIMSUMCORP',\n    sort: 10,\n    group: 'Corporate',\n    added: 'FIX.Latest',\n    addedEP: '272',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Offshore issued Chinese Yuan (CNY) denominated corporate bond',\n  },\n  {\n    name: 'PreferredCorporateBond',\n    id: '167019',\n    value: 'PRCORP',\n    sort: 11,\n    group: 'Corporate',\n    added: 'FIX.Latest',\n    addedEP: '272',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Preferred Corporate Bond',\n  },\n  {\n    name: 'ForeignExchangeContract',\n    id: '167020',\n    value: 'FOR',\n    sort: 0,\n    group: 'Currency',\n    added: 'FIX.4.1',\n    deprecated: 'FIX.5.0SP1',\n    deprecatedEP: '82',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Foreign Exchange Contract',\n  },\n  {\n    name: 'NonDeliverableForward',\n    id: '167021',\n    value: 'FXNDF',\n    sort: 1,\n    group: 'Currency',\n    added: 'FIX.5.0SP1',\n    addedEP: '82',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Non-deliverable forward',\n  },\n  {\n    name: 'FXSpot',\n    id: '167022',\n    value: 'FXSPOT',\n    sort: 2,\n    group: 'Currency',\n    added: 'FIX.5.0SP1',\n    addedEP: '82',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'FX Spot',\n  },\n  {\n    name: 'FXForward',\n    id: '167023',\n    value: 'FXFWD',\n    sort: 3,\n    group: 'Currency',\n    added: 'FIX.5.0SP1',\n    addedEP: '82',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'FX Forward',\n  },\n  {\n    name: 'FXSwap',\n    id: '167024',\n    value: 'FXSWAP',\n    sort: 4,\n    group: 'Currency',\n    added: 'FIX.5.0SP1',\n    addedEP: '82',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'FX Swap',\n  },\n  {\n    name: 'NonDeliverableSwap',\n    id: '167025',\n    value: 'FXNDS',\n    sort: 5,\n    group: 'Currency',\n    added: 'FIX.5.0SP2',\n    addedEP: '235',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Non-deliverable Swap',\n  },\n  {\n    name: 'FXBankNote',\n    id: '167026',\n    value: 'FXBN',\n    sort: 6,\n    group: 'Currency',\n    added: 'FIX.Latest',\n    addedEP: '272',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'FX Bank Note',\n  },\n  {\n    name: 'ForeignCurrencyDiscountNote',\n    id: '167027',\n    value: 'FXDN',\n    sort: 7,\n    group: 'Currency',\n    added: 'FIX.Latest',\n    addedEP: '272',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description:\n      'Foreign Currency Discount Note\\n\\nDiscount notes issued in foreign currency by Fannie Mae.',\n  },\n  {\n    name: 'Cap',\n    id: '167028',\n    value: 'CAP',\n    sort: 1,\n    group: 'Derivatives',\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description:\n      'Cap\\n\\nIn an interest rate cap, the buyer receives payments at the end of each period in which the rate indec exceeds the agreed strike rate.',\n  },\n  {\n    name: 'CreditDefaultSwap',\n    id: '167029',\n    value: 'CDS',\n    sort: 2,\n    group: 'Derivatives',\n    added: 'FIX.5.0',\n    addedEP: '68',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '169',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Credit Default Swap',\n  },\n  {\n    name: 'Collar',\n    id: '167030',\n    value: 'CLLR',\n    sort: 3,\n    group: 'Derivatives',\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description:\n      'Collar\\n\\nIn an interest rate collar, this is a combination of a cap and a floor.',\n  },\n  {\n    name: 'CommoditySwap',\n    id: '167031',\n    value: 'CMDTYSWAP',\n    sort: 4,\n    group: 'Derivatives',\n    added: 'FIX.5.0SP2',\n    addedEP: '140',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '169',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Commodity swap',\n  },\n  {\n    name: 'Exotic',\n    id: '167032',\n    value: 'EXOTIC',\n    sort: 5,\n    group: 'Derivatives',\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Exotic',\n  },\n  {\n    name: 'OptionsOnCombo',\n    id: '167033',\n    value: 'OOC',\n    sort: 6,\n    group: 'Derivatives',\n    added: 'FIX.5.0',\n    addedEP: '-1',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Options on Combo',\n  },\n  {\n    name: 'Floor',\n    id: '167034',\n    value: 'FLR',\n    sort: 6,\n    group: 'Derivatives',\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description:\n      'Floor\\n\\nIn an interest rate floor, the buyer receives payments at the end of each period in which the rate index is below the agreed strike rate.',\n  },\n  {\n    name: 'FRA',\n    id: '167035',\n    value: 'FRA',\n    sort: 7,\n    group: 'Derivatives',\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Forward Rate Agreement',\n  },\n  {\n    name: 'Future',\n    id: '167036',\n    value: 'FUT',\n    sort: 8,\n    group: 'Derivatives',\n    added: 'FIX.4.1',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '169',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Future',\n  },\n  {\n    name: 'DerivativeForward',\n    id: '167037',\n    value: 'FWD',\n    sort: 9,\n    group: 'Derivatives',\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '169',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Derivative forward',\n  },\n  {\n    name: 'InterestRateSwap',\n    id: '167038',\n    value: 'IRS',\n    sort: 10,\n    group: 'Derivatives',\n    added: 'FIX.5.0',\n    addedEP: '54',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '169',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Interest Rate Swap',\n  },\n  {\n    name: 'TotalReturnSwap',\n    id: '167039',\n    value: 'TRS',\n    sort: 10,\n    group: 'Derivatives',\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Total return swap',\n  },\n  {\n    name: 'LoanLease',\n    id: '167040',\n    value: 'LOANLEASE',\n    sort: 11,\n    group: 'Derivatives',\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Loan/lease',\n  },\n  {\n    name: 'OptionsOnFutures',\n    id: '167041',\n    value: 'OOF',\n    sort: 13,\n    group: 'Derivatives',\n    added: 'FIX.4.4',\n    addedEP: '19',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '169',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Options on Futures',\n  },\n  {\n    name: 'OptionsOnPhysical',\n    id: '167042',\n    value: 'OOP',\n    sort: 14,\n    group: 'Derivatives',\n    added: 'FIX.4.4',\n    addedEP: '19',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '169',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Options on Physical - use not recommended',\n  },\n  {\n    name: 'Option',\n    id: '167043',\n    value: 'OPT',\n    sort: 15,\n    group: 'Derivatives',\n    added: 'FIX.4.1',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '169',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Option',\n  },\n  {\n    name: 'SpotForward',\n    id: '167044',\n    value: 'SPOTFWD',\n    sort: 16,\n    group: 'Derivatives',\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Spot forward',\n  },\n  {\n    name: 'SwapOption',\n    id: '167045',\n    value: 'SWAPTION',\n    sort: 17,\n    group: 'Derivatives',\n    added: 'FIX.5.0SP2',\n    addedEP: '140',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '187',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Swap option',\n  },\n  {\n    name: 'Transmission',\n    id: '167046',\n    value: 'XMISSION',\n    sort: 18,\n    group: 'Derivatives',\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Transmission',\n  },\n  {\n    name: 'Index',\n    id: '167047',\n    value: 'INDEX',\n    sort: 19,\n    group: 'Derivatives',\n    added: 'FIX.5.0SP2',\n    addedEP: '179',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'General type for a contract based on an established index',\n  },\n  {\n    name: 'BondBasket',\n    id: '167048',\n    value: 'BDBSKT',\n    sort: 20,\n    group: 'Derivatives',\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Bond basket',\n  },\n  {\n    name: 'ContractForDifference',\n    id: '167049',\n    value: 'CFD',\n    sort: 21,\n    group: 'Derivatives',\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Contract for difference',\n  },\n  {\n    name: 'CorrelationSwap',\n    id: '167050',\n    value: 'CRLTNSWAP',\n    sort: 22,\n    group: 'Derivatives',\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Correlation swap',\n  },\n  {\n    name: 'DiviendSwap',\n    id: '167051',\n    value: 'DVDNDSWAP',\n    sort: 23,\n    group: 'Derivatives',\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Dividend swap',\n  },\n  {\n    name: 'EquityBasket',\n    id: '167052',\n    value: 'EQBSKT',\n    sort: 24,\n    group: 'Derivatives',\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Equity basket',\n  },\n  {\n    name: 'EquityForward',\n    id: '167053',\n    value: 'EQFWD',\n    sort: 25,\n    group: 'Derivatives',\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Equity forward',\n  },\n  {\n    name: 'ReturnSwap',\n    id: '167054',\n    value: 'RTRNSWAP',\n    sort: 26,\n    group: 'Derivatives',\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Return swap',\n  },\n  {\n    name: 'VarianceSwap',\n    id: '167055',\n    value: 'VARSWAP',\n    sort: 27,\n    group: 'Derivatives',\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Variance swap',\n  },\n  {\n    name: 'PortfolioSwaps',\n    id: '167056',\n    value: 'PRTFLIOSWAP',\n    sort: 28,\n    group: 'Derivatives',\n    added: 'FIX.5.0SP2',\n    addedEP: '235',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '238',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Portfolio swap',\n  },\n  {\n    name: 'FuturesOnASwap',\n    id: '167057',\n    value: 'FUTSWAP',\n    sort: 29,\n    group: 'Derivatives',\n    added: 'FIX.5.0SP2',\n    addedEP: '235',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Futures on a Swap',\n  },\n  {\n    name: 'ForwardsOnASwap',\n    id: '167058',\n    value: 'FWDSWAP',\n    sort: 30,\n    group: 'Derivatives',\n    added: 'FIX.5.0SP2',\n    addedEP: '235',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Forwards on a Swap',\n  },\n  {\n    name: 'ForwardFreightAgreement',\n    id: '167059',\n    value: 'FWDFRTAGMT',\n    sort: 31,\n    group: 'Derivatives',\n    added: 'FIX.5.0SP2',\n    addedEP: '235',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Forward Freight Agreement',\n  },\n  {\n    name: 'SpreadBetting',\n    id: '167060',\n    value: 'SPREADBET',\n    sort: 32,\n    group: 'Derivatives',\n    added: 'FIX.5.0SP2',\n    addedEP: '235',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Spread Betting',\n  },\n  {\n    name: 'ExchangeTradedCommodity',\n    id: '167061',\n    value: 'ETC',\n    sort: 33,\n    group: 'Derivatives',\n    added: 'FIX.5.0SP2',\n    addedEP: '238',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Exchange traded commodity',\n  },\n  {\n    name: 'CommonStock',\n    id: '167062',\n    value: 'CS',\n    sort: 0,\n    group: 'Equity',\n    added: 'FIX.4.1',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Common Stock',\n  },\n  {\n    name: 'PreferredStock',\n    id: '167063',\n    value: 'PS',\n    sort: 1,\n    group: 'Equity',\n    added: 'FIX.4.1',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Preferred Stock',\n  },\n  {\n    name: 'DepositoryReceipts',\n    id: '167064',\n    value: 'DR',\n    sort: 2,\n    group: 'Equity',\n    added: 'FIX.5.0SP2',\n    addedEP: '236',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Depository Receipts',\n  },\n  {\n    name: 'Repurchase',\n    id: '167065',\n    value: 'REPO',\n    sort: 0,\n    group: 'Financing',\n    added: 'FIX.4.4',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Repurchase',\n  },\n  {\n    name: 'Forward',\n    id: '167066',\n    value: 'FORWARD',\n    sort: 1,\n    group: 'Financing',\n    added: 'FIX.4.4',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Forward',\n  },\n  {\n    name: 'BuySellback',\n    id: '167067',\n    value: 'BUYSELL',\n    sort: 2,\n    group: 'Financing',\n    added: 'FIX.4.4',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Buy Sellback',\n  },\n  {\n    name: 'SecuritiesLoan',\n    id: '167068',\n    value: 'SECLOAN',\n    sort: 3,\n    group: 'Financing',\n    added: 'FIX.4.4',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Securities Loan',\n  },\n  {\n    name: 'SecuritiesPledge',\n    id: '167069',\n    value: 'SECPLEDGE',\n    sort: 4,\n    group: 'Financing',\n    added: 'FIX.4.4',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Securities Pledge',\n  },\n  {\n    name: 'DeliveryVersusPledge',\n    id: '167070',\n    value: 'DVPLDG',\n    sort: 5,\n    group: 'Financing',\n    added: 'FIX.5.0SP2',\n    addedEP: '132',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Delivery versus pledge',\n  },\n  {\n    name: 'CollateralBasket',\n    id: '167071',\n    value: 'COLLBSKT',\n    sort: 6,\n    group: 'Financing',\n    added: 'FIX.5.0SP2',\n    addedEP: '197',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description:\n      \"Collateral basket\\n\\nA collection of securities held as collateral in the customer's collateral fund. The collateral fund is usually managed by a custodian.\",\n  },\n  {\n    name: 'StructuredFinanceProduct',\n    id: '167072',\n    value: 'SFP',\n    sort: 7,\n    group: 'Financing',\n    added: 'FIX.5.0SP2',\n    addedEP: '238',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Structured finance product',\n  },\n  {\n    name: 'MarginLoan',\n    id: '167073',\n    value: 'MRGNLOAN',\n    sort: 9,\n    group: 'Financing',\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Margin loan',\n  },\n  {\n    name: 'BradyBond',\n    id: '167074',\n    value: 'BRADY',\n    sort: 0,\n    group: 'Government',\n    added: 'FIX.4.3',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Brady Bond',\n  },\n  {\n    name: 'CanadianTreasuryNotes',\n    id: '167075',\n    value: 'CAN',\n    sort: 1,\n    group: 'Government',\n    added: 'FIX.5.0',\n    addedEP: '68',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Canadian Treasury Notes',\n  },\n  {\n    name: 'CanadianTreasuryBills',\n    id: '167076',\n    value: 'CTB',\n    sort: 2,\n    group: 'Government',\n    added: 'FIX.5.0',\n    addedEP: '68',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Canadian Treasury Bills',\n  },\n  {\n    name: 'EuroSovereigns',\n    id: '167077',\n    value: 'EUSOV',\n    sort: 3,\n    group: 'Government',\n    added: 'FIX.4.4',\n    updated: 'FIX.Latest',\n    updatedEP: '272',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Euro Sovereigns\\n\\nIdentify the issuer name in Issuer(106).',\n  },\n  {\n    name: 'CanadianProvincialBonds',\n    id: '167078',\n    value: 'PROV',\n    sort: 4,\n    group: 'Government',\n    added: 'FIX.5.0',\n    addedEP: '68',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Canadian Provincial Bonds',\n  },\n  {\n    name: 'TreasuryBill',\n    id: '167079',\n    value: 'TB',\n    sort: 5,\n    group: 'Government',\n    added: 'FIX.5.0',\n    addedEP: '68',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Treasury Bill - non US',\n  },\n  {\n    name: 'USTreasuryBond',\n    id: '167080',\n    value: 'TBOND',\n    sort: 6,\n    group: 'Government',\n    added: 'FIX.4.3',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'US Treasury Bond',\n  },\n  {\n    name: 'InterestStripFromAnyBondOrNote',\n    id: '167081',\n    value: 'TINT',\n    sort: 7,\n    group: 'Government',\n    added: 'FIX.4.3',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Interest Strip From Any Bond Or Note',\n  },\n  {\n    name: 'USTreasuryBill',\n    id: '167082',\n    value: 'TBILL',\n    sort: 8,\n    group: 'Government',\n    added: 'FIX.4.4',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'US Treasury Bill',\n  },\n  {\n    name: 'TreasuryInflationProtectedSecurities',\n    id: '167083',\n    value: 'TIPS',\n    sort: 8,\n    group: 'Government',\n    added: 'FIX.4.3',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Treasury Inflation Protected Securities',\n  },\n  {\n    name: 'PrincipalStripOfACallableBondOrNote',\n    id: '167084',\n    value: 'TCAL',\n    sort: 9,\n    group: 'Government',\n    added: 'FIX.4.3',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Principal Strip Of A Callable Bond Or Note',\n  },\n  {\n    name: 'PrincipalStripFromANonCallableBondOrNote',\n    id: '167085',\n    value: 'TPRN',\n    sort: 10,\n    group: 'Government',\n    added: 'FIX.4.3',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Principal Strip From A Non-Callable Bond Or Note',\n  },\n  {\n    name: 'USTreasuryNote',\n    id: '167086',\n    value: 'TNOTE',\n    sort: 11,\n    group: 'Government',\n    added: 'FIX.4.4',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'US Treasury Note',\n  },\n  {\n    name: 'OffshoreIssuedChineseYuanSovereignBond',\n    id: '167087',\n    value: 'DIMSUMSOV',\n    sort: 12,\n    group: 'Government',\n    added: 'FIX.Latest',\n    addedEP: '272',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Offshore issued Chinese Yuan (CNY) denominated sovereign bond',\n  },\n  {\n    name: 'SovereignBond',\n    id: '167088',\n    value: 'SOV',\n    sort: 13,\n    group: 'Government',\n    added: 'FIX.Latest',\n    addedEP: '272',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description:\n      'Sovereign Bond\\n\\nSovereign or government bond other than Euro and US issuer. Specify sovereign issuer in Issuer(106).',\n  },\n  {\n    name: 'USTreasuryFloatingRateNote',\n    id: '167089',\n    value: 'TFRN',\n    sort: 14,\n    group: 'Government',\n    added: 'FIX.Latest',\n    addedEP: '272',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'US Treasury Floating Rate Note',\n  },\n  {\n    name: 'TermLoan',\n    id: '167090',\n    value: 'TERM',\n    sort: 0,\n    group: 'Loan',\n    added: 'FIX.4.3',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Term Loan',\n  },\n  {\n    name: 'RevolverLoan',\n    id: '167091',\n    value: 'RVLV',\n    sort: 1,\n    group: 'Loan',\n    added: 'FIX.4.3',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Revolver Loan',\n  },\n  {\n    name: 'Revolver',\n    id: '167092',\n    value: 'RVLVTRM',\n    sort: 2,\n    group: 'Loan',\n    added: 'FIX.4.3',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Revolver/Term Loan',\n  },\n  {\n    name: 'BridgeLoan',\n    id: '167093',\n    value: 'BRIDGE',\n    sort: 3,\n    group: 'Loan',\n    added: 'FIX.4.3',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Bridge Loan',\n  },\n  {\n    name: 'LetterOfCredit',\n    id: '167094',\n    value: 'LOFC',\n    sort: 4,\n    group: 'Loan',\n    added: 'FIX.4.3',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Letter Of Credit',\n  },\n  {\n    name: 'SwingLineFacility',\n    id: '167095',\n    value: 'SWING',\n    sort: 5,\n    group: 'Loan',\n    added: 'FIX.4.3',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Swing Line Facility',\n  },\n  {\n    name: 'DebtorInPossession',\n    id: '167096',\n    value: 'DINP',\n    sort: 6,\n    group: 'Loan',\n    added: 'FIX.4.3',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Debtor In Possession',\n  },\n  {\n    name: 'Defaulted',\n    id: '167097',\n    value: 'DEFLTED',\n    sort: 7,\n    group: 'Loan',\n    added: 'FIX.4.3',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Defaulted',\n  },\n  {\n    name: 'Withdrawn',\n    id: '167098',\n    value: 'WITHDRN',\n    sort: 8,\n    group: 'Loan',\n    added: 'FIX.4.3',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Withdrawn',\n  },\n  {\n    name: 'Replaced',\n    id: '167099',\n    value: 'REPLACD',\n    sort: 9,\n    group: 'Loan',\n    added: 'FIX.4.3',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Replaced',\n  },\n  {\n    name: 'Matured',\n    id: '167100',\n    value: 'MATURED',\n    sort: 10,\n    group: 'Loan',\n    added: 'FIX.4.3',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Matured',\n  },\n  {\n    name: 'Amended',\n    id: '167101',\n    value: 'AMENDED',\n    sort: 11,\n    group: 'Loan',\n    added: 'FIX.4.3',\n    updated: 'FIX.Latest',\n    updatedEP: '272',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Amended and restated',\n  },\n  {\n    name: 'Retired',\n    id: '167102',\n    value: 'RETIRED',\n    sort: 12,\n    group: 'Loan',\n    added: 'FIX.4.3',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Retired',\n  },\n  {\n    name: 'BankersAcceptance',\n    id: '167103',\n    value: 'BA',\n    sort: 0,\n    group: 'Money Market',\n    added: 'FIX.4.1',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Bankers Acceptance',\n  },\n  {\n    name: 'BankDepositoryNote',\n    id: '167104',\n    value: 'BDN',\n    sort: 1,\n    group: 'Money Market',\n    added: 'FIX.5.0',\n    addedEP: '68',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Bank Depository Note',\n  },\n  {\n    name: 'BankNotes',\n    id: '167105',\n    value: 'BN',\n    sort: 2,\n    group: 'Money Market',\n    added: 'FIX.4.3',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Bank Notes',\n  },\n  {\n    name: 'BillOfExchanges',\n    id: '167106',\n    value: 'BOX',\n    sort: 3,\n    group: 'Money Market',\n    added: 'FIX.4.3',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Bill Of Exchanges',\n  },\n  {\n    name: 'CanadianMoneyMarkets',\n    id: '167107',\n    value: 'CAMM',\n    sort: 4,\n    group: 'Money Market',\n    added: 'FIX.5.0',\n    addedEP: '68',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Canadian Money Markets',\n  },\n  {\n    name: 'CertificateOfDeposit',\n    id: '167108',\n    value: 'CD',\n    sort: 5,\n    group: 'Money Market',\n    added: 'FIX.4.1',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Certificate Of Deposit',\n  },\n  {\n    name: 'CallLoans',\n    id: '167109',\n    value: 'CL',\n    sort: 6,\n    group: 'Money Market',\n    added: 'FIX.4.3',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Call Loans',\n  },\n  {\n    name: 'CommercialPaper',\n    id: '167110',\n    value: 'CP',\n    sort: 7,\n    group: 'Money Market',\n    added: 'FIX.4.1',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Commercial Paper',\n  },\n  {\n    name: 'DepositNotes',\n    id: '167111',\n    value: 'DN',\n    sort: 8,\n    group: 'Money Market',\n    added: 'FIX.4.3',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Deposit Notes',\n  },\n  {\n    name: 'EuroCertificateOfDeposit',\n    id: '167112',\n    value: 'EUCD',\n    sort: 9,\n    group: 'Money Market',\n    added: 'FIX.4.4',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Euro Certificate Of Deposit',\n  },\n  {\n    name: 'EuroCommercialPaper',\n    id: '167113',\n    value: 'EUCP',\n    sort: 10,\n    group: 'Money Market',\n    added: 'FIX.4.4',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Euro Commercial Paper',\n  },\n  {\n    name: 'LiquidityNote',\n    id: '167114',\n    value: 'LQN',\n    sort: 11,\n    group: 'Money Market',\n    added: 'FIX.4.3',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Liquidity Note',\n  },\n  {\n    name: 'MediumTermNotes',\n    id: '167115',\n    value: 'MTN',\n    sort: 12,\n    group: 'Money Market',\n    added: 'FIX.4.3',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Medium Term Notes',\n  },\n  {\n    name: 'Overnight',\n    id: '167116',\n    value: 'ONITE',\n    sort: 13,\n    group: 'Money Market',\n    added: 'FIX.4.3',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Overnight',\n  },\n  {\n    name: 'PromissoryNote',\n    id: '167117',\n    value: 'PN',\n    sort: 14,\n    group: 'Money Market',\n    added: 'FIX.4.3',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Promissory Note',\n  },\n  {\n    name: 'ShortTermLoanNote',\n    id: '167118',\n    value: 'STN',\n    sort: 14,\n    group: 'Money Market',\n    added: 'FIX.4.3',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Short Term Loan Note',\n  },\n  {\n    name: 'PlazosFijos',\n    id: '167119',\n    value: 'PZFJ',\n    sort: 15,\n    group: 'Money Market',\n    added: 'FIX.4.3',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Plazos Fijos',\n  },\n  {\n    name: 'SecuredLiquidityNote',\n    id: '167120',\n    value: 'SLQN',\n    sort: 16,\n    group: 'Money Market',\n    added: 'FIX.5.0',\n    addedEP: '68',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Secured Liquidity Note',\n  },\n  {\n    name: 'TimeDeposit',\n    id: '167121',\n    value: 'TD',\n    sort: 17,\n    group: 'Money Market',\n    added: 'FIX.4.1',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Time Deposit',\n  },\n  {\n    name: 'TermLiquidityNote',\n    id: '167122',\n    value: 'TLQN',\n    sort: 19,\n    group: 'Money Market',\n    added: 'FIX.5.0',\n    addedEP: '68',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Term Liquidity Note',\n  },\n  {\n    name: 'ExtendedCommNote',\n    id: '167123',\n    value: 'XCN',\n    sort: 20,\n    group: 'Money Market',\n    added: 'FIX.4.3',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Extended Comm Note',\n  },\n  {\n    name: 'YankeeCertificateOfDeposit',\n    id: '167124',\n    value: 'YCD',\n    sort: 21,\n    group: 'Money Market',\n    added: 'FIX.4.4',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Yankee Certificate Of Deposit',\n  },\n  {\n    name: 'BankAcceptedBill',\n    id: '167125',\n    value: 'BAB',\n    sort: 22,\n    group: 'Money Market',\n    added: 'FIX.Latest',\n    addedEP: '272',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Bank Accepted Bill\\n\\nAlso known as Bank Bill.',\n  },\n  {\n    name: 'ShortTermBankNote',\n    id: '167126',\n    value: 'BNST',\n    sort: 23,\n    group: 'Money Market',\n    added: 'FIX.Latest',\n    addedEP: '272',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Short Term Bank Note',\n  },\n  {\n    name: 'CallableCommercialPaper',\n    id: '167127',\n    value: 'CLCP',\n    sort: 24,\n    group: 'Money Market',\n    added: 'FIX.Latest',\n    addedEP: '272',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Callable Commercial Paper',\n  },\n  {\n    name: 'CommercialNote',\n    id: '167128',\n    value: 'CN',\n    sort: 25,\n    group: 'Money Market',\n    added: 'FIX.Latest',\n    addedEP: '272',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Commercial Note',\n  },\n  {\n    name: 'InterestBearingCommercialPaper',\n    id: '167129',\n    value: 'CPIB',\n    sort: 26,\n    group: 'Money Market',\n    added: 'FIX.Latest',\n    addedEP: '272',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Interest Bearing Commercial Paper',\n  },\n  {\n    name: 'EuroMediumTermNote',\n    id: '167130',\n    value: 'EUMTN',\n    sort: 27,\n    group: 'Money Market',\n    added: 'FIX.Latest',\n    addedEP: '272',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Euro Medium Term Note',\n  },\n  {\n    name: 'EuroNegotiableCommercialPaper',\n    id: '167131',\n    value: 'EUNCP',\n    sort: 28,\n    group: 'Money Market',\n    added: 'FIX.Latest',\n    addedEP: '272',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Euro Negotiable Commercial Paper',\n  },\n  {\n    name: 'EuroStructuredLiquidityNote',\n    id: '167132',\n    value: 'EUSTLQN',\n    sort: 29,\n    group: 'Money Market',\n    added: 'FIX.Latest',\n    addedEP: '272',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Euro Structured Liquidity Note',\n  },\n  {\n    name: 'EuroTimeDeposit',\n    id: '167133',\n    value: 'EUTD',\n    sort: 30,\n    group: 'Money Market',\n    added: 'FIX.Latest',\n    addedEP: '272',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Euro Time Deposit',\n  },\n  {\n    name: 'JumboCertificateOfDeposit',\n    id: '167134',\n    value: 'JCD',\n    sort: 31,\n    group: 'Money Market',\n    added: 'FIX.Latest',\n    addedEP: '272',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Jumbo Certificate of Deposit',\n  },\n  {\n    name: 'MoneyMarketFund',\n    id: '167135',\n    value: 'MMF',\n    sort: 32,\n    group: 'Money Market',\n    added: 'FIX.Latest',\n    addedEP: '272',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Money Market Fund',\n  },\n  {\n    name: 'MasterNote',\n    id: '167136',\n    value: 'MN',\n    sort: 33,\n    group: 'Money Market',\n    added: 'FIX.Latest',\n    addedEP: '272',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description:\n      'Master Note\\n\\nShort term notes issued by Federal Farm Credit Banks Funding Corporation to provide loans and funding under Federal Farm Credit System (FFCS).',\n  },\n  {\n    name: 'NegotiableCertificateOfDeposit',\n    id: '167137',\n    value: 'NCD',\n    sort: 34,\n    group: 'Money Market',\n    added: 'FIX.Latest',\n    addedEP: '272',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Negotiable Certificate of Deposit',\n  },\n  {\n    name: 'NegotiableCommercialPaper',\n    id: '167138',\n    value: 'NCP',\n    sort: 35,\n    group: 'Money Market',\n    added: 'FIX.Latest',\n    addedEP: '272',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Negotiable Commercial Paper',\n  },\n  {\n    name: 'RetailCertificateOfDeposit',\n    id: '167139',\n    value: 'RCD',\n    sort: 36,\n    group: 'Money Market',\n    added: 'FIX.Latest',\n    addedEP: '272',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Retail Certificate of Deposit',\n  },\n  {\n    name: 'TermDepositReceipt',\n    id: '167140',\n    value: 'TDR',\n    sort: 37,\n    group: 'Money Market',\n    added: 'FIX.Latest',\n    addedEP: '272',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Term Deposit Receipt',\n  },\n  {\n    name: 'AssetBackedSecurities',\n    id: '167141',\n    value: 'ABS',\n    sort: 0,\n    group: 'Mortgage',\n    added: 'FIX.4.3',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Asset-backed Securities',\n  },\n  {\n    name: 'CanadianMortgageBonds',\n    id: '167142',\n    value: 'CMB',\n    sort: 1,\n    group: 'Mortgage',\n    added: 'FIX.5.0',\n    addedEP: '68',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Canadian Mortgage Bonds',\n  },\n  {\n    name: 'Corp',\n    id: '167143',\n    value: 'CMBS',\n    sort: 2,\n    group: 'Mortgage',\n    added: 'FIX.4.3',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Corp. Mortgage-backed Securities',\n  },\n  {\n    name: 'CollateralizedMortgageObligation',\n    id: '167144',\n    value: 'CMO',\n    sort: 3,\n    group: 'Mortgage',\n    added: 'FIX.4.1',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Collateralized Mortgage Obligation',\n  },\n  {\n    name: 'IOETTEMortgage',\n    id: '167145',\n    value: 'IET',\n    sort: 4,\n    group: 'Mortgage',\n    added: 'FIX.4.2',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'IOETTE Mortgage',\n  },\n  {\n    name: 'MortgageBackedSecurities',\n    id: '167146',\n    value: 'MBS',\n    sort: 5,\n    group: 'Mortgage',\n    added: 'FIX.4.3',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Mortgage-backed Securities',\n  },\n  {\n    name: 'MortgageInterestOnly',\n    id: '167147',\n    value: 'MIO',\n    sort: 6,\n    group: 'Mortgage',\n    added: 'FIX.4.1',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Mortgage Interest Only',\n  },\n  {\n    name: 'MortgagePrincipalOnly',\n    id: '167148',\n    value: 'MPO',\n    sort: 7,\n    group: 'Mortgage',\n    added: 'FIX.4.1',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Mortgage Principal Only',\n  },\n  {\n    name: 'MortgagePrivatePlacement',\n    id: '167149',\n    value: 'MPP',\n    sort: 8,\n    group: 'Mortgage',\n    added: 'FIX.4.1',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Mortgage Private Placement',\n  },\n  {\n    name: 'MiscellaneousPassThrough',\n    id: '167150',\n    value: 'MPT',\n    sort: 9,\n    group: 'Mortgage',\n    added: 'FIX.4.1',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Miscellaneous Pass-through',\n  },\n  {\n    name: 'Pfandbrief',\n    id: '167151',\n    value: 'PFAND',\n    sort: 10,\n    group: 'Mortgage',\n    added: 'FIX.4.4',\n    updated: 'FIX.Latest',\n    updatedEP: '272',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Pfandbrief\\n\\nIdentify the issuer name in Issuer(106).',\n  },\n  {\n    name: 'ToBeAnnounced',\n    id: '167152',\n    value: 'TBA',\n    sort: 11,\n    group: 'Mortgage',\n    added: 'FIX.4.3',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'To Be Announced',\n  },\n  {\n    name: 'OtherAnticipationNotes',\n    id: '167153',\n    value: 'AN',\n    sort: 0,\n    group: 'Municipal',\n    added: 'FIX.4.3',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Other Anticipation Notes (BAN, GAN, etc.)',\n  },\n  {\n    name: 'CertificateOfObligation',\n    id: '167154',\n    value: 'COFO',\n    sort: 1,\n    group: 'Municipal',\n    added: 'FIX.4.3',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Certificate Of Obligation',\n  },\n  {\n    name: 'CertificateOfParticipation',\n    id: '167155',\n    value: 'COFP',\n    sort: 2,\n    group: 'Municipal',\n    added: 'FIX.4.3',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Certificate Of Participation',\n  },\n  {\n    name: 'GeneralObligationBonds',\n    id: '167156',\n    value: 'GO',\n    sort: 3,\n    group: 'Municipal',\n    added: 'FIX.4.3',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'General Obligation Bonds',\n  },\n  {\n    name: 'MandatoryTender',\n    id: '167157',\n    value: 'MT',\n    sort: 4,\n    group: 'Municipal',\n    added: 'FIX.4.3',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Mandatory Tender',\n  },\n  {\n    name: 'RevenueAnticipationNote',\n    id: '167158',\n    value: 'RAN',\n    sort: 5,\n    group: 'Municipal',\n    added: 'FIX.4.3',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Revenue Anticipation Note',\n  },\n  {\n    name: 'RevenueBonds',\n    id: '167159',\n    value: 'REV',\n    sort: 6,\n    group: 'Municipal',\n    added: 'FIX.4.3',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Revenue Bonds',\n  },\n  {\n    name: 'SpecialAssessment',\n    id: '167160',\n    value: 'SPCLA',\n    sort: 7,\n    group: 'Municipal',\n    added: 'FIX.4.3',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Special Assessment',\n  },\n  {\n    name: 'SpecialObligation',\n    id: '167161',\n    value: 'SPCLO',\n    sort: 8,\n    group: 'Municipal',\n    added: 'FIX.4.3',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Special Obligation',\n  },\n  {\n    name: 'SpecialTax',\n    id: '167162',\n    value: 'SPCLT',\n    sort: 9,\n    group: 'Municipal',\n    added: 'FIX.4.3',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Special Tax',\n  },\n  {\n    name: 'TaxAnticipationNote',\n    id: '167163',\n    value: 'TAN',\n    sort: 10,\n    group: 'Municipal',\n    added: 'FIX.4.3',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Tax Anticipation Note',\n  },\n  {\n    name: 'TaxAllocation',\n    id: '167164',\n    value: 'TAXA',\n    sort: 11,\n    group: 'Municipal',\n    added: 'FIX.4.3',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Tax Allocation',\n  },\n  {\n    name: 'TaxExemptCommercialPaper',\n    id: '167165',\n    value: 'TECP',\n    sort: 12,\n    group: 'Municipal',\n    added: 'FIX.4.3',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Tax Exempt Commercial Paper',\n  },\n  {\n    name: 'TaxableMunicipalCP',\n    id: '167166',\n    value: 'TMCP',\n    sort: 13,\n    group: 'Municipal',\n    added: 'FIX.5.0',\n    addedEP: '68',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Taxable Municipal CP',\n  },\n  {\n    name: 'TaxRevenueAnticipationNote',\n    id: '167167',\n    value: 'TRAN',\n    sort: 14,\n    group: 'Municipal',\n    added: 'FIX.4.3',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Tax Revenue Anticipation Note',\n  },\n  {\n    name: 'VariableRateDemandNote',\n    id: '167168',\n    value: 'VRDN',\n    sort: 15,\n    group: 'Municipal',\n    added: 'FIX.4.3',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Variable Rate Demand Note',\n  },\n  {\n    name: 'Warrant',\n    id: '167169',\n    value: 'WAR',\n    sort: 16,\n    group: 'Municipal',\n    added: 'FIX.4.1',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Warrant',\n  },\n  {\n    name: 'MunicipalInterestBearingCommercialPaper',\n    id: '167170',\n    value: 'MCPIB',\n    sort: 17,\n    group: 'Municipal',\n    added: 'FIX.Latest',\n    addedEP: '272',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Municipal Interest Bearing Commercial Paper',\n  },\n  {\n    name: 'TaxableMunicipalBond',\n    id: '167171',\n    value: 'TMB',\n    sort: 18,\n    group: 'Municipal',\n    added: 'FIX.Latest',\n    addedEP: '272',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Taxable Municipal Bond',\n  },\n  {\n    name: 'VariableRateDemandObligation',\n    id: '167172',\n    value: 'VRDO',\n    sort: 19,\n    group: 'Municipal',\n    added: 'FIX.Latest',\n    addedEP: '272',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Variable Rate Demand Obligation',\n  },\n  {\n    name: 'MutualFund',\n    id: '167173',\n    value: 'MF',\n    sort: 0,\n    group: 'Other',\n    added: 'FIX.4.1',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Mutual Fund',\n  },\n  {\n    name: 'MultilegInstrument',\n    id: '167174',\n    value: 'MLEG',\n    sort: 1,\n    group: 'Other',\n    added: 'FIX.4.3',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Multileg Instrument',\n  },\n  {\n    name: 'NoSecurityType',\n    id: '167175',\n    value: 'NONE',\n    sort: 2,\n    group: 'Other',\n    added: 'FIX.4.1',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'No Security Type',\n  },\n  {\n    name: 'Wildcard',\n    id: '167176',\n    value: '?',\n    sort: 5,\n    group: 'Other',\n    added: 'FIX.4.2',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Wildcard entry for use on Security Definition Request',\n  },\n  {\n    name: 'Cash',\n    id: '167177',\n    value: 'CASH',\n    sort: 6,\n    group: 'Other',\n    added: 'FIX.4.4',\n    addedEP: '28',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Cash',\n  },\n  {\n    name: 'Other',\n    id: '167178',\n    value: 'Other',\n    sort: 7,\n    group: 'Other',\n    added: 'FIX.5.0SP2',\n    addedEP: '235',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Other',\n  },\n  {\n    name: 'ExchangeTradedNote',\n    id: '167179',\n    value: 'ETN',\n    sort: 8,\n    group: 'Other',\n    added: 'FIX.5.0SP2',\n    addedEP: '238',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Exchange traded note',\n  },\n  {\n    name: 'SecuritizedDerivative',\n    id: '167180',\n    value: 'SECDERIV',\n    sort: 10,\n    group: 'Other',\n    added: 'FIX.5.0SP2',\n    addedEP: '238',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Securitized derivative',\n  },\n  {\n    name: 'ExchangeTradedFund',\n    id: '167181',\n    value: 'ETF',\n    sort: 11,\n    group: 'Other',\n    added: 'FIX.Latest',\n    addedEP: '272',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description: 'Exchange Traded Fund',\n  },\n  {\n    name: 'DigitalAsset',\n    id: '167182',\n    value: 'DIGITAL',\n    sort: 12,\n    group: 'Other',\n    added: 'FIX.Latest',\n    addedEP: '273',\n    tag: 167,\n    type: 'String',\n    codeSet: 'SecurityTypeCodeSet',\n    description:\n      'Digital Asset\\n\\nAsset that exists only in digital form or which is the digital representation of another asset (Source: ISO 24165 - Terms and Definitions).',\n  },\n  {\n    name: 'Other',\n    id: '169001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.1',\n    tag: 169,\n    type: 'int',\n    codeSet: 'StandInstDbTypeCodeSet',\n    description: 'Other',\n  },\n  {\n    name: 'DTCSID',\n    id: '169002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.1',\n    tag: 169,\n    type: 'int',\n    codeSet: 'StandInstDbTypeCodeSet',\n    description: 'DTC SID',\n  },\n  {\n    name: 'ThomsonALERT',\n    id: '169003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.4.1',\n    tag: 169,\n    type: 'int',\n    codeSet: 'StandInstDbTypeCodeSet',\n    description: 'Thomson ALERT',\n  },\n  {\n    name: 'AGlobalCustodian',\n    id: '169004',\n    value: '3',\n    sort: 4,\n    added: 'FIX.4.1',\n    tag: 169,\n    type: 'int',\n    codeSet: 'StandInstDbTypeCodeSet',\n    description: 'A Global Custodian (StandInstDBName (70) must be provided)',\n  },\n  {\n    name: 'AccountNet',\n    id: '169005',\n    value: '4',\n    sort: 5,\n    added: 'FIX.4.4',\n    tag: 169,\n    type: 'int',\n    codeSet: 'StandInstDbTypeCodeSet',\n    description: 'AccountNet',\n  },\n  {\n    name: 'Versus',\n    id: '172001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.4',\n    addedEP: '35',\n    tag: 172,\n    type: 'int',\n    codeSet: 'SettlDeliveryTypeCodeSet',\n    description:\n      '\"Versus. Payment\": Deliver (if Sell) or Receive (if Buy) vs. (Against) Payment',\n  },\n  {\n    name: 'Free',\n    id: '172002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.4',\n    addedEP: '35',\n    tag: 172,\n    type: 'int',\n    codeSet: 'SettlDeliveryTypeCodeSet',\n    description: '\"Free\": Deliver (if Sell) or Receive (if Buy) Free',\n  },\n  {\n    name: 'TriParty',\n    id: '172003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.4.4',\n    addedEP: '35',\n    tag: 172,\n    type: 'int',\n    codeSet: 'SettlDeliveryTypeCodeSet',\n    description: 'Tri-Party',\n  },\n  {\n    name: 'HoldInCustody',\n    id: '172004',\n    value: '3',\n    sort: 4,\n    added: 'FIX.4.4',\n    addedEP: '35',\n    tag: 172,\n    type: 'int',\n    codeSet: 'SettlDeliveryTypeCodeSet',\n    description: 'Hold In Custody',\n  },\n  {\n    name: 'FXNetting',\n    id: '197001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.1',\n    tag: 197,\n    type: 'int',\n    codeSet: 'AllocLinkTypeCodeSet',\n    description: 'FX Netting',\n  },\n  {\n    name: 'FXSwap',\n    id: '197002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.1',\n    tag: 197,\n    type: 'int',\n    codeSet: 'AllocLinkTypeCodeSet',\n    description: 'FX Swap',\n  },\n  {\n    name: 'Put',\n    id: '201001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.1',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '238',\n    tag: 201,\n    type: 'int',\n    codeSet: 'PutOrCallCodeSet',\n    description:\n      'Put\\n\\nAlso used for the case in which the buyer of a Swaption has the right to enter into an IRS contract as a fixed-rate receiver or into a CDS contract as a seller of protection or for the case of a Floor.',\n  },\n  {\n    name: 'Call',\n    id: '201002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.1',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '238',\n    tag: 201,\n    type: 'int',\n    codeSet: 'PutOrCallCodeSet',\n    description:\n      'Call\\n\\nAlso used for the case in which the buyer of a Swaption has the right to enter into an IRS contract as a fixed-rate payer or into a CDS contract as a buyer of protection or for the case of a Cap.',\n  },\n  {\n    name: 'Other',\n    id: '201003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '232',\n    tag: 201,\n    type: 'int',\n    codeSet: 'PutOrCallCodeSet',\n    description:\n      'Other\\n\\nIn the context of ESMA RTS 22 reporting, this value may be used when, at the time of execution, the option right cannot be determined.',\n  },\n  {\n    name: 'Chooser',\n    id: '201004',\n    value: '3',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '238',\n    tag: 201,\n    type: 'int',\n    codeSet: 'PutOrCallCodeSet',\n    description:\n      'Chooser\\n\\nIndicates that the option buyer may choose to buy or sell the underlying security on exercise or if a Swaption to pay or receive the underlying IRS cash flow stream or to buy or sell CDS protection.',\n  },\n  {\n    name: 'Covered',\n    id: '203001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.1',\n    tag: 203,\n    type: 'int',\n    codeSet: 'CoveredOrUncoveredCodeSet',\n    description: 'Covered',\n  },\n  {\n    name: 'Uncovered',\n    id: '203002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.1',\n    tag: 203,\n    type: 'int',\n    codeSet: 'CoveredOrUncoveredCodeSet',\n    description: 'Uncovered',\n  },\n  {\n    name: 'DetailsShouldNotBeCommunicated',\n    id: '208001',\n    value: 'N',\n    sort: 1,\n    added: 'FIX.4.1',\n    tag: 208,\n    type: 'Boolean',\n    codeSet: 'NotifyBrokerOfCreditCodeSet',\n    description: 'Details should not be communicated',\n  },\n  {\n    name: 'DetailsShouldBeCommunicated',\n    id: '208002',\n    value: 'Y',\n    sort: 2,\n    added: 'FIX.4.1',\n    tag: 208,\n    type: 'Boolean',\n    codeSet: 'NotifyBrokerOfCreditCodeSet',\n    description: 'Details should be communicated',\n  },\n  {\n    name: 'Match',\n    id: '209001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.1',\n    tag: 209,\n    type: 'int',\n    codeSet: 'AllocHandlInstCodeSet',\n    description: 'Match',\n  },\n  {\n    name: 'Forward',\n    id: '209002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.1',\n    tag: 209,\n    type: 'int',\n    codeSet: 'AllocHandlInstCodeSet',\n    description: 'Forward',\n  },\n  {\n    name: 'ForwardAndMatch',\n    id: '209003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.1',\n    tag: 209,\n    type: 'int',\n    codeSet: 'AllocHandlInstCodeSet',\n    description: 'Forward and Match',\n  },\n  {\n    name: 'AutoClaimGiveUp',\n    id: '209004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '245',\n    tag: 209,\n    type: 'int',\n    codeSet: 'AllocHandlInstCodeSet',\n    description:\n      'Auto claim give-up\\n\\nIndicates that the give-up and take-up party are the same and that trade give-up is to be claimed automatically.',\n  },\n  {\n    name: 'TargetFirm',\n    id: '216001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.2',\n    tag: 216,\n    type: 'int',\n    codeSet: 'RoutingTypeCodeSet',\n    description: 'Target Firm',\n  },\n  {\n    name: 'TargetList',\n    id: '216002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.2',\n    tag: 216,\n    type: 'int',\n    codeSet: 'RoutingTypeCodeSet',\n    description: 'Target List',\n  },\n  {\n    name: 'BlockFirm',\n    id: '216003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.2',\n    tag: 216,\n    type: 'int',\n    codeSet: 'RoutingTypeCodeSet',\n    description: 'Block Firm',\n  },\n  {\n    name: 'BlockList',\n    id: '216004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.4.2',\n    tag: 216,\n    type: 'int',\n    codeSet: 'RoutingTypeCodeSet',\n    description: 'Block List',\n  },\n  {\n    name: 'TargetPerson',\n    id: '216005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '194',\n    tag: 216,\n    type: 'int',\n    codeSet: 'RoutingTypeCodeSet',\n    description: 'Target Person',\n  },\n  {\n    name: 'BlockPerson',\n    id: '216006',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '194',\n    tag: 216,\n    type: 'int',\n    codeSet: 'RoutingTypeCodeSet',\n    description: 'Block Person',\n  },\n  {\n    name: 'EONIA',\n    id: '221001',\n    value: 'EONIA',\n    sort: 1,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 221,\n    type: 'String',\n    codeSet: 'BenchmarkCurveNameCodeSet',\n    description: 'EONIA',\n  },\n  {\n    name: 'EUREPO',\n    id: '221002',\n    value: 'EUREPO',\n    sort: 2,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 221,\n    type: 'String',\n    codeSet: 'BenchmarkCurveNameCodeSet',\n    description: 'EUREPO',\n  },\n  {\n    name: 'Euribor',\n    id: '221003',\n    value: 'Euribor',\n    sort: 3,\n    added: 'FIX.4.3',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '132',\n    deprecated: 'FIX.5.0SP2',\n    deprecatedEP: '132',\n    tag: 221,\n    type: 'String',\n    codeSet: 'BenchmarkCurveNameCodeSet',\n    description:\n      'EURIBOR (deprecated use enum EURIBOR instead)\\n\\nDeprecated use of EURIBOR for the enumeration.',\n  },\n  {\n    name: 'FutureSWAP',\n    id: '221004',\n    value: 'FutureSWAP',\n    sort: 4,\n    added: 'FIX.4.3',\n    tag: 221,\n    type: 'String',\n    codeSet: 'BenchmarkCurveNameCodeSet',\n    description: 'FutureSWAP',\n  },\n  {\n    name: 'LIBID',\n    id: '221005',\n    value: 'LIBID',\n    sort: 5,\n    added: 'FIX.4.3',\n    tag: 221,\n    type: 'String',\n    codeSet: 'BenchmarkCurveNameCodeSet',\n    description: 'LIBID',\n  },\n  {\n    name: 'LIBOR',\n    id: '221006',\n    value: 'LIBOR',\n    sort: 6,\n    added: 'FIX.4.3',\n    tag: 221,\n    type: 'String',\n    codeSet: 'BenchmarkCurveNameCodeSet',\n    description: 'LIBOR (London Inter-Bank Offer)',\n  },\n  {\n    name: 'MuniAAA',\n    id: '221007',\n    value: 'MuniAAA',\n    sort: 7,\n    added: 'FIX.4.3',\n    tag: 221,\n    type: 'String',\n    codeSet: 'BenchmarkCurveNameCodeSet',\n    description: 'MuniAAA',\n  },\n  {\n    name: 'OTHER',\n    id: '221008',\n    value: 'OTHER',\n    sort: 8,\n    added: 'FIX.4.3',\n    tag: 221,\n    type: 'String',\n    codeSet: 'BenchmarkCurveNameCodeSet',\n    description: 'OTHER',\n  },\n  {\n    name: 'Pfandbriefe',\n    id: '221009',\n    value: 'Pfandbriefe',\n    sort: 9,\n    added: 'FIX.4.3',\n    tag: 221,\n    type: 'String',\n    codeSet: 'BenchmarkCurveNameCodeSet',\n    description: 'Pfandbriefe',\n  },\n  {\n    name: 'SONIA',\n    id: '221010',\n    value: 'SONIA',\n    sort: 10,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 221,\n    type: 'String',\n    codeSet: 'BenchmarkCurveNameCodeSet',\n    description: 'SONIA',\n  },\n  {\n    name: 'SWAP',\n    id: '221011',\n    value: 'SWAP',\n    sort: 11,\n    added: 'FIX.4.3',\n    tag: 221,\n    type: 'String',\n    codeSet: 'BenchmarkCurveNameCodeSet',\n    description: 'SWAP',\n  },\n  {\n    name: 'Treasury',\n    id: '221012',\n    value: 'Treasury',\n    sort: 12,\n    added: 'FIX.4.3',\n    tag: 221,\n    type: 'String',\n    codeSet: 'BenchmarkCurveNameCodeSet',\n    description: 'Treasury',\n  },\n  {\n    name: 'FedFundRateEffective',\n    id: '221013',\n    value: 'FEDEFF',\n    sort: 13,\n    added: 'FIX.5.0SP2',\n    addedEP: '132',\n    tag: 221,\n    type: 'String',\n    codeSet: 'BenchmarkCurveNameCodeSet',\n    description:\n      'US Federal Reserve fed funds effective rate\\n\\nUS Federal Reserve fed funds effective rate or the weighted average of the actual negotiated rates banks pay each other to to borrow funds.',\n  },\n  {\n    name: 'FedOpen',\n    id: '221014',\n    value: 'FEDOPEN',\n    sort: 14,\n    added: 'FIX.5.0SP2',\n    addedEP: '132',\n    tag: 221,\n    type: 'String',\n    codeSet: 'BenchmarkCurveNameCodeSet',\n    description:\n      'US fed funds target rate\\n\\nFed funds target rate as determined by the US Federal Reserve Federal Open Market Committee.',\n  },\n  {\n    name: 'EURIBOR',\n    id: '221015',\n    value: 'EURIBOR',\n    sort: 15,\n    added: 'FIX.5.0SP2',\n    addedEP: '132',\n    tag: 221,\n    type: 'String',\n    codeSet: 'BenchmarkCurveNameCodeSet',\n    description: 'Euro interbank offer rate',\n  },\n  {\n    name: 'AUBSW',\n    id: '221016',\n    value: 'AUBSW',\n    sort: 16,\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 221,\n    type: 'String',\n    codeSet: 'BenchmarkCurveNameCodeSet',\n    description: 'Australian Bank Bill Swap Rate',\n  },\n  {\n    name: 'BUBOR',\n    id: '221017',\n    value: 'BUBOR',\n    sort: 17,\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 221,\n    type: 'String',\n    codeSet: 'BenchmarkCurveNameCodeSet',\n    description: 'Budapest Bank Offered Rate',\n  },\n  {\n    name: 'CDOR',\n    id: '221018',\n    value: 'CDOR',\n    sort: 18,\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 221,\n    type: 'String',\n    codeSet: 'BenchmarkCurveNameCodeSet',\n    description: 'Canadian Dollar Offered Rate',\n  },\n  {\n    name: 'CIBOR',\n    id: '221019',\n    value: 'CIBOR',\n    sort: 19,\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 221,\n    type: 'String',\n    codeSet: 'BenchmarkCurveNameCodeSet',\n    description: 'Copenhagen Interbank Offered Rate',\n  },\n  {\n    name: 'EONIASWAP',\n    id: '221020',\n    value: 'EONIASWAP',\n    sort: 20,\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 221,\n    type: 'String',\n    codeSet: 'BenchmarkCurveNameCodeSet',\n    description: 'Euro Overnight Index Average Swap Rate',\n  },\n  {\n    name: 'ESTR',\n    id: '221021',\n    value: 'ESTR',\n    sort: 21,\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 221,\n    type: 'String',\n    codeSet: 'BenchmarkCurveNameCodeSet',\n    description: 'Euro Short Term Rate\\n\\nReplaces EONIA.',\n  },\n  {\n    name: 'EURODOLLAR',\n    id: '221022',\n    value: 'EURODOLLAR',\n    sort: 22,\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 221,\n    type: 'String',\n    codeSet: 'BenchmarkCurveNameCodeSet',\n    description: 'Euro Dollar Rate',\n  },\n  {\n    name: 'EUROSWISS',\n    id: '221023',\n    value: 'EUROSWISS',\n    sort: 23,\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 221,\n    type: 'String',\n    codeSet: 'BenchmarkCurveNameCodeSet',\n    description: 'Euro Swiss Franc Rate',\n  },\n  {\n    name: 'GCFREPO',\n    id: '221024',\n    value: 'GCFREPO',\n    sort: 24,\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 221,\n    type: 'String',\n    codeSet: 'BenchmarkCurveNameCodeSet',\n    description: 'DTCC General Collateral Finance Repo Index',\n  },\n  {\n    name: 'ISDAFIX',\n    id: '221025',\n    value: 'ISDAFIX',\n    sort: 25,\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 221,\n    type: 'String',\n    codeSet: 'BenchmarkCurveNameCodeSet',\n    description: 'ICE Swap Rate',\n  },\n  {\n    name: 'JIBAR',\n    id: '221026',\n    value: 'JIBAR',\n    sort: 26,\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 221,\n    type: 'String',\n    codeSet: 'BenchmarkCurveNameCodeSet',\n    description: 'Johannesburg Interbank Agreed Rate',\n  },\n  {\n    name: 'MOSPRIM',\n    id: '221027',\n    value: 'MOSPRIM',\n    sort: 27,\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 221,\n    type: 'String',\n    codeSet: 'BenchmarkCurveNameCodeSet',\n    description: 'Moscow Prime Offered Rate',\n  },\n  {\n    name: 'NIBOR',\n    id: '221028',\n    value: 'NIBOR',\n    sort: 28,\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 221,\n    type: 'String',\n    codeSet: 'BenchmarkCurveNameCodeSet',\n    description: 'Nigeria Three Month Interbank Rate',\n  },\n  {\n    name: 'PRIBOR',\n    id: '221029',\n    value: 'PRIBOR',\n    sort: 29,\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 221,\n    type: 'String',\n    codeSet: 'BenchmarkCurveNameCodeSet',\n    description: 'Czech Republic Interbank Offered Rate',\n  },\n  {\n    name: 'SOFR',\n    id: '221030',\n    value: 'SOFR',\n    sort: 30,\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 221,\n    type: 'String',\n    codeSet: 'BenchmarkCurveNameCodeSet',\n    description: 'Secured Overnight Financing Rate\\n\\nReplaces LIBOR.',\n  },\n  {\n    name: 'STIBOR',\n    id: '221031',\n    value: 'STIBOR',\n    sort: 31,\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 221,\n    type: 'String',\n    codeSet: 'BenchmarkCurveNameCodeSet',\n    description: 'Stockholm Interbank Offered Rate',\n  },\n  {\n    name: 'TELBOR',\n    id: '221032',\n    value: 'TELBOR',\n    sort: 32,\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 221,\n    type: 'String',\n    codeSet: 'BenchmarkCurveNameCodeSet',\n    description: 'Bank of Israel Interbank Offered Rate',\n  },\n  {\n    name: 'TIBOR',\n    id: '221033',\n    value: 'TIBOR',\n    sort: 33,\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 221,\n    type: 'String',\n    codeSet: 'BenchmarkCurveNameCodeSet',\n    description: 'Tokyo Interbank Offered Rate',\n  },\n  {\n    name: 'WIBOR',\n    id: '221034',\n    value: 'WIBOR',\n    sort: 34,\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 221,\n    type: 'String',\n    codeSet: 'BenchmarkCurveNameCodeSet',\n    description: 'Warsaw Interbank Offered Rate',\n  },\n  {\n    name: 'AONIA',\n    id: '221035',\n    value: 'AONIA',\n    sort: 35,\n    added: 'FIX.Latest',\n    addedEP: '272',\n    tag: 221,\n    type: 'String',\n    codeSet: 'BenchmarkCurveNameCodeSet',\n    description:\n      'Reserve Bank of Australia Interbank Overnight Cash Rate\\n\\nAlso known as AUD Overnight Index Average.',\n  },\n  {\n    name: 'AONIAR',\n    id: '221036',\n    value: 'AONIA-R',\n    sort: 36,\n    added: 'FIX.Latest',\n    addedEP: '272',\n    tag: 221,\n    type: 'String',\n    codeSet: 'BenchmarkCurveNameCodeSet',\n    description:\n      'Realised AONIA\\n\\n\"Realised AONIA applies a compounding formula to the daily AONIA rate, to determine the compounded average rate over the prior 1 to 6 month period.\" (source https://www.asx.com.au/documents/products/realised-aonia-explained.pdf).',\n  },\n  {\n    name: 'BKBM',\n    id: '221037',\n    value: 'BKBM',\n    sort: 37,\n    added: 'FIX.Latest',\n    addedEP: '272',\n    tag: 221,\n    type: 'String',\n    codeSet: 'BenchmarkCurveNameCodeSet',\n    description: 'New Zealand Bank Bill Market Rate',\n  },\n  {\n    name: 'CD19D',\n    id: '221038',\n    value: 'CD91D',\n    sort: 38,\n    added: 'FIX.Latest',\n    addedEP: '272',\n    tag: 221,\n    type: 'String',\n    codeSet: 'BenchmarkCurveNameCodeSet',\n    description: 'Republic of Korea 90-Day Certificate of Deposit Rate',\n  },\n  {\n    name: 'CORRA',\n    id: '221039',\n    value: 'CORRA',\n    sort: 39,\n    added: 'FIX.Latest',\n    addedEP: '272',\n    tag: 221,\n    type: 'String',\n    codeSet: 'BenchmarkCurveNameCodeSet',\n    description: 'Canadian Overnight Repo Rate Average',\n  },\n  {\n    name: 'DIRRTN',\n    id: '221040',\n    value: 'DIRR-TN',\n    sort: 40,\n    added: 'FIX.Latest',\n    addedEP: '272',\n    tag: 221,\n    type: 'String',\n    codeSet: 'BenchmarkCurveNameCodeSet',\n    description: 'Danish Interbank Interest Rate-Tomorrow or Next',\n  },\n  {\n    name: 'EIBOR',\n    id: '221041',\n    value: 'EIBOR',\n    sort: 41,\n    added: 'FIX.Latest',\n    addedEP: '272',\n    tag: 221,\n    type: 'String',\n    codeSet: 'BenchmarkCurveNameCodeSet',\n    description: 'Emirates Interbank Offered Rate',\n  },\n  {\n    name: 'FixingRepoRate',\n    id: '221042',\n    value: 'FixingRepoRate',\n    sort: 42,\n    added: 'FIX.Latest',\n    addedEP: '272',\n    tag: 221,\n    type: 'String',\n    codeSet: 'BenchmarkCurveNameCodeSet',\n    description: 'China Interbank Overnight Repo Rate',\n  },\n  {\n    name: 'HIBOR',\n    id: '221043',\n    value: 'HIBOR',\n    sort: 43,\n    added: 'FIX.Latest',\n    addedEP: '272',\n    tag: 221,\n    type: 'String',\n    codeSet: 'BenchmarkCurveNameCodeSet',\n    description: 'Hong Kong Interbank Offered Rate',\n  },\n  {\n    name: 'IBR',\n    id: '221044',\n    value: 'IBR',\n    sort: 44,\n    added: 'FIX.Latest',\n    addedEP: '272',\n    tag: 221,\n    type: 'String',\n    codeSet: 'BenchmarkCurveNameCodeSet',\n    description: 'Colombia Overnight Interbank Reference Rate',\n  },\n  {\n    name: 'KLIBOR',\n    id: '221045',\n    value: 'KLIBOR',\n    sort: 45,\n    added: 'FIX.Latest',\n    addedEP: '272',\n    tag: 221,\n    type: 'String',\n    codeSet: 'BenchmarkCurveNameCodeSet',\n    description: 'Kuala Lumpur Interbank Offered Rate',\n  },\n  {\n    name: 'MIBOR',\n    id: '221046',\n    value: 'MIBOR',\n    sort: 46,\n    added: 'FIX.Latest',\n    addedEP: '272',\n    tag: 221,\n    type: 'String',\n    codeSet: 'BenchmarkCurveNameCodeSet',\n    description: 'Mumbia Interbank Offered Rate',\n  },\n  {\n    name: 'NZONIA',\n    id: '221047',\n    value: 'NZONIA',\n    sort: 47,\n    added: 'FIX.Latest',\n    addedEP: '272',\n    tag: 221,\n    type: 'String',\n    codeSet: 'BenchmarkCurveNameCodeSet',\n    description: 'New Zealand Overnight Indexed Swaps (OIS)',\n  },\n  {\n    name: 'PHIREF',\n    id: '221048',\n    value: 'PHIREF',\n    sort: 48,\n    added: 'FIX.Latest',\n    addedEP: '272',\n    tag: 221,\n    type: 'String',\n    codeSet: 'BenchmarkCurveNameCodeSet',\n    description: 'Philippines Interbank Reference Rate',\n  },\n  {\n    name: 'REIBOR',\n    id: '221049',\n    value: 'REIBOR',\n    sort: 49,\n    added: 'FIX.Latest',\n    addedEP: '272',\n    tag: 221,\n    type: 'String',\n    codeSet: 'BenchmarkCurveNameCodeSet',\n    description: 'Reykjavik Interbank Offered Rate',\n  },\n  {\n    name: 'SAIBOR',\n    id: '221050',\n    value: 'SAIBOR',\n    sort: 50,\n    added: 'FIX.Latest',\n    addedEP: '272',\n    tag: 221,\n    type: 'String',\n    codeSet: 'BenchmarkCurveNameCodeSet',\n    description: 'Saudi Arabian Interbank Offered Rate',\n  },\n  {\n    name: 'SARON',\n    id: '221051',\n    value: 'SARON',\n    sort: 51,\n    added: 'FIX.Latest',\n    addedEP: '272',\n    tag: 221,\n    type: 'String',\n    codeSet: 'BenchmarkCurveNameCodeSet',\n    description: 'Swiss Average Rate Overnight',\n  },\n  {\n    name: 'SORA',\n    id: '221052',\n    value: 'SORA',\n    sort: 52,\n    added: 'FIX.Latest',\n    addedEP: '272',\n    tag: 221,\n    type: 'String',\n    codeSet: 'BenchmarkCurveNameCodeSet',\n    description: 'Singapore Swap Offer Rate',\n  },\n  {\n    name: 'TLREF',\n    id: '221053',\n    value: 'TLREF',\n    sort: 53,\n    added: 'FIX.Latest',\n    addedEP: '272',\n    tag: 221,\n    type: 'String',\n    codeSet: 'BenchmarkCurveNameCodeSet',\n    description: 'Turkish Lira Overnight Reference Rate',\n  },\n  {\n    name: 'TIIE',\n    id: '221054',\n    value: 'TIIE',\n    sort: 54,\n    added: 'FIX.Latest',\n    addedEP: '272',\n    tag: 221,\n    type: 'String',\n    codeSet: 'BenchmarkCurveNameCodeSet',\n    description: 'Mexico Interbank Equilibrium Interest Rate',\n  },\n  {\n    name: 'THBFIX',\n    id: '221055',\n    value: 'THBFIX',\n    sort: 55,\n    added: 'FIX.Latest',\n    addedEP: '272',\n    tag: 221,\n    type: 'String',\n    codeSet: 'BenchmarkCurveNameCodeSet',\n    description: 'Thai Baht Interest Rate Fixing',\n  },\n  {\n    name: 'TONAR',\n    id: '221056',\n    value: 'TONAR',\n    sort: 56,\n    added: 'FIX.Latest',\n    addedEP: '272',\n    tag: 221,\n    type: 'String',\n    codeSet: 'BenchmarkCurveNameCodeSet',\n    description: 'Tokyo Overnight Average Rate',\n  },\n  {\n    name: 'AlternativeMinimumTax',\n    id: '233001',\n    value: 'AMT',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'Alternative Minimum Tax (Y/N)',\n  },\n  {\n    name: 'AutoReinvestment',\n    id: '233002',\n    value: 'AUTOREINV',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'Auto Reinvestment at <rate> or better',\n  },\n  {\n    name: 'BankQualified',\n    id: '233003',\n    value: 'BANKQUAL',\n    sort: 3,\n    added: 'FIX.4.4',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'Bank qualified (Y/N)',\n  },\n  {\n    name: 'BargainConditions',\n    id: '233004',\n    value: 'BGNCON',\n    sort: 4,\n    added: 'FIX.4.4',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'Bargain conditions (see StipulationValue (234) for values)',\n  },\n  {\n    name: 'CouponRange',\n    id: '233005',\n    value: 'COUPON',\n    sort: 5,\n    added: 'FIX.4.4',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'Coupon range',\n  },\n  {\n    name: 'ISOCurrencyCode',\n    id: '233006',\n    value: 'CURRENCY',\n    sort: 6,\n    added: 'FIX.4.4',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'ISO Currency Code',\n  },\n  {\n    name: 'CustomStart',\n    id: '233007',\n    value: 'CUSTOMDATE',\n    sort: 7,\n    added: 'FIX.4.4',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'Custom start/end date',\n  },\n  {\n    name: 'Geographics',\n    id: '233008',\n    value: 'GEOG',\n    sort: 8,\n    added: 'FIX.4.3',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description:\n      'Geographics and % range (ex. 234=CA 0-80 [minimum of 80% California assets])',\n  },\n  {\n    name: 'ValuationDiscount',\n    id: '233009',\n    value: 'HAIRCUT',\n    sort: 9,\n    added: 'FIX.4.4',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'Valuation Discount',\n  },\n  {\n    name: 'Insured',\n    id: '233010',\n    value: 'INSURED',\n    sort: 10,\n    added: 'FIX.4.4',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'Insured (Y/N)',\n  },\n  {\n    name: 'IssueDate',\n    id: '233011',\n    value: 'ISSUE',\n    sort: 11,\n    added: 'FIX.4.3',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'Year Or Year/Month of Issue (ex. 234=2002/09)',\n  },\n  {\n    name: 'Issuer',\n    id: '233012',\n    value: 'ISSUER',\n    sort: 12,\n    added: 'FIX.4.4',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: \"Issuer's ticker\",\n  },\n  {\n    name: 'IssueSizeRange',\n    id: '233013',\n    value: 'ISSUESIZE',\n    sort: 13,\n    added: 'FIX.4.4',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'issue size range',\n  },\n  {\n    name: 'LookbackDays',\n    id: '233014',\n    value: 'LOOKBACK',\n    sort: 14,\n    added: 'FIX.4.4',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'Lookback Days',\n  },\n  {\n    name: 'ExplicitLotIdentifier',\n    id: '233015',\n    value: 'LOT',\n    sort: 15,\n    added: 'FIX.4.4',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'Explicit lot identifier',\n  },\n  {\n    name: 'LotVariance',\n    id: '233016',\n    value: 'LOTVAR',\n    sort: 16,\n    added: 'FIX.4.3',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description:\n      'Lot Variance (value in percent maximum over- or under-allocation allowed)',\n  },\n  {\n    name: 'MaturityYearAndMonth',\n    id: '233017',\n    value: 'MAT',\n    sort: 17,\n    added: 'FIX.4.3',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'Maturity Year And Month',\n  },\n  {\n    name: 'MaturityRange',\n    id: '233018',\n    value: 'MATURITY',\n    sort: 18,\n    added: 'FIX.4.4',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'Maturity range',\n  },\n  {\n    name: 'MaximumSubstitutions',\n    id: '233019',\n    value: 'MAXSUBS',\n    sort: 19,\n    added: 'FIX.4.4',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'Maximum substitutions (Repo)',\n  },\n  {\n    name: 'MinimumDenomination',\n    id: '233020',\n    value: 'MINDNOM',\n    sort: 20,\n    added: 'FIX.4.4',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'Minimum denomination',\n  },\n  {\n    name: 'MinimumIncrement',\n    id: '233021',\n    value: 'MININCR',\n    sort: 21,\n    added: 'FIX.4.4',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'Minimum increment',\n  },\n  {\n    name: 'MinimumQuantity',\n    id: '233022',\n    value: 'MINQTY',\n    sort: 22,\n    added: 'FIX.4.4',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'Minimum quantity',\n  },\n  {\n    name: 'PaymentFrequency',\n    id: '233023',\n    value: 'PAYFREQ',\n    sort: 23,\n    added: 'FIX.4.4',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'Payment frequency, calendar',\n  },\n  {\n    name: 'NumberOfPieces',\n    id: '233024',\n    value: 'PIECES',\n    sort: 24,\n    added: 'FIX.4.3',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'Number Of Pieces',\n  },\n  {\n    name: 'PoolsMaximum',\n    id: '233025',\n    value: 'PMAX',\n    sort: 25,\n    added: 'FIX.4.3',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'Pools Maximum',\n  },\n  {\n    name: 'PoolsPerLot',\n    id: '233026',\n    value: 'PPL',\n    sort: 26,\n    added: 'FIX.4.3',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'Pools per Lot',\n  },\n  {\n    name: 'PoolsPerMillion',\n    id: '233027',\n    value: 'PPM',\n    sort: 27,\n    added: 'FIX.4.3',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'Pools per Million',\n  },\n  {\n    name: 'PoolsPerTrade',\n    id: '233028',\n    value: 'PPT',\n    sort: 28,\n    added: 'FIX.4.3',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'Pools per Trade',\n  },\n  {\n    name: 'PriceRange',\n    id: '233029',\n    value: 'PRICE',\n    sort: 29,\n    added: 'FIX.4.4',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'Price Range',\n  },\n  {\n    name: 'PricingFrequency',\n    id: '233030',\n    value: 'PRICEFREQ',\n    sort: 30,\n    added: 'FIX.4.4',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'Pricing frequency',\n  },\n  {\n    name: 'ProductionYear',\n    id: '233031',\n    value: 'PROD',\n    sort: 31,\n    added: 'FIX.4.3',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'Production Year',\n  },\n  {\n    name: 'CallProtection',\n    id: '233032',\n    value: 'PROTECT',\n    sort: 32,\n    added: 'FIX.4.4',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'Call protection',\n  },\n  {\n    name: 'Purpose',\n    id: '233033',\n    value: 'PURPOSE',\n    sort: 33,\n    added: 'FIX.4.4',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'Purpose',\n  },\n  {\n    name: 'BenchmarkPriceSource',\n    id: '233034',\n    value: 'PXSOURCE',\n    sort: 34,\n    added: 'FIX.4.4',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'Benchmark price source',\n  },\n  {\n    name: 'RatingSourceAndRange',\n    id: '233035',\n    value: 'RATING',\n    sort: 35,\n    added: 'FIX.4.4',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'Rating source and range',\n  },\n  {\n    name: 'TypeOfRedemption',\n    id: '233036',\n    value: 'REDEMPTION',\n    sort: 36,\n    added: 'FIX.4.4',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description:\n      'Type Of Redemption - values are: NonCallable, Prefunded, EscrowedToMaturity, Putable, Convertible',\n  },\n  {\n    name: 'Restricted',\n    id: '233037',\n    value: 'RESTRICTED',\n    sort: 37,\n    added: 'FIX.4.4',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'Restricted (Y/N)',\n  },\n  {\n    name: 'MarketSector',\n    id: '233038',\n    value: 'SECTOR',\n    sort: 38,\n    added: 'FIX.4.4',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'Market Sector',\n  },\n  {\n    name: 'SecurityTypeIncludedOrExcluded',\n    id: '233039',\n    value: 'SECTYPE',\n    sort: 39,\n    added: 'FIX.4.4',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'Security Type included or excluded',\n  },\n  {\n    name: 'Structure',\n    id: '233040',\n    value: 'STRUCT',\n    sort: 40,\n    added: 'FIX.4.4',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'Structure',\n  },\n  {\n    name: 'SubstitutionsFrequency',\n    id: '233041',\n    value: 'SUBSFREQ',\n    sort: 41,\n    added: 'FIX.4.4',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'Substitutions frequency (Repo)',\n  },\n  {\n    name: 'SubstitutionsLeft',\n    id: '233042',\n    value: 'SUBSLEFT',\n    sort: 42,\n    added: 'FIX.4.4',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'Substitutions left (Repo)',\n  },\n  {\n    name: 'FreeformText',\n    id: '233043',\n    value: 'TEXT',\n    sort: 43,\n    added: 'FIX.4.4',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'Freeform Text',\n  },\n  {\n    name: 'TradeVariance',\n    id: '233044',\n    value: 'TRDVAR',\n    sort: 44,\n    added: 'FIX.4.3',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description:\n      'Trade Variance (value in percent maximum over- or under-allocation allowed)',\n  },\n  {\n    name: 'WeightedAverageCoupon',\n    id: '233045',\n    value: 'WAC',\n    sort: 45,\n    added: 'FIX.4.3',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description:\n      'Weighted Average Coupon - value in percent (exact or range) plus \"Gross\" or \"Net\" of servicing spread (the default) (ex. 234=6.5-Net [minimum of 6.5% net of servicing fee])',\n  },\n  {\n    name: 'WeightedAverageLifeCoupon',\n    id: '233046',\n    value: 'WAL',\n    sort: 46,\n    added: 'FIX.4.3',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'Weighted Average Life Coupon - value in percent (exact or range)',\n  },\n  {\n    name: 'WeightedAverageLoanAge',\n    id: '233047',\n    value: 'WALA',\n    sort: 47,\n    added: 'FIX.4.3',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'Weighted Average Loan Age - value in months (exact or range)',\n  },\n  {\n    name: 'WeightedAverageMaturity',\n    id: '233048',\n    value: 'WAM',\n    sort: 48,\n    added: 'FIX.4.3',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'Weighted Average Maturity - value in months (exact or range)',\n  },\n  {\n    name: 'WholePool',\n    id: '233049',\n    value: 'WHOLE',\n    sort: 49,\n    added: 'FIX.4.4',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'Whole Pool (Y/N)',\n  },\n  {\n    name: 'YieldRange',\n    id: '233050',\n    value: 'YIELD',\n    sort: 50,\n    added: 'FIX.4.4',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'Yield Range',\n  },\n  {\n    name: 'OriginalAmount',\n    id: '233051',\n    value: 'ORIGAMT',\n    sort: 51,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description:\n      'Original amount\\n\\nThe original issued amount of a mortgage backed security or other loan/asset backed security.',\n  },\n  {\n    name: 'PoolEffectiveDate',\n    id: '233052',\n    value: 'POOLEFFDT',\n    sort: 52,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'Pool effective date',\n  },\n  {\n    name: 'PoolInitialFactor',\n    id: '233053',\n    value: 'POOLINITFCTR',\n    sort: 53,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description:\n      'Pool initial factor\\n\\nFor morttgage backed securities, the part of the mortgage that is outstanding on trade inception, i.e. has not been repaid yet as principal. It is expressed as a multiplier factor to the mortgage: where 1 means that the whole mortage amount is outstanding, 0.8 means that80% remains to be repaid and 20% has been repaid.',\n  },\n  {\n    name: 'Tranche',\n    id: '233054',\n    value: 'TRANCHE',\n    sort: 54,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description:\n      'Tranche identifier\\n\\nIdentifies the tranche of a mortgage backed security, loan, collateralized mortgage obligation or similar securities that can be split into different risk or maturity (for example) classes.',\n  },\n  {\n    name: 'Substitution',\n    id: '233055',\n    value: 'SUBSTITUTION',\n    sort: 55,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description:\n      'Substitution (Y/N)\\n\\nIndicates whether substitution is applicable (Y) or (N).',\n  },\n  {\n    name: 'MULTEXCHFLLBCK',\n    id: '233056',\n    value: 'MULTEXCHFLLBCK',\n    sort: 56,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description:\n      'Multiple exchange fallback (Y/N)\\n\\nFor an index option transaction, indicates whether a relevant \"Multiple Exchange Index Annex\" is applicable (Y) to the transaction or not (N). This annex defines additional provisions which are applicable where an index is comprised of component securities that are traded on multiple exchanges.',\n  },\n  {\n    name: 'COMPSECFLLBCK',\n    id: '233057',\n    value: 'COMPSECFLLBCK',\n    sort: 57,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description:\n      'Component security fallback (Y/N)\\n\\nFor an index option transaction, indicates whether a relevant \"Component Security Index Annex\" is applicable (Y) to the transaction or not (N).',\n  },\n  {\n    name: 'LOCLJRSDCTN',\n    id: '233058',\n    value: 'LOCLJRSDCTN',\n    sort: 58,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description:\n      'Local jurisdiction (Y/N)\\n\\n\"Local Jurisdiction\" is used in the AEJ Master Confirmation to determine applicability (Y), or not (N), of local taxes (including taxes, duties, and similar charges) imposed by the taxing authority of the local jurisdiction.',\n  },\n  {\n    name: 'RELVJRSDCTN',\n    id: '233059',\n    value: 'RELVJRSDCTN',\n    sort: 59,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description:\n      'Relevant jurisdiction (Y/N)\\n\\n\"Relevant Jurisdiction\" is used in the AEJ Master Confirmation to determine applicability (Y), or not (N), of local taxes (including taxes, duties and similar charges) that would be imposed by the taxing authority of the \"country of underlier\" on a \"hypothetical broker dealer\" assuming that the applicable hedge positions are held by its office in the Relevant Jurisdiction.',\n  },\n  {\n    name: 'IncurredRecovery',\n    id: '233060',\n    value: 'INCURRCVY',\n    sort: 1,\n    group: 'CDS General Terms',\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description:\n      'Incurred recovery (Y/N)\\n\\nSpecifies whether incurred recovery is applicable (Y) or not (N). Outstanding Swap Notional Amount is defined at any time on any day, as the greater of: (a) Zero; If Incurred Recovery Amount Applicable: (b) The Original Swap Notional Amount minus the sum of all Incurred Loss Amounts and all Incurred Recovery Amounts (if any) determined under this Confirmation at or prior to such time.Incurred Recovery Amount not populated: (b) The Original Swap Notional Amount minus the sum of all Incurred Loss Amounts determined under this Confirmation at or prior to such time. 2009 CDX Tranche Terms.',\n  },\n  {\n    name: 'AdditionalTerm',\n    id: '233061',\n    value: 'ADDTRM',\n    sort: 2,\n    group: 'CDS General Terms',\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description:\n      'Additional term\\n\\nUsed for representing information contained in the Additional Terms field of the 2003 Master Credit Derivatives confirm.',\n  },\n  {\n    name: 'ModifiedEquityDelivery',\n    id: '233062',\n    value: 'MODEQTYDLVY',\n    sort: 3,\n    group: 'CDS General Terms',\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description:\n      'Modified equity delivery\\n\\nIndicates whether delivery of selected obligationshaving an amountgreater than the reference entity notional amount is allowed (Y) or (N). 2005 iTraxx tranched Transactions Standard Terms Supplement.',\n  },\n  {\n    name: 'NoReferenceOblication',\n    id: '233063',\n    value: 'NOREFOBLIG',\n    sort: 4,\n    group: 'CDS General Terms',\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description:\n      'No reference obligation (Y/N)\\n\\nWhen specified as \"Y\" this indicates that there is no Reference Obligation associated with this Credit Default Swap and that there will never be one. 2003 ISDA Credit Derivatives Definitions.',\n  },\n  {\n    name: 'UnknownReferenceObligation',\n    id: '233064',\n    value: 'UNKREFOBLIG',\n    sort: 5,\n    group: 'CDS General Terms',\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description:\n      'Unknown reference obligation (Y/N)\\n\\nWhen specified as \"Y\" this indicates that the Reference obligation associated with the Credit Default Swap is currently not known. This is not valid for Legal Confirmation purposes, but is valid for earlier stages in the trade life cycle (e.g. Broker Confirmation). 2003 FpML-CD-4.0.',\n  },\n  {\n    name: 'AllGuarantees',\n    id: '233065',\n    value: 'ALLGUARANTEES',\n    sort: 6,\n    group: 'CDS General Terms',\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description:\n      'All guarantees (Y/N)\\n\\nIndicates whether an obligation of the Reference Entity, guaranteed by the Reference Entity on behalf of a non-Affiliate, is to be considered an Obligation for the purpose of the transaction (Y) or (N). ISDA 2003 Term: All Guarantees.',\n  },\n  {\n    name: 'ReferencePrice',\n    id: '233066',\n    value: 'REFPX',\n    sort: 7,\n    group: 'CDS General Terms',\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description:\n      'Reference price (Y/N)\\n\\nSpecifies the reference price expressed as a percentage between 0 and 1 (e.g. 0.05 is 5%). The reference price is used to determine (a) for physically settled trades, the Physical Settlement Amount, which equals the Floating Rate Payer Calculation Amount times the Reference Price and (b) for cash settled trades, the Cash Settlement Amount, which equals the greater of (i) the difference between the Reference Price and the Final Price and (ii) zero. ISDA 2003 Term: Reference Price.',\n  },\n  {\n    name: 'ReferencePolicy',\n    id: '233067',\n    value: 'REFPOLICY',\n    sort: 8,\n    group: 'CDS General Terms',\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description:\n      'Reference policy (Y/N)\\n\\nIndicates whether the reference obligation is guaranteed (Y), or not (N), under a reference policy. If the Reference Obligation is guaranteed under a Reference Policy, and such Reference Policy by its terms excludes any component of the Expected Principal Amount for purposes of determining the liability of the relevant Insurer, or the Insurer is otherwise not required to pay any such amounts under the terms of the Reference Policy, the relevant component or amount shall also be excluded for purposes of determining the Expected Principal Amount with respect to any determination of Principal Shortfall hereunder. 2006 ISDA CDS on MBS Terms.',\n  },\n  {\n    name: 'SecuredList',\n    id: '233068',\n    value: 'SECRDLIST',\n    sort: 9,\n    group: 'CDS General Terms',\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description:\n      'Secured list (Y/N)\\n\\nSpecifies whether a list of Syndicated Secured Obligations (also known as the Relevant Secured List) exists (Y), or not (N), for the Reference Entity. With respect to any day, the list of Syndicated Secured Obligations of the Designated Priority of the Reference Entity published by Markit Group Limited or any successor thereto appointed by the Specified Dealers (the \"Secured List Publisher\") on or most recently before such day, which list is currently available at [http://www.markit.com]. ISDA 2003 Term: Relevant Secured List.',\n  },\n  {\n    name: 'AverageFICOScore',\n    id: '233069',\n    value: 'AVFICO',\n    sort: 51,\n    group: 'Other',\n    added: 'FIX.5.0',\n    addedEP: '68',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'Average FICO Score',\n  },\n  {\n    name: 'AverageLoanSize',\n    id: '233070',\n    value: 'AVSIZE',\n    sort: 52,\n    group: 'Other',\n    added: 'FIX.5.0',\n    addedEP: '68',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'Average Loan Size',\n  },\n  {\n    name: 'MaximumLoanBalance',\n    id: '233071',\n    value: 'MAXBAL',\n    sort: 53,\n    group: 'Other',\n    added: 'FIX.5.0',\n    addedEP: '68',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'Maximum Loan Balance',\n  },\n  {\n    name: 'PoolIdentifier',\n    id: '233072',\n    value: 'POOL',\n    sort: 54,\n    group: 'Other',\n    added: 'FIX.5.0',\n    addedEP: '68',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'Pool Identifier',\n  },\n  {\n    name: 'TypeOfRollTrade',\n    id: '233073',\n    value: 'ROLLTYPE',\n    sort: 55,\n    group: 'Other',\n    added: 'FIX.5.0',\n    addedEP: '68',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'Type of Roll trade',\n  },\n  {\n    name: 'ReferenceToRollingOrClosingTrade',\n    id: '233074',\n    value: 'REFTRADE',\n    sort: 56,\n    group: 'Other',\n    added: 'FIX.5.0',\n    addedEP: '68',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '258',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'Reference to rolling or closing trade',\n  },\n  {\n    name: 'PrincipalOfRollingOrClosingTrade',\n    id: '233075',\n    value: 'REFPRIN',\n    sort: 57,\n    group: 'Other',\n    added: 'FIX.5.0',\n    addedEP: '68',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '258',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'Principal to rolling or closing trade',\n  },\n  {\n    name: 'InterestOfRollingOrClosingTrade',\n    id: '233076',\n    value: 'REFINT',\n    sort: 58,\n    group: 'Other',\n    added: 'FIX.5.0',\n    addedEP: '68',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '258',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'Interest of rolling or closing trade',\n  },\n  {\n    name: 'AvailableOfferQuantityToBeShownToTheStreet',\n    id: '233077',\n    value: 'AVAILQTY',\n    sort: 59,\n    group: 'Other',\n    added: 'FIX.5.0',\n    addedEP: '68',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'Available offer quantity to be shown to the street',\n  },\n  {\n    name: 'BrokerCredit',\n    id: '233078',\n    value: 'BROKERCREDIT',\n    sort: 60,\n    group: 'Other',\n    added: 'FIX.5.0',\n    addedEP: '68',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: \"Broker's sales credit\",\n  },\n  {\n    name: 'OfferPriceToBeShownToInternalBrokers',\n    id: '233079',\n    value: 'INTERNALPX',\n    sort: 61,\n    group: 'Other',\n    added: 'FIX.5.0',\n    addedEP: '68',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'Offer price to be shown to internal brokers',\n  },\n  {\n    name: 'OfferQuantityToBeShownToInternalBrokers',\n    id: '233080',\n    value: 'INTERNALQTY',\n    sort: 62,\n    group: 'Other',\n    added: 'FIX.5.0',\n    addedEP: '68',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'Offer quantity to be shown to internal brokers',\n  },\n  {\n    name: 'TheMinimumResidualOfferQuantity',\n    id: '233081',\n    value: 'LEAVEQTY',\n    sort: 63,\n    group: 'Other',\n    added: 'FIX.5.0',\n    addedEP: '68',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'The minimum residual offer quantity',\n  },\n  {\n    name: 'MaximumOrderSize',\n    id: '233082',\n    value: 'MAXORDQTY',\n    sort: 64,\n    group: 'Other',\n    added: 'FIX.5.0',\n    addedEP: '68',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'Maximum order size',\n  },\n  {\n    name: 'OrderQuantityIncrement',\n    id: '233083',\n    value: 'ORDRINCR',\n    sort: 65,\n    group: 'Other',\n    added: 'FIX.5.0',\n    addedEP: '68',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'Order quantity increment',\n  },\n  {\n    name: 'PrimaryOrSecondaryMarketIndicator',\n    id: '233084',\n    value: 'PRIMARY',\n    sort: 66,\n    group: 'Other',\n    added: 'FIX.5.0',\n    addedEP: '68',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'Primary or Secondary market indicator',\n  },\n  {\n    name: 'BrokerSalesCreditOverride',\n    id: '233085',\n    value: 'SALESCREDITOVR',\n    sort: 67,\n    group: 'Other',\n    added: 'FIX.5.0',\n    addedEP: '68',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'Broker sales credit override',\n  },\n  {\n    name: 'TraderCredit',\n    id: '233086',\n    value: 'TRADERCREDIT',\n    sort: 68,\n    group: 'Other',\n    added: 'FIX.5.0',\n    addedEP: '68',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: \"Trader's credit\",\n  },\n  {\n    name: 'DiscountRate',\n    id: '233087',\n    value: 'DISCOUNT',\n    sort: 69,\n    group: 'Other',\n    added: 'FIX.5.0',\n    addedEP: '68',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'Discount Rate (when price is denominated in percent of par)',\n  },\n  {\n    name: 'YieldToMaturity',\n    id: '233088',\n    value: 'YTM',\n    sort: 71,\n    group: 'Other',\n    added: 'FIX.5.0',\n    addedEP: '68',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description:\n      'Yield to Maturity (when YieldType(235) and Yield(236) show a different yield)',\n  },\n  {\n    name: 'InterestPayoffOfRollingOrAmendingTrade',\n    id: '233089',\n    value: 'PAYOFF',\n    sort: 72,\n    group: 'Other',\n    added: 'FIX.5.0SP2',\n    addedEP: '258',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'Interest payoff of rolling or amending trade',\n  },\n  {\n    name: 'AbsolutePrepaymentSpeed',\n    id: '233090',\n    value: 'ABS',\n    sort: 1,\n    group: 'Prepayment Speeds',\n    added: 'FIX.4.3',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'Absolute Prepayment Speed',\n  },\n  {\n    name: 'ConstantPrepaymentPenalty',\n    id: '233091',\n    value: 'CPP',\n    sort: 2,\n    group: 'Prepayment Speeds',\n    added: 'FIX.4.3',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'Constant Prepayment Penalty',\n  },\n  {\n    name: 'ConstantPrepaymentRate',\n    id: '233092',\n    value: 'CPR',\n    sort: 3,\n    group: 'Prepayment Speeds',\n    added: 'FIX.4.3',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'Constant Prepayment Rate',\n  },\n  {\n    name: 'ConstantPrepaymentYield',\n    id: '233093',\n    value: 'CPY',\n    sort: 4,\n    group: 'Prepayment Speeds',\n    added: 'FIX.4.3',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'Constant Prepayment Yield',\n  },\n  {\n    name: 'FinalCPROfHomeEquityPrepaymentCurve',\n    id: '233094',\n    value: 'HEP',\n    sort: 5,\n    group: 'Prepayment Speeds',\n    added: 'FIX.4.3',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'final CPR of Home Equity Prepayment Curve',\n  },\n  {\n    name: 'PercentOfManufacturedHousingPrepaymentCurve',\n    id: '233095',\n    value: 'MHP',\n    sort: 6,\n    group: 'Prepayment Speeds',\n    added: 'FIX.4.3',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'Percent of Manufactured Housing Prepayment Curve',\n  },\n  {\n    name: 'MonthlyPrepaymentRate',\n    id: '233096',\n    value: 'MPR',\n    sort: 7,\n    group: 'Prepayment Speeds',\n    added: 'FIX.4.3',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'Monthly Prepayment Rate',\n  },\n  {\n    name: 'PercentOfProspectusPrepaymentCurve',\n    id: '233097',\n    value: 'PPC',\n    sort: 8,\n    group: 'Prepayment Speeds',\n    added: 'FIX.4.3',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'Percent of Prospectus Prepayment Curve',\n  },\n  {\n    name: 'PercentOfBMAPrepaymentCurve',\n    id: '233098',\n    value: 'PSA',\n    sort: 9,\n    group: 'Prepayment Speeds',\n    added: 'FIX.4.3',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'Percent of BMA Prepayment Curve',\n  },\n  {\n    name: 'SingleMonthlyMortality',\n    id: '233099',\n    value: 'SMM',\n    sort: 10,\n    group: 'Prepayment Speeds',\n    added: 'FIX.4.3',\n    tag: 233,\n    type: 'String',\n    codeSet: 'StipulationTypeCodeSet',\n    description: 'Single Monthly Mortality',\n  },\n  {\n    name: 'AfterTaxYield',\n    id: '235001',\n    value: 'AFTERTAX',\n    sort: 1,\n    added: 'FIX.4.3',\n    tag: 235,\n    type: 'String',\n    codeSet: 'YieldTypeCodeSet',\n    description: 'After Tax Yield (Municipals)',\n  },\n  {\n    name: 'AnnualYield',\n    id: '235002',\n    value: 'ANNUAL',\n    sort: 2,\n    added: 'FIX.4.3',\n    tag: 235,\n    type: 'String',\n    codeSet: 'YieldTypeCodeSet',\n    description: 'Annual Yield',\n  },\n  {\n    name: 'YieldAtIssue',\n    id: '235003',\n    value: 'ATISSUE',\n    sort: 3,\n    added: 'FIX.4.3',\n    tag: 235,\n    type: 'String',\n    codeSet: 'YieldTypeCodeSet',\n    description: 'Yield At Issue (Municipals)',\n  },\n  {\n    name: 'YieldToAverageMaturity',\n    id: '235004',\n    value: 'AVGMATURITY',\n    sort: 4,\n    added: 'FIX.4.3',\n    tag: 235,\n    type: 'String',\n    codeSet: 'YieldTypeCodeSet',\n    description: 'Yield To Avg Maturity',\n  },\n  {\n    name: 'BookYield',\n    id: '235005',\n    value: 'BOOK',\n    sort: 5,\n    added: 'FIX.4.3',\n    tag: 235,\n    type: 'String',\n    codeSet: 'YieldTypeCodeSet',\n    description: 'Book Yield',\n  },\n  {\n    name: 'YieldToNextCall',\n    id: '235006',\n    value: 'CALL',\n    sort: 6,\n    added: 'FIX.4.3',\n    tag: 235,\n    type: 'String',\n    codeSet: 'YieldTypeCodeSet',\n    description: 'Yield to Next Call',\n  },\n  {\n    name: 'YieldChangeSinceClose',\n    id: '235007',\n    value: 'CHANGE',\n    sort: 7,\n    added: 'FIX.4.3',\n    tag: 235,\n    type: 'String',\n    codeSet: 'YieldTypeCodeSet',\n    description: 'Yield Change Since Close',\n  },\n  {\n    name: 'ClosingYield',\n    id: '235008',\n    value: 'CLOSE',\n    sort: 8,\n    added: 'FIX.4.3',\n    tag: 235,\n    type: 'String',\n    codeSet: 'YieldTypeCodeSet',\n    description: 'Closing Yield',\n  },\n  {\n    name: 'CompoundYield',\n    id: '235009',\n    value: 'COMPOUND',\n    sort: 9,\n    added: 'FIX.4.3',\n    tag: 235,\n    type: 'String',\n    codeSet: 'YieldTypeCodeSet',\n    description: 'Compound Yield',\n  },\n  {\n    name: 'CurrentYield',\n    id: '235010',\n    value: 'CURRENT',\n    sort: 10,\n    added: 'FIX.4.3',\n    tag: 235,\n    type: 'String',\n    codeSet: 'YieldTypeCodeSet',\n    description: 'Current Yield',\n  },\n  {\n    name: 'GvntEquivalentYield',\n    id: '235011',\n    value: 'GOVTEQUIV',\n    sort: 11,\n    added: 'FIX.4.3',\n    tag: 235,\n    type: 'String',\n    codeSet: 'YieldTypeCodeSet',\n    description: 'Gvnt Equivalent Yield',\n  },\n  {\n    name: 'TrueGrossYield',\n    id: '235012',\n    value: 'GROSS',\n    sort: 12,\n    added: 'FIX.4.3',\n    tag: 235,\n    type: 'String',\n    codeSet: 'YieldTypeCodeSet',\n    description: 'True Gross Yield',\n  },\n  {\n    name: 'YieldWithInflationAssumption',\n    id: '235013',\n    value: 'INFLATION',\n    sort: 13,\n    added: 'FIX.4.3',\n    tag: 235,\n    type: 'String',\n    codeSet: 'YieldTypeCodeSet',\n    description: 'Yield with Inflation Assumption',\n  },\n  {\n    name: 'InverseFloaterBondYield',\n    id: '235014',\n    value: 'INVERSEFLOATER',\n    sort: 14,\n    added: 'FIX.4.3',\n    tag: 235,\n    type: 'String',\n    codeSet: 'YieldTypeCodeSet',\n    description: 'Inverse Floater Bond Yield',\n  },\n  {\n    name: 'MostRecentClosingYield',\n    id: '235015',\n    value: 'LASTCLOSE',\n    sort: 15,\n    added: 'FIX.4.3',\n    tag: 235,\n    type: 'String',\n    codeSet: 'YieldTypeCodeSet',\n    description: 'Most Recent Closing Yield',\n  },\n  {\n    name: 'ClosingYieldMostRecentMonth',\n    id: '235016',\n    value: 'LASTMONTH',\n    sort: 16,\n    added: 'FIX.4.3',\n    tag: 235,\n    type: 'String',\n    codeSet: 'YieldTypeCodeSet',\n    description: 'Closing Yield Most Recent Month',\n  },\n  {\n    name: 'ClosingYieldMostRecentQuarter',\n    id: '235017',\n    value: 'LASTQUARTER',\n    sort: 17,\n    added: 'FIX.4.3',\n    tag: 235,\n    type: 'String',\n    codeSet: 'YieldTypeCodeSet',\n    description: 'Closing Yield Most Recent Quarter',\n  },\n  {\n    name: 'ClosingYieldMostRecentYear',\n    id: '235018',\n    value: 'LASTYEAR',\n    sort: 18,\n    added: 'FIX.4.3',\n    tag: 235,\n    type: 'String',\n    codeSet: 'YieldTypeCodeSet',\n    description: 'Closing Yield Most Recent Year',\n  },\n  {\n    name: 'YieldToLongestAverageLife',\n    id: '235019',\n    value: 'LONGAVGLIFE',\n    sort: 19,\n    added: 'FIX.4.3',\n    tag: 235,\n    type: 'String',\n    codeSet: 'YieldTypeCodeSet',\n    description: 'Yield to Longest Average Life',\n  },\n  {\n    name: 'MarkToMarketYield',\n    id: '235020',\n    value: 'MARK',\n    sort: 20,\n    added: 'FIX.4.3',\n    tag: 235,\n    type: 'String',\n    codeSet: 'YieldTypeCodeSet',\n    description: 'Mark to Market Yield',\n  },\n  {\n    name: 'YieldToMaturity',\n    id: '235021',\n    value: 'MATURITY',\n    sort: 21,\n    added: 'FIX.4.3',\n    tag: 235,\n    type: 'String',\n    codeSet: 'YieldTypeCodeSet',\n    description: 'Yield to Maturity',\n  },\n  {\n    name: 'YieldToNextRefund',\n    id: '235022',\n    value: 'NEXTREFUND',\n    sort: 22,\n    added: 'FIX.4.3',\n    tag: 235,\n    type: 'String',\n    codeSet: 'YieldTypeCodeSet',\n    description: 'Yield to Next Refund (Sinking Fund Bonds)',\n  },\n  {\n    name: 'OpenAverageYield',\n    id: '235023',\n    value: 'OPENAVG',\n    sort: 23,\n    added: 'FIX.4.3',\n    tag: 235,\n    type: 'String',\n    codeSet: 'YieldTypeCodeSet',\n    description: 'Open Average Yield',\n  },\n  {\n    name: 'PreviousCloseYield',\n    id: '235024',\n    value: 'PREVCLOSE',\n    sort: 24,\n    added: 'FIX.4.3',\n    tag: 235,\n    type: 'String',\n    codeSet: 'YieldTypeCodeSet',\n    description: 'Previous Close Yield',\n  },\n  {\n    name: 'ProceedsYield',\n    id: '235025',\n    value: 'PROCEEDS',\n    sort: 25,\n    added: 'FIX.4.3',\n    tag: 235,\n    type: 'String',\n    codeSet: 'YieldTypeCodeSet',\n    description: 'Proceeds Yield',\n  },\n  {\n    name: 'YieldToNextPut',\n    id: '235026',\n    value: 'PUT',\n    sort: 26,\n    added: 'FIX.4.3',\n    tag: 235,\n    type: 'String',\n    codeSet: 'YieldTypeCodeSet',\n    description: 'Yield to Next Put',\n  },\n  {\n    name: 'SemiAnnualYield',\n    id: '235027',\n    value: 'SEMIANNUAL',\n    sort: 27,\n    added: 'FIX.4.3',\n    tag: 235,\n    type: 'String',\n    codeSet: 'YieldTypeCodeSet',\n    description: 'Semi-annual Yield',\n  },\n  {\n    name: 'YieldToShortestAverageLife',\n    id: '235028',\n    value: 'SHORTAVGLIFE',\n    sort: 28,\n    added: 'FIX.4.3',\n    tag: 235,\n    type: 'String',\n    codeSet: 'YieldTypeCodeSet',\n    description: 'Yield to Shortest Average Life',\n  },\n  {\n    name: 'SimpleYield',\n    id: '235029',\n    value: 'SIMPLE',\n    sort: 29,\n    added: 'FIX.4.3',\n    tag: 235,\n    type: 'String',\n    codeSet: 'YieldTypeCodeSet',\n    description: 'Simple Yield',\n  },\n  {\n    name: 'TaxEquivalentYield',\n    id: '235030',\n    value: 'TAXEQUIV',\n    sort: 30,\n    added: 'FIX.4.3',\n    tag: 235,\n    type: 'String',\n    codeSet: 'YieldTypeCodeSet',\n    description: 'Tax Equivalent Yield',\n  },\n  {\n    name: 'YieldToTenderDate',\n    id: '235031',\n    value: 'TENDER',\n    sort: 31,\n    added: 'FIX.4.3',\n    tag: 235,\n    type: 'String',\n    codeSet: 'YieldTypeCodeSet',\n    description: 'Yield to Tender Date',\n  },\n  {\n    name: 'TrueYield',\n    id: '235032',\n    value: 'TRUE',\n    sort: 32,\n    added: 'FIX.4.3',\n    tag: 235,\n    type: 'String',\n    codeSet: 'YieldTypeCodeSet',\n    description: 'True Yield',\n  },\n  {\n    name: 'YieldValueOf32nds',\n    id: '235033',\n    value: 'VALUE1_32',\n    sort: 33,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 235,\n    type: 'String',\n    codeSet: 'YieldTypeCodeSet',\n    description: 'Yield Value Of 1/32',\n  },\n  {\n    name: 'YieldToWorst',\n    id: '235034',\n    value: 'WORST',\n    sort: 34,\n    added: 'FIX.4.3',\n    tag: 235,\n    type: 'String',\n    codeSet: 'YieldTypeCodeSet',\n    description: 'Yield To Worst',\n  },\n  {\n    name: 'NotTradedFlat',\n    id: '258001',\n    value: 'N',\n    sort: 1,\n    added: 'FIX.4.3',\n    tag: 258,\n    type: 'Boolean',\n    codeSet: 'TradedFlatSwitchCodeSet',\n    description: 'Not Traded Flat',\n  },\n  {\n    name: 'TradedFlat',\n    id: '258002',\n    value: 'Y',\n    sort: 2,\n    added: 'FIX.4.3',\n    tag: 258,\n    type: 'Boolean',\n    codeSet: 'TradedFlatSwitchCodeSet',\n    description: 'Traded Flat',\n  },\n  {\n    name: 'Snapshot',\n    id: '263001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.2',\n    tag: 263,\n    type: 'char',\n    codeSet: 'SubscriptionRequestTypeCodeSet',\n    description: 'Snapshot',\n  },\n  {\n    name: 'SnapshotAndUpdates',\n    id: '263002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.2',\n    tag: 263,\n    type: 'char',\n    codeSet: 'SubscriptionRequestTypeCodeSet',\n    description: 'Snapshot + Updates (Subscribe)',\n  },\n  {\n    name: 'DisablePreviousSnapshot',\n    id: '263003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.4.2',\n    tag: 263,\n    type: 'char',\n    codeSet: 'SubscriptionRequestTypeCodeSet',\n    description: 'Disable previous Snapshot + Update Request (Unsubscribe)',\n  },\n  {\n    name: 'FullRefresh',\n    id: '265001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.2',\n    updated: 'FIX.5.0SP1',\n    updatedEP: '95',\n    tag: 265,\n    type: 'int',\n    codeSet: 'MDUpdateTypeCodeSet',\n    description: 'Full refresh',\n  },\n  {\n    name: 'IncrementalRefresh',\n    id: '265002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.2',\n    updated: 'FIX.5.0SP1',\n    updatedEP: '95',\n    tag: 265,\n    type: 'int',\n    codeSet: 'MDUpdateTypeCodeSet',\n    description: 'Incremental refresh',\n  },\n  {\n    name: 'BookEntriesToBeAggregated',\n    id: '266001',\n    value: 'Y',\n    sort: 1,\n    added: 'FIX.4.4',\n    addedEP: '34',\n    tag: 266,\n    type: 'Boolean',\n    codeSet: 'AggregatedBookCodeSet',\n    description: 'book entries to be aggregated',\n  },\n  {\n    name: 'BookEntriesShouldNotBeAggregated',\n    id: '266002',\n    value: 'N',\n    sort: 2,\n    added: 'FIX.4.4',\n    addedEP: '34',\n    tag: 266,\n    type: 'Boolean',\n    codeSet: 'AggregatedBookCodeSet',\n    description: 'book entries should not be aggregated',\n  },\n  {\n    name: 'Bid',\n    id: '269001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.2',\n    tag: 269,\n    type: 'char',\n    codeSet: 'MDEntryTypeCodeSet',\n    description: 'Bid',\n  },\n  {\n    name: 'Offer',\n    id: '269002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.2',\n    tag: 269,\n    type: 'char',\n    codeSet: 'MDEntryTypeCodeSet',\n    description: 'Offer',\n  },\n  {\n    name: 'Trade',\n    id: '269003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.4.2',\n    tag: 269,\n    type: 'char',\n    codeSet: 'MDEntryTypeCodeSet',\n    description: 'Trade',\n  },\n  {\n    name: 'IndexValue',\n    id: '269004',\n    value: '3',\n    sort: 4,\n    added: 'FIX.4.2',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '174',\n    tag: 269,\n    type: 'char',\n    codeSet: 'MDEntryTypeCodeSet',\n    description:\n      'Index value\\n\\nA reference stock index (e.g. DJIA) or benchmark rate (e.g. LIBOR).',\n  },\n  {\n    name: 'OpeningPrice',\n    id: '269005',\n    value: '4',\n    sort: 5,\n    added: 'FIX.4.2',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '174',\n    tag: 269,\n    type: 'char',\n    codeSet: 'MDEntryTypeCodeSet',\n    description: 'Opening price',\n  },\n  {\n    name: 'ClosingPrice',\n    id: '269006',\n    value: '5',\n    sort: 6,\n    added: 'FIX.4.2',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '174',\n    tag: 269,\n    type: 'char',\n    codeSet: 'MDEntryTypeCodeSet',\n    description: 'Closing price',\n  },\n  {\n    name: 'SettlementPrice',\n    id: '269007',\n    value: '6',\n    sort: 7,\n    added: 'FIX.4.2',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '174',\n    tag: 269,\n    type: 'char',\n    codeSet: 'MDEntryTypeCodeSet',\n    description: 'Settlement price',\n  },\n  {\n    name: 'TradingSessionHighPrice',\n    id: '269008',\n    value: '7',\n    sort: 8,\n    added: 'FIX.4.2',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '174',\n    tag: 269,\n    type: 'char',\n    codeSet: 'MDEntryTypeCodeSet',\n    description: 'Trading session high price',\n  },\n  {\n    name: 'TradingSessionLowPrice',\n    id: '269009',\n    value: '8',\n    sort: 9,\n    added: 'FIX.4.2',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '174',\n    tag: 269,\n    type: 'char',\n    codeSet: 'MDEntryTypeCodeSet',\n    description: 'Trading session low price',\n  },\n  {\n    name: 'VWAP',\n    id: '269010',\n    value: '9',\n    sort: 10,\n    added: 'FIX.4.2',\n    updated: 'FIX.Latest',\n    updatedEP: '267',\n    tag: 269,\n    type: 'char',\n    codeSet: 'MDEntryTypeCodeSet',\n    description: 'Volume Weighted Average Price\\n\\nVWAP',\n  },\n  {\n    name: 'Imbalance',\n    id: '269011',\n    value: 'A',\n    sort: 11,\n    added: 'FIX.4.3',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '174',\n    tag: 269,\n    type: 'char',\n    codeSet: 'MDEntryTypeCodeSet',\n    description: 'Imbalance',\n  },\n  {\n    name: 'TradeVolume',\n    id: '269012',\n    value: 'B',\n    sort: 12,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '174',\n    tag: 269,\n    type: 'char',\n    codeSet: 'MDEntryTypeCodeSet',\n    description: 'Trade volume',\n  },\n  {\n    name: 'OpenInterest',\n    id: '269013',\n    value: 'C',\n    sort: 13,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '174',\n    tag: 269,\n    type: 'char',\n    codeSet: 'MDEntryTypeCodeSet',\n    description: 'Open interest',\n  },\n  {\n    name: 'CompositeUnderlyingPrice',\n    id: '269014',\n    value: 'D',\n    sort: 14,\n    added: 'FIX.4.4',\n    addedEP: '4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '174',\n    tag: 269,\n    type: 'char',\n    codeSet: 'MDEntryTypeCodeSet',\n    description: 'Composite underlying price',\n  },\n  {\n    name: 'SimulatedSellPrice',\n    id: '269015',\n    value: 'E',\n    sort: 15,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '174',\n    tag: 269,\n    type: 'char',\n    codeSet: 'MDEntryTypeCodeSet',\n    description: 'Simulated sell price',\n  },\n  {\n    name: 'SimulatedBuyPrice',\n    id: '269016',\n    value: 'F',\n    sort: 16,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '174',\n    tag: 269,\n    type: 'char',\n    codeSet: 'MDEntryTypeCodeSet',\n    description: 'Simulated buy price',\n  },\n  {\n    name: 'MarginRate',\n    id: '269017',\n    value: 'G',\n    sort: 17,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '174',\n    tag: 269,\n    type: 'char',\n    codeSet: 'MDEntryTypeCodeSet',\n    description: 'Margin rate',\n  },\n  {\n    name: 'MidPrice',\n    id: '269018',\n    value: 'H',\n    sort: 18,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '174',\n    tag: 269,\n    type: 'char',\n    codeSet: 'MDEntryTypeCodeSet',\n    description: 'Mid-price',\n  },\n  {\n    name: 'EmptyBook',\n    id: '269019',\n    value: 'J',\n    sort: 19,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '174',\n    tag: 269,\n    type: 'char',\n    codeSet: 'MDEntryTypeCodeSet',\n    description: 'Empty book',\n  },\n  {\n    name: 'SettleHighPrice',\n    id: '269020',\n    value: 'K',\n    sort: 20,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '174',\n    tag: 269,\n    type: 'char',\n    codeSet: 'MDEntryTypeCodeSet',\n    description: 'Settle high price',\n  },\n  {\n    name: 'SettleLowPrice',\n    id: '269021',\n    value: 'L',\n    sort: 21,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '174',\n    tag: 269,\n    type: 'char',\n    codeSet: 'MDEntryTypeCodeSet',\n    description: 'Settle low price',\n  },\n  {\n    name: 'PriorSettlePrice',\n    id: '269022',\n    value: 'M',\n    sort: 22,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '174',\n    tag: 269,\n    type: 'char',\n    codeSet: 'MDEntryTypeCodeSet',\n    description: 'Prior settle price',\n  },\n  {\n    name: 'SessionHighBid',\n    id: '269023',\n    value: 'N',\n    sort: 23,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '174',\n    tag: 269,\n    type: 'char',\n    codeSet: 'MDEntryTypeCodeSet',\n    description: 'Session high bid',\n  },\n  {\n    name: 'SessionLowOffer',\n    id: '269024',\n    value: 'O',\n    sort: 24,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '174',\n    tag: 269,\n    type: 'char',\n    codeSet: 'MDEntryTypeCodeSet',\n    description: 'Session low offer',\n  },\n  {\n    name: 'EarlyPrices',\n    id: '269025',\n    value: 'P',\n    sort: 25,\n    added: 'FIX.4.4',\n    addedEP: '8',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '174',\n    tag: 269,\n    type: 'char',\n    codeSet: 'MDEntryTypeCodeSet',\n    description: 'Early prices',\n  },\n  {\n    name: 'AuctionClearingPrice',\n    id: '269026',\n    value: 'Q',\n    sort: 26,\n    added: 'FIX.4.4',\n    addedEP: '26',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '174',\n    tag: 269,\n    type: 'char',\n    codeSet: 'MDEntryTypeCodeSet',\n    description: 'Auction clearing price',\n  },\n  {\n    name: 'SwapValueFactor',\n    id: '269027',\n    value: 'S',\n    sort: 27,\n    added: 'FIX.5.0',\n    addedEP: '54',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '174',\n    tag: 269,\n    type: 'char',\n    codeSet: 'MDEntryTypeCodeSet',\n    description:\n      'Swap Value Factor (SVF) for swaps cleared through a central counterparty (CCP)',\n  },\n  {\n    name: 'DailyValueAdjustmentForLongPositions',\n    id: '269028',\n    value: 'R',\n    sort: 28,\n    added: 'FIX.5.0',\n    addedEP: '55',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '174',\n    tag: 269,\n    type: 'char',\n    codeSet: 'MDEntryTypeCodeSet',\n    description: 'Daily value adjustment for long positions',\n  },\n  {\n    name: 'CumulativeValueAdjustmentForLongPositions',\n    id: '269029',\n    value: 'T',\n    sort: 29,\n    added: 'FIX.5.0',\n    addedEP: '55',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '174',\n    tag: 269,\n    type: 'char',\n    codeSet: 'MDEntryTypeCodeSet',\n    description: 'Cumulative value adjustment for long positions',\n  },\n  {\n    name: 'DailyValueAdjustmentForShortPositions',\n    id: '269030',\n    value: 'U',\n    sort: 30,\n    added: 'FIX.5.0',\n    addedEP: '55',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '174',\n    tag: 269,\n    type: 'char',\n    codeSet: 'MDEntryTypeCodeSet',\n    description: 'Daily value adjustment for short positions',\n  },\n  {\n    name: 'CumulativeValueAdjustmentForShortPositions',\n    id: '269031',\n    value: 'V',\n    sort: 31,\n    added: 'FIX.5.0',\n    addedEP: '55',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '174',\n    tag: 269,\n    type: 'char',\n    codeSet: 'MDEntryTypeCodeSet',\n    description: 'Cumulative value adjustment for short positions',\n  },\n  {\n    name: 'FixingPrice',\n    id: '269032',\n    value: 'W',\n    sort: 32,\n    added: 'FIX.5.0SP1',\n    addedEP: '84',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '174',\n    tag: 269,\n    type: 'char',\n    codeSet: 'MDEntryTypeCodeSet',\n    description: 'Fixing price',\n  },\n  {\n    name: 'CashRate',\n    id: '269033',\n    value: 'X',\n    sort: 33,\n    added: 'FIX.5.0SP1',\n    addedEP: '84',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '174',\n    tag: 269,\n    type: 'char',\n    codeSet: 'MDEntryTypeCodeSet',\n    description: 'Cash rate',\n  },\n  {\n    name: 'RecoveryRate',\n    id: '269034',\n    value: 'Y',\n    sort: 34,\n    added: 'FIX.5.0SP1',\n    addedEP: '83',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '174',\n    tag: 269,\n    type: 'char',\n    codeSet: 'MDEntryTypeCodeSet',\n    description: 'Recovery rate',\n  },\n  {\n    name: 'RecoveryRateForLong',\n    id: '269035',\n    value: 'Z',\n    sort: 35,\n    added: 'FIX.5.0SP1',\n    addedEP: '83',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '174',\n    tag: 269,\n    type: 'char',\n    codeSet: 'MDEntryTypeCodeSet',\n    description: 'Recovery rate for long positions',\n  },\n  {\n    name: 'RecoveryRateForShort',\n    id: '269036',\n    value: 'a',\n    sort: 36,\n    added: 'FIX.5.0SP1',\n    addedEP: '83',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '174',\n    tag: 269,\n    type: 'char',\n    codeSet: 'MDEntryTypeCodeSet',\n    description: 'Recovery rate for short positions',\n  },\n  {\n    name: 'MarketBid',\n    id: '269037',\n    value: 'b',\n    sort: 37,\n    added: 'FIX.5.0SP2',\n    addedEP: '106',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '174',\n    tag: 269,\n    type: 'char',\n    codeSet: 'MDEntryTypeCodeSet',\n    description: 'Market bid',\n  },\n  {\n    name: 'MarketOffer',\n    id: '269038',\n    value: 'c',\n    sort: 38,\n    added: 'FIX.5.0SP2',\n    addedEP: '106',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '174',\n    tag: 269,\n    type: 'char',\n    codeSet: 'MDEntryTypeCodeSet',\n    description: 'Market offer',\n  },\n  {\n    name: 'ShortSaleMinPrice',\n    id: '269039',\n    value: 'd',\n    sort: 39,\n    added: 'FIX.5.0SP2',\n    addedEP: '123',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '174',\n    tag: 269,\n    type: 'char',\n    codeSet: 'MDEntryTypeCodeSet',\n    description: 'Short sale minimum price',\n  },\n  {\n    name: 'PreviousClosingPrice',\n    id: '269040',\n    value: 'e',\n    sort: 40,\n    added: 'FIX.5.0SP2',\n    addedEP: '190',\n    tag: 269,\n    type: 'char',\n    codeSet: 'MDEntryTypeCodeSet',\n    description: 'Previous closing price',\n  },\n  {\n    name: 'ThresholdLimitPriceBanding',\n    id: '269041',\n    value: 'g',\n    sort: 42,\n    added: 'FIX.Latest',\n    addedEP: '267',\n    tag: 269,\n    type: 'char',\n    codeSet: 'MDEntryTypeCodeSet',\n    description:\n      'Threshold limits and price banding\\n\\nConveys incremental real time change to pre-configured or previously disseminated pricing thresholds and/or banding parameters.',\n  },\n  {\n    name: 'DailyFinancingValue',\n    id: '269042',\n    value: 'h',\n    sort: 43,\n    added: 'FIX.Latest',\n    addedEP: '267',\n    tag: 269,\n    type: 'char',\n    codeSet: 'MDEntryTypeCodeSet',\n    description:\n      'Daily financing value\\n\\nThe financing cost of rolling an analogous total return swap from the previous business day to the current business day. In the context of Adjusted Interest Rate (AIR) futures this is a component of the cleared futures price.',\n  },\n  {\n    name: 'AccruedFinancingValue',\n    id: '269043',\n    value: 'i',\n    sort: 44,\n    added: 'FIX.Latest',\n    addedEP: '267',\n    tag: 269,\n    type: 'char',\n    codeSet: 'MDEntryTypeCodeSet',\n    description:\n      \"Accrued financing value\\n\\nThe total of the daily funding values or amounts from a contract's first day of trading to the current day. In the context of Adjusted Interest Rate (AIR) futures this is a component of the cleared futures price.\",\n  },\n  {\n    name: 'TWAP',\n    id: '269044',\n    value: 't',\n    sort: 56,\n    added: 'FIX.Latest',\n    addedEP: '267',\n    tag: 269,\n    type: 'char',\n    codeSet: 'MDEntryTypeCodeSet',\n    description: 'Time Weighted Average Price\\n\\nTWAP',\n  },\n  {\n    name: 'PlusTick',\n    id: '274001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.2',\n    tag: 274,\n    type: 'char',\n    codeSet: 'TickDirectionCodeSet',\n    description: 'Plus Tick',\n  },\n  {\n    name: 'ZeroPlusTick',\n    id: '274002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.2',\n    tag: 274,\n    type: 'char',\n    codeSet: 'TickDirectionCodeSet',\n    description: 'Zero-Plus Tick',\n  },\n  {\n    name: 'MinusTick',\n    id: '274003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.4.2',\n    tag: 274,\n    type: 'char',\n    codeSet: 'TickDirectionCodeSet',\n    description: 'Minus Tick',\n  },\n  {\n    name: 'ZeroMinusTick',\n    id: '274004',\n    value: '3',\n    sort: 4,\n    added: 'FIX.4.2',\n    tag: 274,\n    type: 'char',\n    codeSet: 'TickDirectionCodeSet',\n    description: 'Zero-Minus Tick',\n  },\n  {\n    name: 'Open',\n    id: '276001',\n    value: 'A',\n    sort: 1,\n    added: 'FIX.4.2',\n    tag: 276,\n    type: 'MultipleStringValue',\n    codeSet: 'QuoteConditionCodeSet',\n    description: 'Open/Active',\n  },\n  {\n    name: 'Closed',\n    id: '276002',\n    value: 'B',\n    sort: 2,\n    added: 'FIX.4.2',\n    tag: 276,\n    type: 'MultipleStringValue',\n    codeSet: 'QuoteConditionCodeSet',\n    description: 'Closed/Inactive',\n  },\n  {\n    name: 'ExchangeBest',\n    id: '276003',\n    value: 'C',\n    sort: 3,\n    added: 'FIX.4.2',\n    tag: 276,\n    type: 'MultipleStringValue',\n    codeSet: 'QuoteConditionCodeSet',\n    description: 'Exchange Best',\n  },\n  {\n    name: 'ConsolidatedBest',\n    id: '276004',\n    value: 'D',\n    sort: 4,\n    added: 'FIX.4.2',\n    tag: 276,\n    type: 'MultipleStringValue',\n    codeSet: 'QuoteConditionCodeSet',\n    description: 'Consolidated Best',\n  },\n  {\n    name: 'Locked',\n    id: '276005',\n    value: 'E',\n    sort: 5,\n    added: 'FIX.4.2',\n    tag: 276,\n    type: 'MultipleStringValue',\n    codeSet: 'QuoteConditionCodeSet',\n    description: 'Locked',\n  },\n  {\n    name: 'Crossed',\n    id: '276006',\n    value: 'F',\n    sort: 6,\n    added: 'FIX.4.2',\n    tag: 276,\n    type: 'MultipleStringValue',\n    codeSet: 'QuoteConditionCodeSet',\n    description: 'Crossed',\n  },\n  {\n    name: 'Depth',\n    id: '276007',\n    value: 'G',\n    sort: 7,\n    added: 'FIX.4.2',\n    tag: 276,\n    type: 'MultipleStringValue',\n    codeSet: 'QuoteConditionCodeSet',\n    description: 'Depth',\n  },\n  {\n    name: 'FastTrading',\n    id: '276008',\n    value: 'H',\n    sort: 8,\n    added: 'FIX.4.2',\n    tag: 276,\n    type: 'MultipleStringValue',\n    codeSet: 'QuoteConditionCodeSet',\n    description: 'Fast Trading',\n  },\n  {\n    name: 'NonFirm',\n    id: '276009',\n    value: 'I',\n    sort: 9,\n    added: 'FIX.4.2',\n    tag: 276,\n    type: 'MultipleStringValue',\n    codeSet: 'QuoteConditionCodeSet',\n    description: 'Non-Firm',\n  },\n  {\n    name: 'Manual',\n    id: '276010',\n    value: 'L',\n    sort: 10,\n    added: 'FIX.4.4',\n    addedEP: '6',\n    tag: 276,\n    type: 'MultipleStringValue',\n    codeSet: 'QuoteConditionCodeSet',\n    description: 'Manual/Slow Quote',\n  },\n  {\n    name: 'OutrightPrice',\n    id: '276011',\n    value: 'J',\n    sort: 11,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 276,\n    type: 'MultipleStringValue',\n    codeSet: 'QuoteConditionCodeSet',\n    description: 'Outright Price',\n  },\n  {\n    name: 'ImpliedPrice',\n    id: '276012',\n    value: 'K',\n    sort: 12,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 276,\n    type: 'MultipleStringValue',\n    codeSet: 'QuoteConditionCodeSet',\n    description: 'Implied Price',\n  },\n  {\n    name: 'DepthOnOffer',\n    id: '276013',\n    value: 'M',\n    sort: 13,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 276,\n    type: 'MultipleStringValue',\n    codeSet: 'QuoteConditionCodeSet',\n    description: 'Depth on Offer',\n  },\n  {\n    name: 'DepthOnBid',\n    id: '276014',\n    value: 'N',\n    sort: 14,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 276,\n    type: 'MultipleStringValue',\n    codeSet: 'QuoteConditionCodeSet',\n    description: 'Depth on Bid',\n  },\n  {\n    name: 'Closing',\n    id: '276015',\n    value: 'O',\n    sort: 15,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 276,\n    type: 'MultipleStringValue',\n    codeSet: 'QuoteConditionCodeSet',\n    description: 'Closing',\n  },\n  {\n    name: 'NewsDissemination',\n    id: '276016',\n    value: 'P',\n    sort: 16,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 276,\n    type: 'MultipleStringValue',\n    codeSet: 'QuoteConditionCodeSet',\n    description: 'News Dissemination',\n  },\n  {\n    name: 'TradingRange',\n    id: '276017',\n    value: 'Q',\n    sort: 17,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 276,\n    type: 'MultipleStringValue',\n    codeSet: 'QuoteConditionCodeSet',\n    description: 'Trading Range',\n  },\n  {\n    name: 'OrderInflux',\n    id: '276018',\n    value: 'R',\n    sort: 18,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 276,\n    type: 'MultipleStringValue',\n    codeSet: 'QuoteConditionCodeSet',\n    description: 'Order Influx',\n  },\n  {\n    name: 'DueToRelated',\n    id: '276019',\n    value: 'S',\n    sort: 19,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 276,\n    type: 'MultipleStringValue',\n    codeSet: 'QuoteConditionCodeSet',\n    description: 'Due to Related',\n  },\n  {\n    name: 'NewsPending',\n    id: '276020',\n    value: 'T',\n    sort: 20,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 276,\n    type: 'MultipleStringValue',\n    codeSet: 'QuoteConditionCodeSet',\n    description: 'News Pending',\n  },\n  {\n    name: 'AdditionalInfo',\n    id: '276021',\n    value: 'U',\n    sort: 21,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 276,\n    type: 'MultipleStringValue',\n    codeSet: 'QuoteConditionCodeSet',\n    description: 'Additional Info',\n  },\n  {\n    name: 'AdditionalInfoDueToRelated',\n    id: '276022',\n    value: 'V',\n    sort: 22,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 276,\n    type: 'MultipleStringValue',\n    codeSet: 'QuoteConditionCodeSet',\n    description: 'Additional Info due to related',\n  },\n  {\n    name: 'Resume',\n    id: '276023',\n    value: 'W',\n    sort: 23,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 276,\n    type: 'MultipleStringValue',\n    codeSet: 'QuoteConditionCodeSet',\n    description: 'Resume',\n  },\n  {\n    name: 'ViewOfCommon',\n    id: '276024',\n    value: 'X',\n    sort: 24,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 276,\n    type: 'MultipleStringValue',\n    codeSet: 'QuoteConditionCodeSet',\n    description: 'View of Common',\n  },\n  {\n    name: 'VolumeAlert',\n    id: '276025',\n    value: 'Y',\n    sort: 25,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 276,\n    type: 'MultipleStringValue',\n    codeSet: 'QuoteConditionCodeSet',\n    description: 'Volume Alert',\n  },\n  {\n    name: 'OrderImbalance',\n    id: '276026',\n    value: 'Z',\n    sort: 26,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 276,\n    type: 'MultipleStringValue',\n    codeSet: 'QuoteConditionCodeSet',\n    description: 'Order Imbalance',\n  },\n  {\n    name: 'EquipmentChangeover',\n    id: '276027',\n    value: 'a',\n    sort: 27,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 276,\n    type: 'MultipleStringValue',\n    codeSet: 'QuoteConditionCodeSet',\n    description: 'Equipment Changeover',\n  },\n  {\n    name: 'NoOpen',\n    id: '276028',\n    value: 'b',\n    sort: 28,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 276,\n    type: 'MultipleStringValue',\n    codeSet: 'QuoteConditionCodeSet',\n    description: 'No Open / No Resume',\n  },\n  {\n    name: 'RegularETH',\n    id: '276029',\n    value: 'c',\n    sort: 29,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 276,\n    type: 'MultipleStringValue',\n    codeSet: 'QuoteConditionCodeSet',\n    description: 'Regular ETH',\n  },\n  {\n    name: 'AutomaticExecution',\n    id: '276030',\n    value: 'd',\n    sort: 30,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 276,\n    type: 'MultipleStringValue',\n    codeSet: 'QuoteConditionCodeSet',\n    description: 'Automatic Execution',\n  },\n  {\n    name: 'AutomaticExecutionETH',\n    id: '276031',\n    value: 'e',\n    sort: 31,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 276,\n    type: 'MultipleStringValue',\n    codeSet: 'QuoteConditionCodeSet',\n    description: 'Automatic Execution ETH',\n  },\n  {\n    name: 'FastMarketETH',\n    id: '276032',\n    value: 'f',\n    sort: 32,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 276,\n    type: 'MultipleStringValue',\n    codeSet: 'QuoteConditionCodeSet',\n    description: 'Fast Market ETH',\n  },\n  {\n    name: 'InactiveETH',\n    id: '276033',\n    value: 'g',\n    sort: 33,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 276,\n    type: 'MultipleStringValue',\n    codeSet: 'QuoteConditionCodeSet',\n    description: 'Inactive ETH',\n  },\n  {\n    name: 'Rotation',\n    id: '276034',\n    value: 'h',\n    sort: 34,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 276,\n    type: 'MultipleStringValue',\n    codeSet: 'QuoteConditionCodeSet',\n    description: 'Rotation',\n  },\n  {\n    name: 'RotationETH',\n    id: '276035',\n    value: 'i',\n    sort: 35,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 276,\n    type: 'MultipleStringValue',\n    codeSet: 'QuoteConditionCodeSet',\n    description: 'Rotation ETH',\n  },\n  {\n    name: 'Halt',\n    id: '276036',\n    value: 'j',\n    sort: 36,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 276,\n    type: 'MultipleStringValue',\n    codeSet: 'QuoteConditionCodeSet',\n    description: 'Halt',\n  },\n  {\n    name: 'HaltETH',\n    id: '276037',\n    value: 'k',\n    sort: 37,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 276,\n    type: 'MultipleStringValue',\n    codeSet: 'QuoteConditionCodeSet',\n    description: 'Halt ETH',\n  },\n  {\n    name: 'DueToNewsDissemination',\n    id: '276038',\n    value: 'l',\n    sort: 38,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 276,\n    type: 'MultipleStringValue',\n    codeSet: 'QuoteConditionCodeSet',\n    description: 'Due to News Dissemination',\n  },\n  {\n    name: 'DueToNewsPending',\n    id: '276039',\n    value: 'm',\n    sort: 39,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 276,\n    type: 'MultipleStringValue',\n    codeSet: 'QuoteConditionCodeSet',\n    description: 'Due to News Pending',\n  },\n  {\n    name: 'TradingResume',\n    id: '276040',\n    value: 'n',\n    sort: 40,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 276,\n    type: 'MultipleStringValue',\n    codeSet: 'QuoteConditionCodeSet',\n    description: 'Trading Resume',\n  },\n  {\n    name: 'OutOfSequence',\n    id: '276041',\n    value: 'o',\n    sort: 41,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 276,\n    type: 'MultipleStringValue',\n    codeSet: 'QuoteConditionCodeSet',\n    description: 'Out of Sequence',\n  },\n  {\n    name: 'BidSpecialist',\n    id: '276042',\n    value: 'p',\n    sort: 42,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 276,\n    type: 'MultipleStringValue',\n    codeSet: 'QuoteConditionCodeSet',\n    description: 'Bid Specialist',\n  },\n  {\n    name: 'OfferSpecialist',\n    id: '276043',\n    value: 'q',\n    sort: 43,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 276,\n    type: 'MultipleStringValue',\n    codeSet: 'QuoteConditionCodeSet',\n    description: 'Offer Specialist',\n  },\n  {\n    name: 'BidOfferSpecialist',\n    id: '276044',\n    value: 'r',\n    sort: 44,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 276,\n    type: 'MultipleStringValue',\n    codeSet: 'QuoteConditionCodeSet',\n    description: 'Bid Offer Specialist',\n  },\n  {\n    name: 'EndOfDaySAM',\n    id: '276045',\n    value: 's',\n    sort: 45,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 276,\n    type: 'MultipleStringValue',\n    codeSet: 'QuoteConditionCodeSet',\n    description: 'End of Day SAM',\n  },\n  {\n    name: 'ForbiddenSAM',\n    id: '276046',\n    value: 't',\n    sort: 46,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 276,\n    type: 'MultipleStringValue',\n    codeSet: 'QuoteConditionCodeSet',\n    description: 'Forbidden SAM',\n  },\n  {\n    name: 'FrozenSAM',\n    id: '276047',\n    value: 'u',\n    sort: 47,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 276,\n    type: 'MultipleStringValue',\n    codeSet: 'QuoteConditionCodeSet',\n    description: 'Frozen SAM',\n  },\n  {\n    name: 'PreOpeningSAM',\n    id: '276048',\n    value: 'v',\n    sort: 48,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 276,\n    type: 'MultipleStringValue',\n    codeSet: 'QuoteConditionCodeSet',\n    description: 'PreOpening SAM',\n  },\n  {\n    name: 'OpeningSAM',\n    id: '276049',\n    value: 'w',\n    sort: 49,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 276,\n    type: 'MultipleStringValue',\n    codeSet: 'QuoteConditionCodeSet',\n    description: 'Opening SAM',\n  },\n  {\n    name: 'OpenSAM',\n    id: '276050',\n    value: 'x',\n    sort: 50,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 276,\n    type: 'MultipleStringValue',\n    codeSet: 'QuoteConditionCodeSet',\n    description: 'Open SAM',\n  },\n  {\n    name: 'SurveillanceSAM',\n    id: '276051',\n    value: 'y',\n    sort: 51,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 276,\n    type: 'MultipleStringValue',\n    codeSet: 'QuoteConditionCodeSet',\n    description: 'Surveillance SAM',\n  },\n  {\n    name: 'SuspendedSAM',\n    id: '276052',\n    value: 'z',\n    sort: 52,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 276,\n    type: 'MultipleStringValue',\n    codeSet: 'QuoteConditionCodeSet',\n    description: 'Suspended SAM',\n  },\n  {\n    name: 'ReservedSAM',\n    id: '276053',\n    value: '0',\n    sort: 53,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 276,\n    type: 'MultipleStringValue',\n    codeSet: 'QuoteConditionCodeSet',\n    description: 'Reserved SAM',\n  },\n  {\n    name: 'NoActiveSAM',\n    id: '276054',\n    value: '1',\n    sort: 54,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 276,\n    type: 'MultipleStringValue',\n    codeSet: 'QuoteConditionCodeSet',\n    description: 'No Active SAM',\n  },\n  {\n    name: 'Restricted',\n    id: '276055',\n    value: '2',\n    sort: 55,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 276,\n    type: 'MultipleStringValue',\n    codeSet: 'QuoteConditionCodeSet',\n    description: 'Restricted',\n  },\n  {\n    name: 'RestOfBookVWAP',\n    id: '276056',\n    value: '3',\n    sort: 56,\n    added: 'FIX.5.0',\n    addedEP: '47',\n    tag: 276,\n    type: 'MultipleStringValue',\n    codeSet: 'QuoteConditionCodeSet',\n    description: 'Rest of Book VWAP',\n  },\n  {\n    name: 'BetterPricesInConditionalOrders',\n    id: '276057',\n    value: '4',\n    sort: 57,\n    added: 'FIX.5.0',\n    addedEP: '47',\n    tag: 276,\n    type: 'MultipleStringValue',\n    codeSet: 'QuoteConditionCodeSet',\n    description: 'Better Prices in Conditional Orders',\n  },\n  {\n    name: 'MedianPrice',\n    id: '276058',\n    value: '5',\n    sort: 58,\n    added: 'FIX.5.0',\n    addedEP: '61',\n    tag: 276,\n    type: 'MultipleStringValue',\n    codeSet: 'QuoteConditionCodeSet',\n    description: 'Median Price',\n  },\n  {\n    name: 'FullCurve',\n    id: '276059',\n    value: '6',\n    sort: 59,\n    added: 'FIX.5.0SP1',\n    addedEP: '83',\n    tag: 276,\n    type: 'MultipleStringValue',\n    codeSet: 'QuoteConditionCodeSet',\n    description: 'Full Curve',\n  },\n  {\n    name: 'FlatCurve',\n    id: '276060',\n    value: '7',\n    sort: 60,\n    added: 'FIX.5.0SP1',\n    addedEP: '83',\n    tag: 276,\n    type: 'MultipleStringValue',\n    codeSet: 'QuoteConditionCodeSet',\n    description: 'Flat Curve',\n  },\n  {\n    name: 'Cash',\n    id: '277001',\n    value: 'A',\n    sort: 0,\n    added: 'FIX.4.2',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Cash (only) Market',\n  },\n  {\n    name: 'AveragePriceTrade',\n    id: '277002',\n    value: 'B',\n    sort: 1,\n    added: 'FIX.4.2',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Average Price Trade',\n  },\n  {\n    name: 'CashTrade',\n    id: '277003',\n    value: 'C',\n    sort: 2,\n    added: 'FIX.4.2',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Cash Trade (same day clearing)',\n  },\n  {\n    name: 'NextDay',\n    id: '277004',\n    value: 'D',\n    sort: 3,\n    added: 'FIX.4.2',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Next Day (only)Market',\n  },\n  {\n    name: 'Opening',\n    id: '277005',\n    value: 'E',\n    sort: 4,\n    added: 'FIX.4.2',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Opening/Reopening Trade Detail',\n  },\n  {\n    name: 'IntradayTradeDetail',\n    id: '277006',\n    value: 'F',\n    sort: 5,\n    added: 'FIX.4.2',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Intraday Trade Detail',\n  },\n  {\n    name: 'Rule127Trade',\n    id: '277007',\n    value: 'G',\n    sort: 6,\n    added: 'FIX.4.2',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Rule 127 Trade (NYSE)',\n  },\n  {\n    name: 'Rule155Trade',\n    id: '277008',\n    value: 'H',\n    sort: 7,\n    added: 'FIX.4.2',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Rule 155 Trade (AMEX)',\n  },\n  {\n    name: 'SoldLast',\n    id: '277009',\n    value: 'I',\n    sort: 8,\n    added: 'FIX.4.2',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Sold Last (late reporting)',\n  },\n  {\n    name: 'NextDayTrade',\n    id: '277010',\n    value: 'J',\n    sort: 9,\n    added: 'FIX.4.2',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Next Day Trade (next day clearing)',\n  },\n  {\n    name: 'Opened',\n    id: '277011',\n    value: 'K',\n    sort: 10,\n    added: 'FIX.4.2',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Opened (late report of opened trade)',\n  },\n  {\n    name: 'Seller',\n    id: '277012',\n    value: 'L',\n    sort: 11,\n    added: 'FIX.4.2',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Seller',\n  },\n  {\n    name: 'Sold',\n    id: '277013',\n    value: 'M',\n    sort: 12,\n    added: 'FIX.4.2',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Sold (out of sequence)',\n  },\n  {\n    name: 'StoppedStock',\n    id: '277014',\n    value: 'N',\n    sort: 13,\n    added: 'FIX.4.2',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Stopped Stock (guarantee of price but does not execute the order)',\n  },\n  {\n    name: 'ImbalanceMoreBuyers',\n    id: '277015',\n    value: 'P',\n    sort: 14,\n    added: 'FIX.4.3',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Imbalance More Buyers (cannot be used in combination with Q)',\n  },\n  {\n    name: 'ImbalanceMoreSellers',\n    id: '277016',\n    value: 'Q',\n    sort: 15,\n    added: 'FIX.4.3',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Imbalance More Sellers (cannot be used in combination with P)',\n  },\n  {\n    name: 'OpeningPrice',\n    id: '277017',\n    value: 'R',\n    sort: 16,\n    added: 'FIX.4.3',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Opening Price',\n  },\n  {\n    name: 'BargainCondition',\n    id: '277018',\n    value: 'S',\n    sort: 17,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Bargain Condition (LSE)',\n  },\n  {\n    name: 'ConvertedPriceIndicator',\n    id: '277019',\n    value: 'T',\n    sort: 18,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Converted Price Indicator',\n  },\n  {\n    name: 'ExchangeLast',\n    id: '277020',\n    value: 'U',\n    sort: 19,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Exchange Last',\n  },\n  {\n    name: 'FinalPriceOfSession',\n    id: '277021',\n    value: 'V',\n    sort: 20,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Final Price of Session',\n  },\n  {\n    name: 'ExPit',\n    id: '277022',\n    value: 'W',\n    sort: 21,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Ex-pit',\n  },\n  {\n    name: 'Crossed',\n    id: '277023',\n    value: 'X',\n    sort: 22,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Crossed',\n  },\n  {\n    name: 'TradesResultingFromManual',\n    id: '277024',\n    value: 'Y',\n    sort: 23,\n    added: 'FIX.4.4',\n    addedEP: '6',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Trades resulting from manual/slow quote',\n  },\n  {\n    name: 'TradesResultingFromIntermarketSweep',\n    id: '277025',\n    value: 'Z',\n    sort: 24,\n    added: 'FIX.4.4',\n    addedEP: '6',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Trades resulting from intermarket sweep',\n  },\n  {\n    name: 'VolumeOnly',\n    id: '277026',\n    value: 'a',\n    sort: 25,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Volume Only',\n  },\n  {\n    name: 'DirectPlus',\n    id: '277027',\n    value: 'b',\n    sort: 26,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Direct Plus',\n  },\n  {\n    name: 'Acquisition',\n    id: '277028',\n    value: 'c',\n    sort: 27,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Acquisition',\n  },\n  {\n    name: 'Bunched',\n    id: '277029',\n    value: 'd',\n    sort: 28,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Bunched',\n  },\n  {\n    name: 'Distribution',\n    id: '277030',\n    value: 'e',\n    sort: 29,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Distribution',\n  },\n  {\n    name: 'BunchedSale',\n    id: '277031',\n    value: 'f',\n    sort: 30,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Bunched Sale',\n  },\n  {\n    name: 'SplitTrade',\n    id: '277032',\n    value: 'g',\n    sort: 31,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Split Trade',\n  },\n  {\n    name: 'CancelStopped',\n    id: '277033',\n    value: 'h',\n    sort: 32,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Cancel Stopped',\n  },\n  {\n    name: 'CancelETH',\n    id: '277034',\n    value: 'i',\n    sort: 33,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Cancel ETH',\n  },\n  {\n    name: 'CancelStoppedETH',\n    id: '277035',\n    value: 'j',\n    sort: 34,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Cancel Stopped ETH',\n  },\n  {\n    name: 'OutOfSequenceETH',\n    id: '277036',\n    value: 'k',\n    sort: 35,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Out of Sequence ETH',\n  },\n  {\n    name: 'CancelLastETH',\n    id: '277037',\n    value: 'l',\n    sort: 36,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Cancel Last ETH',\n  },\n  {\n    name: 'SoldLastSaleETH',\n    id: '277038',\n    value: 'm',\n    sort: 37,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Sold Last Sale ETH',\n  },\n  {\n    name: 'CancelLast',\n    id: '277039',\n    value: 'n',\n    sort: 38,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Cancel Last',\n  },\n  {\n    name: 'SoldLastSale',\n    id: '277040',\n    value: 'o',\n    sort: 39,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Sold Last Sale',\n  },\n  {\n    name: 'CancelOpen',\n    id: '277041',\n    value: 'p',\n    sort: 40,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Cancel Open',\n  },\n  {\n    name: 'CancelOpenETH',\n    id: '277042',\n    value: 'q',\n    sort: 41,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Cancel Open ETH',\n  },\n  {\n    name: 'OpenedSaleETH',\n    id: '277043',\n    value: 'r',\n    sort: 42,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Opened Sale ETH',\n  },\n  {\n    name: 'CancelOnly',\n    id: '277044',\n    value: 's',\n    sort: 43,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Cancel Only',\n  },\n  {\n    name: 'CancelOnlyETH',\n    id: '277045',\n    value: 't',\n    sort: 44,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Cancel Only ETH',\n  },\n  {\n    name: 'LateOpenETH',\n    id: '277046',\n    value: 'u',\n    sort: 45,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Late Open ETH',\n  },\n  {\n    name: 'AutoExecutionETH',\n    id: '277047',\n    value: 'v',\n    sort: 46,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Auto Execution ETH',\n  },\n  {\n    name: 'Reopen',\n    id: '277048',\n    value: 'w',\n    sort: 47,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Reopen',\n  },\n  {\n    name: 'ReopenETH',\n    id: '277049',\n    value: 'x',\n    sort: 48,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Reopen ETH',\n  },\n  {\n    name: 'Adjusted',\n    id: '277050',\n    value: 'y',\n    sort: 49,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Adjusted',\n  },\n  {\n    name: 'AdjustedETH',\n    id: '277051',\n    value: 'z',\n    sort: 50,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Adjusted ETH',\n  },\n  {\n    name: 'Spread',\n    id: '277052',\n    value: 'AA',\n    sort: 51,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Spread',\n  },\n  {\n    name: 'SpreadETH',\n    id: '277053',\n    value: 'AB',\n    sort: 52,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Spread ETH',\n  },\n  {\n    name: 'Straddle',\n    id: '277054',\n    value: 'AC',\n    sort: 53,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Straddle',\n  },\n  {\n    name: 'StraddleETH',\n    id: '277055',\n    value: 'AD',\n    sort: 54,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Straddle ETH',\n  },\n  {\n    name: 'Stopped',\n    id: '277056',\n    value: 'AE',\n    sort: 55,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Stopped',\n  },\n  {\n    name: 'StoppedETH',\n    id: '277057',\n    value: 'AF',\n    sort: 56,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Stopped ETH',\n  },\n  {\n    name: 'RegularETH',\n    id: '277058',\n    value: 'AG',\n    sort: 57,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Regular ETH',\n  },\n  {\n    name: 'Combo',\n    id: '277059',\n    value: 'AH',\n    sort: 58,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Combo',\n  },\n  {\n    name: 'ComboETH',\n    id: '277060',\n    value: 'AI',\n    sort: 59,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Combo ETH',\n  },\n  {\n    name: 'OfficialClosingPrice',\n    id: '277061',\n    value: 'AJ',\n    sort: 60,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Official Closing Price',\n  },\n  {\n    name: 'PriorReferencePrice',\n    id: '277062',\n    value: 'AK',\n    sort: 61,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Prior Reference Price',\n  },\n  {\n    name: 'StoppedSoldLast',\n    id: '277063',\n    value: 'AL',\n    sort: 71,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Stopped Sold Last',\n  },\n  {\n    name: 'StoppedOutOfSequence',\n    id: '277064',\n    value: 'AM',\n    sort: 72,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Stopped Out of Sequence',\n  },\n  {\n    name: 'OfficialClosingPriceDup',\n    id: '277065',\n    value: 'AN',\n    sort: 73,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    updated: 'FIX.Latest',\n    updatedEP: '271',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: \"Official Closing Price (duplicate enumeration - use 'AJ' instead)\",\n  },\n  {\n    name: 'CrossedOld',\n    id: '277066',\n    value: 'AO',\n    sort: 74,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: \"Crossed (duplicate enumeration - use 'X' instead)\",\n  },\n  {\n    name: 'FastMarket',\n    id: '277067',\n    value: 'AP',\n    sort: 75,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Fast Market',\n  },\n  {\n    name: 'AutomaticExecution',\n    id: '277068',\n    value: 'AQ',\n    sort: 76,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Automatic Execution',\n  },\n  {\n    name: 'FormT',\n    id: '277069',\n    value: 'AR',\n    sort: 77,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Form T',\n  },\n  {\n    name: 'BasketIndex',\n    id: '277070',\n    value: 'AS',\n    sort: 78,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Basket Index',\n  },\n  {\n    name: 'BurstBasket',\n    id: '277071',\n    value: 'AT',\n    sort: 79,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Burst Basket',\n  },\n  {\n    name: 'TradeThroughExempt',\n    id: '277072',\n    value: 'AU',\n    sort: 80,\n    added: 'FIX.5.0SP2',\n    addedEP: '190',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Trade through exempt\\n\\nTrade ignored prices on away markets.',\n  },\n  {\n    name: 'QuoteSpread',\n    id: '277073',\n    value: 'AV',\n    sort: 81,\n    added: 'FIX.5.0',\n    addedEP: '47',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '190',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Quote spread',\n  },\n  {\n    name: 'LastAuctionPrice',\n    id: '277074',\n    value: 'AW',\n    sort: 82,\n    added: 'FIX.5.0SP2',\n    addedEP: '190',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Last auction price\\n\\nTrade represents outcome of last auction',\n  },\n  {\n    name: 'HighPrice',\n    id: '277075',\n    value: 'AX',\n    sort: 83,\n    added: 'FIX.5.0SP2',\n    addedEP: '190',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'High price\\n\\nTrade establishes new high price for the session',\n  },\n  {\n    name: 'LowPrice',\n    id: '277076',\n    value: 'AY',\n    sort: 84,\n    added: 'FIX.5.0SP2',\n    addedEP: '190',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Low price\\n\\nTrade establishes new low price for the session',\n  },\n  {\n    name: 'SystematicInternaliser',\n    id: '277077',\n    value: 'AZ',\n    sort: 85,\n    added: 'FIX.5.0SP2',\n    addedEP: '190',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '228',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description:\n      'Systematic Internaliser (SI)\\n\\nTrade conducted by Systematic Internaliser (SI).',\n  },\n  {\n    name: 'AwayMarket',\n    id: '277078',\n    value: 'BA',\n    sort: 86,\n    added: 'FIX.5.0SP2',\n    addedEP: '190',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Away market\\n\\nTrade conducted on away market',\n  },\n  {\n    name: 'MidpointPrice',\n    id: '277079',\n    value: 'BB',\n    sort: 87,\n    added: 'FIX.5.0SP2',\n    addedEP: '190',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Mid-point price\\n\\nTrade represents current midpoint price',\n  },\n  {\n    name: 'TradedBeforeIssueDate',\n    id: '277080',\n    value: 'BC',\n    sort: 88,\n    added: 'FIX.5.0SP2',\n    addedEP: '190',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description:\n      'Traded before issue date\\n\\nTrade conducted during subscription phase of new issue',\n  },\n  {\n    name: 'PreviousClosingPrice',\n    id: '277081',\n    value: 'BD',\n    sort: 89,\n    added: 'FIX.5.0SP2',\n    addedEP: '190',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description:\n      'Previous closing price\\n\\nTrade represents closing price of previous business day',\n  },\n  {\n    name: 'NationalBestBidOffer',\n    id: '277082',\n    value: 'BE',\n    sort: 90,\n    added: 'FIX.5.0SP2',\n    addedEP: '190',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description:\n      'National Best Bid and Offer\\n\\nTrade price within National Best Bid and Offer (NBBO)',\n  },\n  {\n    name: 'Cancel',\n    id: '277083',\n    value: '0',\n    sort: 98,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    updated: 'FIX.Latest',\n    updatedEP: '282',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Cancel',\n  },\n  {\n    name: 'ImpliedTrade',\n    id: '277084',\n    value: '1',\n    sort: 99,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Implied Trade',\n  },\n  {\n    name: 'MarketplaceEnteredTrade',\n    id: '277085',\n    value: '2',\n    sort: 100,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Marketplace entered trade',\n  },\n  {\n    name: 'MultiAssetClassMultilegTrade',\n    id: '277086',\n    value: '3',\n    sort: 101,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '204',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Multi-asset class multileg trade',\n  },\n  {\n    name: 'MultilegToMultilegTrade',\n    id: '277087',\n    value: '4',\n    sort: 102,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Multileg-to-Multileg Trade',\n  },\n  {\n    name: 'ShortSaleMinPrice',\n    id: '277088',\n    value: '5',\n    sort: 103,\n    added: 'FIX.5.0SP2',\n    addedEP: '123',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description: 'Short Sale Minimum Price',\n  },\n  {\n    name: 'Benchmark',\n    id: '277089',\n    value: '6',\n    sort: 104,\n    added: 'FIX.5.0SP2',\n    addedEP: '163',\n    deprecated: 'FIX.Latest',\n    deprecatedEP: '268',\n    tag: 277,\n    type: 'MultipleStringValue',\n    codeSet: 'TradeConditionCodeSet',\n    description:\n      'Benchmark\\n\\nMarket Model Typology (MMT) terminology: The \"benchmark\" price depends on a benchmark which has no current price but derived from a time series such as a VWAP.',\n  },\n  {\n    name: 'New',\n    id: '279001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.2',\n    tag: 279,\n    type: 'char',\n    codeSet: 'MDUpdateActionCodeSet',\n    description: 'New',\n  },\n  {\n    name: 'Change',\n    id: '279002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.2',\n    tag: 279,\n    type: 'char',\n    codeSet: 'MDUpdateActionCodeSet',\n    description: 'Change',\n  },\n  {\n    name: 'Delete',\n    id: '279003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.4.2',\n    tag: 279,\n    type: 'char',\n    codeSet: 'MDUpdateActionCodeSet',\n    description: 'Delete',\n  },\n  {\n    name: 'DeleteThru',\n    id: '279004',\n    value: '3',\n    sort: 4,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 279,\n    type: 'char',\n    codeSet: 'MDUpdateActionCodeSet',\n    description: 'Delete Thru',\n  },\n  {\n    name: 'DeleteFrom',\n    id: '279005',\n    value: '4',\n    sort: 5,\n    added: 'FIX.4.4',\n    addedEP: '7',\n    tag: 279,\n    type: 'char',\n    codeSet: 'MDUpdateActionCodeSet',\n    description: 'Delete From',\n  },\n  {\n    name: 'Overlay',\n    id: '279006',\n    value: '5',\n    sort: 10,\n    added: 'FIX.5.0',\n    addedEP: '42',\n    tag: 279,\n    type: 'char',\n    codeSet: 'MDUpdateActionCodeSet',\n    description: 'Overlay',\n  },\n  {\n    name: 'UnknownSymbol',\n    id: '281001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.2',\n    tag: 281,\n    type: 'char',\n    codeSet: 'MDReqRejReasonCodeSet',\n    description: 'Unknown symbol',\n  },\n  {\n    name: 'DuplicateMDReqID',\n    id: '281002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.2',\n    tag: 281,\n    type: 'char',\n    codeSet: 'MDReqRejReasonCodeSet',\n    description: 'Duplicate MDReqID',\n  },\n  {\n    name: 'InsufficientBandwidth',\n    id: '281003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.4.2',\n    tag: 281,\n    type: 'char',\n    codeSet: 'MDReqRejReasonCodeSet',\n    description: 'Insufficient Bandwidth',\n  },\n  {\n    name: 'InsufficientPermissions',\n    id: '281004',\n    value: '3',\n    sort: 4,\n    added: 'FIX.4.2',\n    tag: 281,\n    type: 'char',\n    codeSet: 'MDReqRejReasonCodeSet',\n    description: 'Insufficient Permissions',\n  },\n  {\n    name: 'UnsupportedSubscriptionRequestType',\n    id: '281005',\n    value: '4',\n    sort: 5,\n    added: 'FIX.4.2',\n    tag: 281,\n    type: 'char',\n    codeSet: 'MDReqRejReasonCodeSet',\n    description: 'Unsupported SubscriptionRequestType',\n  },\n  {\n    name: 'UnsupportedMarketDepth',\n    id: '281006',\n    value: '5',\n    sort: 6,\n    added: 'FIX.4.2',\n    tag: 281,\n    type: 'char',\n    codeSet: 'MDReqRejReasonCodeSet',\n    description: 'Unsupported MarketDepth',\n  },\n  {\n    name: 'UnsupportedMDUpdateType',\n    id: '281007',\n    value: '6',\n    sort: 7,\n    added: 'FIX.4.2',\n    tag: 281,\n    type: 'char',\n    codeSet: 'MDReqRejReasonCodeSet',\n    description: 'Unsupported MDUpdateType',\n  },\n  {\n    name: 'UnsupportedAggregatedBook',\n    id: '281008',\n    value: '7',\n    sort: 8,\n    added: 'FIX.4.2',\n    tag: 281,\n    type: 'char',\n    codeSet: 'MDReqRejReasonCodeSet',\n    description: 'Unsupported AggregatedBook',\n  },\n  {\n    name: 'UnsupportedMDEntryType',\n    id: '281009',\n    value: '8',\n    sort: 9,\n    added: 'FIX.4.2',\n    tag: 281,\n    type: 'char',\n    codeSet: 'MDReqRejReasonCodeSet',\n    description: 'Unsupported MDEntryType',\n  },\n  {\n    name: 'UnsupportedTradingSessionID',\n    id: '281010',\n    value: '9',\n    sort: 10,\n    added: 'FIX.4.3',\n    tag: 281,\n    type: 'char',\n    codeSet: 'MDReqRejReasonCodeSet',\n    description: 'Unsupported TradingSessionID',\n  },\n  {\n    name: 'UnsupportedScope',\n    id: '281011',\n    value: 'A',\n    sort: 11,\n    added: 'FIX.4.3',\n    tag: 281,\n    type: 'char',\n    codeSet: 'MDReqRejReasonCodeSet',\n    description: 'Unsupported Scope',\n  },\n  {\n    name: 'UnsupportedOpenCloseSettleFlag',\n    id: '281012',\n    value: 'B',\n    sort: 12,\n    added: 'FIX.4.3',\n    tag: 281,\n    type: 'char',\n    codeSet: 'MDReqRejReasonCodeSet',\n    description: 'Unsupported OpenCloseSettleFlag',\n  },\n  {\n    name: 'UnsupportedMDImplicitDelete',\n    id: '281013',\n    value: 'C',\n    sort: 13,\n    added: 'FIX.4.3',\n    tag: 281,\n    type: 'char',\n    codeSet: 'MDReqRejReasonCodeSet',\n    description: 'Unsupported MDImplicitDelete',\n  },\n  {\n    name: 'InsufficientCredit',\n    id: '281014',\n    value: 'D',\n    sort: 14,\n    added: 'FIX.4.4',\n    addedEP: '21',\n    tag: 281,\n    type: 'char',\n    codeSet: 'MDReqRejReasonCodeSet',\n    description: 'Insufficient credit',\n  },\n  {\n    name: 'Cancellation',\n    id: '285001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.2',\n    tag: 285,\n    type: 'char',\n    codeSet: 'DeleteReasonCodeSet',\n    description: 'Cancellation / Trade Bust',\n  },\n  {\n    name: 'Error',\n    id: '285002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.2',\n    tag: 285,\n    type: 'char',\n    codeSet: 'DeleteReasonCodeSet',\n    description: 'Error',\n  },\n  {\n    name: 'DailyOpen',\n    id: '286001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.2',\n    tag: 286,\n    type: 'MultipleCharValue',\n    codeSet: 'OpenCloseSettlFlagCodeSet',\n    description: 'Daily Open / Close / Settlement entry',\n  },\n  {\n    name: 'SessionOpen',\n    id: '286002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.2',\n    tag: 286,\n    type: 'MultipleCharValue',\n    codeSet: 'OpenCloseSettlFlagCodeSet',\n    description: 'Session Open / Close / Settlement entry',\n  },\n  {\n    name: 'DeliverySettlementEntry',\n    id: '286003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.4.2',\n    tag: 286,\n    type: 'MultipleCharValue',\n    codeSet: 'OpenCloseSettlFlagCodeSet',\n    description: 'Delivery Settlement entry',\n  },\n  {\n    name: 'ExpectedEntry',\n    id: '286004',\n    value: '3',\n    sort: 4,\n    added: 'FIX.4.3',\n    tag: 286,\n    type: 'MultipleCharValue',\n    codeSet: 'OpenCloseSettlFlagCodeSet',\n    description: 'Expected entry',\n  },\n  {\n    name: 'EntryFromPreviousBusinessDay',\n    id: '286005',\n    value: '4',\n    sort: 5,\n    added: 'FIX.4.3',\n    tag: 286,\n    type: 'MultipleCharValue',\n    codeSet: 'OpenCloseSettlFlagCodeSet',\n    description: 'Entry from previous business day',\n  },\n  {\n    name: 'TheoreticalPriceValue',\n    id: '286006',\n    value: '5',\n    sort: 6,\n    added: 'FIX.4.4',\n    tag: 286,\n    type: 'MultipleCharValue',\n    codeSet: 'OpenCloseSettlFlagCodeSet',\n    description: 'Theoretical Price value',\n  },\n  {\n    name: 'Bankrupt',\n    id: '291001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.2',\n    tag: 291,\n    type: 'MultipleCharValue',\n    codeSet: 'FinancialStatusCodeSet',\n    description: 'Bankrupt',\n  },\n  {\n    name: 'PendingDelisting',\n    id: '291002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.3',\n    tag: 291,\n    type: 'MultipleCharValue',\n    codeSet: 'FinancialStatusCodeSet',\n    description: 'Pending delisting',\n  },\n  {\n    name: 'Restricted',\n    id: '291003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.4',\n    addedEP: '12',\n    tag: 291,\n    type: 'MultipleCharValue',\n    codeSet: 'FinancialStatusCodeSet',\n    description: 'Restricted',\n  },\n  {\n    name: 'ExDividend',\n    id: '292001',\n    value: 'A',\n    sort: 1,\n    added: 'FIX.4.2',\n    tag: 292,\n    type: 'MultipleCharValue',\n    codeSet: 'CorporateActionCodeSet',\n    description: 'Ex-Dividend',\n  },\n  {\n    name: 'ExDistribution',\n    id: '292002',\n    value: 'B',\n    sort: 2,\n    added: 'FIX.4.2',\n    tag: 292,\n    type: 'MultipleCharValue',\n    codeSet: 'CorporateActionCodeSet',\n    description: 'Ex-Distribution',\n  },\n  {\n    name: 'ExRights',\n    id: '292003',\n    value: 'C',\n    sort: 3,\n    added: 'FIX.4.2',\n    tag: 292,\n    type: 'MultipleCharValue',\n    codeSet: 'CorporateActionCodeSet',\n    description: 'Ex-Rights',\n  },\n  {\n    name: 'New',\n    id: '292004',\n    value: 'D',\n    sort: 4,\n    added: 'FIX.4.2',\n    tag: 292,\n    type: 'MultipleCharValue',\n    codeSet: 'CorporateActionCodeSet',\n    description: 'New',\n  },\n  {\n    name: 'ExInterest',\n    id: '292005',\n    value: 'E',\n    sort: 5,\n    added: 'FIX.4.2',\n    tag: 292,\n    type: 'MultipleCharValue',\n    codeSet: 'CorporateActionCodeSet',\n    description: 'Ex-Interest',\n  },\n  {\n    name: 'CashDividend',\n    id: '292006',\n    value: 'F',\n    sort: 6,\n    added: 'FIX.4.4',\n    addedEP: '4',\n    tag: 292,\n    type: 'MultipleCharValue',\n    codeSet: 'CorporateActionCodeSet',\n    description: 'Cash Dividend',\n  },\n  {\n    name: 'StockDividend',\n    id: '292007',\n    value: 'G',\n    sort: 7,\n    added: 'FIX.4.4',\n    addedEP: '4',\n    tag: 292,\n    type: 'MultipleCharValue',\n    codeSet: 'CorporateActionCodeSet',\n    description: 'Stock Dividend',\n  },\n  {\n    name: 'NonIntegerStockSplit',\n    id: '292008',\n    value: 'H',\n    sort: 8,\n    added: 'FIX.4.4',\n    addedEP: '4',\n    tag: 292,\n    type: 'MultipleCharValue',\n    codeSet: 'CorporateActionCodeSet',\n    description: 'Non-Integer Stock Split',\n  },\n  {\n    name: 'ReverseStockSplit',\n    id: '292009',\n    value: 'I',\n    sort: 9,\n    added: 'FIX.4.4',\n    addedEP: '4',\n    tag: 292,\n    type: 'MultipleCharValue',\n    codeSet: 'CorporateActionCodeSet',\n    description: 'Reverse Stock Split',\n  },\n  {\n    name: 'StandardIntegerStockSplit',\n    id: '292010',\n    value: 'J',\n    sort: 10,\n    added: 'FIX.4.4',\n    addedEP: '4',\n    tag: 292,\n    type: 'MultipleCharValue',\n    codeSet: 'CorporateActionCodeSet',\n    description: 'Standard-Integer Stock Split',\n  },\n  {\n    name: 'PositionConsolidation',\n    id: '292011',\n    value: 'K',\n    sort: 11,\n    added: 'FIX.4.4',\n    addedEP: '4',\n    tag: 292,\n    type: 'MultipleCharValue',\n    codeSet: 'CorporateActionCodeSet',\n    description: 'Position Consolidation',\n  },\n  {\n    name: 'LiquidationReorganization',\n    id: '292012',\n    value: 'L',\n    sort: 12,\n    added: 'FIX.4.4',\n    addedEP: '4',\n    tag: 292,\n    type: 'MultipleCharValue',\n    codeSet: 'CorporateActionCodeSet',\n    description: 'Liquidation Reorganization',\n  },\n  {\n    name: 'MergerReorganization',\n    id: '292013',\n    value: 'M',\n    sort: 13,\n    added: 'FIX.4.4',\n    addedEP: '4',\n    tag: 292,\n    type: 'MultipleCharValue',\n    codeSet: 'CorporateActionCodeSet',\n    description: 'Merger Reorganization',\n  },\n  {\n    name: 'RightsOffering',\n    id: '292014',\n    value: 'N',\n    sort: 14,\n    added: 'FIX.4.4',\n    addedEP: '4',\n    tag: 292,\n    type: 'MultipleCharValue',\n    codeSet: 'CorporateActionCodeSet',\n    description: 'Rights Offering',\n  },\n  {\n    name: 'ShareholderMeeting',\n    id: '292015',\n    value: 'O',\n    sort: 15,\n    added: 'FIX.4.4',\n    addedEP: '4',\n    tag: 292,\n    type: 'MultipleCharValue',\n    codeSet: 'CorporateActionCodeSet',\n    description: 'Shareholder Meeting',\n  },\n  {\n    name: 'Spinoff',\n    id: '292016',\n    value: 'P',\n    sort: 16,\n    added: 'FIX.4.4',\n    addedEP: '4',\n    tag: 292,\n    type: 'MultipleCharValue',\n    codeSet: 'CorporateActionCodeSet',\n    description: 'Spinoff',\n  },\n  {\n    name: 'TenderOffer',\n    id: '292017',\n    value: 'Q',\n    sort: 17,\n    added: 'FIX.4.4',\n    addedEP: '4',\n    tag: 292,\n    type: 'MultipleCharValue',\n    codeSet: 'CorporateActionCodeSet',\n    description: 'Tender Offer',\n  },\n  {\n    name: 'Warrant',\n    id: '292018',\n    value: 'R',\n    sort: 18,\n    added: 'FIX.4.4',\n    addedEP: '4',\n    tag: 292,\n    type: 'MultipleCharValue',\n    codeSet: 'CorporateActionCodeSet',\n    description: 'Warrant',\n  },\n  {\n    name: 'SpecialAction',\n    id: '292019',\n    value: 'S',\n    sort: 19,\n    added: 'FIX.4.4',\n    addedEP: '4',\n    tag: 292,\n    type: 'MultipleCharValue',\n    codeSet: 'CorporateActionCodeSet',\n    description: 'Special Action',\n  },\n  {\n    name: 'SymbolConversion',\n    id: '292020',\n    value: 'T',\n    sort: 20,\n    added: 'FIX.4.4',\n    addedEP: '4',\n    tag: 292,\n    type: 'MultipleCharValue',\n    codeSet: 'CorporateActionCodeSet',\n    description: 'Symbol Conversion',\n  },\n  {\n    name: 'CUSIP',\n    id: '292021',\n    value: 'U',\n    sort: 21,\n    added: 'FIX.4.4',\n    addedEP: '4',\n    tag: 292,\n    type: 'MultipleCharValue',\n    codeSet: 'CorporateActionCodeSet',\n    description: 'CUSIP / Name Change',\n  },\n  {\n    name: 'LeapRollover',\n    id: '292022',\n    value: 'V',\n    sort: 22,\n    added: 'FIX.4.4',\n    addedEP: '8',\n    tag: 292,\n    type: 'MultipleCharValue',\n    codeSet: 'CorporateActionCodeSet',\n    description: 'Leap Rollover',\n  },\n  {\n    name: 'SuccessionEvent',\n    id: '292023',\n    value: 'W',\n    sort: 99,\n    added: 'FIX.5.0',\n    addedEP: '42',\n    tag: 292,\n    type: 'MultipleCharValue',\n    codeSet: 'CorporateActionCodeSet',\n    description: 'Succession Event',\n  },\n  {\n    name: 'Accepted',\n    id: '297001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.4.2',\n    tag: 297,\n    type: 'int',\n    codeSet: 'QuoteStatusCodeSet',\n    description: 'Accepted',\n  },\n  {\n    name: 'CancelForSymbol',\n    id: '297002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.2',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '126',\n    deprecated: 'FIX.5.0',\n    tag: 297,\n    type: 'int',\n    codeSet: 'QuoteStatusCodeSet',\n    description: 'Canceled for specific securities',\n  },\n  {\n    name: 'CanceledForSecurityType',\n    id: '297003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.2',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '126',\n    deprecated: 'FIX.5.0',\n    tag: 297,\n    type: 'int',\n    codeSet: 'QuoteStatusCodeSet',\n    description: 'Canceled for specific SecurityTypes(167)',\n  },\n  {\n    name: 'CanceledForUnderlying',\n    id: '297004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.2',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '126',\n    deprecated: 'FIX.5.0',\n    tag: 297,\n    type: 'int',\n    codeSet: 'QuoteStatusCodeSet',\n    description: 'Canceled for underlying',\n  },\n  {\n    name: 'CanceledAll',\n    id: '297005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.4.2',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '126',\n    deprecated: 'FIX.5.0',\n    tag: 297,\n    type: 'int',\n    codeSet: 'QuoteStatusCodeSet',\n    description: 'Canceled all',\n  },\n  {\n    name: 'Rejected',\n    id: '297006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.4.2',\n    tag: 297,\n    type: 'int',\n    codeSet: 'QuoteStatusCodeSet',\n    description: 'Rejected',\n  },\n  {\n    name: 'RemovedFromMarket',\n    id: '297007',\n    value: '6',\n    sort: 6,\n    added: 'FIX.4.3',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '126',\n    tag: 297,\n    type: 'int',\n    codeSet: 'QuoteStatusCodeSet',\n    description: 'Removed from market',\n  },\n  {\n    name: 'Expired',\n    id: '297008',\n    value: '7',\n    sort: 7,\n    added: 'FIX.4.3',\n    updated: 'FIX.Latest',\n    updatedEP: '290',\n    tag: 297,\n    type: 'int',\n    codeSet: 'QuoteStatusCodeSet',\n    description:\n      'Expired\\n\\nIn the context of IA FX Reject codes, Trade Request Rejection Category A-2, this may be used to indicate price or liquidity is unavailable due to \"last look latency\".',\n  },\n  {\n    name: 'Query',\n    id: '297009',\n    value: '8',\n    sort: 8,\n    added: 'FIX.4.3',\n    tag: 297,\n    type: 'int',\n    codeSet: 'QuoteStatusCodeSet',\n    description: 'Query',\n  },\n  {\n    name: 'QuoteNotFound',\n    id: '297010',\n    value: '9',\n    sort: 9,\n    added: 'FIX.4.3',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '126',\n    tag: 297,\n    type: 'int',\n    codeSet: 'QuoteStatusCodeSet',\n    description: 'Quote not found',\n  },\n  {\n    name: 'Pending',\n    id: '297011',\n    value: '10',\n    sort: 10,\n    added: 'FIX.4.3',\n    tag: 297,\n    type: 'int',\n    codeSet: 'QuoteStatusCodeSet',\n    description: 'Pending',\n  },\n  {\n    name: 'Pass',\n    id: '297012',\n    value: '11',\n    sort: 11,\n    added: 'FIX.4.4',\n    updated: 'FIX.Latest',\n    updatedEP: '290',\n    tag: 297,\n    type: 'int',\n    codeSet: 'QuoteStatusCodeSet',\n    description:\n      'Pass\\n\\nIn the context of IA FX Reject codes, Trade Request Rejection Category A-1, this is used by price maker to pass due to a \"last look\".',\n  },\n  {\n    name: 'LockedMarketWarning',\n    id: '297013',\n    value: '12',\n    sort: 12,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '126',\n    tag: 297,\n    type: 'int',\n    codeSet: 'QuoteStatusCodeSet',\n    description: 'Locked market warning',\n  },\n  {\n    name: 'CrossMarketWarning',\n    id: '297014',\n    value: '13',\n    sort: 13,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '126',\n    tag: 297,\n    type: 'int',\n    codeSet: 'QuoteStatusCodeSet',\n    description: 'Crossed market warning',\n  },\n  {\n    name: 'CanceledDueToLockMarket',\n    id: '297015',\n    value: '14',\n    sort: 14,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '126',\n    tag: 297,\n    type: 'int',\n    codeSet: 'QuoteStatusCodeSet',\n    description: 'Canceled due to locked market',\n  },\n  {\n    name: 'CanceledDueToCrossMarket',\n    id: '297016',\n    value: '15',\n    sort: 15,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '195',\n    tag: 297,\n    type: 'int',\n    codeSet: 'QuoteStatusCodeSet',\n    description: 'Canceled due to crossed market',\n  },\n  {\n    name: 'Active',\n    id: '297017',\n    value: '16',\n    sort: 16,\n    added: 'FIX.5.0',\n    addedEP: '45',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '126',\n    tag: 297,\n    type: 'int',\n    codeSet: 'QuoteStatusCodeSet',\n    description: 'Active',\n  },\n  {\n    name: 'Canceled',\n    id: '297018',\n    value: '17',\n    sort: 17,\n    added: 'FIX.5.0',\n    addedEP: '45',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '126',\n    tag: 297,\n    type: 'int',\n    codeSet: 'QuoteStatusCodeSet',\n    description: 'Canceled',\n  },\n  {\n    name: 'UnsolicitedQuoteReplenishment',\n    id: '297019',\n    value: '18',\n    sort: 18,\n    added: 'FIX.5.0',\n    addedEP: '45',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '126',\n    tag: 297,\n    type: 'int',\n    codeSet: 'QuoteStatusCodeSet',\n    description: 'Unsolicited quote replenishment',\n  },\n  {\n    name: 'PendingEndTrade',\n    id: '297020',\n    value: '19',\n    sort: 19,\n    added: 'FIX.5.0',\n    addedEP: '68',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '126',\n    tag: 297,\n    type: 'int',\n    codeSet: 'QuoteStatusCodeSet',\n    description: 'Pending end trade',\n  },\n  {\n    name: 'TooLateToEnd',\n    id: '297021',\n    value: '20',\n    sort: 20,\n    added: 'FIX.5.0',\n    addedEP: '68',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '126',\n    tag: 297,\n    type: 'int',\n    codeSet: 'QuoteStatusCodeSet',\n    description: 'Too late to end',\n  },\n  {\n    name: 'Traded',\n    id: '297022',\n    value: '21',\n    sort: 22,\n    added: 'FIX.5.0SP2',\n    addedEP: '126',\n    tag: 297,\n    type: 'int',\n    codeSet: 'QuoteStatusCodeSet',\n    description: 'Traded',\n  },\n  {\n    name: 'TradedAndRemoved',\n    id: '297023',\n    value: '22',\n    sort: 23,\n    added: 'FIX.5.0SP2',\n    addedEP: '126',\n    tag: 297,\n    type: 'int',\n    codeSet: 'QuoteStatusCodeSet',\n    description: 'Traded and removed',\n  },\n  {\n    name: 'ContractTerminates',\n    id: '297024',\n    value: '23',\n    sort: 24,\n    added: 'FIX.5.0SP2',\n    addedEP: '258',\n    tag: 297,\n    type: 'int',\n    codeSet: 'QuoteStatusCodeSet',\n    description:\n      'Contract terminated\\n\\nIndicates a contract has been or is being terminated.',\n  },\n  {\n    name: 'CancelForOneOrMoreSecurities',\n    id: '298001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.2',\n    updated: 'FIX.Latest',\n    updatedEP: '282',\n    tag: 298,\n    type: 'int',\n    codeSet: 'QuoteCancelTypeCodeSet',\n    description: 'Cancel quotes for one or more securities',\n  },\n  {\n    name: 'CancelForSecurityType',\n    id: '298002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.2',\n    updated: 'FIX.Latest',\n    updatedEP: '282',\n    tag: 298,\n    type: 'int',\n    codeSet: 'QuoteCancelTypeCodeSet',\n    description: 'Cancel quotes for security type(s)',\n  },\n  {\n    name: 'CancelForUnderlyingSecurity',\n    id: '298003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.2',\n    updated: 'FIX.Latest',\n    updatedEP: '282',\n    tag: 298,\n    type: 'int',\n    codeSet: 'QuoteCancelTypeCodeSet',\n    description: 'Cancel quotes for underlying security',\n  },\n  {\n    name: 'CancelAllQuotes',\n    id: '298004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.4.2',\n    updated: 'FIX.Latest',\n    updatedEP: '282',\n    tag: 298,\n    type: 'int',\n    codeSet: 'QuoteCancelTypeCodeSet',\n    description: 'Cancel all quotes',\n  },\n  {\n    name: 'CancelSpecifiedSingleQuote',\n    id: '298005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.4.4',\n    addedEP: '21',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '126',\n    tag: 298,\n    type: 'int',\n    codeSet: 'QuoteCancelTypeCodeSet',\n    description:\n      'Cancel specified single quote\\n\\nCancel single quote specified in QuoteID(117) or SecondaryQuoteID(1751)',\n  },\n  {\n    name: 'CancelByTypeOfQuote',\n    id: '298006',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP1',\n    addedEP: '78',\n    updated: 'FIX.Latest',\n    updatedEP: '282',\n    tag: 298,\n    type: 'int',\n    codeSet: 'QuoteCancelTypeCodeSet',\n    description:\n      'Cancel by type of quote\\n\\nCancel quotes by type of quote specified in QuoteType(537)',\n  },\n  {\n    name: 'CancelForSecurityIssuer',\n    id: '298007',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0SP1',\n    addedEP: '85',\n    updated: 'FIX.Latest',\n    updatedEP: '282',\n    tag: 298,\n    type: 'int',\n    codeSet: 'QuoteCancelTypeCodeSet',\n    description: 'Cancel quotes for an issuer',\n  },\n  {\n    name: 'CancelForIssuerOfUnderlyingSecurity',\n    id: '298008',\n    value: '8',\n    sort: 8,\n    added: 'FIX.5.0SP1',\n    addedEP: '85',\n    updated: 'FIX.Latest',\n    updatedEP: '282',\n    tag: 298,\n    type: 'int',\n    codeSet: 'QuoteCancelTypeCodeSet',\n    description: 'Cancel quotes for an issuer of underlying security',\n  },\n  {\n    name: 'UnknownSymbol',\n    id: '300001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.2',\n    updated: 'FIX.Latest',\n    updatedEP: '290',\n    tag: 300,\n    type: 'int',\n    codeSet: 'QuoteRejectReasonCodeSet',\n    description:\n      'Unknown symbol (security)\\n\\nIn the context of IA FX Reject codes, Trade Request Rejection Category F, this may be used with QuoteStatus(297)=5 (Rejected) to indicate product is not supported, e.g. by the specific venue, tenor restrictions on the market participant(s) involved.',\n  },\n  {\n    name: 'Exchange',\n    id: '300002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.2',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '144',\n    tag: 300,\n    type: 'int',\n    codeSet: 'QuoteRejectReasonCodeSet',\n    description: 'Exchange (security) closed',\n  },\n  {\n    name: 'QuoteRequestExceedsLimit',\n    id: '300003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.2',\n    tag: 300,\n    type: 'int',\n    codeSet: 'QuoteRejectReasonCodeSet',\n    description: 'Quote Request exceeds limit',\n  },\n  {\n    name: 'TooLateToEnter',\n    id: '300004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.4.2',\n    tag: 300,\n    type: 'int',\n    codeSet: 'QuoteRejectReasonCodeSet',\n    description: 'Too late to enter',\n  },\n  {\n    name: 'UnknownQuote',\n    id: '300005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.4.2',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '144',\n    tag: 300,\n    type: 'int',\n    codeSet: 'QuoteRejectReasonCodeSet',\n    description: 'Unknown quote',\n  },\n  {\n    name: 'DuplicateQuote',\n    id: '300006',\n    value: '6',\n    sort: 6,\n    added: 'FIX.4.2',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '144',\n    tag: 300,\n    type: 'int',\n    codeSet: 'QuoteRejectReasonCodeSet',\n    description: 'Duplicate quote',\n  },\n  {\n    name: 'InvalidBid',\n    id: '300007',\n    value: '7',\n    sort: 7,\n    added: 'FIX.4.2',\n    tag: 300,\n    type: 'int',\n    codeSet: 'QuoteRejectReasonCodeSet',\n    description: 'Invalid bid/ask spread',\n  },\n  {\n    name: 'InvalidPrice',\n    id: '300008',\n    value: '8',\n    sort: 8,\n    added: 'FIX.4.2',\n    updated: 'FIX.Latest',\n    updatedEP: '290',\n    tag: 300,\n    type: 'int',\n    codeSet: 'QuoteRejectReasonCodeSet',\n    description:\n      'Invalid price\\n\\nIn the context of IA FX Reject codes, Trade Request Rejection Category A-2, this may be used with QuoteStatus(297)=5 (Rejected) to indicate price is not valid due to \"last look latency\".',\n  },\n  {\n    name: 'NotAuthorizedToQuoteSecurity',\n    id: '300009',\n    value: '9',\n    sort: 9,\n    added: 'FIX.4.2',\n    tag: 300,\n    type: 'int',\n    codeSet: 'QuoteRejectReasonCodeSet',\n    description: 'Not authorized to quote security',\n  },\n  {\n    name: 'PriceExceedsCurrentPriceBand',\n    id: '300010',\n    value: '10',\n    sort: 10,\n    added: 'FIX.5.0',\n    addedEP: '43',\n    tag: 300,\n    type: 'int',\n    codeSet: 'QuoteRejectReasonCodeSet',\n    description: 'Price exceeds current price band',\n  },\n  {\n    name: 'QuoteLocked',\n    id: '300011',\n    value: '11',\n    sort: 11,\n    added: 'FIX.5.0',\n    addedEP: '45',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '144',\n    tag: 300,\n    type: 'int',\n    codeSet: 'QuoteRejectReasonCodeSet',\n    description: 'Quote locked - unable to update/cancel',\n  },\n  {\n    name: 'InvalidOrUnknownSecurityIssuer',\n    id: '300012',\n    value: '12',\n    sort: 12,\n    added: 'FIX.5.0SP1',\n    addedEP: '85',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '144',\n    tag: 300,\n    type: 'int',\n    codeSet: 'QuoteRejectReasonCodeSet',\n    description: 'Invalid or unknown security issuer',\n  },\n  {\n    name: 'InvalidOrUnknownIssuerOfUnderlyingSecurity',\n    id: '300013',\n    value: '13',\n    sort: 13,\n    added: 'FIX.5.0SP1',\n    addedEP: '85',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '144',\n    tag: 300,\n    type: 'int',\n    codeSet: 'QuoteRejectReasonCodeSet',\n    description: 'Invalid or unknown issuer of underlying security',\n  },\n  {\n    name: 'NotionalValueExceedsThreshold',\n    id: '300014',\n    value: '14',\n    sort: 14,\n    added: 'FIX.5.0SP2',\n    addedEP: '144',\n    tag: 300,\n    type: 'int',\n    codeSet: 'QuoteRejectReasonCodeSet',\n    description: 'Notional value exceeds threshold',\n  },\n  {\n    name: 'PriceExceedsCurrentPriceBandDepr',\n    id: '300015',\n    value: '15',\n    sort: 15,\n    added: 'FIX.5.0SP2',\n    addedEP: '144',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '253',\n    deprecated: 'FIX.5.0SP2',\n    deprecatedEP: '171',\n    tag: 300,\n    type: 'int',\n    codeSet: 'QuoteRejectReasonCodeSet',\n    description: 'Price exceeds current price band',\n  },\n  {\n    name: 'ReferencePriceNotAvailable',\n    id: '300016',\n    value: '16',\n    sort: 16,\n    added: 'FIX.5.0SP2',\n    addedEP: '144',\n    tag: 300,\n    type: 'int',\n    codeSet: 'QuoteRejectReasonCodeSet',\n    description: 'Reference price not available',\n  },\n  {\n    name: 'InsufficientCreditLimit',\n    id: '300017',\n    value: '17',\n    sort: 17,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    updated: 'FIX.Latest',\n    updatedEP: '290',\n    tag: 300,\n    type: 'int',\n    codeSet: 'QuoteRejectReasonCodeSet',\n    description:\n      'Insufficient credit limit\\n\\nIn the context of IA FX Reject codes, Trade Request Rejection Category C, this may be used with QuoteStatus(297)=5 (Rejected) to indicate credit limit is exceeded or not in place.',\n  },\n  {\n    name: 'ExceededClipSizeLimit',\n    id: '300018',\n    value: '18',\n    sort: 18,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    tag: 300,\n    type: 'int',\n    codeSet: 'QuoteRejectReasonCodeSet',\n    description: 'Exceeded clip size limit',\n  },\n  {\n    name: 'ExceededMaxNotionalOrderAmt',\n    id: '300019',\n    value: '19',\n    sort: 19,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    tag: 300,\n    type: 'int',\n    codeSet: 'QuoteRejectReasonCodeSet',\n    description: 'Exceeded maximum notional order amount',\n  },\n  {\n    name: 'ExceededDV01PV01Limit',\n    id: '300020',\n    value: '20',\n    sort: 20,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    tag: 300,\n    type: 'int',\n    codeSet: 'QuoteRejectReasonCodeSet',\n    description: 'Exceeded DV01/PV01 limit',\n  },\n  {\n    name: 'ExceededCS01Limit',\n    id: '300021',\n    value: '21',\n    sort: 21,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    tag: 300,\n    type: 'int',\n    codeSet: 'QuoteRejectReasonCodeSet',\n    description: 'Exceeded CS01 limit',\n  },\n  {\n    name: 'UnavailablePriceLiquidity',\n    id: '300022',\n    value: '22',\n    sort: 22,\n    added: 'FIX.Latest',\n    addedEP: '290',\n    tag: 300,\n    type: 'int',\n    codeSet: 'QuoteRejectReasonCodeSet',\n    description:\n      'Unavailable price or liquidity\\n\\nIn the context of IA FX Reject codes, Trade Request Rejection Category B, this may be used with QuoteStatus(297)=5 (Rejected) to indicate the \"Hit/lift\" was not subjected to last look but pricing or liquidity is no longer available for execution.',\n  },\n  {\n    name: 'InvalidMissingEntitlements',\n    id: '300023',\n    value: '23',\n    sort: 23,\n    added: 'FIX.Latest',\n    addedEP: '290',\n    tag: 300,\n    type: 'int',\n    codeSet: 'QuoteRejectReasonCodeSet',\n    description:\n      'Invalid or missing entitlements\\n\\nIn the context of IA FX Reject codes, Trade Request Rejection Category D, this may be used with QuoteStatus(297)=5 (Rejected) to indicate the counterparty is not authorized or has missing entitlements.',\n  },\n  {\n    name: 'UnknownAccounts',\n    id: '300024',\n    value: '24',\n    sort: 24,\n    added: 'FIX.Latest',\n    addedEP: '290',\n    tag: 300,\n    type: 'int',\n    codeSet: 'QuoteRejectReasonCodeSet',\n    description:\n      'Unknown account(s)\\n\\nIn the context of IA FX Reject codes, Trade Request Rejection Category D, this may be used with QuoteStatus(297)=5 (Rejected) to indicate the account/fund is unknown or not setup.',\n  },\n  {\n    name: 'Other',\n    id: '300025',\n    value: '99',\n    sort: 99,\n    added: 'FIX.4.4',\n    updated: 'FIX.Latest',\n    updatedEP: '290',\n    tag: 300,\n    type: 'int',\n    codeSet: 'QuoteRejectReasonCodeSet',\n    description:\n      'Other\\n\\nIn the context of IA FX Reject codes, Trade Request Rejection Category E, order rejected due to other exceptions. Further detail may be provided in RejectText(1328)or Text(58), with preference for RejectText(1328) if field is present in the message.',\n  },\n  {\n    name: 'NoAcknowledgement',\n    id: '301001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.2',\n    tag: 301,\n    type: 'int',\n    codeSet: 'QuoteResponseLevelCodeSet',\n    description: 'No Acknowledgement',\n  },\n  {\n    name: 'AcknowledgeOnlyNegativeOrErroneousQuotes',\n    id: '301002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.2',\n    tag: 301,\n    type: 'int',\n    codeSet: 'QuoteResponseLevelCodeSet',\n    description: 'Acknowledge only negative or erroneous quotes',\n  },\n  {\n    name: 'AcknowledgeEachQuoteMessage',\n    id: '301003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.4.2',\n    updated: 'FIX.5.0SP1',\n    updatedEP: '95',\n    tag: 301,\n    type: 'int',\n    codeSet: 'QuoteResponseLevelCodeSet',\n    description: 'Acknowledge each quote message',\n  },\n  {\n    name: 'SummaryAcknowledgement',\n    id: '301004',\n    value: '3',\n    sort: 4,\n    added: 'FIX.5.0',\n    addedEP: '45',\n    tag: 301,\n    type: 'int',\n    codeSet: 'QuoteResponseLevelCodeSet',\n    description: 'Summary Acknowledgement',\n  },\n  {\n    name: 'Manual',\n    id: '303001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.2',\n    tag: 303,\n    type: 'int',\n    codeSet: 'QuoteRequestTypeCodeSet',\n    description: 'Manual',\n  },\n  {\n    name: 'Automatic',\n    id: '303002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.2',\n    tag: 303,\n    type: 'int',\n    codeSet: 'QuoteRequestTypeCodeSet',\n    description: 'Automatic',\n  },\n  {\n    name: 'ConfirmQuote',\n    id: '303003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '126',\n    tag: 303,\n    type: 'int',\n    codeSet: 'QuoteRequestTypeCodeSet',\n    description: 'Confirm quote',\n  },\n  {\n    name: 'RequestSecurityIdentityAndSpecifications',\n    id: '321001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.2',\n    tag: 321,\n    type: 'int',\n    codeSet: 'SecurityRequestTypeCodeSet',\n    description: 'Request Security identity and specifications',\n  },\n  {\n    name: 'RequestSecurityIdentityForSpecifications',\n    id: '321002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.2',\n    tag: 321,\n    type: 'int',\n    codeSet: 'SecurityRequestTypeCodeSet',\n    description:\n      'Request Security identity for the specifications provided (name of the security is not supplied)',\n  },\n  {\n    name: 'RequestListSecurityTypes',\n    id: '321003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.4.2',\n    deprecated: 'FIX.5.0SP1',\n    tag: 321,\n    type: 'int',\n    codeSet: 'SecurityRequestTypeCodeSet',\n    description: 'Request List Security Types',\n  },\n  {\n    name: 'RequestListSecurities',\n    id: '321004',\n    value: '3',\n    sort: 4,\n    added: 'FIX.4.2',\n    deprecated: 'FIX.5.0SP1',\n    tag: 321,\n    type: 'int',\n    codeSet: 'SecurityRequestTypeCodeSet',\n    description:\n      'Request List Securities (can be qualified with Symbol, SecurityType, TradingSessionID, SecurityExchange. If provided then only list Securities for the specific type.)',\n  },\n  {\n    name: 'Symbol',\n    id: '321005',\n    value: '4',\n    sort: 5,\n    added: 'FIX.5.0',\n    addedEP: '52',\n    tag: 321,\n    type: 'int',\n    codeSet: 'SecurityRequestTypeCodeSet',\n    description: 'Symbol',\n  },\n  {\n    name: 'SecurityTypeAndOrCFICode',\n    id: '321006',\n    value: '5',\n    sort: 6,\n    added: 'FIX.5.0',\n    addedEP: '52',\n    tag: 321,\n    type: 'int',\n    codeSet: 'SecurityRequestTypeCodeSet',\n    description: 'SecurityType and or CFICode',\n  },\n  {\n    name: 'Product',\n    id: '321007',\n    value: '6',\n    sort: 7,\n    added: 'FIX.5.0',\n    addedEP: '52',\n    tag: 321,\n    type: 'int',\n    codeSet: 'SecurityRequestTypeCodeSet',\n    description: 'Product',\n  },\n  {\n    name: 'TradingSessionID',\n    id: '321008',\n    value: '7',\n    sort: 8,\n    added: 'FIX.5.0',\n    addedEP: '52',\n    tag: 321,\n    type: 'int',\n    codeSet: 'SecurityRequestTypeCodeSet',\n    description: 'TradingSessionID',\n  },\n  {\n    name: 'AllSecurities',\n    id: '321009',\n    value: '8',\n    sort: 9,\n    added: 'FIX.5.0',\n    addedEP: '52',\n    tag: 321,\n    type: 'int',\n    codeSet: 'SecurityRequestTypeCodeSet',\n    description: 'All Securities',\n  },\n  {\n    name: 'MarketIDOrMarketID',\n    id: '321010',\n    value: '9',\n    sort: 10,\n    added: 'FIX.5.0',\n    addedEP: '52',\n    tag: 321,\n    type: 'int',\n    codeSet: 'SecurityRequestTypeCodeSet',\n    description: 'MarketID or MarketID + MarketSegmentID',\n  },\n  {\n    name: 'AcceptAsIs',\n    id: '323001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.2',\n    tag: 323,\n    type: 'int',\n    codeSet: 'SecurityResponseTypeCodeSet',\n    description: 'Accept security proposal as-is',\n  },\n  {\n    name: 'AcceptWithRevisions',\n    id: '323002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.2',\n    tag: 323,\n    type: 'int',\n    codeSet: 'SecurityResponseTypeCodeSet',\n    description: 'Accept security proposal with revisions as indicated in the message',\n  },\n  {\n    name: 'ListOfSecurityTypesReturnedPerRequest',\n    id: '323003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.2',\n    deprecated: 'FIX.5.0SP1',\n    tag: 323,\n    type: 'int',\n    codeSet: 'SecurityResponseTypeCodeSet',\n    description: 'List of security types returned per request',\n  },\n  {\n    name: 'ListOfSecuritiesReturnedPerRequest',\n    id: '323004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.4.2',\n    tag: 323,\n    type: 'int',\n    codeSet: 'SecurityResponseTypeCodeSet',\n    description: 'List of securities returned per request',\n  },\n  {\n    name: 'RejectSecurityProposal',\n    id: '323005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.4.2',\n    tag: 323,\n    type: 'int',\n    codeSet: 'SecurityResponseTypeCodeSet',\n    description: 'Reject security proposal',\n  },\n  {\n    name: 'CannotMatchSelectionCriteria',\n    id: '323006',\n    value: '6',\n    sort: 6,\n    added: 'FIX.4.2',\n    tag: 323,\n    type: 'int',\n    codeSet: 'SecurityResponseTypeCodeSet',\n    description: 'Cannot match selection criteria',\n  },\n  {\n    name: 'MessageIsBeingSentAsAResultOfAPriorRequest',\n    id: '325001',\n    value: 'N',\n    sort: 1,\n    added: 'FIX.4.2',\n    tag: 325,\n    type: 'Boolean',\n    codeSet: 'UnsolicitedIndicatorCodeSet',\n    description: 'Message is being sent as a result of a prior request',\n  },\n  {\n    name: 'MessageIsBeingSentUnsolicited',\n    id: '325002',\n    value: 'Y',\n    sort: 2,\n    added: 'FIX.4.2',\n    updated: 'FIX.5.0SP1',\n    updatedEP: '95',\n    tag: 325,\n    type: 'Boolean',\n    codeSet: 'UnsolicitedIndicatorCodeSet',\n    description: 'Message is being sent unsolicited',\n  },\n  {\n    name: 'OpeningDelay',\n    id: '326001',\n    value: '1',\n    sort: 0,\n    added: 'FIX.4.2',\n    tag: 326,\n    type: 'int',\n    codeSet: 'SecurityTradingStatusCodeSet',\n    description: 'Opening delay',\n  },\n  {\n    name: 'TradingHalt',\n    id: '326002',\n    value: '2',\n    sort: 1,\n    added: 'FIX.4.2',\n    tag: 326,\n    type: 'int',\n    codeSet: 'SecurityTradingStatusCodeSet',\n    description: 'Trading halt',\n  },\n  {\n    name: 'Resume',\n    id: '326003',\n    value: '3',\n    sort: 2,\n    added: 'FIX.4.2',\n    tag: 326,\n    type: 'int',\n    codeSet: 'SecurityTradingStatusCodeSet',\n    description: 'Resume',\n  },\n  {\n    name: 'NoOpen',\n    id: '326004',\n    value: '4',\n    sort: 3,\n    added: 'FIX.4.2',\n    tag: 326,\n    type: 'int',\n    codeSet: 'SecurityTradingStatusCodeSet',\n    description: 'No Open / No Resume',\n  },\n  {\n    name: 'PriceIndication',\n    id: '326005',\n    value: '5',\n    sort: 4,\n    added: 'FIX.4.2',\n    tag: 326,\n    type: 'int',\n    codeSet: 'SecurityTradingStatusCodeSet',\n    description: 'Price indication',\n  },\n  {\n    name: 'TradingRangeIndication',\n    id: '326006',\n    value: '6',\n    sort: 5,\n    added: 'FIX.4.2',\n    tag: 326,\n    type: 'int',\n    codeSet: 'SecurityTradingStatusCodeSet',\n    description: 'Trading Range Indication',\n  },\n  {\n    name: 'MarketImbalanceBuy',\n    id: '326007',\n    value: '7',\n    sort: 6,\n    added: 'FIX.4.2',\n    tag: 326,\n    type: 'int',\n    codeSet: 'SecurityTradingStatusCodeSet',\n    description: 'Market Imbalance Buy',\n  },\n  {\n    name: 'MarketImbalanceSell',\n    id: '326008',\n    value: '8',\n    sort: 7,\n    added: 'FIX.4.2',\n    tag: 326,\n    type: 'int',\n    codeSet: 'SecurityTradingStatusCodeSet',\n    description: 'Market Imbalance Sell',\n  },\n  {\n    name: 'MarketOnCloseImbalanceBuy',\n    id: '326009',\n    value: '9',\n    sort: 8,\n    added: 'FIX.4.2',\n    tag: 326,\n    type: 'int',\n    codeSet: 'SecurityTradingStatusCodeSet',\n    description: 'Market on Close Imbalance Buy',\n  },\n  {\n    name: 'MarketOnCloseImbalanceSell',\n    id: '326010',\n    value: '10',\n    sort: 9,\n    added: 'FIX.4.2',\n    tag: 326,\n    type: 'int',\n    codeSet: 'SecurityTradingStatusCodeSet',\n    description: 'Market on Close Imbalance Sell',\n  },\n  {\n    name: 'NoMarketImbalance',\n    id: '326011',\n    value: '12',\n    sort: 11,\n    added: 'FIX.4.2',\n    tag: 326,\n    type: 'int',\n    codeSet: 'SecurityTradingStatusCodeSet',\n    description: 'No Market Imbalance',\n  },\n  {\n    name: 'NoMarketOnCloseImbalance',\n    id: '326012',\n    value: '13',\n    sort: 12,\n    added: 'FIX.4.2',\n    tag: 326,\n    type: 'int',\n    codeSet: 'SecurityTradingStatusCodeSet',\n    description: 'No Market on Close Imbalance',\n  },\n  {\n    name: 'ITSPreOpening',\n    id: '326013',\n    value: '14',\n    sort: 13,\n    added: 'FIX.4.2',\n    tag: 326,\n    type: 'int',\n    codeSet: 'SecurityTradingStatusCodeSet',\n    description: 'ITS Pre-opening',\n  },\n  {\n    name: 'NewPriceIndication',\n    id: '326014',\n    value: '15',\n    sort: 14,\n    added: 'FIX.4.2',\n    tag: 326,\n    type: 'int',\n    codeSet: 'SecurityTradingStatusCodeSet',\n    description: 'New Price Indication',\n  },\n  {\n    name: 'TradeDisseminationTime',\n    id: '326015',\n    value: '16',\n    sort: 15,\n    added: 'FIX.4.2',\n    tag: 326,\n    type: 'int',\n    codeSet: 'SecurityTradingStatusCodeSet',\n    description: 'Trade Dissemination Time',\n  },\n  {\n    name: 'ReadyToTrade',\n    id: '326016',\n    value: '17',\n    sort: 16,\n    added: 'FIX.4.2',\n    tag: 326,\n    type: 'int',\n    codeSet: 'SecurityTradingStatusCodeSet',\n    description: 'Ready to trade (start of session)',\n  },\n  {\n    name: 'NotAvailableForTrading',\n    id: '326017',\n    value: '18',\n    sort: 17,\n    added: 'FIX.4.2',\n    tag: 326,\n    type: 'int',\n    codeSet: 'SecurityTradingStatusCodeSet',\n    description: 'Not available for trading (end of session)',\n  },\n  {\n    name: 'NotTradedOnThisMarket',\n    id: '326018',\n    value: '19',\n    sort: 18,\n    added: 'FIX.4.2',\n    tag: 326,\n    type: 'int',\n    codeSet: 'SecurityTradingStatusCodeSet',\n    description: 'Not traded on this market',\n  },\n  {\n    name: 'UnknownOrInvalid',\n    id: '326019',\n    value: '20',\n    sort: 19,\n    added: 'FIX.4.2',\n    tag: 326,\n    type: 'int',\n    codeSet: 'SecurityTradingStatusCodeSet',\n    description: 'Unknown or Invalid',\n  },\n  {\n    name: 'PreOpen',\n    id: '326020',\n    value: '21',\n    sort: 20,\n    added: 'FIX.4.3',\n    tag: 326,\n    type: 'int',\n    codeSet: 'SecurityTradingStatusCodeSet',\n    description: 'Pre-open',\n  },\n  {\n    name: 'OpeningRotation',\n    id: '326021',\n    value: '22',\n    sort: 21,\n    added: 'FIX.4.3',\n    tag: 326,\n    type: 'int',\n    codeSet: 'SecurityTradingStatusCodeSet',\n    description: 'Opening Rotation',\n  },\n  {\n    name: 'FastMarket',\n    id: '326022',\n    value: '23',\n    sort: 22,\n    added: 'FIX.4.3',\n    tag: 326,\n    type: 'int',\n    codeSet: 'SecurityTradingStatusCodeSet',\n    description: 'Fast Market',\n  },\n  {\n    name: 'PreCross',\n    id: '326023',\n    value: '24',\n    sort: 98,\n    added: 'FIX.5.0',\n    addedEP: '42',\n    tag: 326,\n    type: 'int',\n    codeSet: 'SecurityTradingStatusCodeSet',\n    description:\n      'Pre-Cross - system is in a pre-cross state allowing market to respond to either side of cross',\n  },\n  {\n    name: 'Cross',\n    id: '326024',\n    value: '25',\n    sort: 99,\n    added: 'FIX.5.0',\n    addedEP: '42',\n    tag: 326,\n    type: 'int',\n    codeSet: 'SecurityTradingStatusCodeSet',\n    description:\n      'Cross - system has crossed a percentage of the orders and allows market to respond prior to crossing remaining portion',\n  },\n  {\n    name: 'PostClose',\n    id: '326025',\n    value: '26',\n    sort: 100,\n    added: 'FIX.5.0SP1',\n    addedEP: '84',\n    tag: 326,\n    type: 'int',\n    codeSet: 'SecurityTradingStatusCodeSet',\n    description: 'Post-close',\n  },\n  {\n    name: 'NoCancel',\n    id: '326026',\n    value: '27',\n    sort: 101,\n    added: 'FIX.5.0SP2',\n    addedEP: '114',\n    tag: 326,\n    type: 'int',\n    codeSet: 'SecurityTradingStatusCodeSet',\n    description: 'No-cancel',\n  },\n  {\n    name: 'NewsDissemination',\n    id: '327001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP1',\n    addedEP: '86',\n    tag: 327,\n    type: 'int',\n    codeSet: 'HaltReasonCodeSet',\n    description: 'News Dissemination',\n  },\n  {\n    name: 'OrderInflux',\n    id: '327002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP1',\n    addedEP: '86',\n    tag: 327,\n    type: 'int',\n    codeSet: 'HaltReasonCodeSet',\n    description: 'Order Influx',\n  },\n  {\n    name: 'OrderImbalance',\n    id: '327003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP1',\n    addedEP: '86',\n    tag: 327,\n    type: 'int',\n    codeSet: 'HaltReasonCodeSet',\n    description: 'Order Imbalance',\n  },\n  {\n    name: 'AdditionalInformation',\n    id: '327004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP1',\n    addedEP: '86',\n    tag: 327,\n    type: 'int',\n    codeSet: 'HaltReasonCodeSet',\n    description: 'Additional Information',\n  },\n  {\n    name: 'NewsPending',\n    id: '327005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP1',\n    addedEP: '86',\n    updated: 'FIX.5.0SP1',\n    updatedEP: '95',\n    tag: 327,\n    type: 'int',\n    codeSet: 'HaltReasonCodeSet',\n    description: 'News Pending',\n  },\n  {\n    name: 'EquipmentChangeover',\n    id: '327006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP1',\n    addedEP: '86',\n    tag: 327,\n    type: 'int',\n    codeSet: 'HaltReasonCodeSet',\n    description: 'Equipment Changeover',\n  },\n  {\n    name: 'HaltWasNotRelatedToAHaltOfTheCommonStock',\n    id: '328001',\n    value: 'N',\n    sort: 1,\n    added: 'FIX.4.2',\n    tag: 328,\n    type: 'Boolean',\n    codeSet: 'InViewOfCommonCodeSet',\n    description: 'Halt was not related to a halt of the common stock',\n  },\n  {\n    name: 'HaltWasDueToCommonStockBeingHalted',\n    id: '328002',\n    value: 'Y',\n    sort: 2,\n    added: 'FIX.4.2',\n    updated: 'FIX.5.0SP1',\n    updatedEP: '95',\n    tag: 328,\n    type: 'Boolean',\n    codeSet: 'InViewOfCommonCodeSet',\n    description: 'Halt was due to common stock being halted',\n  },\n  {\n    name: 'NotRelatedToSecurityHalt',\n    id: '329001',\n    value: 'N',\n    sort: 1,\n    added: 'FIX.4.2',\n    tag: 329,\n    type: 'Boolean',\n    codeSet: 'DueToRelatedCodeSet',\n    description: 'Halt was not related to a halt of the related security',\n  },\n  {\n    name: 'RelatedToSecurityHalt',\n    id: '329002',\n    value: 'Y',\n    sort: 2,\n    added: 'FIX.4.2',\n    tag: 329,\n    type: 'Boolean',\n    codeSet: 'DueToRelatedCodeSet',\n    description: 'Halt was due to related security being halted',\n  },\n  {\n    name: 'Cancel',\n    id: '334001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.2',\n    tag: 334,\n    type: 'int',\n    codeSet: 'AdjustmentCodeSet',\n    description: 'Cancel',\n  },\n  {\n    name: 'Error',\n    id: '334002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.2',\n    tag: 334,\n    type: 'int',\n    codeSet: 'AdjustmentCodeSet',\n    description: 'Error',\n  },\n  {\n    name: 'Correction',\n    id: '334003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.2',\n    tag: 334,\n    type: 'int',\n    codeSet: 'AdjustmentCodeSet',\n    description: 'Correction',\n  },\n  {\n    name: 'Day',\n    id: '336001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0',\n    addedEP: '58',\n    tag: 336,\n    type: 'String',\n    codeSet: 'TradingSessionIDCodeSet',\n    description: 'Day',\n  },\n  {\n    name: 'HalfDay',\n    id: '336002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0',\n    addedEP: '58',\n    tag: 336,\n    type: 'String',\n    codeSet: 'TradingSessionIDCodeSet',\n    description: 'HalfDay',\n  },\n  {\n    name: 'Morning',\n    id: '336003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0',\n    addedEP: '58',\n    tag: 336,\n    type: 'String',\n    codeSet: 'TradingSessionIDCodeSet',\n    description: 'Morning',\n  },\n  {\n    name: 'Afternoon',\n    id: '336004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0',\n    addedEP: '58',\n    tag: 336,\n    type: 'String',\n    codeSet: 'TradingSessionIDCodeSet',\n    description: 'Afternoon',\n  },\n  {\n    name: 'Evening',\n    id: '336005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0',\n    addedEP: '58',\n    tag: 336,\n    type: 'String',\n    codeSet: 'TradingSessionIDCodeSet',\n    description: 'Evening',\n  },\n  {\n    name: 'AfterHours',\n    id: '336006',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0',\n    addedEP: '58',\n    tag: 336,\n    type: 'String',\n    codeSet: 'TradingSessionIDCodeSet',\n    description: 'After-hours',\n  },\n  {\n    name: 'Holiday',\n    id: '336007',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '190',\n    tag: 336,\n    type: 'String',\n    codeSet: 'TradingSessionIDCodeSet',\n    description: 'Holiday',\n  },\n  {\n    name: 'Electronic',\n    id: '338001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.2',\n    tag: 338,\n    type: 'int',\n    codeSet: 'TradSesMethodCodeSet',\n    description: 'Electronic',\n  },\n  {\n    name: 'OpenOutcry',\n    id: '338002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.2',\n    tag: 338,\n    type: 'int',\n    codeSet: 'TradSesMethodCodeSet',\n    description: 'Open Outcry',\n  },\n  {\n    name: 'TwoParty',\n    id: '338003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.2',\n    tag: 338,\n    type: 'int',\n    codeSet: 'TradSesMethodCodeSet',\n    description: 'Two Party',\n  },\n  {\n    name: 'Voice',\n    id: '338004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '231',\n    tag: 338,\n    type: 'int',\n    codeSet: 'TradSesMethodCodeSet',\n    description: 'Voice',\n  },\n  {\n    name: 'Testing',\n    id: '339001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.2',\n    tag: 339,\n    type: 'int',\n    codeSet: 'TradSesModeCodeSet',\n    description: 'Testing',\n  },\n  {\n    name: 'Simulated',\n    id: '339002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.2',\n    tag: 339,\n    type: 'int',\n    codeSet: 'TradSesModeCodeSet',\n    description: 'Simulated',\n  },\n  {\n    name: 'Production',\n    id: '339003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.2',\n    tag: 339,\n    type: 'int',\n    codeSet: 'TradSesModeCodeSet',\n    description: 'Production',\n  },\n  {\n    name: 'Unknown',\n    id: '340001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.3',\n    tag: 340,\n    type: 'int',\n    codeSet: 'TradSesStatusCodeSet',\n    description: 'Unknown',\n  },\n  {\n    name: 'Halted',\n    id: '340002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.2',\n    tag: 340,\n    type: 'int',\n    codeSet: 'TradSesStatusCodeSet',\n    description: 'Halted',\n  },\n  {\n    name: 'Open',\n    id: '340003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.4.2',\n    tag: 340,\n    type: 'int',\n    codeSet: 'TradSesStatusCodeSet',\n    description: 'Open',\n  },\n  {\n    name: 'Closed',\n    id: '340004',\n    value: '3',\n    sort: 4,\n    added: 'FIX.4.2',\n    tag: 340,\n    type: 'int',\n    codeSet: 'TradSesStatusCodeSet',\n    description: 'Closed',\n  },\n  {\n    name: 'PreOpen',\n    id: '340005',\n    value: '4',\n    sort: 5,\n    added: 'FIX.4.2',\n    tag: 340,\n    type: 'int',\n    codeSet: 'TradSesStatusCodeSet',\n    description: 'Pre-Open',\n  },\n  {\n    name: 'PreClose',\n    id: '340006',\n    value: '5',\n    sort: 6,\n    added: 'FIX.4.2',\n    tag: 340,\n    type: 'int',\n    codeSet: 'TradSesStatusCodeSet',\n    description: 'Pre-Close',\n  },\n  {\n    name: 'RequestRejected',\n    id: '340007',\n    value: '6',\n    sort: 7,\n    added: 'FIX.4.3',\n    tag: 340,\n    type: 'int',\n    codeSet: 'TradSesStatusCodeSet',\n    description: 'Request Rejected',\n  },\n  {\n    name: 'InvalidTagNumber',\n    id: '373001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.4.2',\n    tag: 373,\n    type: 'int',\n    codeSet: 'SessionRejectReasonCodeSet',\n    description: 'Invalid Tag Number',\n  },\n  {\n    name: 'RequiredTagMissing',\n    id: '373002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.2',\n    tag: 373,\n    type: 'int',\n    codeSet: 'SessionRejectReasonCodeSet',\n    description: 'Required Tag Missing',\n  },\n  {\n    name: 'TagNotDefinedForThisMessageType',\n    id: '373003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.2',\n    tag: 373,\n    type: 'int',\n    codeSet: 'SessionRejectReasonCodeSet',\n    description: 'Tag not defined for this message type',\n  },\n  {\n    name: 'UndefinedTag',\n    id: '373004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.2',\n    tag: 373,\n    type: 'int',\n    codeSet: 'SessionRejectReasonCodeSet',\n    description: 'Undefined tag',\n  },\n  {\n    name: 'TagSpecifiedWithoutAValue',\n    id: '373005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.4.2',\n    tag: 373,\n    type: 'int',\n    codeSet: 'SessionRejectReasonCodeSet',\n    description: 'Tag specified without a value',\n  },\n  {\n    name: 'ValueIsIncorrect',\n    id: '373006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.4.2',\n    tag: 373,\n    type: 'int',\n    codeSet: 'SessionRejectReasonCodeSet',\n    description: 'Value is incorrect (out of range) for this tag',\n  },\n  {\n    name: 'IncorrectDataFormatForValue',\n    id: '373007',\n    value: '6',\n    sort: 6,\n    added: 'FIX.4.2',\n    tag: 373,\n    type: 'int',\n    codeSet: 'SessionRejectReasonCodeSet',\n    description: 'Incorrect data format for value',\n  },\n  {\n    name: 'DecryptionProblem',\n    id: '373008',\n    value: '7',\n    sort: 7,\n    added: 'FIX.4.2',\n    tag: 373,\n    type: 'int',\n    codeSet: 'SessionRejectReasonCodeSet',\n    description: 'Decryption problem',\n  },\n  {\n    name: 'SignatureProblem',\n    id: '373009',\n    value: '8',\n    sort: 8,\n    added: 'FIX.4.2',\n    tag: 373,\n    type: 'int',\n    codeSet: 'SessionRejectReasonCodeSet',\n    description: 'Signature problem',\n  },\n  {\n    name: 'CompIDProblem',\n    id: '373010',\n    value: '9',\n    sort: 9,\n    added: 'FIX.4.2',\n    tag: 373,\n    type: 'int',\n    codeSet: 'SessionRejectReasonCodeSet',\n    description: 'CompID problem',\n  },\n  {\n    name: 'SendingTimeAccuracyProblem',\n    id: '373011',\n    value: '10',\n    sort: 10,\n    added: 'FIX.4.2',\n    tag: 373,\n    type: 'int',\n    codeSet: 'SessionRejectReasonCodeSet',\n    description: 'SendingTime Accuracy Problem',\n  },\n  {\n    name: 'InvalidMsgType',\n    id: '373012',\n    value: '11',\n    sort: 11,\n    added: 'FIX.4.2',\n    tag: 373,\n    type: 'int',\n    codeSet: 'SessionRejectReasonCodeSet',\n    description: 'Invalid MsgType',\n  },\n  {\n    name: 'XMLValidationError',\n    id: '373013',\n    value: '12',\n    sort: 12,\n    added: 'FIX.4.3',\n    tag: 373,\n    type: 'int',\n    codeSet: 'SessionRejectReasonCodeSet',\n    description: 'XML Validation Error',\n  },\n  {\n    name: 'TagAppearsMoreThanOnce',\n    id: '373014',\n    value: '13',\n    sort: 13,\n    added: 'FIX.4.3',\n    tag: 373,\n    type: 'int',\n    codeSet: 'SessionRejectReasonCodeSet',\n    description: 'Tag appears more than once',\n  },\n  {\n    name: 'TagSpecifiedOutOfRequiredOrder',\n    id: '373015',\n    value: '14',\n    sort: 14,\n    added: 'FIX.4.3',\n    tag: 373,\n    type: 'int',\n    codeSet: 'SessionRejectReasonCodeSet',\n    description: 'Tag specified out of required order',\n  },\n  {\n    name: 'RepeatingGroupFieldsOutOfOrder',\n    id: '373016',\n    value: '15',\n    sort: 15,\n    added: 'FIX.4.3',\n    tag: 373,\n    type: 'int',\n    codeSet: 'SessionRejectReasonCodeSet',\n    description: 'Repeating group fields out of order',\n  },\n  {\n    name: 'IncorrectNumInGroupCountForRepeatingGroup',\n    id: '373017',\n    value: '16',\n    sort: 16,\n    added: 'FIX.4.3',\n    tag: 373,\n    type: 'int',\n    codeSet: 'SessionRejectReasonCodeSet',\n    description: 'Incorrect NumInGroup count for repeating group',\n  },\n  {\n    name: 'NonDataValueIncludesFieldDelimiter',\n    id: '373018',\n    value: '17',\n    sort: 17,\n    added: 'FIX.4.3',\n    updated: 'FIX.Latest',\n    updatedEP: '271',\n    tag: 373,\n    type: 'int',\n    codeSet: 'SessionRejectReasonCodeSet',\n    description: 'Non \"Data\" value includes field delimiter (<SOH> character)',\n  },\n  {\n    name: 'InvalidUnsupportedApplVer',\n    id: '373019',\n    value: '18',\n    sort: 19,\n    added: 'FIX.5.0',\n    addedEP: '56',\n    updated: 'FIX.Latest',\n    updatedEP: '271',\n    tag: 373,\n    type: 'int',\n    codeSet: 'SessionRejectReasonCodeSet',\n    description: 'Invalid/Unsupported Application Version',\n  },\n  {\n    name: 'Other',\n    id: '373020',\n    value: '99',\n    sort: 99,\n    added: 'FIX.4.4',\n    tag: 373,\n    type: 'int',\n    codeSet: 'SessionRejectReasonCodeSet',\n    description: 'Other',\n  },\n  {\n    name: 'Cancel',\n    id: '374001',\n    value: 'C',\n    sort: 1,\n    added: 'FIX.4.2',\n    tag: 374,\n    type: 'char',\n    codeSet: 'BidRequestTransTypeCodeSet',\n    description: 'Cancel',\n  },\n  {\n    name: 'New',\n    id: '374002',\n    value: 'N',\n    sort: 2,\n    added: 'FIX.4.2',\n    tag: 374,\n    type: 'char',\n    codeSet: 'BidRequestTransTypeCodeSet',\n    description: 'New',\n  },\n  {\n    name: 'WasNotSolicited',\n    id: '377001',\n    value: 'N',\n    sort: 1,\n    added: 'FIX.4.2',\n    tag: 377,\n    type: 'Boolean',\n    codeSet: 'SolicitedFlagCodeSet',\n    description: 'Was not solicited',\n  },\n  {\n    name: 'WasSolicited',\n    id: '377002',\n    value: 'Y',\n    sort: 2,\n    added: 'FIX.4.2',\n    tag: 377,\n    type: 'Boolean',\n    codeSet: 'SolicitedFlagCodeSet',\n    description: 'Was solicited',\n  },\n  {\n    name: 'GTCorporateAction',\n    id: '378001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.4.2',\n    tag: 378,\n    type: 'int',\n    codeSet: 'ExecRestatementReasonCodeSet',\n    description: 'GT corporate action',\n  },\n  {\n    name: 'GTRenewal',\n    id: '378002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.2',\n    tag: 378,\n    type: 'int',\n    codeSet: 'ExecRestatementReasonCodeSet',\n    description: 'GT renewal / restatement (no corporate action)',\n  },\n  {\n    name: 'VerbalChange',\n    id: '378003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.2',\n    tag: 378,\n    type: 'int',\n    codeSet: 'ExecRestatementReasonCodeSet',\n    description: 'Verbal change',\n  },\n  {\n    name: 'RepricingOfOrder',\n    id: '378004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.2',\n    tag: 378,\n    type: 'int',\n    codeSet: 'ExecRestatementReasonCodeSet',\n    description: 'Repricing of order',\n  },\n  {\n    name: 'BrokerOption',\n    id: '378005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.4.2',\n    tag: 378,\n    type: 'int',\n    codeSet: 'ExecRestatementReasonCodeSet',\n    description: 'Broker option',\n  },\n  {\n    name: 'PartialDeclineOfOrderQty',\n    id: '378006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.4.2',\n    tag: 378,\n    type: 'int',\n    codeSet: 'ExecRestatementReasonCodeSet',\n    description: 'Partial decline of OrderQty (e.g. exchange initiated partial cancel)',\n  },\n  {\n    name: 'CancelOnTradingHalt',\n    id: '378007',\n    value: '6',\n    sort: 6,\n    added: 'FIX.4.3',\n    tag: 378,\n    type: 'int',\n    codeSet: 'ExecRestatementReasonCodeSet',\n    description: 'Cancel on Trading Halt',\n  },\n  {\n    name: 'CancelOnSystemFailure',\n    id: '378008',\n    value: '7',\n    sort: 7,\n    added: 'FIX.4.3',\n    tag: 378,\n    type: 'int',\n    codeSet: 'ExecRestatementReasonCodeSet',\n    description: 'Cancel on System Failure',\n  },\n  {\n    name: 'Market',\n    id: '378009',\n    value: '8',\n    sort: 8,\n    added: 'FIX.4.3',\n    tag: 378,\n    type: 'int',\n    codeSet: 'ExecRestatementReasonCodeSet',\n    description: 'Market (Exchange) option',\n  },\n  {\n    name: 'Canceled',\n    id: '378010',\n    value: '9',\n    sort: 9,\n    added: 'FIX.4.4',\n    tag: 378,\n    type: 'int',\n    codeSet: 'ExecRestatementReasonCodeSet',\n    description: 'Canceled, not best',\n  },\n  {\n    name: 'WarehouseRecap',\n    id: '378011',\n    value: '10',\n    sort: 10,\n    added: 'FIX.4.4',\n    tag: 378,\n    type: 'int',\n    codeSet: 'ExecRestatementReasonCodeSet',\n    description: 'Warehouse Recap',\n  },\n  {\n    name: 'PegRefresh',\n    id: '378012',\n    value: '11',\n    sort: 11,\n    added: 'FIX.4.4',\n    addedEP: '22',\n    tag: 378,\n    type: 'int',\n    codeSet: 'ExecRestatementReasonCodeSet',\n    description: 'Peg Refresh',\n  },\n  {\n    name: 'CancelOnConnectionLoss',\n    id: '378013',\n    value: '12',\n    sort: 12,\n    added: 'FIX.5.0SP2',\n    addedEP: '100',\n    tag: 378,\n    type: 'int',\n    codeSet: 'ExecRestatementReasonCodeSet',\n    description: 'Cancel On Connection Loss',\n  },\n  {\n    name: 'CancelOnLogout',\n    id: '378014',\n    value: '13',\n    sort: 13,\n    added: 'FIX.5.0SP2',\n    addedEP: '100',\n    tag: 378,\n    type: 'int',\n    codeSet: 'ExecRestatementReasonCodeSet',\n    description: 'Cancel On Logout',\n  },\n  {\n    name: 'AssignTimePriority',\n    id: '378015',\n    value: '14',\n    sort: 14,\n    added: 'FIX.5.0SP2',\n    addedEP: '101',\n    tag: 378,\n    type: 'int',\n    codeSet: 'ExecRestatementReasonCodeSet',\n    description: 'Assign Time Priority',\n  },\n  {\n    name: 'CancelledForTradePriceViolation',\n    id: '378016',\n    value: '15',\n    sort: 15,\n    added: 'FIX.5.0SP2',\n    addedEP: '104',\n    tag: 378,\n    type: 'int',\n    codeSet: 'ExecRestatementReasonCodeSet',\n    description: 'Cancelled, Trade Price Violation',\n  },\n  {\n    name: 'CancelledForCrossImbalance',\n    id: '378017',\n    value: '16',\n    sort: 16,\n    added: 'FIX.5.0SP2',\n    addedEP: '104',\n    tag: 378,\n    type: 'int',\n    codeSet: 'ExecRestatementReasonCodeSet',\n    description: 'Cancelled, Cross Imbalance',\n  },\n  {\n    name: 'CxldSMP',\n    id: '378018',\n    value: '17',\n    sort: 17,\n    added: 'FIX.Latest',\n    addedEP: '280',\n    tag: 378,\n    type: 'int',\n    codeSet: 'ExecRestatementReasonCodeSet',\n    description:\n      'Cancelled, self-match prevention\\n\\nCancelled order based on standing rules for self-match prevention (i.e. SelfMatchPreventionInstruction(2964) not specified or used).',\n  },\n  {\n    name: 'CxldSMPAggressive',\n    id: '378019',\n    value: '18',\n    sort: 18,\n    added: 'FIX.Latest',\n    addedEP: '280',\n    tag: 378,\n    type: 'int',\n    codeSet: 'ExecRestatementReasonCodeSet',\n    description:\n      'Cancelled, self-match prevention aggressive order\\n\\nCancelled due to incoming order with the same SelfMatchPreventionID(2362) and SelfMatchPreventionInstruction(2964)=1 (Cancel aggressive).',\n  },\n  {\n    name: 'CxldSMPPassive',\n    id: '378020',\n    value: '19',\n    sort: 19,\n    added: 'FIX.Latest',\n    addedEP: '280',\n    tag: 378,\n    type: 'int',\n    codeSet: 'ExecRestatementReasonCodeSet',\n    description:\n      'Cancelled, self-match prevention passive order\\n\\nCancelled due to incoming order with the same SelfMatchPreventionID(2362) and SelfMatchPreventionInstruction(2964)=2 (Cancel passive).',\n  },\n  {\n    name: 'CxldSMPAggressivePassive',\n    id: '378021',\n    value: '20',\n    sort: 20,\n    added: 'FIX.Latest',\n    addedEP: '280',\n    tag: 378,\n    type: 'int',\n    codeSet: 'ExecRestatementReasonCodeSet',\n    description:\n      'Cancelled, self-match prevention aggressive and passive order\\n\\nCancelled due to incoming order with the same SelfMatchPreventionID(2362) and SelfMatchPreventionInstruction(2964)=3 (Cancel aggressive and passive).',\n  },\n  {\n    name: 'Other',\n    id: '378022',\n    value: '99',\n    sort: 99,\n    added: 'FIX.4.4',\n    tag: 378,\n    type: 'int',\n    codeSet: 'ExecRestatementReasonCodeSet',\n    description: 'Other',\n  },\n  {\n    name: 'Other',\n    id: '380001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.2',\n    tag: 380,\n    type: 'int',\n    codeSet: 'BusinessRejectReasonCodeSet',\n    description: 'Other',\n  },\n  {\n    name: 'UnknownID',\n    id: '380002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.2',\n    tag: 380,\n    type: 'int',\n    codeSet: 'BusinessRejectReasonCodeSet',\n    description: 'Unknown ID',\n  },\n  {\n    name: 'UnknownSecurity',\n    id: '380003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.4.2',\n    tag: 380,\n    type: 'int',\n    codeSet: 'BusinessRejectReasonCodeSet',\n    description: 'Unknown Security',\n  },\n  {\n    name: 'UnsupportedMessageType',\n    id: '380004',\n    value: '3',\n    sort: 4,\n    added: 'FIX.4.2',\n    updated: 'FIX.5.0SP1',\n    updatedEP: '95',\n    tag: 380,\n    type: 'int',\n    codeSet: 'BusinessRejectReasonCodeSet',\n    description: 'Unsupported Message Type',\n  },\n  {\n    name: 'ApplicationNotAvailable',\n    id: '380005',\n    value: '4',\n    sort: 5,\n    added: 'FIX.4.2',\n    tag: 380,\n    type: 'int',\n    codeSet: 'BusinessRejectReasonCodeSet',\n    description: 'Application not available',\n  },\n  {\n    name: 'ConditionallyRequiredFieldMissing',\n    id: '380006',\n    value: '5',\n    sort: 6,\n    added: 'FIX.4.2',\n    tag: 380,\n    type: 'int',\n    codeSet: 'BusinessRejectReasonCodeSet',\n    description: 'Conditionally required field missing',\n  },\n  {\n    name: 'NotAuthorized',\n    id: '380007',\n    value: '6',\n    sort: 7,\n    added: 'FIX.4.3',\n    tag: 380,\n    type: 'int',\n    codeSet: 'BusinessRejectReasonCodeSet',\n    description: 'Not Authorized',\n  },\n  {\n    name: 'DeliverToFirmNotAvailableAtThisTime',\n    id: '380008',\n    value: '7',\n    sort: 8,\n    added: 'FIX.4.3',\n    tag: 380,\n    type: 'int',\n    codeSet: 'BusinessRejectReasonCodeSet',\n    description: 'DeliverTo firm not available at this time',\n  },\n  {\n    name: 'ThrottleLimitExceeded',\n    id: '380009',\n    value: '8',\n    sort: 9,\n    added: 'FIX.5.0SP2',\n    addedEP: '116',\n    tag: 380,\n    type: 'int',\n    codeSet: 'BusinessRejectReasonCodeSet',\n    description: 'Throttle limit exceeded',\n  },\n  {\n    name: 'ThrottleLimitExceededSessionDisconnected',\n    id: '380010',\n    value: '9',\n    sort: 10,\n    added: 'FIX.5.0SP2',\n    addedEP: '116',\n    tag: 380,\n    type: 'int',\n    codeSet: 'BusinessRejectReasonCodeSet',\n    description: 'Throttle limit exceeded, session will be disconnected',\n  },\n  {\n    name: 'ThrottledMessagesRejectedOnRequest',\n    id: '380011',\n    value: '10',\n    sort: 11,\n    added: 'FIX.5.0SP2',\n    addedEP: '116',\n    tag: 380,\n    type: 'int',\n    codeSet: 'BusinessRejectReasonCodeSet',\n    description: 'Throttled messages rejected on request',\n  },\n  {\n    name: 'InvalidPriceIncrement',\n    id: '380012',\n    value: '18',\n    sort: 19,\n    added: 'FIX.4.4',\n    addedEP: '6',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '116',\n    tag: 380,\n    type: 'int',\n    codeSet: 'BusinessRejectReasonCodeSet',\n    description: 'Invalid price increment',\n  },\n  {\n    name: 'Receive',\n    id: '385001',\n    value: 'R',\n    sort: 1,\n    added: 'FIX.4.2',\n    tag: 385,\n    type: 'char',\n    codeSet: 'MsgDirectionCodeSet',\n    description: 'Receive',\n  },\n  {\n    name: 'Send',\n    id: '385002',\n    value: 'S',\n    sort: 2,\n    added: 'FIX.4.2',\n    tag: 385,\n    type: 'char',\n    codeSet: 'MsgDirectionCodeSet',\n    description: 'Send',\n  },\n  {\n    name: 'RelatedToDisplayedPrice',\n    id: '388001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.2',\n    tag: 388,\n    type: 'char',\n    codeSet: 'DiscretionInstCodeSet',\n    description: 'Related to displayed price',\n  },\n  {\n    name: 'RelatedToMarketPrice',\n    id: '388002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.2',\n    tag: 388,\n    type: 'char',\n    codeSet: 'DiscretionInstCodeSet',\n    description: 'Related to market price',\n  },\n  {\n    name: 'RelatedToPrimaryPrice',\n    id: '388003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.4.2',\n    tag: 388,\n    type: 'char',\n    codeSet: 'DiscretionInstCodeSet',\n    description: 'Related to primary price',\n  },\n  {\n    name: 'RelatedToLocalPrimaryPrice',\n    id: '388004',\n    value: '3',\n    sort: 4,\n    added: 'FIX.4.2',\n    tag: 388,\n    type: 'char',\n    codeSet: 'DiscretionInstCodeSet',\n    description: 'Related to local primary price',\n  },\n  {\n    name: 'RelatedToMidpointPrice',\n    id: '388005',\n    value: '4',\n    sort: 5,\n    added: 'FIX.4.2',\n    tag: 388,\n    type: 'char',\n    codeSet: 'DiscretionInstCodeSet',\n    description: 'Related to midpoint price',\n  },\n  {\n    name: 'RelatedToLastTradePrice',\n    id: '388006',\n    value: '5',\n    sort: 6,\n    added: 'FIX.4.2',\n    tag: 388,\n    type: 'char',\n    codeSet: 'DiscretionInstCodeSet',\n    description: 'Related to last trade price',\n  },\n  {\n    name: 'RelatedToVWAP',\n    id: '388007',\n    value: '6',\n    sort: 7,\n    added: 'FIX.4.4',\n    tag: 388,\n    type: 'char',\n    codeSet: 'DiscretionInstCodeSet',\n    description: 'Related to VWAP',\n  },\n  {\n    name: 'AveragePriceGuarantee',\n    id: '388008',\n    value: '7',\n    sort: 8,\n    added: 'FIX.4.4',\n    addedEP: '22',\n    tag: 388,\n    type: 'char',\n    codeSet: 'DiscretionInstCodeSet',\n    description: 'Average Price Guarantee',\n  },\n  {\n    name: 'NonDisclosed',\n    id: '394001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.3',\n    tag: 394,\n    type: 'int',\n    codeSet: 'BidTypeCodeSet',\n    description: '\"Non Disclosed\" style (e.g. US/European)',\n  },\n  {\n    name: 'Disclosed',\n    id: '394002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.3',\n    updated: 'FIX.Latest',\n    updatedEP: '271',\n    tag: 394,\n    type: 'int',\n    codeSet: 'BidTypeCodeSet',\n    description: '\"Disclosed\" style (e.g. Japanese)',\n  },\n  {\n    name: 'NoBiddingProcess',\n    id: '394003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.3',\n    tag: 394,\n    type: 'int',\n    codeSet: 'BidTypeCodeSet',\n    description: 'No bidding process',\n  },\n  {\n    name: 'Sector',\n    id: '399001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.3',\n    tag: 399,\n    type: 'int',\n    codeSet: 'BidDescriptorTypeCodeSet',\n    description: 'Sector',\n  },\n  {\n    name: 'Country',\n    id: '399002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.3',\n    tag: 399,\n    type: 'int',\n    codeSet: 'BidDescriptorTypeCodeSet',\n    description: 'Country',\n  },\n  {\n    name: 'Index',\n    id: '399003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.3',\n    tag: 399,\n    type: 'int',\n    codeSet: 'BidDescriptorTypeCodeSet',\n    description: 'Index',\n  },\n  {\n    name: 'SideValue1',\n    id: '401001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.3',\n    tag: 401,\n    type: 'int',\n    codeSet: 'SideValueIndCodeSet',\n    description: 'Side Value 1',\n  },\n  {\n    name: 'SideValue2',\n    id: '401002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.3',\n    tag: 401,\n    type: 'int',\n    codeSet: 'SideValueIndCodeSet',\n    description: 'Side Value 2',\n  },\n  {\n    name: 'FiveDayMovingAverage',\n    id: '409001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.2',\n    tag: 409,\n    type: 'int',\n    codeSet: 'LiquidityIndTypeCodeSet',\n    description: '5-day moving average',\n  },\n  {\n    name: 'TwentyDayMovingAverage',\n    id: '409002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.2',\n    tag: 409,\n    type: 'int',\n    codeSet: 'LiquidityIndTypeCodeSet',\n    description: '20-day moving average',\n  },\n  {\n    name: 'NormalMarketSize',\n    id: '409003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.2',\n    tag: 409,\n    type: 'int',\n    codeSet: 'LiquidityIndTypeCodeSet',\n    description: 'Normal market size',\n  },\n  {\n    name: 'Other',\n    id: '409004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.4.2',\n    tag: 409,\n    type: 'int',\n    codeSet: 'LiquidityIndTypeCodeSet',\n    description: 'Other',\n  },\n  {\n    name: 'False',\n    id: '411001',\n    value: 'N',\n    sort: 1,\n    added: 'FIX.4.2',\n    tag: 411,\n    type: 'Boolean',\n    codeSet: 'ExchangeForPhysicalCodeSet',\n    description: 'False',\n  },\n  {\n    name: 'True',\n    id: '411002',\n    value: 'Y',\n    sort: 2,\n    added: 'FIX.4.2',\n    tag: 411,\n    type: 'Boolean',\n    codeSet: 'ExchangeForPhysicalCodeSet',\n    description: 'True',\n  },\n  {\n    name: 'BuySideRequests',\n    id: '414001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.2',\n    tag: 414,\n    type: 'int',\n    codeSet: 'ProgRptReqsCodeSet',\n    description:\n      'Buy-side explicitly requests status using Statue Request (default), the sell-side firm can, however, send a DONE status List STatus Response in an unsolicited fashion',\n  },\n  {\n    name: 'SellSideSends',\n    id: '414002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.2',\n    tag: 414,\n    type: 'int',\n    codeSet: 'ProgRptReqsCodeSet',\n    description:\n      'Sell-side periodically sends status using List Status. Period optionally specified in ProgressPeriod.',\n  },\n  {\n    name: 'RealTimeExecutionReports',\n    id: '414003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.2',\n    tag: 414,\n    type: 'int',\n    codeSet: 'ProgRptReqsCodeSet',\n    description: 'Real-time execution reports (to be discourage)',\n  },\n  {\n    name: 'Net',\n    id: '416001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.2',\n    tag: 416,\n    type: 'int',\n    codeSet: 'IncTaxIndCodeSet',\n    description: 'Net',\n  },\n  {\n    name: 'Gross',\n    id: '416002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.2',\n    tag: 416,\n    type: 'int',\n    codeSet: 'IncTaxIndCodeSet',\n    description: 'Gross',\n  },\n  {\n    name: 'Agency',\n    id: '418001',\n    value: 'A',\n    sort: 1,\n    added: 'FIX.4.2',\n    tag: 418,\n    type: 'char',\n    codeSet: 'BidTradeTypeCodeSet',\n    description: 'Agency',\n  },\n  {\n    name: 'VWAPGuarantee',\n    id: '418002',\n    value: 'G',\n    sort: 2,\n    added: 'FIX.4.2',\n    tag: 418,\n    type: 'char',\n    codeSet: 'BidTradeTypeCodeSet',\n    description: 'VWAP Guarantee',\n  },\n  {\n    name: 'GuaranteedClose',\n    id: '418003',\n    value: 'J',\n    sort: 3,\n    added: 'FIX.4.2',\n    tag: 418,\n    type: 'char',\n    codeSet: 'BidTradeTypeCodeSet',\n    description: 'Guaranteed Close',\n  },\n  {\n    name: 'RiskTrade',\n    id: '418004',\n    value: 'R',\n    sort: 4,\n    added: 'FIX.4.2',\n    tag: 418,\n    type: 'char',\n    codeSet: 'BidTradeTypeCodeSet',\n    description: 'Risk Trade',\n  },\n  {\n    name: 'ClosingPriceAtMorningSession',\n    id: '419001',\n    value: '2',\n    sort: 1,\n    added: 'FIX.4.2',\n    tag: 419,\n    type: 'char',\n    codeSet: 'BasisPxTypeCodeSet',\n    description: 'Closing price at morning session',\n  },\n  {\n    name: 'ClosingPrice',\n    id: '419002',\n    value: '3',\n    sort: 2,\n    added: 'FIX.4.2',\n    tag: 419,\n    type: 'char',\n    codeSet: 'BasisPxTypeCodeSet',\n    description: 'Closing price',\n  },\n  {\n    name: 'CurrentPrice',\n    id: '419003',\n    value: '4',\n    sort: 3,\n    added: 'FIX.4.2',\n    tag: 419,\n    type: 'char',\n    codeSet: 'BasisPxTypeCodeSet',\n    description: 'Current price',\n  },\n  {\n    name: 'SQ',\n    id: '419004',\n    value: '5',\n    sort: 4,\n    added: 'FIX.4.2',\n    tag: 419,\n    type: 'char',\n    codeSet: 'BasisPxTypeCodeSet',\n    description: 'SQ',\n  },\n  {\n    name: 'VWAPThroughADay',\n    id: '419005',\n    value: '6',\n    sort: 5,\n    added: 'FIX.4.2',\n    tag: 419,\n    type: 'char',\n    codeSet: 'BasisPxTypeCodeSet',\n    description: 'VWAP through a day',\n  },\n  {\n    name: 'VWAPThroughAMorningSession',\n    id: '419006',\n    value: '7',\n    sort: 6,\n    added: 'FIX.4.2',\n    tag: 419,\n    type: 'char',\n    codeSet: 'BasisPxTypeCodeSet',\n    description: 'VWAP through a morning session',\n  },\n  {\n    name: 'VWAPThroughAnAfternoonSession',\n    id: '419007',\n    value: '8',\n    sort: 7,\n    added: 'FIX.4.2',\n    tag: 419,\n    type: 'char',\n    codeSet: 'BasisPxTypeCodeSet',\n    description: 'VWAP through an afternoon session',\n  },\n  {\n    name: 'VWAPThroughADayExcept',\n    id: '419008',\n    value: '9',\n    sort: 8,\n    added: 'FIX.4.2',\n    tag: 419,\n    type: 'char',\n    codeSet: 'BasisPxTypeCodeSet',\n    description: 'VWAP through a day except \"YORI\" (an opening auction)',\n  },\n  {\n    name: 'VWAPThroughAMorningSessionExcept',\n    id: '419009',\n    value: 'A',\n    sort: 9,\n    added: 'FIX.4.2',\n    tag: 419,\n    type: 'char',\n    codeSet: 'BasisPxTypeCodeSet',\n    description: 'VWAP through a morning session except \"YORI\" (an opening auction)',\n  },\n  {\n    name: 'VWAPThroughAnAfternoonSessionExcept',\n    id: '419010',\n    value: 'B',\n    sort: 10,\n    added: 'FIX.4.2',\n    tag: 419,\n    type: 'char',\n    codeSet: 'BasisPxTypeCodeSet',\n    description: 'VWAP through an afternoon session except \"YORI\" (an opening auction)',\n  },\n  {\n    name: 'Strike',\n    id: '419011',\n    value: 'C',\n    sort: 11,\n    added: 'FIX.4.2',\n    tag: 419,\n    type: 'char',\n    codeSet: 'BasisPxTypeCodeSet',\n    description: 'Strike',\n  },\n  {\n    name: 'Open',\n    id: '419012',\n    value: 'D',\n    sort: 12,\n    added: 'FIX.4.2',\n    tag: 419,\n    type: 'char',\n    codeSet: 'BasisPxTypeCodeSet',\n    description: 'Open',\n  },\n  {\n    name: 'Others',\n    id: '419013',\n    value: 'Z',\n    sort: 30,\n    added: 'FIX.4.2',\n    tag: 419,\n    type: 'char',\n    codeSet: 'BasisPxTypeCodeSet',\n    description: 'Others',\n  },\n  {\n    name: 'Percentage',\n    id: '423001',\n    value: '1',\n    sort: 0,\n    added: 'FIX.4.2',\n    tag: 423,\n    type: 'int',\n    codeSet: 'PriceTypeCodeSet',\n    description:\n      'Percentage (i.e. percent of par) (often called \"dollar price\" for fixed income)',\n  },\n  {\n    name: 'PerUnit',\n    id: '423002',\n    value: '2',\n    sort: 1,\n    added: 'FIX.4.2',\n    tag: 423,\n    type: 'int',\n    codeSet: 'PriceTypeCodeSet',\n    description: 'Per unit (i.e. per share or contract)',\n  },\n  {\n    name: 'FixedAmount',\n    id: '423003',\n    value: '3',\n    sort: 2,\n    added: 'FIX.4.2',\n    tag: 423,\n    type: 'int',\n    codeSet: 'PriceTypeCodeSet',\n    description: 'Fixed amount (absolute value)',\n  },\n  {\n    name: 'Discount',\n    id: '423004',\n    value: '4',\n    sort: 3,\n    added: 'FIX.4.3',\n    tag: 423,\n    type: 'int',\n    codeSet: 'PriceTypeCodeSet',\n    description: 'Discount - percentage points below par',\n  },\n  {\n    name: 'Premium',\n    id: '423005',\n    value: '5',\n    sort: 4,\n    added: 'FIX.4.3',\n    tag: 423,\n    type: 'int',\n    codeSet: 'PriceTypeCodeSet',\n    description: 'Premium - percentage points over par',\n  },\n  {\n    name: 'Spread',\n    id: '423006',\n    value: '6',\n    sort: 5,\n    added: 'FIX.4.3',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '207',\n    tag: 423,\n    type: 'int',\n    codeSet: 'PriceTypeCodeSet',\n    description:\n      'Spread (basis points spread)\\n\\nUsually the difference in yield between two switched bonds or a corporate bond traded spread-to-benchmark.',\n  },\n  {\n    name: 'TEDPrice',\n    id: '423007',\n    value: '7',\n    sort: 6,\n    added: 'FIX.4.3',\n    tag: 423,\n    type: 'int',\n    codeSet: 'PriceTypeCodeSet',\n    description: 'TED Price',\n  },\n  {\n    name: 'TEDYield',\n    id: '423008',\n    value: '8',\n    sort: 7,\n    added: 'FIX.4.3',\n    tag: 423,\n    type: 'int',\n    codeSet: 'PriceTypeCodeSet',\n    description: 'TED Yield',\n  },\n  {\n    name: 'Yield',\n    id: '423009',\n    value: '9',\n    sort: 8,\n    added: 'FIX.4.4',\n    tag: 423,\n    type: 'int',\n    codeSet: 'PriceTypeCodeSet',\n    description: 'Yield',\n  },\n  {\n    name: 'FixedCabinetTradePrice',\n    id: '423010',\n    value: '10',\n    sort: 9,\n    added: 'FIX.4.4',\n    tag: 423,\n    type: 'int',\n    codeSet: 'PriceTypeCodeSet',\n    description: 'Fixed cabinet trade price (primarily for listed futures and options)',\n  },\n  {\n    name: 'VariableCabinetTradePrice',\n    id: '423011',\n    value: '11',\n    sort: 10,\n    added: 'FIX.4.4',\n    tag: 423,\n    type: 'int',\n    codeSet: 'PriceTypeCodeSet',\n    description:\n      'Variable cabinet trade price (primarily for listed futures and options)',\n  },\n  {\n    name: 'PriceSpread',\n    id: '423012',\n    value: '12',\n    sort: 11,\n    added: 'FIX.5.0SP2',\n    addedEP: '207',\n    tag: 423,\n    type: 'int',\n    codeSet: 'PriceTypeCodeSet',\n    description:\n      'Price spread\\n\\nPrice spread is expressed based on market convention for the asset being priced or traded. For example, the difference between the prices of a multileg switch or strategy expressed in basis points for a CDS or TBA roll; a price value to be added to a reference price, such as a \"pay up\" for specified pools',\n  },\n  {\n    name: 'ProductTicksInHalves',\n    id: '423013',\n    value: '13',\n    sort: 12,\n    added: 'FIX.4.4',\n    addedEP: '19',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '207',\n    tag: 423,\n    type: 'int',\n    codeSet: 'PriceTypeCodeSet',\n    description: 'Product ticks in halves',\n  },\n  {\n    name: 'ProductTicksInFourths',\n    id: '423014',\n    value: '14',\n    sort: 13,\n    added: 'FIX.4.4',\n    addedEP: '19',\n    tag: 423,\n    type: 'int',\n    codeSet: 'PriceTypeCodeSet',\n    description: 'Product ticks in fourths',\n  },\n  {\n    name: 'ProductTicksInEighths',\n    id: '423015',\n    value: '15',\n    sort: 14,\n    added: 'FIX.4.4',\n    addedEP: '19',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '207',\n    tag: 423,\n    type: 'int',\n    codeSet: 'PriceTypeCodeSet',\n    description: 'Product ticks in eighths',\n  },\n  {\n    name: 'ProductTicksInSixteenths',\n    id: '423016',\n    value: '16',\n    sort: 15,\n    added: 'FIX.4.4',\n    addedEP: '19',\n    tag: 423,\n    type: 'int',\n    codeSet: 'PriceTypeCodeSet',\n    description: 'Product ticks in sixteenths',\n  },\n  {\n    name: 'ProductTicksInThirtySeconds',\n    id: '423017',\n    value: '17',\n    sort: 16,\n    added: 'FIX.4.4',\n    addedEP: '19',\n    tag: 423,\n    type: 'int',\n    codeSet: 'PriceTypeCodeSet',\n    description: 'Product ticks in thirty-seconds',\n  },\n  {\n    name: 'ProductTicksInSixtyFourths',\n    id: '423018',\n    value: '18',\n    sort: 17,\n    added: 'FIX.4.4',\n    addedEP: '19',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '207',\n    tag: 423,\n    type: 'int',\n    codeSet: 'PriceTypeCodeSet',\n    description: 'Product ticks in sixty-fourths',\n  },\n  {\n    name: 'ProductTicksInOneTwentyEighths',\n    id: '423019',\n    value: '19',\n    sort: 18,\n    added: 'FIX.4.4',\n    addedEP: '19',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '207',\n    tag: 423,\n    type: 'int',\n    codeSet: 'PriceTypeCodeSet',\n    description: 'Product ticks in one-twenty-eighths',\n  },\n  {\n    name: 'NormalRateRepresentation',\n    id: '423020',\n    value: '20',\n    sort: 19,\n    added: 'FIX.5.0SP2',\n    addedEP: '100',\n    tag: 423,\n    type: 'int',\n    codeSet: 'PriceTypeCodeSet',\n    description: 'Normal rate representation (e.g. FX rate)',\n  },\n  {\n    name: 'InverseRateRepresentation',\n    id: '423021',\n    value: '21',\n    sort: 20,\n    added: 'FIX.5.0SP2',\n    addedEP: '100',\n    tag: 423,\n    type: 'int',\n    codeSet: 'PriceTypeCodeSet',\n    description: 'Inverse rate representation (e.g. FX rate)',\n  },\n  {\n    name: 'BasisPoints',\n    id: '423022',\n    value: '22',\n    sort: 22,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 423,\n    type: 'int',\n    codeSet: 'PriceTypeCodeSet',\n    description: 'Basis points\\n\\nWhen the price is not spread based.',\n  },\n  {\n    name: 'UpfrontPoints',\n    id: '423023',\n    value: '23',\n    sort: 23,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 423,\n    type: 'int',\n    codeSet: 'PriceTypeCodeSet',\n    description: 'Up front points\\n\\nUsed specifically for CDS pricing.',\n  },\n  {\n    name: 'InterestRate',\n    id: '423024',\n    value: '24',\n    sort: 24,\n    added: 'FIX.5.0SP2',\n    addedEP: '174',\n    tag: 423,\n    type: 'int',\n    codeSet: 'PriceTypeCodeSet',\n    description:\n      'Interest rate\\n\\nWhen the price is an interest rate. For example, used with benchmark reference rate.',\n  },\n  {\n    name: 'PercentageNotional',\n    id: '423025',\n    value: '25',\n    sort: 25,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 423,\n    type: 'int',\n    codeSet: 'PriceTypeCodeSet',\n    description: 'Percentage of notional',\n  },\n  {\n    name: 'BookOutAllTradesOnDayOfExecution',\n    id: '427001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.2',\n    tag: 427,\n    type: 'int',\n    codeSet: 'GTBookingInstCodeSet',\n    description: 'Book out all trades on day of execution',\n  },\n  {\n    name: 'AccumulateUntilFilledOrExpired',\n    id: '427002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.2',\n    tag: 427,\n    type: 'int',\n    codeSet: 'GTBookingInstCodeSet',\n    description: 'Accumulate executions until order is filled or expires',\n  },\n  {\n    name: 'AccumulateUntilVerballyNotifiedOtherwise',\n    id: '427003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.4.2',\n    tag: 427,\n    type: 'int',\n    codeSet: 'GTBookingInstCodeSet',\n    description: 'Accumulate until verbally notified otherwise',\n  },\n  {\n    name: 'Ack',\n    id: '429001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.3',\n    tag: 429,\n    type: 'int',\n    codeSet: 'ListStatusTypeCodeSet',\n    description: 'Ack',\n  },\n  {\n    name: 'Response',\n    id: '429002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.3',\n    tag: 429,\n    type: 'int',\n    codeSet: 'ListStatusTypeCodeSet',\n    description: 'Response',\n  },\n  {\n    name: 'Timed',\n    id: '429003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.3',\n    tag: 429,\n    type: 'int',\n    codeSet: 'ListStatusTypeCodeSet',\n    description: 'Timed',\n  },\n  {\n    name: 'ExecStarted',\n    id: '429004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.4.3',\n    tag: 429,\n    type: 'int',\n    codeSet: 'ListStatusTypeCodeSet',\n    description: 'Exec Started',\n  },\n  {\n    name: 'AllDone',\n    id: '429005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.4.3',\n    tag: 429,\n    type: 'int',\n    codeSet: 'ListStatusTypeCodeSet',\n    description: 'All Done',\n  },\n  {\n    name: 'Alert',\n    id: '429006',\n    value: '6',\n    sort: 6,\n    added: 'FIX.4.3',\n    tag: 429,\n    type: 'int',\n    codeSet: 'ListStatusTypeCodeSet',\n    description: 'Alert',\n  },\n  {\n    name: 'Net',\n    id: '430001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.2',\n    tag: 430,\n    type: 'int',\n    codeSet: 'NetGrossIndCodeSet',\n    description: 'Net',\n  },\n  {\n    name: 'Gross',\n    id: '430002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.2',\n    tag: 430,\n    type: 'int',\n    codeSet: 'NetGrossIndCodeSet',\n    description: 'Gross',\n  },\n  {\n    name: 'InBiddingProcess',\n    id: '431001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.3',\n    tag: 431,\n    type: 'int',\n    codeSet: 'ListOrderStatusCodeSet',\n    description: 'In bidding process',\n  },\n  {\n    name: 'ReceivedForExecution',\n    id: '431002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.3',\n    tag: 431,\n    type: 'int',\n    codeSet: 'ListOrderStatusCodeSet',\n    description: 'Received for execution',\n  },\n  {\n    name: 'Executing',\n    id: '431003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.3',\n    tag: 431,\n    type: 'int',\n    codeSet: 'ListOrderStatusCodeSet',\n    description: 'Executing',\n  },\n  {\n    name: 'Cancelling',\n    id: '431004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.4.3',\n    tag: 431,\n    type: 'int',\n    codeSet: 'ListOrderStatusCodeSet',\n    description: 'Cancelling',\n  },\n  {\n    name: 'Alert',\n    id: '431005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.4.3',\n    tag: 431,\n    type: 'int',\n    codeSet: 'ListOrderStatusCodeSet',\n    description: 'Alert',\n  },\n  {\n    name: 'AllDone',\n    id: '431006',\n    value: '6',\n    sort: 6,\n    added: 'FIX.4.3',\n    tag: 431,\n    type: 'int',\n    codeSet: 'ListOrderStatusCodeSet',\n    description: 'All Done',\n  },\n  {\n    name: 'Reject',\n    id: '431007',\n    value: '7',\n    sort: 7,\n    added: 'FIX.4.3',\n    tag: 431,\n    type: 'int',\n    codeSet: 'ListOrderStatusCodeSet',\n    description: 'Reject',\n  },\n  {\n    name: 'Immediate',\n    id: '433001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.2',\n    tag: 433,\n    type: 'char',\n    codeSet: 'ListExecInstTypeCodeSet',\n    description: 'Immediate',\n  },\n  {\n    name: 'WaitForInstruction',\n    id: '433002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.2',\n    tag: 433,\n    type: 'char',\n    codeSet: 'ListExecInstTypeCodeSet',\n    description:\n      'Wait for Execut Instruction (i.e. a List Execut message or phone call before proceeding with execution of the list)',\n  },\n  {\n    name: 'SellDriven',\n    id: '433003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.3',\n    tag: 433,\n    type: 'char',\n    codeSet: 'ListExecInstTypeCodeSet',\n    description: 'Exchange/switch CIV order - Sell driven',\n  },\n  {\n    name: 'BuyDrivenCashTopUp',\n    id: '433004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.4.3',\n    tag: 433,\n    type: 'char',\n    codeSet: 'ListExecInstTypeCodeSet',\n    description:\n      'Exchange/switch CIV order - Buy driven, cash top-up (i.e. additional cash will be provided to fulfill the order)',\n  },\n  {\n    name: 'BuyDrivenCashWithdraw',\n    id: '433005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.4.3',\n    tag: 433,\n    type: 'char',\n    codeSet: 'ListExecInstTypeCodeSet',\n    description:\n      'Exchange/switch CIV order - Buy driven, cash withdraw (i.e. additional cash will not be provided to fulfill the order)',\n  },\n  {\n    name: 'OrderCancelRequest',\n    id: '434001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.2',\n    tag: 434,\n    type: 'char',\n    codeSet: 'CxlRejResponseToCodeSet',\n    description: 'Order cancel request',\n  },\n  {\n    name: 'OrderCancelReplaceRequest',\n    id: '434002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.2',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '204',\n    tag: 434,\n    type: 'char',\n    codeSet: 'CxlRejResponseToCodeSet',\n    description: 'Order cancel/replace request',\n  },\n  {\n    name: 'SingleSecurity',\n    id: '442001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.2',\n    updated: 'FIX.5.0SP1',\n    updatedEP: '95',\n    tag: 442,\n    type: 'char',\n    codeSet: 'MultiLegReportingTypeCodeSet',\n    description: 'Single security (default if not specified)',\n  },\n  {\n    name: 'IndividualLegOfAMultiLegSecurity',\n    id: '442002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.2',\n    updated: 'FIX.5.0SP1',\n    updatedEP: '95',\n    tag: 442,\n    type: 'char',\n    codeSet: 'MultiLegReportingTypeCodeSet',\n    description: 'Individual leg of a multi-leg security',\n  },\n  {\n    name: 'MultiLegSecurity',\n    id: '442003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.2',\n    tag: 442,\n    type: 'char',\n    codeSet: 'MultiLegReportingTypeCodeSet',\n    description: 'Multi-leg security',\n  },\n  {\n    name: 'UKNationalInsuranceOrPensionNumber',\n    id: '447001',\n    value: '6',\n    sort: 1,\n    group: 'For PartyRole = \"InvestorID\" and for CIV',\n    added: 'FIX.4.3',\n    tag: 447,\n    type: 'char',\n    codeSet: 'PartyIDSourceCodeSet',\n    description: 'UK National Insurance or Pension Number',\n  },\n  {\n    name: 'USSocialSecurityNumber',\n    id: '447002',\n    value: '7',\n    sort: 2,\n    group: 'For PartyRole = \"InvestorID\" and for CIV',\n    added: 'FIX.4.3',\n    tag: 447,\n    type: 'char',\n    codeSet: 'PartyIDSourceCodeSet',\n    description: 'US Social Security Number',\n  },\n  {\n    name: 'USEmployerOrTaxIDNumber',\n    id: '447003',\n    value: '8',\n    sort: 3,\n    group: 'For PartyRole = \"InvestorID\" and for CIV',\n    added: 'FIX.4.3',\n    tag: 447,\n    type: 'char',\n    codeSet: 'PartyIDSourceCodeSet',\n    description: 'US Employer or Tax ID Number',\n  },\n  {\n    name: 'AustralianBusinessNumber',\n    id: '447004',\n    value: '9',\n    sort: 4,\n    group: 'For PartyRole = \"InvestorID\" and for CIV',\n    added: 'FIX.4.3',\n    tag: 447,\n    type: 'char',\n    codeSet: 'PartyIDSourceCodeSet',\n    description: 'Australian Business Number',\n  },\n  {\n    name: 'AustralianTaxFileNumber',\n    id: '447005',\n    value: 'A',\n    sort: 5,\n    group: 'For PartyRole = \"InvestorID\" and for CIV',\n    added: 'FIX.4.3',\n    tag: 447,\n    type: 'char',\n    codeSet: 'PartyIDSourceCodeSet',\n    description: 'Australian Tax File Number',\n  },\n  {\n    name: 'TaxID',\n    id: '447006',\n    value: 'J',\n    sort: 6,\n    group: 'For PartyRole = \"InvestorID\" and for CIV',\n    added: 'FIX.5.0SP2',\n    addedEP: '103',\n    tag: 447,\n    type: 'char',\n    codeSet: 'PartyIDSourceCodeSet',\n    description: 'Tax ID',\n  },\n  {\n    name: 'KoreanInvestorID',\n    id: '447007',\n    value: '1',\n    sort: 1,\n    group: 'For PartyRole = \"InvestorID\" and for Equities',\n    added: 'FIX.4.3',\n    tag: 447,\n    type: 'char',\n    codeSet: 'PartyIDSourceCodeSet',\n    description: 'Korean Investor ID',\n  },\n  {\n    name: 'TaiwaneseForeignInvestorID',\n    id: '447008',\n    value: '2',\n    sort: 2,\n    group: 'For PartyRole = \"InvestorID\" and for Equities',\n    added: 'FIX.4.3',\n    tag: 447,\n    type: 'char',\n    codeSet: 'PartyIDSourceCodeSet',\n    description: 'Taiwanese Qualified Foreign Investor ID QFII/FID',\n  },\n  {\n    name: 'TaiwaneseTradingAcct',\n    id: '447009',\n    value: '3',\n    sort: 3,\n    group: 'For PartyRole = \"InvestorID\" and for Equities',\n    added: 'FIX.4.3',\n    tag: 447,\n    type: 'char',\n    codeSet: 'PartyIDSourceCodeSet',\n    description: 'Taiwanese Trading Acct',\n  },\n  {\n    name: 'MalaysianCentralDepository',\n    id: '447010',\n    value: '4',\n    sort: 4,\n    group: 'For PartyRole = \"InvestorID\" and for Equities',\n    added: 'FIX.4.3',\n    tag: 447,\n    type: 'char',\n    codeSet: 'PartyIDSourceCodeSet',\n    description: 'Malaysian Central Depository (MCD) number',\n  },\n  {\n    name: 'ChineseInvestorID',\n    id: '447011',\n    value: '5',\n    sort: 5,\n    group: 'For PartyRole = \"InvestorID\" and for Equities',\n    added: 'FIX.4.3',\n    tag: 447,\n    type: 'char',\n    codeSet: 'PartyIDSourceCodeSet',\n    description: 'Chinese Investor ID',\n  },\n  {\n    name: 'ISITCAcronym',\n    id: '447012',\n    value: 'I',\n    sort: 1,\n    group: 'For PartyRole=\"Broker of Credit\"',\n    added: 'FIX.4.4',\n    tag: 447,\n    type: 'char',\n    codeSet: 'PartyIDSourceCodeSet',\n    description:\n      'Directed broker three character acronym as defined in ISITC \"ETC Best Practice\" guidelines document',\n  },\n  {\n    name: 'BIC',\n    id: '447013',\n    value: 'B',\n    sort: 1,\n    group: 'For all PartyRoles',\n    added: 'FIX.4.3',\n    tag: 447,\n    type: 'char',\n    codeSet: 'PartyIDSourceCodeSet',\n    description:\n      'BIC (Bank Identification Code - SWIFT managed) code (ISO9362 - See \"Appendix 6-B\")',\n  },\n  {\n    name: 'GeneralIdentifier',\n    id: '447014',\n    value: 'C',\n    sort: 2,\n    group: 'For all PartyRoles',\n    added: 'FIX.4.3',\n    tag: 447,\n    type: 'char',\n    codeSet: 'PartyIDSourceCodeSet',\n    description: 'Generally accepted market participant identifier (e.g. NASD mnemonic)',\n  },\n  {\n    name: 'Proprietary',\n    id: '447015',\n    value: 'D',\n    sort: 3,\n    group: 'For all PartyRoles',\n    added: 'FIX.4.3',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '192',\n    tag: 447,\n    type: 'char',\n    codeSet: 'PartyIDSourceCodeSet',\n    description:\n      'Proprietary / Custom code\\n\\nCustom ID schema used between counterparties, trading platforms and repositories.',\n  },\n  {\n    name: 'ISOCountryCode',\n    id: '447016',\n    value: 'E',\n    sort: 4,\n    group: 'For all PartyRoles',\n    added: 'FIX.4.3',\n    tag: 447,\n    type: 'char',\n    codeSet: 'PartyIDSourceCodeSet',\n    description: 'ISO Country Code',\n  },\n  {\n    name: 'SettlementEntityLocation',\n    id: '447017',\n    value: 'F',\n    sort: 5,\n    group: 'For all PartyRoles',\n    added: 'FIX.4.3',\n    tag: 447,\n    type: 'char',\n    codeSet: 'PartyIDSourceCodeSet',\n    description:\n      'Settlement Entity Location (note if Local Market Settlement use \"E=ISO Country Code\") (see \"Appendix 6-G\" for valid values)',\n  },\n  {\n    name: 'MIC',\n    id: '447018',\n    value: 'G',\n    sort: 6,\n    group: 'For all PartyRoles',\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '236',\n    tag: 447,\n    type: 'char',\n    codeSet: 'PartyIDSourceCodeSet',\n    description: 'Market Identifier Code (ISO 10383) MIC',\n  },\n  {\n    name: 'CSDParticipant',\n    id: '447019',\n    value: 'H',\n    sort: 7,\n    group: 'For all PartyRoles',\n    added: 'FIX.4.4',\n    updated: 'FIX.Latest',\n    updatedEP: '282',\n    tag: 447,\n    type: 'char',\n    codeSet: 'PartyIDSourceCodeSet',\n    description:\n      'CSD participant/member code (e.g. Euroclear, DTC, CREST or Kassenverein number',\n  },\n  {\n    name: 'AustralianCompanyNumber',\n    id: '447020',\n    value: 'K',\n    sort: 8,\n    group: 'For all PartyRoles',\n    added: 'FIX.5.0SP2',\n    addedEP: '108',\n    tag: 447,\n    type: 'char',\n    codeSet: 'PartyIDSourceCodeSet',\n    description: 'Australian Company Number',\n  },\n  {\n    name: 'AustralianRegisteredBodyNumber',\n    id: '447021',\n    value: 'L',\n    sort: 9,\n    group: 'For all PartyRoles',\n    added: 'FIX.5.0SP2',\n    addedEP: '108',\n    tag: 447,\n    type: 'char',\n    codeSet: 'PartyIDSourceCodeSet',\n    description: 'Australian Registered Body Number',\n  },\n  {\n    name: 'CFTCReportingFirmIdentifier',\n    id: '447022',\n    value: 'M',\n    sort: 10,\n    group: 'For all PartyRoles',\n    added: 'FIX.5.0SP2',\n    addedEP: '140',\n    tag: 447,\n    type: 'char',\n    codeSet: 'PartyIDSourceCodeSet',\n    description: 'CFTC reporting firm identifier',\n  },\n  {\n    name: 'LegalEntityIdentifier',\n    id: '447023',\n    value: 'N',\n    sort: 11,\n    group: 'For all PartyRoles',\n    added: 'FIX.5.0SP2',\n    addedEP: '156',\n    tag: 447,\n    type: 'char',\n    codeSet: 'PartyIDSourceCodeSet',\n    description: 'Legal Entity Identifier (ISO 17442) LEI',\n  },\n  {\n    name: 'InterimIdentifier',\n    id: '447024',\n    value: 'O',\n    sort: 12,\n    group: 'For all PartyRoles',\n    added: 'FIX.5.0SP2',\n    addedEP: '192',\n    tag: 447,\n    type: 'char',\n    codeSet: 'PartyIDSourceCodeSet',\n    description:\n      'Interim identifier\\n\\nAn interim entity identifier assigned by a regulatory agency prior to an LEI (ISO 17442) being assigned.',\n  },\n  {\n    name: 'ShortCodeIdentifier',\n    id: '447025',\n    value: 'P',\n    sort: 13,\n    group: 'For all PartyRoles',\n    added: 'FIX.5.0SP2',\n    addedEP: '222',\n    tag: 447,\n    type: 'char',\n    codeSet: 'PartyIDSourceCodeSet',\n    description:\n      'Short code identifier\\n\\nA generic means for trading venues, brokers, investment managers to convey a bilaterally agreed upon \"short hand\" code for an identifier that is a reference to a mapping between the parties.',\n  },\n  {\n    name: 'NationalIDNaturalPerson',\n    id: '447026',\n    value: 'Q',\n    sort: 14,\n    group: 'For all PartyRoles',\n    added: 'FIX.5.0SP2',\n    addedEP: '222',\n    tag: 447,\n    type: 'char',\n    codeSet: 'PartyIDSourceCodeSet',\n    description:\n      'National ID of natural person\\n\\nAn identification number generally assigned by a government authority or agency to a natural person which is unique to the person it is assigned to. Examples include, but not limited to, \"social security number\", \"pension number\".',\n  },\n  {\n    name: 'IndiaPermanentAccountNumber',\n    id: '447027',\n    value: 'R',\n    sort: 15,\n    group: 'For all PartyRoles',\n    added: 'FIX.5.0SP2',\n    addedEP: '244',\n    tag: 447,\n    type: 'char',\n    codeSet: 'PartyIDSourceCodeSet',\n    description:\n      'India Permanent Account Number\\n\\nAlso referred to as PAN ID. An identifier issued by the Income Tax Department of India.',\n  },\n  {\n    name: 'FDID',\n    id: '447028',\n    value: 'S',\n    sort: 16,\n    group: 'For all PartyRoles',\n    added: 'FIX.5.0SP2',\n    addedEP: '248',\n    updated: 'FIX.Latest',\n    updatedEP: '262',\n    tag: 447,\n    type: 'char',\n    codeSet: 'PartyIDSourceCodeSet',\n    description:\n      'Firm designated identifier\\n\\nAlso referred to as FDID. A unique identifier required by the SEC for each trading account designated by Industry Members for purposes of reporting to CAT (Consolidated Audit Trail).',\n  },\n  {\n    name: 'SPSAID',\n    id: '447029',\n    value: 'T',\n    sort: 17,\n    group: 'For all PartyRoles',\n    added: 'FIX.Latest',\n    addedEP: '262',\n    tag: 447,\n    type: 'char',\n    codeSet: 'PartyIDSourceCodeSet',\n    description:\n      'Special Segregated Account ID\\n\\nAlso referred to as SPSA ID. The Special Segregated Account identifier issued by Hong Kong Exchanges and Clearing.',\n  },\n  {\n    name: 'MasterSPSAID',\n    id: '447030',\n    value: 'U',\n    sort: 18,\n    group: 'For all PartyRoles',\n    added: 'FIX.Latest',\n    addedEP: '262',\n    tag: 447,\n    type: 'char',\n    codeSet: 'PartyIDSourceCodeSet',\n    description:\n      'Master Special Segregated Account ID\\n\\nAlso referred to as Master SPSA ID. The master identifier issued by Hong Kong Exchanges and Clearing for the aggregation of SPSA IDs.',\n  },\n  {\n    name: 'ExecutingFirm',\n    id: '452001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.3',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Executing Firm (formerly FIX 4.2 ExecBroker)',\n  },\n  {\n    name: 'BrokerOfCredit',\n    id: '452002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.3',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Broker of Credit (formerly FIX 4.2 BrokerOfCredit)',\n  },\n  {\n    name: 'ClientID',\n    id: '452003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.3',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Client ID (formerly FIX 4.2 ClientID)',\n  },\n  {\n    name: 'ClearingFirm',\n    id: '452004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.4.3',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Clearing Firm (formerly FIX 4.2 ClearingFirm)',\n  },\n  {\n    name: 'InvestorID',\n    id: '452005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.4.3',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Investor ID',\n  },\n  {\n    name: 'IntroducingFirm',\n    id: '452006',\n    value: '6',\n    sort: 6,\n    added: 'FIX.4.3',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Introducing Firm',\n  },\n  {\n    name: 'EnteringFirm',\n    id: '452007',\n    value: '7',\n    sort: 7,\n    added: 'FIX.4.3',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Entering Firm',\n  },\n  {\n    name: 'Locate',\n    id: '452008',\n    value: '8',\n    sort: 8,\n    added: 'FIX.4.3',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Locate / Lending Firm (for short-sales)',\n  },\n  {\n    name: 'FundManagerClientID',\n    id: '452009',\n    value: '9',\n    sort: 9,\n    added: 'FIX.4.3',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Fund Manager Client ID (for CIV)',\n  },\n  {\n    name: 'SettlementLocation',\n    id: '452010',\n    value: '10',\n    sort: 10,\n    added: 'FIX.4.3',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Settlement Location (formerly FIX 4.2 SettlLocation)',\n  },\n  {\n    name: 'OrderOriginationTrader',\n    id: '452011',\n    value: '11',\n    sort: 11,\n    added: 'FIX.4.3',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description:\n      'Order Origination Trader (associated with Order Origination Firm - i.e. trader who initiates/submits the order)',\n  },\n  {\n    name: 'ExecutingTrader',\n    id: '452012',\n    value: '12',\n    sort: 12,\n    added: 'FIX.4.3',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Executing Trader (associated with Executing Firm - actually executes)',\n  },\n  {\n    name: 'OrderOriginationFirm',\n    id: '452013',\n    value: '13',\n    sort: 13,\n    added: 'FIX.4.3',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Order Origination Firm (e.g. buy-side firm)',\n  },\n  {\n    name: 'GiveupClearingFirmDepr',\n    id: '452014',\n    value: '14',\n    sort: 14,\n    added: 'FIX.4.3',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '253',\n    deprecated: 'FIX.5.0SP2',\n    deprecatedEP: '118',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Giveup Clearing Firm (firm to which trade is given up)',\n  },\n  {\n    name: 'CorrespondantClearingFirm',\n    id: '452015',\n    value: '15',\n    sort: 15,\n    added: 'FIX.4.3',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Correspondant Clearing Firm',\n  },\n  {\n    name: 'ExecutingSystem',\n    id: '452016',\n    value: '16',\n    sort: 16,\n    added: 'FIX.4.3',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Executing System',\n  },\n  {\n    name: 'ContraFirm',\n    id: '452017',\n    value: '17',\n    sort: 17,\n    added: 'FIX.4.3',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Contra Firm',\n  },\n  {\n    name: 'ContraClearingFirm',\n    id: '452018',\n    value: '18',\n    sort: 18,\n    added: 'FIX.4.3',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Contra Clearing Firm',\n  },\n  {\n    name: 'SponsoringFirm',\n    id: '452019',\n    value: '19',\n    sort: 19,\n    added: 'FIX.4.3',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Sponsoring Firm',\n  },\n  {\n    name: 'UnderlyingContraFirm',\n    id: '452020',\n    value: '20',\n    sort: 20,\n    added: 'FIX.4.3',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Underlying Contra Firm',\n  },\n  {\n    name: 'ClearingOrganization',\n    id: '452021',\n    value: '21',\n    sort: 21,\n    added: 'FIX.4.4',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Clearing Organization',\n  },\n  {\n    name: 'Exchange',\n    id: '452022',\n    value: '22',\n    sort: 22,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '139',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description:\n      'Exchange\\n\\nIdentify using PartyIDSource(tag 447) = G (Market Identifier Code) if the MIC exists.',\n  },\n  {\n    name: 'CustomerAccount',\n    id: '452023',\n    value: '24',\n    sort: 24,\n    added: 'FIX.4.4',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Customer Account',\n  },\n  {\n    name: 'CorrespondentClearingOrganization',\n    id: '452024',\n    value: '25',\n    sort: 25,\n    added: 'FIX.4.4',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Correspondent Clearing Organization',\n  },\n  {\n    name: 'CorrespondentBroker',\n    id: '452025',\n    value: '26',\n    sort: 26,\n    added: 'FIX.4.4',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Correspondent Broker',\n  },\n  {\n    name: 'Buyer',\n    id: '452026',\n    value: '27',\n    sort: 27,\n    added: 'FIX.4.4',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Buyer/Seller (Receiver/Deliverer)',\n  },\n  {\n    name: 'Custodian',\n    id: '452027',\n    value: '28',\n    sort: 28,\n    added: 'FIX.4.4',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Custodian',\n  },\n  {\n    name: 'Intermediary',\n    id: '452028',\n    value: '29',\n    sort: 29,\n    added: 'FIX.4.4',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Intermediary',\n  },\n  {\n    name: 'Agent',\n    id: '452029',\n    value: '30',\n    sort: 30,\n    added: 'FIX.4.4',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Agent',\n  },\n  {\n    name: 'SubCustodian',\n    id: '452030',\n    value: '31',\n    sort: 31,\n    added: 'FIX.4.4',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Sub-custodian',\n  },\n  {\n    name: 'Beneficiary',\n    id: '452031',\n    value: '32',\n    sort: 32,\n    added: 'FIX.4.4',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Beneficiary',\n  },\n  {\n    name: 'InterestedParty',\n    id: '452032',\n    value: '33',\n    sort: 33,\n    added: 'FIX.4.4',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Interested party',\n  },\n  {\n    name: 'RegulatoryBody',\n    id: '452033',\n    value: '34',\n    sort: 34,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '169',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description:\n      'Regulatory body\\n\\nIn the context of regulatory reporting, this identifies the regulator the trade is being reported to.',\n  },\n  {\n    name: 'LiquidityProvider',\n    id: '452034',\n    value: '35',\n    sort: 35,\n    added: 'FIX.4.4',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Liquidity provider',\n  },\n  {\n    name: 'EnteringTrader',\n    id: '452035',\n    value: '36',\n    sort: 36,\n    added: 'FIX.4.4',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Entering trader',\n  },\n  {\n    name: 'ContraTrader',\n    id: '452036',\n    value: '37',\n    sort: 37,\n    added: 'FIX.4.4',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Contra trader',\n  },\n  {\n    name: 'PositionAccount',\n    id: '452037',\n    value: '38',\n    sort: 38,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '155',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description:\n      'Position account\\n\\nThe account which positions are maintained. Typically represents the aggregation of one or more customer accounts.',\n  },\n  {\n    name: 'ContraInvestorID',\n    id: '452038',\n    value: '39',\n    sort: 39,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Contra Investor ID',\n  },\n  {\n    name: 'TransferToFirm',\n    id: '452039',\n    value: '40',\n    sort: 40,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Transfer to Firm',\n  },\n  {\n    name: 'ContraPositionAccount',\n    id: '452040',\n    value: '41',\n    sort: 41,\n    added: 'FIX.4.4',\n    addedEP: '5',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Contra Position Account',\n  },\n  {\n    name: 'ContraExchange',\n    id: '452041',\n    value: '42',\n    sort: 42,\n    added: 'FIX.4.4',\n    addedEP: '5',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Contra Exchange',\n  },\n  {\n    name: 'InternalCarryAccount',\n    id: '452042',\n    value: '43',\n    sort: 43,\n    added: 'FIX.4.4',\n    addedEP: '5',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Internal Carry Account',\n  },\n  {\n    name: 'OrderEntryOperatorID',\n    id: '452043',\n    value: '44',\n    sort: 44,\n    added: 'FIX.4.4',\n    addedEP: '5',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Order Entry Operator ID',\n  },\n  {\n    name: 'SecondaryAccountNumber',\n    id: '452044',\n    value: '45',\n    sort: 45,\n    added: 'FIX.4.4',\n    addedEP: '5',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Secondary Account Number',\n  },\n  {\n    name: 'ForeignFirm',\n    id: '452045',\n    value: '46',\n    sort: 46,\n    added: 'FIX.4.4',\n    addedEP: '8',\n    updated: 'FIX.5.0SP1',\n    updatedEP: '95',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Foreign Firm',\n  },\n  {\n    name: 'ThirdPartyAllocationFirm',\n    id: '452046',\n    value: '47',\n    sort: 47,\n    added: 'FIX.4.4',\n    addedEP: '8',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Third Party Allocation Firm',\n  },\n  {\n    name: 'ClaimingAccount',\n    id: '452047',\n    value: '48',\n    sort: 48,\n    added: 'FIX.4.4',\n    addedEP: '8',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Claiming Account',\n  },\n  {\n    name: 'AssetManager',\n    id: '452048',\n    value: '49',\n    sort: 49,\n    added: 'FIX.4.4',\n    addedEP: '8',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Asset Manager',\n  },\n  {\n    name: 'PledgorAccount',\n    id: '452049',\n    value: '50',\n    sort: 50,\n    added: 'FIX.4.4',\n    addedEP: '8',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Pledgor Account',\n  },\n  {\n    name: 'PledgeeAccount',\n    id: '452050',\n    value: '51',\n    sort: 51,\n    added: 'FIX.4.4',\n    addedEP: '8',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Pledgee Account',\n  },\n  {\n    name: 'LargeTraderReportableAccount',\n    id: '452051',\n    value: '52',\n    sort: 52,\n    added: 'FIX.4.4',\n    addedEP: '8',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Large Trader Reportable Account',\n  },\n  {\n    name: 'TraderMnemonic',\n    id: '452052',\n    value: '53',\n    sort: 53,\n    added: 'FIX.4.4',\n    addedEP: '8',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Trader mnemonic',\n  },\n  {\n    name: 'SenderLocation',\n    id: '452053',\n    value: '54',\n    sort: 54,\n    added: 'FIX.4.4',\n    addedEP: '8',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Sender Location',\n  },\n  {\n    name: 'SessionID',\n    id: '452054',\n    value: '55',\n    sort: 55,\n    added: 'FIX.4.4',\n    addedEP: '8',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Session ID',\n  },\n  {\n    name: 'AcceptableCounterparty',\n    id: '452055',\n    value: '56',\n    sort: 56,\n    added: 'FIX.4.4',\n    addedEP: '22',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Acceptable Counterparty',\n  },\n  {\n    name: 'UnacceptableCounterparty',\n    id: '452056',\n    value: '57',\n    sort: 57,\n    added: 'FIX.4.4',\n    addedEP: '22',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Unacceptable Counterparty',\n  },\n  {\n    name: 'EnteringUnit',\n    id: '452057',\n    value: '58',\n    sort: 58,\n    added: 'FIX.4.4',\n    addedEP: '22',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Entering Unit',\n  },\n  {\n    name: 'ExecutingUnit',\n    id: '452058',\n    value: '59',\n    sort: 59,\n    added: 'FIX.4.4',\n    addedEP: '22',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Executing Unit',\n  },\n  {\n    name: 'IntroducingBroker',\n    id: '452059',\n    value: '60',\n    sort: 60,\n    added: 'FIX.4.4',\n    addedEP: '4',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Introducing Broker',\n  },\n  {\n    name: 'QuoteOriginator',\n    id: '452060',\n    value: '61',\n    sort: 61,\n    added: 'FIX.4.4',\n    addedEP: '26',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Quote originator',\n  },\n  {\n    name: 'ReportOriginator',\n    id: '452061',\n    value: '62',\n    sort: 62,\n    added: 'FIX.4.4',\n    addedEP: '26',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Report originator',\n  },\n  {\n    name: 'SystematicInternaliser',\n    id: '452062',\n    value: '63',\n    sort: 63,\n    added: 'FIX.4.4',\n    addedEP: '26',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Systematic internaliser (SI)',\n  },\n  {\n    name: 'MultilateralTradingFacility',\n    id: '452063',\n    value: '64',\n    sort: 64,\n    added: 'FIX.4.4',\n    addedEP: '26',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '139',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description:\n      'Multilateral Trading Facility (MTF)\\n\\nIdentify using PartyIDSource(tag 447) = G (Market Identifier Code) if the MIC exists.',\n  },\n  {\n    name: 'RegulatedMarket',\n    id: '452064',\n    value: '65',\n    sort: 65,\n    added: 'FIX.4.4',\n    addedEP: '26',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '139',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description:\n      'Regulated Market (RM)\\n\\nIdentify using PartyIDSource(tag 447) = G (Market Identifier Code) if the MIC exists.',\n  },\n  {\n    name: 'MarketMaker',\n    id: '452065',\n    value: '66',\n    sort: 66,\n    added: 'FIX.4.4',\n    addedEP: '26',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Market Maker',\n  },\n  {\n    name: 'InvestmentFirm',\n    id: '452066',\n    value: '67',\n    sort: 67,\n    added: 'FIX.4.4',\n    addedEP: '26',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Investment Firm',\n  },\n  {\n    name: 'HostCompetentAuthority',\n    id: '452067',\n    value: '68',\n    sort: 68,\n    added: 'FIX.4.4',\n    addedEP: '26',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Host Competent Authority (Host CA)',\n  },\n  {\n    name: 'HomeCompetentAuthority',\n    id: '452068',\n    value: '69',\n    sort: 69,\n    added: 'FIX.4.4',\n    addedEP: '26',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Home Competent Authority (Home CA)',\n  },\n  {\n    name: 'CompetentAuthorityLiquidity',\n    id: '452069',\n    value: '70',\n    sort: 70,\n    added: 'FIX.4.4',\n    addedEP: '26',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description:\n      'Competent Authority of the most relevant market in terms of liquidity (CAL)',\n  },\n  {\n    name: 'CompetentAuthorityTransactionVenue',\n    id: '452070',\n    value: '71',\n    sort: 71,\n    added: 'FIX.4.4',\n    addedEP: '26',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Competent Authority of the Transaction (Execution) Venue (CATV)',\n  },\n  {\n    name: 'ReportingIntermediary',\n    id: '452071',\n    value: '72',\n    sort: 72,\n    added: 'FIX.4.4',\n    addedEP: '26',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '229',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description:\n      'Reporting intermediary\\n\\nThe medium or vendor used to report to a regulator, non-regulatory agency or data repository.',\n  },\n  {\n    name: 'ExecutionVenue',\n    id: '452072',\n    value: '73',\n    sort: 73,\n    added: 'FIX.4.4',\n    addedEP: '26',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '139',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description:\n      'Execution Venue\\n\\nIdentify using PartyIDSource(tag 447) = G (Market Identifier Code) if the MIC exists.',\n  },\n  {\n    name: 'MarketDataEntryOriginator',\n    id: '452073',\n    value: '74',\n    sort: 74,\n    added: 'FIX.4.4',\n    addedEP: '26',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Market data entry originator',\n  },\n  {\n    name: 'LocationID',\n    id: '452074',\n    value: '75',\n    sort: 75,\n    added: 'FIX.4.4',\n    addedEP: '26',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Location ID',\n  },\n  {\n    name: 'DeskID',\n    id: '452075',\n    value: '76',\n    sort: 76,\n    added: 'FIX.4.4',\n    addedEP: '26',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Desk ID',\n  },\n  {\n    name: 'MarketDataMarket',\n    id: '452076',\n    value: '77',\n    sort: 77,\n    added: 'FIX.4.4',\n    addedEP: '26',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Market data market',\n  },\n  {\n    name: 'AllocationEntity',\n    id: '452077',\n    value: '78',\n    sort: 78,\n    added: 'FIX.4.4',\n    addedEP: '35',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Allocation Entity',\n  },\n  {\n    name: 'PrimeBroker',\n    id: '452078',\n    value: '79',\n    sort: 79,\n    added: 'FIX.5.0',\n    addedEP: '68',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Prime Broker providing General Trade Services',\n  },\n  {\n    name: 'StepOutFirm',\n    id: '452079',\n    value: '80',\n    sort: 80,\n    added: 'FIX.5.0',\n    addedEP: '68',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Step-Out Firm (Prime Broker)',\n  },\n  {\n    name: 'BrokerClearingID',\n    id: '452080',\n    value: '81',\n    sort: 81,\n    added: 'FIX.5.0',\n    addedEP: '68',\n    updated: 'FIX.Latest',\n    updatedEP: '271',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Broker clearing identifier',\n  },\n  {\n    name: 'CentralRegistrationDepository',\n    id: '452081',\n    value: '82',\n    sort: 82,\n    added: 'FIX.5.0SP1',\n    addedEP: '79',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Central Registration Depository (CRD)',\n  },\n  {\n    name: 'ClearingAccount',\n    id: '452082',\n    value: '83',\n    sort: 83,\n    added: 'FIX.5.0SP1',\n    addedEP: '96',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Clearing Account',\n  },\n  {\n    name: 'AcceptableSettlingCounterparty',\n    id: '452083',\n    value: '84',\n    sort: 84,\n    added: 'FIX.5.0SP1',\n    addedEP: '96',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Acceptable Settling Counterparty',\n  },\n  {\n    name: 'UnacceptableSettlingCounterparty',\n    id: '452084',\n    value: '85',\n    sort: 85,\n    added: 'FIX.5.0SP1',\n    addedEP: '96',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Unacceptable Settling Counterparty',\n  },\n  {\n    name: 'CLSMemberBank',\n    id: '452085',\n    value: '86',\n    sort: 86,\n    added: 'FIX.5.0SP2',\n    addedEP: '100',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'CLS Member Bank',\n  },\n  {\n    name: 'InConcertGroup',\n    id: '452086',\n    value: '87',\n    sort: 87,\n    added: 'FIX.5.0SP2',\n    addedEP: '103',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'In Concert Group',\n  },\n  {\n    name: 'InConcertControllingEntity',\n    id: '452087',\n    value: '88',\n    sort: 88,\n    added: 'FIX.5.0SP2',\n    addedEP: '103',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'In Concert Controlling Entity',\n  },\n  {\n    name: 'LargePositionsReportingAccount',\n    id: '452088',\n    value: '89',\n    sort: 89,\n    added: 'FIX.5.0SP2',\n    addedEP: '103',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Large Positions Reporting Account',\n  },\n  {\n    name: 'SettlementFirm',\n    id: '452089',\n    value: '90',\n    sort: 90,\n    added: 'FIX.5.0SP2',\n    addedEP: '105',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Settlement Firm',\n  },\n  {\n    name: 'SettlementAccount',\n    id: '452090',\n    value: '91',\n    sort: 91,\n    added: 'FIX.5.0SP2',\n    addedEP: '105',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '155',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description:\n      'Settlement account\\n\\nThe account to which individual payment obligations are aggregated for netting and funds movement. Typically represents the aggregation of many margin (performance bond) accounts.',\n  },\n  {\n    name: 'ReportingMarketCenter',\n    id: '452091',\n    value: '92',\n    sort: 92,\n    added: 'FIX.5.0SP2',\n    addedEP: '112',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Reporting Market Center',\n  },\n  {\n    name: 'RelatedReportingMarketCenter',\n    id: '452092',\n    value: '93',\n    sort: 93,\n    added: 'FIX.5.0SP2',\n    addedEP: '112',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Related Reporting Market Center',\n  },\n  {\n    name: 'AwayMarket',\n    id: '452093',\n    value: '94',\n    sort: 94,\n    added: 'FIX.5.0SP2',\n    addedEP: '112',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '139',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description:\n      'Away Market\\n\\nIdentify using PartyIDSource(tag 447) = G (Market Identifier Code) if the MIC exists.',\n  },\n  {\n    name: 'GiveupTradingFirm',\n    id: '452094',\n    value: '95',\n    sort: 95,\n    added: 'FIX.5.0SP2',\n    addedEP: '118',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Give-up (trading) firm',\n  },\n  {\n    name: 'TakeupTradingFirm',\n    id: '452095',\n    value: '96',\n    sort: 96,\n    added: 'FIX.5.0SP2',\n    addedEP: '118',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Take-up (trading) firm',\n  },\n  {\n    name: 'GiveupClearingFirm',\n    id: '452096',\n    value: '97',\n    sort: 97,\n    added: 'FIX.5.0SP2',\n    addedEP: '118',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Give-up clearing firm',\n  },\n  {\n    name: 'TakeupClearingFirm',\n    id: '452097',\n    value: '98',\n    sort: 98,\n    added: 'FIX.5.0SP2',\n    addedEP: '118',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Take-up clearing firm',\n  },\n  {\n    name: 'OriginatingMarket',\n    id: '452098',\n    value: '99',\n    sort: 99,\n    added: 'FIX.5.0SP2',\n    addedEP: '139',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description:\n      'Originating Market\\n\\nIdentifies the Market using PartyIDSource(tag 447) = G (Market Identifier Code) where an order originated in the event that the order is sent to an alternative market for execution. Serves as an inverse of an away market.',\n  },\n  {\n    name: 'MarginAccount',\n    id: '452099',\n    value: '100',\n    sort: 100,\n    added: 'FIX.5.0SP2',\n    addedEP: '155',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description:\n      'Margin account\\n\\nAlso referred to as \"performance bond account\". The margin account is the calculated margin requirements. Typically represents the aggregation of one or more position accounts.',\n  },\n  {\n    name: 'CollateralAssetAccount',\n    id: '452100',\n    value: '101',\n    sort: 101,\n    added: 'FIX.5.0SP2',\n    addedEP: '155',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description:\n      'Collateral asset account\\n\\nThe account at which individual collateral assets are maintained. Typically, although not always, one-for-one with the settlement account.',\n  },\n  {\n    name: 'DataRepository',\n    id: '452101',\n    value: '102',\n    sort: 102,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description:\n      'Data repository\\n\\nMultiple instances of this PartyRole may appear for reporting purposes.',\n  },\n  {\n    name: 'CalculationAgent',\n    id: '452102',\n    value: '103',\n    sort: 103,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Calculation agent',\n  },\n  {\n    name: 'ExerciseNoticeSender',\n    id: '452103',\n    value: '104',\n    sort: 104,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Sender of exercise notice',\n  },\n  {\n    name: 'ExerciseNoticeReceiver',\n    id: '452104',\n    value: '105',\n    sort: 105,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Receiver of exercise notice',\n  },\n  {\n    name: 'RateReferenceBank',\n    id: '452105',\n    value: '106',\n    sort: 106,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description:\n      'Rate reference bank\\n\\nThe bank providing the reference rate. Multiple instance of this PartyRole may appear.',\n  },\n  {\n    name: 'Correspondent',\n    id: '452106',\n    value: '107',\n    sort: 107,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Correspondent',\n  },\n  {\n    name: 'BeneficiaryBank',\n    id: '452107',\n    value: '109',\n    sort: 109,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description:\n      \"Beneficiary's bank or depository institution\\n\\nThe institution in which the beneficiary, a person or an entity, has their account with. The institution may be a bank or non-bank institution.\",\n  },\n  {\n    name: 'Borrower',\n    id: '452108',\n    value: '110',\n    sort: 110,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Borrower',\n  },\n  {\n    name: 'PrimaryObligator',\n    id: '452109',\n    value: '111',\n    sort: 111,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Primary obligator',\n  },\n  {\n    name: 'Guarantor',\n    id: '452110',\n    value: '112',\n    sort: 112,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Guarantor',\n  },\n  {\n    name: 'ExcludedReferenceEntity',\n    id: '452111',\n    value: '113',\n    sort: 113,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Excluded reference entity',\n  },\n  {\n    name: 'DeterminingParty',\n    id: '452112',\n    value: '114',\n    sort: 114,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Determining party',\n  },\n  {\n    name: 'HedgingParty',\n    id: '452113',\n    value: '115',\n    sort: 115,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Hedging party',\n  },\n  {\n    name: 'ReportingEntity',\n    id: '452114',\n    value: '116',\n    sort: 116,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Reporting entity\\n\\nThe entity that is reporting the information.',\n  },\n  {\n    name: 'SalesPerson',\n    id: '452115',\n    value: '117',\n    sort: 117,\n    added: 'FIX.5.0SP2',\n    addedEP: '173',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description:\n      'Sales person\\n\\nThe person who is involved in the sales activities for their firm.',\n  },\n  {\n    name: 'Operator',\n    id: '452116',\n    value: '118',\n    sort: 118,\n    added: 'FIX.5.0SP2',\n    addedEP: '173',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description:\n      'Operator\\n\\nThe person who has the capabilities and authorization to take certain actions; for example, setting entitlements, etc.',\n  },\n  {\n    name: 'CSD',\n    id: '452117',\n    value: '119',\n    sort: 119,\n    added: 'FIX.5.0SP2',\n    addedEP: '187',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Central Securities Depository (CSD)',\n  },\n  {\n    name: 'ICSD',\n    id: '452118',\n    value: '120',\n    sort: 120,\n    added: 'FIX.5.0SP2',\n    addedEP: '187',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'International Central Securities Depository (ICSD)',\n  },\n  {\n    name: 'TradingSubAccount',\n    id: '452119',\n    value: '121',\n    sort: 121,\n    added: 'FIX.5.0SP2',\n    addedEP: '217',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description:\n      'Trading sub-account\\n\\nExample of sub-accounts include a clearing account that has multiple trading sub-accounts, a trading account that has multiple trading sub-accounts belonging to different trading firms.',\n  },\n  {\n    name: 'InvestmentDecisionMaker',\n    id: '452120',\n    value: '122',\n    sort: 122,\n    added: 'FIX.5.0SP2',\n    addedEP: '222',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description:\n      'Investment decision maker\\n\\nIn the context of ESMA RTS reporting, this is used to specify party responsible for the investment decision. See RTS 24, Annex, Table 2, Field 4.',\n  },\n  {\n    name: 'PublishingIntermediary',\n    id: '452121',\n    value: '123',\n    sort: 123,\n    added: 'FIX.5.0SP2',\n    addedEP: '229',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description:\n      'Publishing intermediary\\n\\nThe medium or vendor used to publish to the market.',\n  },\n  {\n    name: 'CSDParticipant',\n    id: '452122',\n    value: '124',\n    sort: 124,\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description:\n      'Central Securities Depository (CSD) Participant\\n\\nIn the context of EU SFTR reporting the identifier of the CSD participant or indirect participant of the reporting counterparty. Where both the CSD participant and indirect participant are involved in the transaction this should identify the indirect participant.',\n  },\n  {\n    name: 'Issuer',\n    id: '452123',\n    value: '125',\n    sort: 125,\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description: 'Issuer\\n\\nThe issuer of the security.',\n  },\n  {\n    name: 'ContraCustomerAccount',\n    id: '452124',\n    value: '126',\n    sort: 126,\n    added: 'FIX.5.0SP2',\n    addedEP: '256',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description:\n      'Contra Customer Account\\n\\nSame as PartyRole(452) = 24 (Customer Account) but for the counterparty. Can be used whenever the parties component is not nested in a repeating group representing both sides.',\n  },\n  {\n    name: 'ContraInvestmentDecisionMaker',\n    id: '452125',\n    value: '127',\n    sort: 127,\n    added: 'FIX.5.0SP2',\n    addedEP: '256',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description:\n      'Contra Investment Decision Maker\\n\\nSame as PartyRole(452) = 122 (Investment Decision Maker) but for the counterparty. Can be used whenever the parties component is not nested in a repeating group representing both sides.',\n  },\n  {\n    name: 'AuthorizingPerson',\n    id: '452126',\n    value: '128',\n    sort: 128,\n    added: 'FIX.Latest',\n    addedEP: '292',\n    tag: 452,\n    type: 'int',\n    codeSet: 'PartyRoleCodeSet',\n    description:\n      'Authorizing person\\n\\nIn the context of MiFIR, this value is used to identify the person authorizing algorithms within a trading firm.',\n  },\n  {\n    name: 'AGENCY',\n    id: '460001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.3',\n    tag: 460,\n    type: 'int',\n    codeSet: 'ProductCodeSet',\n    description: 'AGENCY',\n  },\n  {\n    name: 'COMMODITY',\n    id: '460002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.3',\n    tag: 460,\n    type: 'int',\n    codeSet: 'ProductCodeSet',\n    description: 'COMMODITY',\n  },\n  {\n    name: 'CORPORATE',\n    id: '460003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.3',\n    tag: 460,\n    type: 'int',\n    codeSet: 'ProductCodeSet',\n    description: 'CORPORATE',\n  },\n  {\n    name: 'CURRENCY',\n    id: '460004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.4.3',\n    tag: 460,\n    type: 'int',\n    codeSet: 'ProductCodeSet',\n    description: 'CURRENCY',\n  },\n  {\n    name: 'EQUITY',\n    id: '460005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.4.3',\n    tag: 460,\n    type: 'int',\n    codeSet: 'ProductCodeSet',\n    description: 'EQUITY',\n  },\n  {\n    name: 'GOVERNMENT',\n    id: '460006',\n    value: '6',\n    sort: 6,\n    added: 'FIX.4.3',\n    tag: 460,\n    type: 'int',\n    codeSet: 'ProductCodeSet',\n    description: 'GOVERNMENT',\n  },\n  {\n    name: 'INDEX',\n    id: '460007',\n    value: '7',\n    sort: 7,\n    added: 'FIX.4.3',\n    tag: 460,\n    type: 'int',\n    codeSet: 'ProductCodeSet',\n    description: 'INDEX',\n  },\n  {\n    name: 'LOAN',\n    id: '460008',\n    value: '8',\n    sort: 8,\n    added: 'FIX.4.3',\n    tag: 460,\n    type: 'int',\n    codeSet: 'ProductCodeSet',\n    description: 'LOAN',\n  },\n  {\n    name: 'MONEYMARKET',\n    id: '460009',\n    value: '9',\n    sort: 9,\n    added: 'FIX.4.3',\n    tag: 460,\n    type: 'int',\n    codeSet: 'ProductCodeSet',\n    description: 'MONEYMARKET',\n  },\n  {\n    name: 'MORTGAGE',\n    id: '460010',\n    value: '10',\n    sort: 10,\n    added: 'FIX.4.3',\n    tag: 460,\n    type: 'int',\n    codeSet: 'ProductCodeSet',\n    description: 'MORTGAGE',\n  },\n  {\n    name: 'MUNICIPAL',\n    id: '460011',\n    value: '11',\n    sort: 11,\n    added: 'FIX.4.3',\n    tag: 460,\n    type: 'int',\n    codeSet: 'ProductCodeSet',\n    description: 'MUNICIPAL',\n  },\n  {\n    name: 'OTHER',\n    id: '460012',\n    value: '12',\n    sort: 12,\n    added: 'FIX.4.3',\n    tag: 460,\n    type: 'int',\n    codeSet: 'ProductCodeSet',\n    description: 'OTHER',\n  },\n  {\n    name: 'FINANCING',\n    id: '460013',\n    value: '13',\n    sort: 13,\n    added: 'FIX.4.4',\n    tag: 460,\n    type: 'int',\n    codeSet: 'ProductCodeSet',\n    description: 'FINANCING',\n  },\n  {\n    name: 'False',\n    id: '464001',\n    value: 'N',\n    sort: 1,\n    added: 'FIX.4.3',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '204',\n    tag: 464,\n    type: 'Boolean',\n    codeSet: 'TestMessageIndicatorCodeSet',\n    description: 'False (production)',\n  },\n  {\n    name: 'True',\n    id: '464002',\n    value: 'Y',\n    sort: 2,\n    added: 'FIX.4.3',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '204',\n    tag: 464,\n    type: 'Boolean',\n    codeSet: 'TestMessageIndicatorCodeSet',\n    description: 'True (test)',\n  },\n  {\n    name: 'RoundToNearest',\n    id: '468001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.3',\n    tag: 468,\n    type: 'char',\n    codeSet: 'RoundingDirectionCodeSet',\n    description: 'Round to nearest',\n  },\n  {\n    name: 'RoundDown',\n    id: '468002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.3',\n    tag: 468,\n    type: 'char',\n    codeSet: 'RoundingDirectionCodeSet',\n    description: 'Round down',\n  },\n  {\n    name: 'RoundUp',\n    id: '468003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.4.3',\n    tag: 468,\n    type: 'char',\n    codeSet: 'RoundingDirectionCodeSet',\n    description: 'Round up',\n  },\n  {\n    name: 'CREST',\n    id: '477001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 477,\n    type: 'int',\n    codeSet: 'DistribPaymentMethodCodeSet',\n    description: 'CREST',\n  },\n  {\n    name: 'NSCC',\n    id: '477002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 477,\n    type: 'int',\n    codeSet: 'DistribPaymentMethodCodeSet',\n    description: 'NSCC',\n  },\n  {\n    name: 'Euroclear',\n    id: '477003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.4',\n    tag: 477,\n    type: 'int',\n    codeSet: 'DistribPaymentMethodCodeSet',\n    description: 'Euroclear',\n  },\n  {\n    name: 'Clearstream',\n    id: '477004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.4.4',\n    tag: 477,\n    type: 'int',\n    codeSet: 'DistribPaymentMethodCodeSet',\n    description: 'Clearstream',\n  },\n  {\n    name: 'Cheque',\n    id: '477005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.4.4',\n    tag: 477,\n    type: 'int',\n    codeSet: 'DistribPaymentMethodCodeSet',\n    description: 'Cheque',\n  },\n  {\n    name: 'TelegraphicTransfer',\n    id: '477006',\n    value: '6',\n    sort: 6,\n    added: 'FIX.4.4',\n    tag: 477,\n    type: 'int',\n    codeSet: 'DistribPaymentMethodCodeSet',\n    description: 'Telegraphic Transfer',\n  },\n  {\n    name: 'FedWire',\n    id: '477007',\n    value: '7',\n    sort: 7,\n    added: 'FIX.4.4',\n    tag: 477,\n    type: 'int',\n    codeSet: 'DistribPaymentMethodCodeSet',\n    description: 'Fed Wire',\n  },\n  {\n    name: 'DirectCredit',\n    id: '477008',\n    value: '8',\n    sort: 8,\n    added: 'FIX.4.4',\n    tag: 477,\n    type: 'int',\n    codeSet: 'DistribPaymentMethodCodeSet',\n    description: 'Direct Credit (BECS, BACS)',\n  },\n  {\n    name: 'ACHCredit',\n    id: '477009',\n    value: '9',\n    sort: 9,\n    added: 'FIX.4.4',\n    tag: 477,\n    type: 'int',\n    codeSet: 'DistribPaymentMethodCodeSet',\n    description: 'ACH Credit',\n  },\n  {\n    name: 'BPAY',\n    id: '477010',\n    value: '10',\n    sort: 10,\n    added: 'FIX.4.4',\n    tag: 477,\n    type: 'int',\n    codeSet: 'DistribPaymentMethodCodeSet',\n    description: 'BPAY',\n  },\n  {\n    name: 'HighValueClearingSystemHVACS',\n    id: '477011',\n    value: '11',\n    sort: 11,\n    added: 'FIX.4.4',\n    tag: 477,\n    type: 'int',\n    codeSet: 'DistribPaymentMethodCodeSet',\n    description: 'High Value Clearing System HVACS',\n  },\n  {\n    name: 'ReinvestInFund',\n    id: '477012',\n    value: '12',\n    sort: 12,\n    added: 'FIX.4.4',\n    tag: 477,\n    type: 'int',\n    codeSet: 'DistribPaymentMethodCodeSet',\n    description: 'Reinvest In Fund',\n  },\n  {\n    name: 'Other',\n    id: '477013',\n    value: '999',\n    sort: 999,\n    added: 'FIX.Latest',\n    addedEP: '271',\n    tag: 477,\n    type: 'int',\n    codeSet: 'DistribPaymentMethodCodeSet',\n    description: 'Other',\n  },\n  {\n    name: 'Yes',\n    id: '480001',\n    value: 'Y',\n    sort: 1,\n    added: 'FIX.4.3',\n    tag: 480,\n    type: 'char',\n    codeSet: 'CancellationRightsCodeSet',\n    description: 'Yes',\n  },\n  {\n    name: 'NoExecutionOnly',\n    id: '480002',\n    value: 'N',\n    sort: 2,\n    added: 'FIX.4.3',\n    tag: 480,\n    type: 'char',\n    codeSet: 'CancellationRightsCodeSet',\n    description: 'No - Execution Only',\n  },\n  {\n    name: 'NoWaiverAgreement',\n    id: '480003',\n    value: 'M',\n    sort: 3,\n    added: 'FIX.4.3',\n    tag: 480,\n    type: 'char',\n    codeSet: 'CancellationRightsCodeSet',\n    description: 'No - Waiver agreement',\n  },\n  {\n    name: 'NoInstitutional',\n    id: '480004',\n    value: 'O',\n    sort: 4,\n    added: 'FIX.4.3',\n    tag: 480,\n    type: 'char',\n    codeSet: 'CancellationRightsCodeSet',\n    description: 'No - Institutional',\n  },\n  {\n    name: 'Passed',\n    id: '481001',\n    value: 'Y',\n    sort: 1,\n    added: 'FIX.4.3',\n    tag: 481,\n    type: 'char',\n    codeSet: 'MoneyLaunderingStatusCodeSet',\n    description: 'Passed',\n  },\n  {\n    name: 'NotChecked',\n    id: '481002',\n    value: 'N',\n    sort: 2,\n    added: 'FIX.4.3',\n    tag: 481,\n    type: 'char',\n    codeSet: 'MoneyLaunderingStatusCodeSet',\n    description: 'Not Checked',\n  },\n  {\n    name: 'ExemptBelowLimit',\n    id: '481003',\n    value: '1',\n    sort: 3,\n    added: 'FIX.4.3',\n    tag: 481,\n    type: 'char',\n    codeSet: 'MoneyLaunderingStatusCodeSet',\n    description: 'Exempt - Below the Limit',\n  },\n  {\n    name: 'ExemptMoneyType',\n    id: '481004',\n    value: '2',\n    sort: 4,\n    added: 'FIX.4.3',\n    tag: 481,\n    type: 'char',\n    codeSet: 'MoneyLaunderingStatusCodeSet',\n    description: 'Exempt - Client Money Type exemption',\n  },\n  {\n    name: 'ExemptAuthorised',\n    id: '481005',\n    value: '3',\n    sort: 5,\n    added: 'FIX.4.3',\n    tag: 481,\n    type: 'char',\n    codeSet: 'MoneyLaunderingStatusCodeSet',\n    description: 'Exempt - Authorised Credit or financial institution',\n  },\n  {\n    name: 'BidPrice',\n    id: '484001',\n    value: 'B',\n    sort: 1,\n    added: 'FIX.4.3',\n    tag: 484,\n    type: 'char',\n    codeSet: 'ExecPriceTypeCodeSet',\n    description: 'Bid price',\n  },\n  {\n    name: 'CreationPrice',\n    id: '484002',\n    value: 'C',\n    sort: 2,\n    added: 'FIX.4.3',\n    tag: 484,\n    type: 'char',\n    codeSet: 'ExecPriceTypeCodeSet',\n    description: 'Creation price',\n  },\n  {\n    name: 'CreationPricePlusAdjustmentPercent',\n    id: '484003',\n    value: 'D',\n    sort: 3,\n    added: 'FIX.4.3',\n    tag: 484,\n    type: 'char',\n    codeSet: 'ExecPriceTypeCodeSet',\n    description: 'Creation price plus adjustment percent',\n  },\n  {\n    name: 'CreationPricePlusAdjustmentAmount',\n    id: '484004',\n    value: 'E',\n    sort: 4,\n    added: 'FIX.4.3',\n    tag: 484,\n    type: 'char',\n    codeSet: 'ExecPriceTypeCodeSet',\n    description: 'Creation price plus adjustment amount',\n  },\n  {\n    name: 'OfferPrice',\n    id: '484005',\n    value: 'O',\n    sort: 5,\n    added: 'FIX.4.3',\n    tag: 484,\n    type: 'char',\n    codeSet: 'ExecPriceTypeCodeSet',\n    description: 'Offer price',\n  },\n  {\n    name: 'OfferPriceMinusAdjustmentPercent',\n    id: '484006',\n    value: 'P',\n    sort: 6,\n    added: 'FIX.4.3',\n    tag: 484,\n    type: 'char',\n    codeSet: 'ExecPriceTypeCodeSet',\n    description: 'Offer price minus adjustment percent',\n  },\n  {\n    name: 'OfferPriceMinusAdjustmentAmount',\n    id: '484007',\n    value: 'Q',\n    sort: 7,\n    added: 'FIX.4.3',\n    tag: 484,\n    type: 'char',\n    codeSet: 'ExecPriceTypeCodeSet',\n    description: 'Offer price minus adjustment amount',\n  },\n  {\n    name: 'SinglePrice',\n    id: '484008',\n    value: 'S',\n    sort: 8,\n    added: 'FIX.4.3',\n    tag: 484,\n    type: 'char',\n    codeSet: 'ExecPriceTypeCodeSet',\n    description: 'Single price',\n  },\n  {\n    name: 'New',\n    id: '487001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.3',\n    updated: 'FIX.4.4',\n    tag: 487,\n    type: 'int',\n    codeSet: 'TradeReportTransTypeCodeSet',\n    description: 'New',\n  },\n  {\n    name: 'Cancel',\n    id: '487002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.3',\n    updated: 'FIX.4.4',\n    tag: 487,\n    type: 'int',\n    codeSet: 'TradeReportTransTypeCodeSet',\n    description: 'Cancel',\n  },\n  {\n    name: 'Replace',\n    id: '487003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.4.3',\n    updated: 'FIX.4.4',\n    tag: 487,\n    type: 'int',\n    codeSet: 'TradeReportTransTypeCodeSet',\n    description: 'Replace',\n  },\n  {\n    name: 'Release',\n    id: '487004',\n    value: '3',\n    sort: 4,\n    added: 'FIX.4.4',\n    tag: 487,\n    type: 'int',\n    codeSet: 'TradeReportTransTypeCodeSet',\n    description: 'Release',\n  },\n  {\n    name: 'Reverse',\n    id: '487005',\n    value: '4',\n    sort: 5,\n    added: 'FIX.4.4',\n    tag: 487,\n    type: 'int',\n    codeSet: 'TradeReportTransTypeCodeSet',\n    description: 'Reverse',\n  },\n  {\n    name: 'CancelDueToBackOutOfTrade',\n    id: '487006',\n    value: '5',\n    sort: 6,\n    added: 'FIX.4.4',\n    addedEP: '4',\n    tag: 487,\n    type: 'int',\n    codeSet: 'TradeReportTransTypeCodeSet',\n    description: 'Cancel Due To Back Out of Trade',\n  },\n  {\n    name: 'CREST',\n    id: '492001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.3',\n    tag: 492,\n    type: 'int',\n    codeSet: 'PaymentMethodCodeSet',\n    description: 'CREST',\n  },\n  {\n    name: 'NSCC',\n    id: '492002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.3',\n    tag: 492,\n    type: 'int',\n    codeSet: 'PaymentMethodCodeSet',\n    description: 'NSCC',\n  },\n  {\n    name: 'Euroclear',\n    id: '492003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.3',\n    tag: 492,\n    type: 'int',\n    codeSet: 'PaymentMethodCodeSet',\n    description: 'Euroclear',\n  },\n  {\n    name: 'Clearstream',\n    id: '492004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.4.3',\n    tag: 492,\n    type: 'int',\n    codeSet: 'PaymentMethodCodeSet',\n    description: 'Clearstream',\n  },\n  {\n    name: 'Cheque',\n    id: '492005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.4.3',\n    tag: 492,\n    type: 'int',\n    codeSet: 'PaymentMethodCodeSet',\n    description: 'Cheque',\n  },\n  {\n    name: 'TelegraphicTransfer',\n    id: '492006',\n    value: '6',\n    sort: 6,\n    added: 'FIX.4.3',\n    tag: 492,\n    type: 'int',\n    codeSet: 'PaymentMethodCodeSet',\n    description: 'Telegraphic Transfer',\n  },\n  {\n    name: 'FedWire',\n    id: '492007',\n    value: '7',\n    sort: 7,\n    added: 'FIX.4.3',\n    tag: 492,\n    type: 'int',\n    codeSet: 'PaymentMethodCodeSet',\n    description: 'Fed Wire',\n  },\n  {\n    name: 'DebitCard',\n    id: '492008',\n    value: '8',\n    sort: 8,\n    added: 'FIX.4.3',\n    tag: 492,\n    type: 'int',\n    codeSet: 'PaymentMethodCodeSet',\n    description: 'Debit Card',\n  },\n  {\n    name: 'DirectDebit',\n    id: '492009',\n    value: '9',\n    sort: 9,\n    added: 'FIX.4.3',\n    tag: 492,\n    type: 'int',\n    codeSet: 'PaymentMethodCodeSet',\n    description: 'Direct Debit (BECS)',\n  },\n  {\n    name: 'DirectCredit',\n    id: '492010',\n    value: '10',\n    sort: 10,\n    added: 'FIX.4.3',\n    tag: 492,\n    type: 'int',\n    codeSet: 'PaymentMethodCodeSet',\n    description: 'Direct Credit (BECS)',\n  },\n  {\n    name: 'CreditCard',\n    id: '492011',\n    value: '11',\n    sort: 11,\n    added: 'FIX.4.3',\n    tag: 492,\n    type: 'int',\n    codeSet: 'PaymentMethodCodeSet',\n    description: 'Credit Card',\n  },\n  {\n    name: 'ACHDebit',\n    id: '492012',\n    value: '12',\n    sort: 12,\n    added: 'FIX.4.3',\n    tag: 492,\n    type: 'int',\n    codeSet: 'PaymentMethodCodeSet',\n    description: 'ACH Debit',\n  },\n  {\n    name: 'ACHCredit',\n    id: '492013',\n    value: '13',\n    sort: 13,\n    added: 'FIX.4.3',\n    tag: 492,\n    type: 'int',\n    codeSet: 'PaymentMethodCodeSet',\n    description: 'ACH Credit',\n  },\n  {\n    name: 'BPAY',\n    id: '492014',\n    value: '14',\n    sort: 14,\n    added: 'FIX.4.3',\n    tag: 492,\n    type: 'int',\n    codeSet: 'PaymentMethodCodeSet',\n    description: 'BPAY',\n  },\n  {\n    name: 'HighValueClearingSystem',\n    id: '492015',\n    value: '15',\n    sort: 15,\n    added: 'FIX.4.3',\n    tag: 492,\n    type: 'int',\n    codeSet: 'PaymentMethodCodeSet',\n    description: 'High Value Clearing System (HVACS)',\n  },\n  {\n    name: 'CHIPS',\n    id: '492016',\n    value: '16',\n    sort: 16,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 492,\n    type: 'int',\n    codeSet: 'PaymentMethodCodeSet',\n    description: 'CHIPS',\n  },\n  {\n    name: 'SWIFT',\n    id: '492017',\n    value: '17',\n    sort: 17,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 492,\n    type: 'int',\n    codeSet: 'PaymentMethodCodeSet',\n    description: 'S.W.I.F.T.',\n  },\n  {\n    name: 'CHAPS',\n    id: '492018',\n    value: '18',\n    sort: 18,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 492,\n    type: 'int',\n    codeSet: 'PaymentMethodCodeSet',\n    description: 'CHAPS',\n  },\n  {\n    name: 'SIC',\n    id: '492019',\n    value: '19',\n    sort: 19,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 492,\n    type: 'int',\n    codeSet: 'PaymentMethodCodeSet',\n    description: 'SIC',\n  },\n  {\n    name: 'EuroSIC',\n    id: '492020',\n    value: '20',\n    sort: 20,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '259',\n    tag: 492,\n    type: 'int',\n    codeSet: 'PaymentMethodCodeSet',\n    description: 'euroSIC\\n\\n',\n  },\n  {\n    name: 'Other',\n    id: '492021',\n    value: '999',\n    sort: 999,\n    added: 'FIX.Latest',\n    addedEP: '271',\n    tag: 492,\n    type: 'int',\n    codeSet: 'PaymentMethodCodeSet',\n    description: 'Other',\n  },\n  {\n    name: 'None',\n    id: '495001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.4.3',\n    tag: 495,\n    type: 'int',\n    codeSet: 'TaxAdvantageTypeCodeSet',\n    description: 'None/Not Applicable (default)',\n  },\n  {\n    name: 'MaxiISA',\n    id: '495002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.3',\n    tag: 495,\n    type: 'int',\n    codeSet: 'TaxAdvantageTypeCodeSet',\n    description: 'Maxi ISA (UK)',\n  },\n  {\n    name: 'TESSA',\n    id: '495003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.3',\n    tag: 495,\n    type: 'int',\n    codeSet: 'TaxAdvantageTypeCodeSet',\n    description: 'TESSA (UK)',\n  },\n  {\n    name: 'MiniCashISA',\n    id: '495004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.3',\n    tag: 495,\n    type: 'int',\n    codeSet: 'TaxAdvantageTypeCodeSet',\n    description: 'Mini Cash ISA (UK)',\n  },\n  {\n    name: 'MiniStocksAndSharesISA',\n    id: '495005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.4.3',\n    tag: 495,\n    type: 'int',\n    codeSet: 'TaxAdvantageTypeCodeSet',\n    description: 'Mini Stocks And Shares ISA (UK)',\n  },\n  {\n    name: 'MiniInsuranceISA',\n    id: '495006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.4.3',\n    tag: 495,\n    type: 'int',\n    codeSet: 'TaxAdvantageTypeCodeSet',\n    description: 'Mini Insurance ISA (UK)',\n  },\n  {\n    name: 'CurrentYearPayment',\n    id: '495007',\n    value: '6',\n    sort: 6,\n    added: 'FIX.4.3',\n    tag: 495,\n    type: 'int',\n    codeSet: 'TaxAdvantageTypeCodeSet',\n    description: 'Current Year Payment (US)',\n  },\n  {\n    name: 'PriorYearPayment',\n    id: '495008',\n    value: '7',\n    sort: 7,\n    added: 'FIX.4.3',\n    tag: 495,\n    type: 'int',\n    codeSet: 'TaxAdvantageTypeCodeSet',\n    description: 'Prior Year Payment (US)',\n  },\n  {\n    name: 'AssetTransfer',\n    id: '495009',\n    value: '8',\n    sort: 8,\n    added: 'FIX.4.3',\n    tag: 495,\n    type: 'int',\n    codeSet: 'TaxAdvantageTypeCodeSet',\n    description: 'Asset Transfer (US)',\n  },\n  {\n    name: 'EmployeePriorYear',\n    id: '495010',\n    value: '9',\n    sort: 9,\n    added: 'FIX.4.3',\n    tag: 495,\n    type: 'int',\n    codeSet: 'TaxAdvantageTypeCodeSet',\n    description: 'Employee - prior year (US)',\n  },\n  {\n    name: 'EmployeeCurrentYear',\n    id: '495011',\n    value: '10',\n    sort: 10,\n    added: 'FIX.4.3',\n    tag: 495,\n    type: 'int',\n    codeSet: 'TaxAdvantageTypeCodeSet',\n    description: 'Employee - current year (US)',\n  },\n  {\n    name: 'EmployerPriorYear',\n    id: '495012',\n    value: '11',\n    sort: 11,\n    added: 'FIX.4.3',\n    tag: 495,\n    type: 'int',\n    codeSet: 'TaxAdvantageTypeCodeSet',\n    description: 'Employer - prior year (US)',\n  },\n  {\n    name: 'EmployerCurrentYear',\n    id: '495013',\n    value: '12',\n    sort: 12,\n    added: 'FIX.4.3',\n    tag: 495,\n    type: 'int',\n    codeSet: 'TaxAdvantageTypeCodeSet',\n    description: 'Employer - current year (US)',\n  },\n  {\n    name: 'NonFundPrototypeIRA',\n    id: '495014',\n    value: '13',\n    sort: 13,\n    added: 'FIX.4.3',\n    tag: 495,\n    type: 'int',\n    codeSet: 'TaxAdvantageTypeCodeSet',\n    description: 'Non-fund prototype IRA (US)',\n  },\n  {\n    name: 'NonFundQualifiedPlan',\n    id: '495015',\n    value: '14',\n    sort: 14,\n    added: 'FIX.4.3',\n    tag: 495,\n    type: 'int',\n    codeSet: 'TaxAdvantageTypeCodeSet',\n    description: 'Non-fund qualified plan (US)',\n  },\n  {\n    name: 'DefinedContributionPlan',\n    id: '495016',\n    value: '15',\n    sort: 15,\n    added: 'FIX.4.3',\n    tag: 495,\n    type: 'int',\n    codeSet: 'TaxAdvantageTypeCodeSet',\n    description: 'Defined contribution plan (US)',\n  },\n  {\n    name: 'IRA',\n    id: '495017',\n    value: '16',\n    sort: 16,\n    added: 'FIX.4.3',\n    tag: 495,\n    type: 'int',\n    codeSet: 'TaxAdvantageTypeCodeSet',\n    description: 'Individual Retirement Account (US)',\n  },\n  {\n    name: 'IRARollover',\n    id: '495018',\n    value: '17',\n    sort: 17,\n    added: 'FIX.4.3',\n    tag: 495,\n    type: 'int',\n    codeSet: 'TaxAdvantageTypeCodeSet',\n    description: 'Individual Retirement Account - Rollover (US)',\n  },\n  {\n    name: 'KEOGH',\n    id: '495019',\n    value: '18',\n    sort: 18,\n    added: 'FIX.4.3',\n    tag: 495,\n    type: 'int',\n    codeSet: 'TaxAdvantageTypeCodeSet',\n    description: 'KEOGH (US)',\n  },\n  {\n    name: 'ProfitSharingPlan',\n    id: '495020',\n    value: '19',\n    sort: 19,\n    added: 'FIX.4.3',\n    tag: 495,\n    type: 'int',\n    codeSet: 'TaxAdvantageTypeCodeSet',\n    description: 'Profit Sharing Plan (US)',\n  },\n  {\n    name: 'US401K',\n    id: '495021',\n    value: '20',\n    sort: 20,\n    added: 'FIX.4.3',\n    tag: 495,\n    type: 'int',\n    codeSet: 'TaxAdvantageTypeCodeSet',\n    description: '401(k) (US)',\n  },\n  {\n    name: 'SelfDirectedIRA',\n    id: '495022',\n    value: '21',\n    sort: 21,\n    added: 'FIX.4.3',\n    tag: 495,\n    type: 'int',\n    codeSet: 'TaxAdvantageTypeCodeSet',\n    description: 'Self-directed IRA (US)',\n  },\n  {\n    name: 'US403b',\n    id: '495023',\n    value: '22',\n    sort: 22,\n    added: 'FIX.4.3',\n    tag: 495,\n    type: 'int',\n    codeSet: 'TaxAdvantageTypeCodeSet',\n    description: '403(b) (US)',\n  },\n  {\n    name: 'US457',\n    id: '495024',\n    value: '23',\n    sort: 23,\n    added: 'FIX.4.3',\n    tag: 495,\n    type: 'int',\n    codeSet: 'TaxAdvantageTypeCodeSet',\n    description: '457 (US)',\n  },\n  {\n    name: 'RothIRAPrototype',\n    id: '495025',\n    value: '24',\n    sort: 24,\n    added: 'FIX.4.3',\n    tag: 495,\n    type: 'int',\n    codeSet: 'TaxAdvantageTypeCodeSet',\n    description: 'Roth IRA (Fund Prototype) (US)',\n  },\n  {\n    name: 'RothIRANonPrototype',\n    id: '495026',\n    value: '25',\n    sort: 25,\n    added: 'FIX.4.3',\n    tag: 495,\n    type: 'int',\n    codeSet: 'TaxAdvantageTypeCodeSet',\n    description: 'Roth IRA (Non-prototype) (US)',\n  },\n  {\n    name: 'RothConversionIRAPrototype',\n    id: '495027',\n    value: '26',\n    sort: 26,\n    added: 'FIX.4.3',\n    tag: 495,\n    type: 'int',\n    codeSet: 'TaxAdvantageTypeCodeSet',\n    description: 'Roth Conversion IRA (Fund Prototype) (US)',\n  },\n  {\n    name: 'RothConversionIRANonPrototype',\n    id: '495028',\n    value: '27',\n    sort: 27,\n    added: 'FIX.4.3',\n    tag: 495,\n    type: 'int',\n    codeSet: 'TaxAdvantageTypeCodeSet',\n    description: 'Roth Conversion IRA (Non-prototype) (US)',\n  },\n  {\n    name: 'EducationIRAPrototype',\n    id: '495029',\n    value: '28',\n    sort: 28,\n    added: 'FIX.4.3',\n    tag: 495,\n    type: 'int',\n    codeSet: 'TaxAdvantageTypeCodeSet',\n    description: 'Education IRA (Fund Prototype) (US)',\n  },\n  {\n    name: 'EducationIRANonPrototype',\n    id: '495030',\n    value: '29',\n    sort: 29,\n    added: 'FIX.4.3',\n    tag: 495,\n    type: 'int',\n    codeSet: 'TaxAdvantageTypeCodeSet',\n    description: 'Education IRA (Non-prototype) (US)',\n  },\n  {\n    name: 'Other',\n    id: '495031',\n    value: '999',\n    sort: 99,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 495,\n    type: 'int',\n    codeSet: 'TaxAdvantageTypeCodeSet',\n    description: 'Other',\n  },\n  {\n    name: 'No',\n    id: '497001',\n    value: 'N',\n    sort: 1,\n    added: 'FIX.4.3',\n    tag: 497,\n    type: 'char',\n    codeSet: 'FundRenewWaivCodeSet',\n    description: 'No',\n  },\n  {\n    name: 'Yes',\n    id: '497002',\n    value: 'Y',\n    sort: 2,\n    added: 'FIX.4.3',\n    tag: 497,\n    type: 'char',\n    codeSet: 'FundRenewWaivCodeSet',\n    description: 'Yes',\n  },\n  {\n    name: 'Accepted',\n    id: '506001',\n    value: 'A',\n    sort: 1,\n    added: 'FIX.4.3',\n    tag: 506,\n    type: 'char',\n    codeSet: 'RegistStatusCodeSet',\n    description: 'Accepted',\n  },\n  {\n    name: 'Rejected',\n    id: '506002',\n    value: 'R',\n    sort: 2,\n    added: 'FIX.4.3',\n    tag: 506,\n    type: 'char',\n    codeSet: 'RegistStatusCodeSet',\n    description: 'Rejected',\n  },\n  {\n    name: 'Held',\n    id: '506003',\n    value: 'H',\n    sort: 3,\n    added: 'FIX.4.3',\n    tag: 506,\n    type: 'char',\n    codeSet: 'RegistStatusCodeSet',\n    description: 'Held',\n  },\n  {\n    name: 'Reminder',\n    id: '506004',\n    value: 'N',\n    sort: 4,\n    added: 'FIX.4.3',\n    tag: 506,\n    type: 'char',\n    codeSet: 'RegistStatusCodeSet',\n    description: 'Reminder - i.e. Registration Instructions are still outstanding',\n  },\n  {\n    name: 'InvalidAccountType',\n    id: '507001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.3',\n    tag: 507,\n    type: 'int',\n    codeSet: 'RegistRejReasonCodeCodeSet',\n    description: 'Invalid/unacceptable Account Type',\n  },\n  {\n    name: 'InvalidTaxExemptType',\n    id: '507002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.3',\n    tag: 507,\n    type: 'int',\n    codeSet: 'RegistRejReasonCodeCodeSet',\n    description: 'Invalid/unacceptable Tax Exempt Type',\n  },\n  {\n    name: 'InvalidOwnershipType',\n    id: '507003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.3',\n    tag: 507,\n    type: 'int',\n    codeSet: 'RegistRejReasonCodeCodeSet',\n    description: 'Invalid/unacceptable Ownership Type',\n  },\n  {\n    name: 'NoRegDetails',\n    id: '507004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.4.3',\n    tag: 507,\n    type: 'int',\n    codeSet: 'RegistRejReasonCodeCodeSet',\n    description: 'Invalid/unacceptable No Reg Details',\n  },\n  {\n    name: 'InvalidRegSeqNo',\n    id: '507005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.4.3',\n    tag: 507,\n    type: 'int',\n    codeSet: 'RegistRejReasonCodeCodeSet',\n    description: 'Invalid/unacceptable Reg Seq No',\n  },\n  {\n    name: 'InvalidRegDetails',\n    id: '507006',\n    value: '6',\n    sort: 6,\n    added: 'FIX.4.3',\n    tag: 507,\n    type: 'int',\n    codeSet: 'RegistRejReasonCodeCodeSet',\n    description: 'Invalid/unacceptable Reg Details',\n  },\n  {\n    name: 'InvalidMailingDetails',\n    id: '507007',\n    value: '7',\n    sort: 7,\n    added: 'FIX.4.3',\n    tag: 507,\n    type: 'int',\n    codeSet: 'RegistRejReasonCodeCodeSet',\n    description: 'Invalid/unacceptable Mailing Details',\n  },\n  {\n    name: 'InvalidMailingInstructions',\n    id: '507008',\n    value: '8',\n    sort: 8,\n    added: 'FIX.4.3',\n    tag: 507,\n    type: 'int',\n    codeSet: 'RegistRejReasonCodeCodeSet',\n    description: 'Invalid/unacceptable Mailing Instructions',\n  },\n  {\n    name: 'InvalidInvestorID',\n    id: '507009',\n    value: '9',\n    sort: 9,\n    added: 'FIX.4.3',\n    tag: 507,\n    type: 'int',\n    codeSet: 'RegistRejReasonCodeCodeSet',\n    description: 'Invalid/unacceptable Investor ID',\n  },\n  {\n    name: 'InvalidInvestorIDSource',\n    id: '507010',\n    value: '10',\n    sort: 10,\n    added: 'FIX.4.3',\n    tag: 507,\n    type: 'int',\n    codeSet: 'RegistRejReasonCodeCodeSet',\n    description: 'Invalid/unaceeptable Investor ID Source',\n  },\n  {\n    name: 'InvalidDateOfBirth',\n    id: '507011',\n    value: '11',\n    sort: 11,\n    added: 'FIX.4.3',\n    tag: 507,\n    type: 'int',\n    codeSet: 'RegistRejReasonCodeCodeSet',\n    description: 'Invalid/unacceptable Date Of Birth',\n  },\n  {\n    name: 'InvalidCountry',\n    id: '507012',\n    value: '12',\n    sort: 12,\n    added: 'FIX.4.3',\n    tag: 507,\n    type: 'int',\n    codeSet: 'RegistRejReasonCodeCodeSet',\n    description: 'Invalid/unacceptable Investor Country Of Residence',\n  },\n  {\n    name: 'InvalidDistribInstns',\n    id: '507013',\n    value: '13',\n    sort: 13,\n    added: 'FIX.4.3',\n    tag: 507,\n    type: 'int',\n    codeSet: 'RegistRejReasonCodeCodeSet',\n    description: 'Invalid/unacceptable No Distrib Instns',\n  },\n  {\n    name: 'InvalidPercentage',\n    id: '507014',\n    value: '14',\n    sort: 14,\n    added: 'FIX.4.3',\n    tag: 507,\n    type: 'int',\n    codeSet: 'RegistRejReasonCodeCodeSet',\n    description: 'Invalid/unacceptable Distrib Percentage',\n  },\n  {\n    name: 'InvalidPaymentMethod',\n    id: '507015',\n    value: '15',\n    sort: 15,\n    added: 'FIX.4.3',\n    tag: 507,\n    type: 'int',\n    codeSet: 'RegistRejReasonCodeCodeSet',\n    description: 'Invalid/unacceptable Distrib Payment Method',\n  },\n  {\n    name: 'InvalidAccountName',\n    id: '507016',\n    value: '16',\n    sort: 16,\n    added: 'FIX.4.3',\n    tag: 507,\n    type: 'int',\n    codeSet: 'RegistRejReasonCodeCodeSet',\n    description: 'Invalid/unacceptable Cash Distrib Agent Acct Name',\n  },\n  {\n    name: 'InvalidAgentCode',\n    id: '507017',\n    value: '17',\n    sort: 17,\n    added: 'FIX.4.3',\n    tag: 507,\n    type: 'int',\n    codeSet: 'RegistRejReasonCodeCodeSet',\n    description: 'Invalid/unacceptable Cash Distrib Agent Code',\n  },\n  {\n    name: 'InvalidAccountNum',\n    id: '507018',\n    value: '18',\n    sort: 18,\n    added: 'FIX.4.3',\n    tag: 507,\n    type: 'int',\n    codeSet: 'RegistRejReasonCodeCodeSet',\n    description: 'Invalid/unacceptable Cash Distrib Agent Acct Num',\n  },\n  {\n    name: 'Other',\n    id: '507019',\n    value: '99',\n    sort: 99,\n    added: 'FIX.4.4',\n    tag: 507,\n    type: 'int',\n    codeSet: 'RegistRejReasonCodeCodeSet',\n    description: 'Other',\n  },\n  {\n    name: 'New',\n    id: '514001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.3',\n    tag: 514,\n    type: 'char',\n    codeSet: 'RegistTransTypeCodeSet',\n    description: 'New',\n  },\n  {\n    name: 'Cancel',\n    id: '514002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.3',\n    tag: 514,\n    type: 'char',\n    codeSet: 'RegistTransTypeCodeSet',\n    description: 'Cancel',\n  },\n  {\n    name: 'Replace',\n    id: '514003',\n    value: '1',\n    sort: 3,\n    added: 'FIX.4.3',\n    tag: 514,\n    type: 'char',\n    codeSet: 'RegistTransTypeCodeSet',\n    description: 'Replace',\n  },\n  {\n    name: 'JointInvestors',\n    id: '517001',\n    value: 'J',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 517,\n    type: 'char',\n    codeSet: 'OwnershipTypeCodeSet',\n    description: 'Joint Investors',\n  },\n  {\n    name: 'TenantsInCommon',\n    id: '517002',\n    value: 'T',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 517,\n    type: 'char',\n    codeSet: 'OwnershipTypeCodeSet',\n    description: 'Tenants in Common',\n  },\n  {\n    name: 'JointTrustees',\n    id: '517003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.4.4',\n    tag: 517,\n    type: 'char',\n    codeSet: 'OwnershipTypeCodeSet',\n    description: 'Joint Trustees',\n  },\n  {\n    name: 'CommissionAmount',\n    id: '519001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.3',\n    tag: 519,\n    type: 'int',\n    codeSet: 'ContAmtTypeCodeSet',\n    description: 'Commission amount (actual)',\n  },\n  {\n    name: 'CommissionPercent',\n    id: '519002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.3',\n    tag: 519,\n    type: 'int',\n    codeSet: 'ContAmtTypeCodeSet',\n    description: 'Commission percent (actual)',\n  },\n  {\n    name: 'InitialChargeAmount',\n    id: '519003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.3',\n    tag: 519,\n    type: 'int',\n    codeSet: 'ContAmtTypeCodeSet',\n    description: 'Initial Charge Amount',\n  },\n  {\n    name: 'InitialChargePercent',\n    id: '519004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.4.3',\n    tag: 519,\n    type: 'int',\n    codeSet: 'ContAmtTypeCodeSet',\n    description: 'Initial Charge Percent',\n  },\n  {\n    name: 'DiscountAmount',\n    id: '519005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.4.3',\n    tag: 519,\n    type: 'int',\n    codeSet: 'ContAmtTypeCodeSet',\n    description: 'Discount Amount',\n  },\n  {\n    name: 'DiscountPercent',\n    id: '519006',\n    value: '6',\n    sort: 6,\n    added: 'FIX.4.3',\n    tag: 519,\n    type: 'int',\n    codeSet: 'ContAmtTypeCodeSet',\n    description: 'Discount Percent',\n  },\n  {\n    name: 'DilutionLevyAmount',\n    id: '519007',\n    value: '7',\n    sort: 7,\n    added: 'FIX.4.3',\n    tag: 519,\n    type: 'int',\n    codeSet: 'ContAmtTypeCodeSet',\n    description: 'Dilution Levy Amount',\n  },\n  {\n    name: 'DilutionLevyPercent',\n    id: '519008',\n    value: '8',\n    sort: 8,\n    added: 'FIX.4.3',\n    tag: 519,\n    type: 'int',\n    codeSet: 'ContAmtTypeCodeSet',\n    description: 'Dilution Levy Percent',\n  },\n  {\n    name: 'ExitChargeAmount',\n    id: '519009',\n    value: '9',\n    sort: 9,\n    added: 'FIX.4.3',\n    tag: 519,\n    type: 'int',\n    codeSet: 'ContAmtTypeCodeSet',\n    description: 'Exit Charge Amount',\n  },\n  {\n    name: 'ExitChargePercent',\n    id: '519010',\n    value: '10',\n    sort: 10,\n    added: 'FIX.4.3',\n    tag: 519,\n    type: 'int',\n    codeSet: 'ContAmtTypeCodeSet',\n    description: 'Exit Charge Percent',\n  },\n  {\n    name: 'FundBasedRenewalCommissionPercent',\n    id: '519011',\n    value: '11',\n    sort: 11,\n    added: 'FIX.4.3',\n    tag: 519,\n    type: 'int',\n    codeSet: 'ContAmtTypeCodeSet',\n    description: 'Fund-Based Renewal Commission Percent (a.k.a. Trail commission)',\n  },\n  {\n    name: 'ProjectedFundValue',\n    id: '519012',\n    value: '12',\n    sort: 12,\n    added: 'FIX.4.3',\n    tag: 519,\n    type: 'int',\n    codeSet: 'ContAmtTypeCodeSet',\n    description:\n      'Projected Fund Value (i.e. for investments intended to realise or exceed a specific future value)',\n  },\n  {\n    name: 'FundBasedRenewalCommissionOnOrder',\n    id: '519013',\n    value: '13',\n    sort: 13,\n    added: 'FIX.4.3',\n    tag: 519,\n    type: 'int',\n    codeSet: 'ContAmtTypeCodeSet',\n    description: 'Fund-Based Renewal Commission Amount (based on Order value)',\n  },\n  {\n    name: 'FundBasedRenewalCommissionOnFund',\n    id: '519014',\n    value: '14',\n    sort: 14,\n    added: 'FIX.4.3',\n    tag: 519,\n    type: 'int',\n    codeSet: 'ContAmtTypeCodeSet',\n    description: 'Fund-Based Renewal Commission Amount (based on Projected Fund value)',\n  },\n  {\n    name: 'NetSettlementAmount',\n    id: '519015',\n    value: '15',\n    sort: 15,\n    added: 'FIX.4.3',\n    tag: 519,\n    type: 'int',\n    codeSet: 'ContAmtTypeCodeSet',\n    description: 'Net Settlement Amount',\n  },\n  {\n    name: 'IndividualInvestor',\n    id: '522001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.3',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '135',\n    tag: 522,\n    type: 'int',\n    codeSet: 'OwnerTypeCodeSet',\n    description: 'Individual investor',\n  },\n  {\n    name: 'PublicCompany',\n    id: '522002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.3',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '135',\n    tag: 522,\n    type: 'int',\n    codeSet: 'OwnerTypeCodeSet',\n    description: 'Public company',\n  },\n  {\n    name: 'PrivateCompany',\n    id: '522003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.3',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '135',\n    tag: 522,\n    type: 'int',\n    codeSet: 'OwnerTypeCodeSet',\n    description: 'Private company',\n  },\n  {\n    name: 'IndividualTrustee',\n    id: '522004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.4.3',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '135',\n    tag: 522,\n    type: 'int',\n    codeSet: 'OwnerTypeCodeSet',\n    description: 'Individual trustee',\n  },\n  {\n    name: 'CompanyTrustee',\n    id: '522005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.4.3',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '135',\n    tag: 522,\n    type: 'int',\n    codeSet: 'OwnerTypeCodeSet',\n    description: 'Company trustee',\n  },\n  {\n    name: 'PensionPlan',\n    id: '522006',\n    value: '6',\n    sort: 6,\n    added: 'FIX.4.3',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '135',\n    tag: 522,\n    type: 'int',\n    codeSet: 'OwnerTypeCodeSet',\n    description: 'Pension plan',\n  },\n  {\n    name: 'CustodianUnderGiftsToMinorsAct',\n    id: '522007',\n    value: '7',\n    sort: 7,\n    added: 'FIX.4.3',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '135',\n    tag: 522,\n    type: 'int',\n    codeSet: 'OwnerTypeCodeSet',\n    description: 'Custodian under Gifts to Minors Act',\n  },\n  {\n    name: 'Trusts',\n    id: '522008',\n    value: '8',\n    sort: 8,\n    added: 'FIX.4.3',\n    tag: 522,\n    type: 'int',\n    codeSet: 'OwnerTypeCodeSet',\n    description: 'Trusts',\n  },\n  {\n    name: 'Fiduciaries',\n    id: '522009',\n    value: '9',\n    sort: 9,\n    added: 'FIX.4.3',\n    tag: 522,\n    type: 'int',\n    codeSet: 'OwnerTypeCodeSet',\n    description: 'Fiduciaries',\n  },\n  {\n    name: 'NetworkingSubAccount',\n    id: '522010',\n    value: '10',\n    sort: 10,\n    added: 'FIX.4.3',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '135',\n    tag: 522,\n    type: 'int',\n    codeSet: 'OwnerTypeCodeSet',\n    description: 'Networking sub-account',\n  },\n  {\n    name: 'NonProfitOrganization',\n    id: '522011',\n    value: '11',\n    sort: 11,\n    added: 'FIX.4.3',\n    tag: 522,\n    type: 'int',\n    codeSet: 'OwnerTypeCodeSet',\n    description: 'Non-profit organization',\n  },\n  {\n    name: 'CorporateBody',\n    id: '522012',\n    value: '12',\n    sort: 12,\n    added: 'FIX.4.3',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '135',\n    tag: 522,\n    type: 'int',\n    codeSet: 'OwnerTypeCodeSet',\n    description: 'Corporate body',\n  },\n  {\n    name: 'Nominee',\n    id: '522013',\n    value: '13',\n    sort: 13,\n    added: 'FIX.4.3',\n    tag: 522,\n    type: 'int',\n    codeSet: 'OwnerTypeCodeSet',\n    description: 'Nominee',\n  },\n  {\n    name: 'InstitutionalCustomer',\n    id: '522014',\n    value: '14',\n    sort: 14,\n    added: 'FIX.5.0SP2',\n    addedEP: '135',\n    tag: 522,\n    type: 'int',\n    codeSet: 'OwnerTypeCodeSet',\n    description: 'Institutional customer',\n  },\n  {\n    name: 'Combined',\n    id: '522015',\n    value: '15',\n    sort: 15,\n    added: 'FIX.5.0SP2',\n    addedEP: '135',\n    tag: 522,\n    type: 'int',\n    codeSet: 'OwnerTypeCodeSet',\n    description:\n      'Combined\\n\\nRepresenting more than one type of beneficial owner account.',\n  },\n  {\n    name: 'MemberFirmEmployee',\n    id: '522016',\n    value: '16',\n    sort: 16,\n    added: 'FIX.5.0SP2',\n    addedEP: '135',\n    tag: 522,\n    type: 'int',\n    codeSet: 'OwnerTypeCodeSet',\n    description: 'Member firm employee or associated person',\n  },\n  {\n    name: 'MarketMakingAccount',\n    id: '522017',\n    value: '17',\n    sort: 17,\n    added: 'FIX.5.0SP2',\n    addedEP: '135',\n    tag: 522,\n    type: 'int',\n    codeSet: 'OwnerTypeCodeSet',\n    description: 'Market making account',\n  },\n  {\n    name: 'ProprietaryAccount',\n    id: '522018',\n    value: '18',\n    sort: 18,\n    added: 'FIX.5.0SP2',\n    addedEP: '135',\n    tag: 522,\n    type: 'int',\n    codeSet: 'OwnerTypeCodeSet',\n    description: 'Proprietary account',\n  },\n  {\n    name: 'NonbrokerDealer',\n    id: '522019',\n    value: '19',\n    sort: 19,\n    added: 'FIX.5.0SP2',\n    addedEP: '135',\n    tag: 522,\n    type: 'int',\n    codeSet: 'OwnerTypeCodeSet',\n    description: 'Non-broker-dealer',\n  },\n  {\n    name: 'UnknownBeneficialOwnerType',\n    id: '522020',\n    value: '20',\n    sort: 20,\n    added: 'FIX.5.0SP2',\n    addedEP: '135',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '253',\n    tag: 522,\n    type: 'int',\n    codeSet: 'OwnerTypeCodeSet',\n    description:\n      'Unknown beneficial owner type\\n\\nIn the context of US CAT this is a non-broker-dealer foreign affiliate or non-reporting foreign broker-dealer.',\n  },\n  {\n    name: 'FirmsErrorAccount',\n    id: '522021',\n    value: '21',\n    sort: 21,\n    added: 'FIX.5.0SP2',\n    addedEP: '135',\n    tag: 522,\n    type: 'int',\n    codeSet: 'OwnerTypeCodeSet',\n    description: 'Error account of firm',\n  },\n  {\n    name: 'FirmAgencyAveragePriceAccount',\n    id: '522022',\n    value: '22',\n    sort: 22,\n    added: 'FIX.5.0SP2',\n    addedEP: '253',\n    tag: 522,\n    type: 'int',\n    codeSet: 'OwnerTypeCodeSet',\n    description: 'Firm agency average price account',\n  },\n  {\n    name: 'Agency',\n    id: '528001',\n    value: 'A',\n    sort: 1,\n    added: 'FIX.4.3',\n    tag: 528,\n    type: 'char',\n    codeSet: 'OrderCapacityCodeSet',\n    description: 'Agency',\n  },\n  {\n    name: 'Proprietary',\n    id: '528002',\n    value: 'G',\n    sort: 2,\n    added: 'FIX.4.3',\n    tag: 528,\n    type: 'char',\n    codeSet: 'OrderCapacityCodeSet',\n    description: 'Proprietary',\n  },\n  {\n    name: 'Individual',\n    id: '528003',\n    value: 'I',\n    sort: 3,\n    added: 'FIX.4.3',\n    tag: 528,\n    type: 'char',\n    codeSet: 'OrderCapacityCodeSet',\n    description: 'Individual',\n  },\n  {\n    name: 'Principal',\n    id: '528004',\n    value: 'P',\n    sort: 4,\n    added: 'FIX.4.3',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '204',\n    tag: 528,\n    type: 'char',\n    codeSet: 'OrderCapacityCodeSet',\n    description: 'Principal\\n\\nFor some markets Principal may include Proprietary.',\n  },\n  {\n    name: 'RisklessPrincipal',\n    id: '528005',\n    value: 'R',\n    sort: 5,\n    added: 'FIX.4.3',\n    tag: 528,\n    type: 'char',\n    codeSet: 'OrderCapacityCodeSet',\n    description: 'Riskless Principal',\n  },\n  {\n    name: 'AgentForOtherMember',\n    id: '528006',\n    value: 'W',\n    sort: 6,\n    added: 'FIX.4.3',\n    tag: 528,\n    type: 'char',\n    codeSet: 'OrderCapacityCodeSet',\n    description: 'Agent for Other Member',\n  },\n  {\n    name: 'MixedCapacity',\n    id: '528007',\n    value: 'M',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '170',\n    tag: 528,\n    type: 'char',\n    codeSet: 'OrderCapacityCodeSet',\n    description: 'Mixed capacity',\n  },\n  {\n    name: 'ProgramTrade',\n    id: '529001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.3',\n    tag: 529,\n    type: 'MultipleCharValue',\n    codeSet: 'OrderRestrictionsCodeSet',\n    description: 'Program Trade',\n  },\n  {\n    name: 'IndexArbitrage',\n    id: '529002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.3',\n    tag: 529,\n    type: 'MultipleCharValue',\n    codeSet: 'OrderRestrictionsCodeSet',\n    description: 'Index Arbitrage',\n  },\n  {\n    name: 'NonIndexArbitrage',\n    id: '529003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.3',\n    tag: 529,\n    type: 'MultipleCharValue',\n    codeSet: 'OrderRestrictionsCodeSet',\n    description: 'Non-Index Arbitrage',\n  },\n  {\n    name: 'CompetingMarketMaker',\n    id: '529004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.4.3',\n    tag: 529,\n    type: 'MultipleCharValue',\n    codeSet: 'OrderRestrictionsCodeSet',\n    description: 'Competing Market Maker',\n  },\n  {\n    name: 'ActingAsMarketMakerOrSpecialistInSecurity',\n    id: '529005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.4.3',\n    tag: 529,\n    type: 'MultipleCharValue',\n    codeSet: 'OrderRestrictionsCodeSet',\n    description: 'Acting as Market Maker or Specialist in the security',\n  },\n  {\n    name: 'ActingAsMarketMakerOrSpecialistInUnderlying',\n    id: '529006',\n    value: '6',\n    sort: 6,\n    added: 'FIX.4.3',\n    updated: 'FIX.5.0SP1',\n    updatedEP: '95',\n    tag: 529,\n    type: 'MultipleCharValue',\n    codeSet: 'OrderRestrictionsCodeSet',\n    description:\n      'Acting as Market Maker or Specialist in the underlying security of a derivative security',\n  },\n  {\n    name: 'ForeignEntity',\n    id: '529007',\n    value: '7',\n    sort: 7,\n    added: 'FIX.4.3',\n    tag: 529,\n    type: 'MultipleCharValue',\n    codeSet: 'OrderRestrictionsCodeSet',\n    description: 'Foreign Entity (of foreign government or regulatory jurisdiction)',\n  },\n  {\n    name: 'ExternalMarketParticipant',\n    id: '529008',\n    value: '8',\n    sort: 8,\n    added: 'FIX.4.3',\n    tag: 529,\n    type: 'MultipleCharValue',\n    codeSet: 'OrderRestrictionsCodeSet',\n    description: 'External Market Participant',\n  },\n  {\n    name: 'ExternalInterConnectedMarketLinkage',\n    id: '529009',\n    value: '9',\n    sort: 9,\n    added: 'FIX.4.3',\n    updated: 'FIX.5.0SP1',\n    updatedEP: '95',\n    tag: 529,\n    type: 'MultipleCharValue',\n    codeSet: 'OrderRestrictionsCodeSet',\n    description: 'External Inter-connected Market Linkage',\n  },\n  {\n    name: 'RisklessArbitrage',\n    id: '529010',\n    value: 'A',\n    sort: 10,\n    added: 'FIX.4.3',\n    tag: 529,\n    type: 'MultipleCharValue',\n    codeSet: 'OrderRestrictionsCodeSet',\n    description: 'Riskless Arbitrage',\n  },\n  {\n    name: 'IssuerHolding',\n    id: '529011',\n    value: 'B',\n    sort: 11,\n    added: 'FIX.5.0',\n    addedEP: '61',\n    tag: 529,\n    type: 'MultipleCharValue',\n    codeSet: 'OrderRestrictionsCodeSet',\n    description: 'Issuer Holding',\n  },\n  {\n    name: 'IssuePriceStabilization',\n    id: '529012',\n    value: 'C',\n    sort: 12,\n    added: 'FIX.5.0',\n    addedEP: '61',\n    tag: 529,\n    type: 'MultipleCharValue',\n    codeSet: 'OrderRestrictionsCodeSet',\n    description: 'Issue Price Stabilization',\n  },\n  {\n    name: 'NonAlgorithmic',\n    id: '529013',\n    value: 'D',\n    sort: 13,\n    added: 'FIX.5.0',\n    addedEP: '-1',\n    tag: 529,\n    type: 'MultipleCharValue',\n    codeSet: 'OrderRestrictionsCodeSet',\n    description: 'Non-algorithmic',\n  },\n  {\n    name: 'Algorithmic',\n    id: '529014',\n    value: 'E',\n    sort: 14,\n    added: 'FIX.5.0',\n    addedEP: '-1',\n    tag: 529,\n    type: 'MultipleCharValue',\n    codeSet: 'OrderRestrictionsCodeSet',\n    description: 'Algorithmic',\n  },\n  {\n    name: 'Cross',\n    id: '529015',\n    value: 'F',\n    sort: 15,\n    added: 'FIX.5.0SP1',\n    addedEP: '78',\n    tag: 529,\n    type: 'MultipleCharValue',\n    codeSet: 'OrderRestrictionsCodeSet',\n    description: 'Cross',\n  },\n  {\n    name: 'InsiderAccount',\n    id: '529016',\n    value: 'G',\n    sort: 16,\n    added: 'FIX.5.0SP2',\n    addedEP: '101',\n    tag: 529,\n    type: 'MultipleCharValue',\n    codeSet: 'OrderRestrictionsCodeSet',\n    description: 'Insider Account',\n  },\n  {\n    name: 'SignificantShareholder',\n    id: '529017',\n    value: 'H',\n    sort: 17,\n    added: 'FIX.5.0SP2',\n    addedEP: '101',\n    tag: 529,\n    type: 'MultipleCharValue',\n    codeSet: 'OrderRestrictionsCodeSet',\n    description: 'Significant Shareholder',\n  },\n  {\n    name: 'NormalCourseIssuerBid',\n    id: '529018',\n    value: 'I',\n    sort: 18,\n    added: 'FIX.5.0SP2',\n    addedEP: '101',\n    tag: 529,\n    type: 'MultipleCharValue',\n    codeSet: 'OrderRestrictionsCodeSet',\n    description: 'Normal Course Issuer Bid (NCIB)',\n  },\n  {\n    name: 'CancelOrdersForASecurity',\n    id: '530001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.3',\n    tag: 530,\n    type: 'char',\n    codeSet: 'MassCancelRequestTypeCodeSet',\n    description: 'Cancel orders for a security',\n  },\n  {\n    name: 'CancelOrdersForAnUnderlyingSecurity',\n    id: '530002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.3',\n    tag: 530,\n    type: 'char',\n    codeSet: 'MassCancelRequestTypeCodeSet',\n    description: 'Cancel orders for an underlying security',\n  },\n  {\n    name: 'CancelOrdersForAProduct',\n    id: '530003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.3',\n    updated: 'FIX.Latest',\n    updatedEP: '282',\n    tag: 530,\n    type: 'char',\n    codeSet: 'MassCancelRequestTypeCodeSet',\n    description: 'Cancel orders for a product',\n  },\n  {\n    name: 'CancelOrdersForACFICode',\n    id: '530004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.4.3',\n    tag: 530,\n    type: 'char',\n    codeSet: 'MassCancelRequestTypeCodeSet',\n    description: 'Cancel orders for a CFICode',\n  },\n  {\n    name: 'CancelOrdersForASecurityType',\n    id: '530005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.4.3',\n    updated: 'FIX.Latest',\n    updatedEP: '282',\n    tag: 530,\n    type: 'char',\n    codeSet: 'MassCancelRequestTypeCodeSet',\n    description: 'Cancel orders for a security type',\n  },\n  {\n    name: 'CancelOrdersForATradingSession',\n    id: '530006',\n    value: '6',\n    sort: 6,\n    added: 'FIX.4.3',\n    tag: 530,\n    type: 'char',\n    codeSet: 'MassCancelRequestTypeCodeSet',\n    description: 'Cancel orders for a trading session',\n  },\n  {\n    name: 'CancelAllOrders',\n    id: '530007',\n    value: '7',\n    sort: 7,\n    added: 'FIX.4.3',\n    tag: 530,\n    type: 'char',\n    codeSet: 'MassCancelRequestTypeCodeSet',\n    description: 'Cancel all orders',\n  },\n  {\n    name: 'CancelOrdersForAMarket',\n    id: '530008',\n    value: '8',\n    sort: 8,\n    added: 'FIX.5.0',\n    addedEP: '58',\n    tag: 530,\n    type: 'char',\n    codeSet: 'MassCancelRequestTypeCodeSet',\n    description: 'Cancel orders for a market',\n  },\n  {\n    name: 'CancelOrdersForAMarketSegment',\n    id: '530009',\n    value: '9',\n    sort: 9,\n    added: 'FIX.5.0',\n    addedEP: '58',\n    tag: 530,\n    type: 'char',\n    codeSet: 'MassCancelRequestTypeCodeSet',\n    description: 'Cancel orders for a market segment',\n  },\n  {\n    name: 'CancelOrdersForASecurityGroup',\n    id: '530010',\n    value: 'A',\n    sort: 10,\n    added: 'FIX.5.0',\n    addedEP: '58',\n    tag: 530,\n    type: 'char',\n    codeSet: 'MassCancelRequestTypeCodeSet',\n    description: 'Cancel orders for a security group',\n  },\n  {\n    name: 'CancelOrdersForSecurityIssuer',\n    id: '530011',\n    value: 'B',\n    sort: 11,\n    added: 'FIX.5.0SP1',\n    addedEP: '85',\n    updated: 'FIX.Latest',\n    updatedEP: '282',\n    tag: 530,\n    type: 'char',\n    codeSet: 'MassCancelRequestTypeCodeSet',\n    description: 'Cancel orders for an issuer',\n  },\n  {\n    name: 'CancelForIssuerOfUnderlyingSecurity',\n    id: '530012',\n    value: 'C',\n    sort: 12,\n    added: 'FIX.5.0SP1',\n    addedEP: '85',\n    updated: 'FIX.Latest',\n    updatedEP: '282',\n    tag: 530,\n    type: 'char',\n    codeSet: 'MassCancelRequestTypeCodeSet',\n    description: 'Cancel orders for an issuer of underlying security',\n  },\n  {\n    name: 'CancelRequestRejected',\n    id: '531001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.4.3',\n    tag: 531,\n    type: 'char',\n    codeSet: 'MassCancelResponseCodeSet',\n    description: 'Cancel Request Rejected - See MassCancelRejectReason (532)',\n  },\n  {\n    name: 'CancelOrdersForASecurity',\n    id: '531002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.3',\n    tag: 531,\n    type: 'char',\n    codeSet: 'MassCancelResponseCodeSet',\n    description: 'Cancel orders for a security',\n  },\n  {\n    name: 'CancelOrdersForAnUnderlyingSecurity',\n    id: '531003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.3',\n    updated: 'FIX.Latest',\n    updatedEP: '282',\n    tag: 531,\n    type: 'char',\n    codeSet: 'MassCancelResponseCodeSet',\n    description: 'Cancel orders for an underlying security',\n  },\n  {\n    name: 'CancelOrdersForAProduct',\n    id: '531004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.3',\n    updated: 'FIX.Latest',\n    updatedEP: '282',\n    tag: 531,\n    type: 'char',\n    codeSet: 'MassCancelResponseCodeSet',\n    description: 'Cancel orders for a product',\n  },\n  {\n    name: 'CancelOrdersForACFICode',\n    id: '531005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.4.3',\n    updated: 'FIX.Latest',\n    updatedEP: '282',\n    tag: 531,\n    type: 'char',\n    codeSet: 'MassCancelResponseCodeSet',\n    description: 'Cancel orders for a CFI Code',\n  },\n  {\n    name: 'CancelOrdersForASecurityType',\n    id: '531006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.4.3',\n    updated: 'FIX.Latest',\n    updatedEP: '282',\n    tag: 531,\n    type: 'char',\n    codeSet: 'MassCancelResponseCodeSet',\n    description: 'Cancel orders for a security type',\n  },\n  {\n    name: 'CancelOrdersForATradingSession',\n    id: '531007',\n    value: '6',\n    sort: 6,\n    added: 'FIX.4.3',\n    tag: 531,\n    type: 'char',\n    codeSet: 'MassCancelResponseCodeSet',\n    description: 'Cancel orders for a trading session',\n  },\n  {\n    name: 'CancelAllOrders',\n    id: '531008',\n    value: '7',\n    sort: 7,\n    added: 'FIX.4.3',\n    updated: 'FIX.Latest',\n    updatedEP: '282',\n    tag: 531,\n    type: 'char',\n    codeSet: 'MassCancelResponseCodeSet',\n    description: 'Cancel all orders',\n  },\n  {\n    name: 'CancelOrdersForAMarket',\n    id: '531009',\n    value: '8',\n    sort: 8,\n    added: 'FIX.5.0',\n    addedEP: '58',\n    tag: 531,\n    type: 'char',\n    codeSet: 'MassCancelResponseCodeSet',\n    description: 'Cancel orders for a market',\n  },\n  {\n    name: 'CancelOrdersForAMarketSegment',\n    id: '531010',\n    value: '9',\n    sort: 9,\n    added: 'FIX.5.0',\n    addedEP: '58',\n    tag: 531,\n    type: 'char',\n    codeSet: 'MassCancelResponseCodeSet',\n    description: 'Cancel orders for a market segment',\n  },\n  {\n    name: 'CancelOrdersForASecurityGroup',\n    id: '531011',\n    value: 'A',\n    sort: 10,\n    added: 'FIX.5.0',\n    addedEP: '58',\n    tag: 531,\n    type: 'char',\n    codeSet: 'MassCancelResponseCodeSet',\n    description: 'Cancel orders for a security group',\n  },\n  {\n    name: 'CancelOrdersForASecuritiesIssuer',\n    id: '531012',\n    value: 'B',\n    sort: 11,\n    added: 'FIX.5.0SP1',\n    addedEP: '85',\n    updated: 'FIX.Latest',\n    updatedEP: '282',\n    tag: 531,\n    type: 'char',\n    codeSet: 'MassCancelResponseCodeSet',\n    description: 'Cancel orders for an issuer',\n  },\n  {\n    name: 'CancelOrdersForIssuerOfUnderlyingSecurity',\n    id: '531013',\n    value: 'C',\n    sort: 12,\n    added: 'FIX.5.0SP1',\n    addedEP: '85',\n    updated: 'FIX.Latest',\n    updatedEP: '282',\n    tag: 531,\n    type: 'char',\n    codeSet: 'MassCancelResponseCodeSet',\n    description: 'Cancel orders for an issuer of underlying security',\n  },\n  {\n    name: 'MassCancelNotSupported',\n    id: '532001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.4.3',\n    tag: 532,\n    type: 'int',\n    codeSet: 'MassCancelRejectReasonCodeSet',\n    description: 'Mass Cancel Not Supported',\n  },\n  {\n    name: 'InvalidOrUnknownSecurity',\n    id: '532002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.3',\n    updated: 'FIX.Latest',\n    updatedEP: '271',\n    tag: 532,\n    type: 'int',\n    codeSet: 'MassCancelRejectReasonCodeSet',\n    description: 'Invalid or unknown security',\n  },\n  {\n    name: 'InvalidOrUnknownUnderlyingSecurity',\n    id: '532003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.3',\n    updated: 'FIX.Latest',\n    updatedEP: '271',\n    tag: 532,\n    type: 'int',\n    codeSet: 'MassCancelRejectReasonCodeSet',\n    description: 'Invalid or unknown underlying security',\n  },\n  {\n    name: 'InvalidOrUnknownProduct',\n    id: '532004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.3',\n    updated: 'FIX.Latest',\n    updatedEP: '271',\n    tag: 532,\n    type: 'int',\n    codeSet: 'MassCancelRejectReasonCodeSet',\n    description: 'Invalid or unknown product',\n  },\n  {\n    name: 'InvalidOrUnknownCFICode',\n    id: '532005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.4.3',\n    updated: 'FIX.Latest',\n    updatedEP: '271',\n    tag: 532,\n    type: 'int',\n    codeSet: 'MassCancelRejectReasonCodeSet',\n    description: 'Invalid or unknown CFI Code',\n  },\n  {\n    name: 'InvalidOrUnknownSecurityType',\n    id: '532006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.4.3',\n    updated: 'FIX.Latest',\n    updatedEP: '271',\n    tag: 532,\n    type: 'int',\n    codeSet: 'MassCancelRejectReasonCodeSet',\n    description: 'Invalid or unknown security type',\n  },\n  {\n    name: 'InvalidOrUnknownTradingSession',\n    id: '532007',\n    value: '6',\n    sort: 6,\n    added: 'FIX.4.3',\n    updated: 'FIX.Latest',\n    updatedEP: '271',\n    tag: 532,\n    type: 'int',\n    codeSet: 'MassCancelRejectReasonCodeSet',\n    description: 'Invalid or unknown trading session',\n  },\n  {\n    name: 'InvalidOrUnknownMarket',\n    id: '532008',\n    value: '7',\n    sort: 8,\n    added: 'FIX.5.0',\n    addedEP: '58',\n    updated: 'FIX.Latest',\n    updatedEP: '271',\n    tag: 532,\n    type: 'int',\n    codeSet: 'MassCancelRejectReasonCodeSet',\n    description: 'Invalid or unknown market',\n  },\n  {\n    name: 'InvalidOrUnkownMarketSegment',\n    id: '532009',\n    value: '8',\n    sort: 9,\n    added: 'FIX.5.0',\n    addedEP: '58',\n    updated: 'FIX.Latest',\n    updatedEP: '271',\n    tag: 532,\n    type: 'int',\n    codeSet: 'MassCancelRejectReasonCodeSet',\n    description: 'Invalid or unknown market segment',\n  },\n  {\n    name: 'InvalidOrUnknownSecurityGroup',\n    id: '532010',\n    value: '9',\n    sort: 10,\n    added: 'FIX.5.0',\n    addedEP: '58',\n    updated: 'FIX.Latest',\n    updatedEP: '271',\n    tag: 532,\n    type: 'int',\n    codeSet: 'MassCancelRejectReasonCodeSet',\n    description: 'Invalid or unknown security group',\n  },\n  {\n    name: 'InvalidOrUnknownSecurityIssuer',\n    id: '532011',\n    value: '10',\n    sort: 11,\n    added: 'FIX.5.0SP1',\n    addedEP: '85',\n    updated: 'FIX.Latest',\n    updatedEP: '271',\n    tag: 532,\n    type: 'int',\n    codeSet: 'MassCancelRejectReasonCodeSet',\n    description: 'Invalid or unknown security issuer',\n  },\n  {\n    name: 'InvalidOrUnknownIssuerOfUnderlyingSecurity',\n    id: '532012',\n    value: '11',\n    sort: 12,\n    added: 'FIX.5.0SP1',\n    addedEP: '85',\n    updated: 'FIX.Latest',\n    updatedEP: '271',\n    tag: 532,\n    type: 'int',\n    codeSet: 'MassCancelRejectReasonCodeSet',\n    description: 'Invalid or unknown issuer of underlying security',\n  },\n  {\n    name: 'Other',\n    id: '532013',\n    value: '99',\n    sort: 99,\n    added: 'FIX.4.4',\n    tag: 532,\n    type: 'int',\n    codeSet: 'MassCancelRejectReasonCodeSet',\n    description: 'Other',\n  },\n  {\n    name: 'Indicative',\n    id: '537001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.3',\n    tag: 537,\n    type: 'int',\n    codeSet: 'QuoteTypeCodeSet',\n    description: 'Indicative',\n  },\n  {\n    name: 'Tradeable',\n    id: '537002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.3',\n    tag: 537,\n    type: 'int',\n    codeSet: 'QuoteTypeCodeSet',\n    description: 'Tradeable',\n  },\n  {\n    name: 'RestrictedTradeable',\n    id: '537003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.4.3',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '126',\n    tag: 537,\n    type: 'int',\n    codeSet: 'QuoteTypeCodeSet',\n    description: 'Restricted tradeable',\n  },\n  {\n    name: 'Counter',\n    id: '537004',\n    value: '3',\n    sort: 4,\n    added: 'FIX.4.4',\n    tag: 537,\n    type: 'int',\n    codeSet: 'QuoteTypeCodeSet',\n    description: 'Counter (tradeable)',\n  },\n  {\n    name: 'InitiallyTradeable',\n    id: '537005',\n    value: '4',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '126',\n    tag: 537,\n    type: 'int',\n    codeSet: 'QuoteTypeCodeSet',\n    description: 'Initially tradeable',\n  },\n  {\n    name: 'Cash',\n    id: '544001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.3',\n    tag: 544,\n    type: 'char',\n    codeSet: 'CashMarginCodeSet',\n    description: 'Cash',\n  },\n  {\n    name: 'MarginOpen',\n    id: '544002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.3',\n    tag: 544,\n    type: 'char',\n    codeSet: 'CashMarginCodeSet',\n    description: 'Margin Open',\n  },\n  {\n    name: 'MarginClose',\n    id: '544003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.3',\n    tag: 544,\n    type: 'char',\n    codeSet: 'CashMarginCodeSet',\n    description: 'Margin Close',\n  },\n  {\n    name: 'LocalMarket',\n    id: '546001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.3',\n    tag: 546,\n    type: 'MultipleCharValue',\n    codeSet: 'ScopeCodeSet',\n    description: 'Local Market (Exchange, ECN, ATS)',\n  },\n  {\n    name: 'National',\n    id: '546002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.3',\n    tag: 546,\n    type: 'MultipleCharValue',\n    codeSet: 'ScopeCodeSet',\n    description: 'National',\n  },\n  {\n    name: 'Global',\n    id: '546003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.3',\n    tag: 546,\n    type: 'MultipleCharValue',\n    codeSet: 'ScopeCodeSet',\n    description: 'Global',\n  },\n  {\n    name: 'No',\n    id: '547001',\n    value: 'N',\n    sort: 1,\n    added: 'FIX.4.3',\n    tag: 547,\n    type: 'Boolean',\n    codeSet: 'MDImplicitDeleteCodeSet',\n    description:\n      'Server must send an explicit delete for bids or offers falling outside the requested MarketDepth of the request',\n  },\n  {\n    name: 'Yes',\n    id: '547002',\n    value: 'Y',\n    sort: 2,\n    added: 'FIX.4.3',\n    tag: 547,\n    type: 'Boolean',\n    codeSet: 'MDImplicitDeleteCodeSet',\n    description:\n      'Client has responsibility for implicitly deleting bids or offers falling outside the MarketDepth of the request',\n  },\n  {\n    name: 'CrossAON',\n    id: '549001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.3',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '131',\n    tag: 549,\n    type: 'int',\n    codeSet: 'CrossTypeCodeSet',\n    description:\n      'All-or-none cross\\n\\nA cross order which is executed completely or not at all. Both sides of the cross are treated in the same manner.',\n  },\n  {\n    name: 'CrossIOC',\n    id: '549002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.3',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '131',\n    tag: 549,\n    type: 'int',\n    codeSet: 'CrossTypeCodeSet',\n    description:\n      'Immediate-or-cancel cross\\n\\nA cross order which is immediately executed with any unfilled quantity cancelled. CrossPrioritization(550) may be used to indicate whether one side should have execution priority and any remaining quantity of the partially executed side be cancelled. Using CrossPrioritiation(550)=\"Y\" and CrossType(549)=2(Immediate-or-cancel cross) is equivalent to non-prioritized leg having a TimeInForce(59)=3(IOC) Immediate-or-cancel.',\n  },\n  {\n    name: 'CrossOneSide',\n    id: '549003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.3',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '131',\n    tag: 549,\n    type: 'int',\n    codeSet: 'CrossTypeCodeSet',\n    description:\n      'One sided cross\\n\\nA cross order which is executed on one side with any unfilled quantity remaining active. CrossPrioritization(550) may be used to indicate which side should have execution priority.',\n  },\n  {\n    name: 'CrossSamePrice',\n    id: '549004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.4.3',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '131',\n    tag: 549,\n    type: 'int',\n    codeSet: 'CrossTypeCodeSet',\n    description:\n      'Cross executed against book\\n\\nA cross order which is executed against existing orders in the order book. The quantity on one side of the cross is executed against existing orders and quotes with the same price, and any remaining quantity of the cross is executed against the other side of the cross. The two sides of the cross may have different quantities.',\n  },\n  {\n    name: 'BasisCross',\n    id: '549005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '101',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '131',\n    tag: 549,\n    type: 'int',\n    codeSet: 'CrossTypeCodeSet',\n    description:\n      'Basis cross\\n\\nA cross order where a basket of securities or an index participation unit is transacted at prices achieved through the execution of related exchange-traded derivative instruments in an amount that will correspond to an equivalent market exposure.',\n  },\n  {\n    name: 'ContingentCross',\n    id: '549006',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '101',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '131',\n    tag: 549,\n    type: 'int',\n    codeSet: 'CrossTypeCodeSet',\n    description:\n      'Contingent cross\\n\\nA cross order resulting from a paired order placed by a participant to execute an order on a security that is contingent on the execution of a second order for an offsetting volume of a related security.',\n  },\n  {\n    name: 'VWAPCross',\n    id: '549007',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '101',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '131',\n    tag: 549,\n    type: 'int',\n    codeSet: 'CrossTypeCodeSet',\n    description:\n      'Volume-weighted-average-price (VWAP) cross\\n\\nA cross order for the purpose of executing a trade at a volume-weighted-average-price (VWAP) of a security traded for a continuous period on or during a trading day.',\n  },\n  {\n    name: 'STSCross',\n    id: '549008',\n    value: '8',\n    sort: 8,\n    added: 'FIX.5.0SP2',\n    addedEP: '101',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '131',\n    tag: 549,\n    type: 'int',\n    codeSet: 'CrossTypeCodeSet',\n    description:\n      'Special trading session cross\\n\\nA closing price cross resulting from an order placed by a participant for execution in a special trading session at the last sale price.',\n  },\n  {\n    name: 'CustomerToCustomer',\n    id: '549009',\n    value: '9',\n    sort: 9,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 549,\n    type: 'int',\n    codeSet: 'CrossTypeCodeSet',\n    description:\n      'Customer to customer cross\\n\\nCross order where both sides of the cross represent agency orders.',\n  },\n  {\n    name: 'None',\n    id: '550001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.3',\n    tag: 550,\n    type: 'int',\n    codeSet: 'CrossPrioritizationCodeSet',\n    description: 'None',\n  },\n  {\n    name: 'BuySideIsPrioritized',\n    id: '550002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.3',\n    tag: 550,\n    type: 'int',\n    codeSet: 'CrossPrioritizationCodeSet',\n    description: 'Buy side is prioritized',\n  },\n  {\n    name: 'SellSideIsPrioritized',\n    id: '550003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.4.3',\n    tag: 550,\n    type: 'int',\n    codeSet: 'CrossPrioritizationCodeSet',\n    description: 'Sell side is prioritized',\n  },\n  {\n    name: 'OneSide',\n    id: '552001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.3',\n    tag: 552,\n    type: 'NumInGroup',\n    codeSet: 'NoSidesCodeSet',\n    description: 'One Side',\n  },\n  {\n    name: 'BothSides',\n    id: '552002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.3',\n    tag: 552,\n    type: 'NumInGroup',\n    codeSet: 'NoSidesCodeSet',\n    description: 'Both Sides',\n  },\n  {\n    name: 'Symbol',\n    id: '559001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.4.3',\n    tag: 559,\n    type: 'int',\n    codeSet: 'SecurityListRequestTypeCodeSet',\n    description: 'Symbol',\n  },\n  {\n    name: 'SecurityTypeAnd',\n    id: '559002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.3',\n    tag: 559,\n    type: 'int',\n    codeSet: 'SecurityListRequestTypeCodeSet',\n    description: 'SecurityType and/or CFICode',\n  },\n  {\n    name: 'Product',\n    id: '559003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.3',\n    tag: 559,\n    type: 'int',\n    codeSet: 'SecurityListRequestTypeCodeSet',\n    description: 'Product',\n  },\n  {\n    name: 'TradingSessionID',\n    id: '559004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.3',\n    tag: 559,\n    type: 'int',\n    codeSet: 'SecurityListRequestTypeCodeSet',\n    description: 'TradingSessionID',\n  },\n  {\n    name: 'AllSecurities',\n    id: '559005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.4.3',\n    tag: 559,\n    type: 'int',\n    codeSet: 'SecurityListRequestTypeCodeSet',\n    description: 'All Securities',\n  },\n  {\n    name: 'MarketIDOrMarketID',\n    id: '559006',\n    value: '5',\n    sort: 6,\n    added: 'FIX.5.0',\n    addedEP: '52',\n    tag: 559,\n    type: 'int',\n    codeSet: 'SecurityListRequestTypeCodeSet',\n    description: 'MarketID or MarketID + MarketSegmentID',\n  },\n  {\n    name: 'ValidRequest',\n    id: '560001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.4.3',\n    tag: 560,\n    type: 'int',\n    codeSet: 'SecurityRequestResultCodeSet',\n    description: 'Valid request',\n  },\n  {\n    name: 'InvalidOrUnsupportedRequest',\n    id: '560002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.3',\n    tag: 560,\n    type: 'int',\n    codeSet: 'SecurityRequestResultCodeSet',\n    description: 'Invalid or unsupported request',\n  },\n  {\n    name: 'NoInstrumentsFound',\n    id: '560003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.3',\n    tag: 560,\n    type: 'int',\n    codeSet: 'SecurityRequestResultCodeSet',\n    description: 'No instruments found that match selection criteria',\n  },\n  {\n    name: 'NotAuthorizedToRetrieveInstrumentData',\n    id: '560004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.3',\n    tag: 560,\n    type: 'int',\n    codeSet: 'SecurityRequestResultCodeSet',\n    description: 'Not authorized to retrieve instrument data',\n  },\n  {\n    name: 'InstrumentDataTemporarilyUnavailable',\n    id: '560005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.4.3',\n    tag: 560,\n    type: 'int',\n    codeSet: 'SecurityRequestResultCodeSet',\n    description: 'Instrument data temporarily unavailable',\n  },\n  {\n    name: 'RequestForInstrumentDataNotSupported',\n    id: '560006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.4.3',\n    tag: 560,\n    type: 'int',\n    codeSet: 'SecurityRequestResultCodeSet',\n    description: 'Request for instrument data not supported',\n  },\n  {\n    name: 'ReportByMulitlegSecurityOnly',\n    id: '563001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.4.4',\n    tag: 563,\n    type: 'int',\n    codeSet: 'MultiLegRptTypeReqCodeSet',\n    description: 'Report by mulitleg security only (do not report legs)',\n  },\n  {\n    name: 'ReportByMultilegSecurityAndInstrumentLegs',\n    id: '563002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 563,\n    type: 'int',\n    codeSet: 'MultiLegRptTypeReqCodeSet',\n    description:\n      'Report by multileg security and by instrument legs belonging to the multileg security',\n  },\n  {\n    name: 'ReportByInstrumentLegsOnly',\n    id: '563003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 563,\n    type: 'int',\n    codeSet: 'MultiLegRptTypeReqCodeSet',\n    description:\n      'Report by instrument legs belonging to the multileg security only (do not report status of multileg security)',\n  },\n  {\n    name: 'UnknownOrInvalidTradingSessionID',\n    id: '567001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.3',\n    tag: 567,\n    type: 'int',\n    codeSet: 'TradSesStatusRejReasonCodeSet',\n    description: 'Unknown or invalid TradingSessionID',\n  },\n  {\n    name: 'Other',\n    id: '567002',\n    value: '99',\n    sort: 99,\n    added: 'FIX.4.4',\n    tag: 567,\n    type: 'int',\n    codeSet: 'TradSesStatusRejReasonCodeSet',\n    description: 'Other',\n  },\n  {\n    name: 'AllTrades',\n    id: '569001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.4.3',\n    tag: 569,\n    type: 'int',\n    codeSet: 'TradeRequestTypeCodeSet',\n    description: 'All Trades',\n  },\n  {\n    name: 'MatchedTradesMatchingCriteria',\n    id: '569002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.3',\n    tag: 569,\n    type: 'int',\n    codeSet: 'TradeRequestTypeCodeSet',\n    description:\n      'Matched trades matching criteria provided on request (Parties, ExecID, TradeID, OrderID, Instrument, InputSource, etc.)',\n  },\n  {\n    name: 'UnmatchedTradesThatMatchCriteria',\n    id: '569003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.3',\n    tag: 569,\n    type: 'int',\n    codeSet: 'TradeRequestTypeCodeSet',\n    description: 'Unmatched trades that match criteria',\n  },\n  {\n    name: 'UnreportedTradesThatMatchCriteria',\n    id: '569004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.3',\n    tag: 569,\n    type: 'int',\n    codeSet: 'TradeRequestTypeCodeSet',\n    description: 'Unreported trades that match criteria',\n  },\n  {\n    name: 'AdvisoriesThatMatchCriteria',\n    id: '569005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.4.3',\n    tag: 569,\n    type: 'int',\n    codeSet: 'TradeRequestTypeCodeSet',\n    description: 'Advisories that match criteria',\n  },\n  {\n    name: 'NotReportedToCounterparty',\n    id: '570001',\n    value: 'N',\n    sort: 1,\n    added: 'FIX.4.3',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '229',\n    tag: 570,\n    type: 'Boolean',\n    codeSet: 'PreviouslyReportedCodeSet',\n    description:\n      'Not reported to counterparty or market\\n\\nIn the context of RTS 13 Article 16 when a trade is reported to more than one \"approved publication arrangement\" (APA) the original report can be flagged as \"original\". This is the ESMA \"ORGN\" flag.',\n  },\n  {\n    name: 'PreviouslyReportedToCounterparty',\n    id: '570002',\n    value: 'Y',\n    sort: 2,\n    added: 'FIX.4.3',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '229',\n    tag: 570,\n    type: 'Boolean',\n    codeSet: 'PreviouslyReportedCodeSet',\n    description:\n      'Previously reported to counterparty or market\\n\\nIn the context of RTS 13 Article 16 when a trade is reported to more than one \"approved publication arrangement\" (APA) the additional reports need to be flagged as \"duplicative\" and this flag needs to be present on any occurrence (even when publishing to the market). This is also used for reporting directly to ESMA when the trade has been previously reported. This is the ESMA \"DUPL\" flag.',\n  },\n  {\n    name: 'Compared',\n    id: '573001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.4.3',\n    tag: 573,\n    type: 'char',\n    codeSet: 'MatchStatusCodeSet',\n    description: 'Compared, matched or affirmed',\n  },\n  {\n    name: 'Uncompared',\n    id: '573002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.3',\n    updated: 'FIX.5.0SP1',\n    updatedEP: '95',\n    tag: 573,\n    type: 'char',\n    codeSet: 'MatchStatusCodeSet',\n    description: 'Uncompared, unmatched, or unaffirmed',\n  },\n  {\n    name: 'AdvisoryOrAlert',\n    id: '573003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.3',\n    tag: 573,\n    type: 'char',\n    codeSet: 'MatchStatusCodeSet',\n    description: 'Advisory or alert',\n  },\n  {\n    name: 'Mismatched',\n    id: '573004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '246',\n    tag: 573,\n    type: 'char',\n    codeSet: 'MatchStatusCodeSet',\n    description:\n      'Mismatched\\n\\nIndicates that data points from the AllocationInstruction(35=J) and Confirmation(35=AK) are matched but there are variances. MatchExceptionGrp component may be used to detail on the mis-matched data fields.',\n  },\n  {\n    name: 'OnePartyTradeReport',\n    id: '574001',\n    value: '1',\n    sort: 70,\n    group: 'General Purpose',\n    added: 'FIX.4.4',\n    addedEP: '22',\n    tag: 574,\n    type: 'String',\n    codeSet: 'MatchTypeCodeSet',\n    description: 'One-Party Trade Report (privately negotiated trade)',\n  },\n  {\n    name: 'TwoPartyTradeReport',\n    id: '574002',\n    value: '2',\n    sort: 71,\n    group: 'General Purpose',\n    added: 'FIX.4.4',\n    addedEP: '22',\n    tag: 574,\n    type: 'String',\n    codeSet: 'MatchTypeCodeSet',\n    description: 'Two-Party Trade Report (privately negotiated trade)',\n  },\n  {\n    name: 'ConfirmedTradeReport',\n    id: '574003',\n    value: '3',\n    sort: 72,\n    group: 'General Purpose',\n    added: 'FIX.4.4',\n    addedEP: '22',\n    tag: 574,\n    type: 'String',\n    codeSet: 'MatchTypeCodeSet',\n    description: 'Confirmed Trade Report (reporting from recognized markets)',\n  },\n  {\n    name: 'AutoMatch',\n    id: '574004',\n    value: '4',\n    sort: 73,\n    group: 'General Purpose',\n    added: 'FIX.4.4',\n    addedEP: '22',\n    tag: 574,\n    type: 'String',\n    codeSet: 'MatchTypeCodeSet',\n    description: 'Auto-match',\n  },\n  {\n    name: 'CrossAuction',\n    id: '574005',\n    value: '5',\n    sort: 74,\n    group: 'General Purpose',\n    added: 'FIX.4.4',\n    addedEP: '22',\n    tag: 574,\n    type: 'String',\n    codeSet: 'MatchTypeCodeSet',\n    description: 'Cross Auction',\n  },\n  {\n    name: 'CounterOrderSelection',\n    id: '574006',\n    value: '6',\n    sort: 75,\n    group: 'General Purpose',\n    added: 'FIX.4.4',\n    addedEP: '22',\n    tag: 574,\n    type: 'String',\n    codeSet: 'MatchTypeCodeSet',\n    description: 'Counter-Order Selection',\n  },\n  {\n    name: 'CallAuction',\n    id: '574007',\n    value: '7',\n    sort: 76,\n    group: 'General Purpose',\n    added: 'FIX.4.4',\n    addedEP: '22',\n    tag: 574,\n    type: 'String',\n    codeSet: 'MatchTypeCodeSet',\n    description: 'Call Auction',\n  },\n  {\n    name: 'Issuing',\n    id: '574008',\n    value: '8',\n    sort: 77,\n    group: 'General Purpose',\n    added: 'FIX.5.0',\n    addedEP: '47',\n    tag: 574,\n    type: 'String',\n    codeSet: 'MatchTypeCodeSet',\n    description: 'Issuing/Buy Back Auction',\n  },\n  {\n    name: 'SystematicInternaliser',\n    id: '574009',\n    value: '9',\n    sort: 78,\n    group: 'General Purpose',\n    added: 'FIX.5.0SP2',\n    addedEP: '163',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '228',\n    tag: 574,\n    type: 'String',\n    codeSet: 'MatchTypeCodeSet',\n    description: 'Systematic Internaliser (SI)',\n  },\n  {\n    name: 'AutoMatchLastLook',\n    id: '574010',\n    value: '10',\n    sort: 79,\n    group: 'General Purpose',\n    added: 'FIX.5.0SP2',\n    addedEP: '198',\n    tag: 574,\n    type: 'String',\n    codeSet: 'MatchTypeCodeSet',\n    description:\n      'Auto-match with last look\\n\\nExecution that arises from a match against orders or quotes which require a confirmation during continuous trading.',\n  },\n  {\n    name: 'CrossAuctionLastLook',\n    id: '574011',\n    value: '11',\n    sort: 80,\n    group: 'General Purpose',\n    added: 'FIX.5.0SP2',\n    addedEP: '198',\n    tag: 574,\n    type: 'String',\n    codeSet: 'MatchTypeCodeSet',\n    description:\n      'Cross auction with last look\\n\\nExecution that arises from a match against orders or quotes which require a confirmation during an auction.',\n  },\n  {\n    name: 'ACTAcceptedTrade',\n    id: '574012',\n    value: 'M3',\n    sort: 2,\n    group: 'NASDAQ',\n    added: 'FIX.4.3',\n    tag: 574,\n    type: 'String',\n    codeSet: 'MatchTypeCodeSet',\n    description: 'ACT Accepted Trade',\n  },\n  {\n    name: 'ACTDefaultTrade',\n    id: '574013',\n    value: 'M4',\n    sort: 3,\n    group: 'NASDAQ',\n    added: 'FIX.4.3',\n    tag: 574,\n    type: 'String',\n    codeSet: 'MatchTypeCodeSet',\n    description: 'ACT Default Trade',\n  },\n  {\n    name: 'ACTDefaultAfterM2',\n    id: '574014',\n    value: 'M5',\n    sort: 4,\n    group: 'NASDAQ',\n    added: 'FIX.4.3',\n    tag: 574,\n    type: 'String',\n    codeSet: 'MatchTypeCodeSet',\n    description: 'ACT Default After M2',\n  },\n  {\n    name: 'ACTM6Match',\n    id: '574015',\n    value: 'M6',\n    sort: 5,\n    group: 'NASDAQ',\n    added: 'FIX.4.3',\n    tag: 574,\n    type: 'String',\n    codeSet: 'MatchTypeCodeSet',\n    description: 'ACT M6 Match',\n  },\n  {\n    name: 'ExactMatchPlus4BadgesExecTime',\n    id: '574016',\n    value: 'A1',\n    sort: 0,\n    group: 'NYSE and AMEX',\n    added: 'FIX.4.3',\n    tag: 574,\n    type: 'String',\n    codeSet: 'MatchTypeCodeSet',\n    description:\n      'Exact match on Trade Date, Stock Symbol, Quantity, Price, Trade Type, and Special Trade Indicator plus four badges and execution time (within two-minute window)',\n  },\n  {\n    name: 'ExactMatchPlus4Badges',\n    id: '574017',\n    value: 'A2',\n    sort: 1,\n    group: 'NYSE and AMEX',\n    added: 'FIX.4.3',\n    tag: 574,\n    type: 'String',\n    codeSet: 'MatchTypeCodeSet',\n    description:\n      'Exact match on Trade Date, Stock Symbol, Quantity, Price, Trade Type, and Special Trade Indicator, plus four badges',\n  },\n  {\n    name: 'ExactMatchPlus2BadgesExecTime',\n    id: '574018',\n    value: 'A3',\n    sort: 2,\n    group: 'NYSE and AMEX',\n    added: 'FIX.4.3',\n    tag: 574,\n    type: 'String',\n    codeSet: 'MatchTypeCodeSet',\n    description:\n      'Exact match on Trade Date, Stock Symbol, Quantity, Price, Trade Type, and Special Trade Indicator, plus two badges and execution time (within two-minute window)',\n  },\n  {\n    name: 'ExactMatchPlus2Badges',\n    id: '574019',\n    value: 'A4',\n    sort: 3,\n    group: 'NYSE and AMEX',\n    added: 'FIX.4.3',\n    tag: 574,\n    type: 'String',\n    codeSet: 'MatchTypeCodeSet',\n    description:\n      'Exact match on Trade Date, Stock Symbol, Quantity, Price, Trade Type, and Special Trade Indicator, plus two badges',\n  },\n  {\n    name: 'ExactMatchPlusExecTime',\n    id: '574020',\n    value: 'A5',\n    sort: 4,\n    group: 'NYSE and AMEX',\n    added: 'FIX.4.3',\n    tag: 574,\n    type: 'String',\n    codeSet: 'MatchTypeCodeSet',\n    description:\n      'Exact match on Trade Date, Stock Symbol, Quantity, Price, TradeType, and Special Trade Indicator plus execution time (within two-minute window)',\n  },\n  {\n    name: 'StampedAdvisoriesOrSpecialistAccepts',\n    id: '574021',\n    value: 'AQ',\n    sort: 5,\n    group: 'NYSE and AMEX',\n    added: 'FIX.4.3',\n    tag: 574,\n    type: 'String',\n    codeSet: 'MatchTypeCodeSet',\n    description:\n      'Compared records resulting from stamped advisories or specialist accepts/pair-offs',\n  },\n  {\n    name: 'A1ExactMatchSummarizedQuantity',\n    id: '574022',\n    value: 'S1',\n    sort: 6,\n    group: 'NYSE and AMEX',\n    added: 'FIX.4.3',\n    tag: 574,\n    type: 'String',\n    codeSet: 'MatchTypeCodeSet',\n    description:\n      'Summarized match using A1 exact match criteria except quantity is summaried',\n  },\n  {\n    name: 'A2ExactMatchSummarizedQuantity',\n    id: '574023',\n    value: 'S2',\n    sort: 7,\n    group: 'NYSE and AMEX',\n    added: 'FIX.4.3',\n    tag: 574,\n    type: 'String',\n    codeSet: 'MatchTypeCodeSet',\n    description:\n      'Summarized match using A2 exact match criteria except quantity is summarized',\n  },\n  {\n    name: 'A3ExactMatchSummarizedQuantity',\n    id: '574024',\n    value: 'S3',\n    sort: 8,\n    group: 'NYSE and AMEX',\n    added: 'FIX.4.3',\n    tag: 574,\n    type: 'String',\n    codeSet: 'MatchTypeCodeSet',\n    description:\n      'Summarized match using A3 exact match criteria except quantity is summarized',\n  },\n  {\n    name: 'A4ExactMatchSummarizedQuantity',\n    id: '574025',\n    value: 'S4',\n    sort: 9,\n    group: 'NYSE and AMEX',\n    added: 'FIX.4.3',\n    tag: 574,\n    type: 'String',\n    codeSet: 'MatchTypeCodeSet',\n    description:\n      'Summarized match using A4 exact match criteria except quantity is summarized',\n  },\n  {\n    name: 'A5ExactMatchSummarizedQuantity',\n    id: '574026',\n    value: 'S5',\n    sort: 10,\n    group: 'NYSE and AMEX',\n    added: 'FIX.4.3',\n    tag: 574,\n    type: 'String',\n    codeSet: 'MatchTypeCodeSet',\n    description:\n      'Summarized match using A5 exact match criteria except quantity is summarized',\n  },\n  {\n    name: 'ExactMatchMinusBadgesTimes',\n    id: '574027',\n    value: 'M1',\n    sort: 11,\n    group: 'NYSE, AMEX and NASDAQ',\n    added: 'FIX.4.3',\n    tag: 574,\n    type: 'String',\n    codeSet: 'MatchTypeCodeSet',\n    description:\n      'Exact match on Trade Date, Stock Symbol, Quantity, Price, Trade Type, and Special Trade Indicator minus badges And times: ACT M1 match',\n  },\n  {\n    name: 'SummarizedMatchMinusBadgesTimes',\n    id: '574028',\n    value: 'M2',\n    sort: 12,\n    group: 'NYSE, AMEX and NASDAQ',\n    added: 'FIX.4.3',\n    tag: 574,\n    type: 'String',\n    codeSet: 'MatchTypeCodeSet',\n    description: 'Summarized match minus badges and times: ACT M2 Match',\n  },\n  {\n    name: 'OCSLockedIn',\n    id: '574029',\n    value: 'MT',\n    sort: 13,\n    group: 'NYSE, AMEX and NASDAQ',\n    added: 'FIX.4.3',\n    tag: 574,\n    type: 'String',\n    codeSet: 'MatchTypeCodeSet',\n    description: 'OCS Locked In: Non-ACT',\n  },\n  {\n    name: 'TreatAsRoundLot',\n    id: '575001',\n    value: 'N',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 575,\n    type: 'Boolean',\n    codeSet: 'OddLotCodeSet',\n    description: 'Treat as round lot (default)',\n  },\n  {\n    name: 'TreatAsOddLot',\n    id: '575002',\n    value: 'Y',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 575,\n    type: 'Boolean',\n    codeSet: 'OddLotCodeSet',\n    description: 'Treat as odd lot',\n  },\n  {\n    name: 'ProcessNormally',\n    id: '577001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.4.3',\n    tag: 577,\n    type: 'int',\n    codeSet: 'ClearingInstructionCodeSet',\n    description: 'Process normally',\n  },\n  {\n    name: 'ExcludeFromAllNetting',\n    id: '577002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.3',\n    tag: 577,\n    type: 'int',\n    codeSet: 'ClearingInstructionCodeSet',\n    description: 'Exclude from all netting',\n  },\n  {\n    name: 'BilateralNettingOnly',\n    id: '577003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.3',\n    tag: 577,\n    type: 'int',\n    codeSet: 'ClearingInstructionCodeSet',\n    description: 'Bilateral netting only',\n  },\n  {\n    name: 'ExClearing',\n    id: '577004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.3',\n    tag: 577,\n    type: 'int',\n    codeSet: 'ClearingInstructionCodeSet',\n    description: 'Ex clearing',\n  },\n  {\n    name: 'SpecialTrade',\n    id: '577005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.4.3',\n    tag: 577,\n    type: 'int',\n    codeSet: 'ClearingInstructionCodeSet',\n    description: 'Special trade',\n  },\n  {\n    name: 'MultilateralNetting',\n    id: '577006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.4.3',\n    tag: 577,\n    type: 'int',\n    codeSet: 'ClearingInstructionCodeSet',\n    description: 'Multilateral netting',\n  },\n  {\n    name: 'ClearAgainstCentralCounterparty',\n    id: '577007',\n    value: '6',\n    sort: 6,\n    added: 'FIX.4.3',\n    tag: 577,\n    type: 'int',\n    codeSet: 'ClearingInstructionCodeSet',\n    description: 'Clear against central counterparty',\n  },\n  {\n    name: 'ExcludeFromCentralCounterparty',\n    id: '577008',\n    value: '7',\n    sort: 7,\n    added: 'FIX.4.3',\n    tag: 577,\n    type: 'int',\n    codeSet: 'ClearingInstructionCodeSet',\n    description: 'Exclude from central counterparty',\n  },\n  {\n    name: 'ManualMode',\n    id: '577009',\n    value: '8',\n    sort: 8,\n    added: 'FIX.4.3',\n    tag: 577,\n    type: 'int',\n    codeSet: 'ClearingInstructionCodeSet',\n    description: 'Manual mode (pre-posting and/or pre-giveup)',\n  },\n  {\n    name: 'AutomaticPostingMode',\n    id: '577010',\n    value: '9',\n    sort: 9,\n    added: 'FIX.4.3',\n    tag: 577,\n    type: 'int',\n    codeSet: 'ClearingInstructionCodeSet',\n    description:\n      'Automatic posting mode (trade posting to the position account number specified)',\n  },\n  {\n    name: 'AutomaticGiveUpMode',\n    id: '577011',\n    value: '10',\n    sort: 10,\n    added: 'FIX.4.3',\n    tag: 577,\n    type: 'int',\n    codeSet: 'ClearingInstructionCodeSet',\n    description:\n      'Automatic give-up mode (trade give-up to the give-up destination number specified)',\n  },\n  {\n    name: 'QualifiedServiceRepresentativeQSR',\n    id: '577012',\n    value: '11',\n    sort: 11,\n    added: 'FIX.4.4',\n    tag: 577,\n    type: 'int',\n    codeSet: 'ClearingInstructionCodeSet',\n    description: 'Qualified Service Representative QSR',\n  },\n  {\n    name: 'CustomerTrade',\n    id: '577013',\n    value: '12',\n    sort: 12,\n    added: 'FIX.4.4',\n    tag: 577,\n    type: 'int',\n    codeSet: 'ClearingInstructionCodeSet',\n    description: 'Customer trade',\n  },\n  {\n    name: 'SelfClearing',\n    id: '577014',\n    value: '13',\n    sort: 13,\n    added: 'FIX.4.4',\n    tag: 577,\n    type: 'int',\n    codeSet: 'ClearingInstructionCodeSet',\n    description: 'Self clearing',\n  },\n  {\n    name: 'BuyIn',\n    id: '577015',\n    value: '14',\n    sort: 14,\n    added: 'FIX.5.0SP2',\n    addedEP: '136',\n    tag: 577,\n    type: 'int',\n    codeSet: 'ClearingInstructionCodeSet',\n    description: 'Buy-in',\n  },\n  {\n    name: 'CarriedCustomerSide',\n    id: '581001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.3',\n    tag: 581,\n    type: 'int',\n    codeSet: 'AccountTypeCodeSet',\n    description: 'Account is carried on customer side of the books',\n  },\n  {\n    name: 'CarriedNonCustomerSide',\n    id: '581002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.3',\n    tag: 581,\n    type: 'int',\n    codeSet: 'AccountTypeCodeSet',\n    description: 'Account is carried on non-customer side of books',\n  },\n  {\n    name: 'HouseTrader',\n    id: '581003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.3',\n    tag: 581,\n    type: 'int',\n    codeSet: 'AccountTypeCodeSet',\n    description: 'House Trader',\n  },\n  {\n    name: 'FloorTrader',\n    id: '581004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.4.3',\n    tag: 581,\n    type: 'int',\n    codeSet: 'AccountTypeCodeSet',\n    description: 'Floor Trader',\n  },\n  {\n    name: 'CarriedNonCustomerSideCrossMargined',\n    id: '581005',\n    value: '6',\n    sort: 5,\n    added: 'FIX.4.3',\n    tag: 581,\n    type: 'int',\n    codeSet: 'AccountTypeCodeSet',\n    description: 'Account is carried on non-customer side of books and is cross margined',\n  },\n  {\n    name: 'HouseTraderCrossMargined',\n    id: '581006',\n    value: '7',\n    sort: 6,\n    added: 'FIX.4.3',\n    tag: 581,\n    type: 'int',\n    codeSet: 'AccountTypeCodeSet',\n    description: 'Account is house trader and is cross margined',\n  },\n  {\n    name: 'JointBackOfficeAccount',\n    id: '581007',\n    value: '8',\n    sort: 7,\n    added: 'FIX.4.3',\n    tag: 581,\n    type: 'int',\n    codeSet: 'AccountTypeCodeSet',\n    description: 'Joint back office account (JBO)',\n  },\n  {\n    name: 'EquitiesSpecialist',\n    id: '581008',\n    value: '9',\n    sort: 8,\n    added: 'FIX.5.0SP2',\n    addedEP: '101',\n    tag: 581,\n    type: 'int',\n    codeSet: 'AccountTypeCodeSet',\n    description: 'Equities specialist',\n  },\n  {\n    name: 'OptionsMarketMaker',\n    id: '581009',\n    value: '10',\n    sort: 9,\n    added: 'FIX.5.0SP2',\n    addedEP: '101',\n    tag: 581,\n    type: 'int',\n    codeSet: 'AccountTypeCodeSet',\n    description: 'Options market maker',\n  },\n  {\n    name: 'OptionsFirmAccount',\n    id: '581010',\n    value: '11',\n    sort: 10,\n    added: 'FIX.5.0SP2',\n    addedEP: '101',\n    tag: 581,\n    type: 'int',\n    codeSet: 'AccountTypeCodeSet',\n    description: 'Options firm account',\n  },\n  {\n    name: 'AccountCustomerNonCustomerOrders',\n    id: '581011',\n    value: '12',\n    sort: 12,\n    added: 'FIX.5.0SP2',\n    addedEP: '256',\n    tag: 581,\n    type: 'int',\n    codeSet: 'AccountTypeCodeSet',\n    description:\n      'Account for customer and non-customer orders\\n\\nAccount aggregates orders from customers and non-customers.\\n\\nIn the context of IIROC UMIR this account type can be used for bundled orders (BU), i.e. orders including client, non-client and principal orders.',\n  },\n  {\n    name: 'AccountOrdersMultipleCustomers',\n    id: '581012',\n    value: '13',\n    sort: 13,\n    added: 'FIX.5.0SP2',\n    addedEP: '256',\n    tag: 581,\n    type: 'int',\n    codeSet: 'AccountTypeCodeSet',\n    description:\n      'Account for orders from multiple customers\\n\\nAccount aggregates orders from multiple customers.\\n\\nIn the context of IIROC UMIR this account type can be used for multiple client orders (MC), i.e. orders including orders from more than one client but no principal or non-client orders.',\n  },\n  {\n    name: 'MemberTradingForTheirOwnAccount',\n    id: '582001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 582,\n    type: 'int',\n    codeSet: 'CustOrderCapacityCodeSet',\n    description: 'Member trading for their own account',\n  },\n  {\n    name: 'ClearingFirmTradingForItsProprietaryAccount',\n    id: '582002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '205',\n    tag: 582,\n    type: 'int',\n    codeSet: 'CustOrderCapacityCodeSet',\n    description: 'Clearing firm trading for its proprietary account',\n  },\n  {\n    name: 'MemberTradingForAnotherMember',\n    id: '582003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.4',\n    tag: 582,\n    type: 'int',\n    codeSet: 'CustOrderCapacityCodeSet',\n    description: 'Member trading for another member',\n  },\n  {\n    name: 'AllOther',\n    id: '582004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.4.4',\n    tag: 582,\n    type: 'int',\n    codeSet: 'CustOrderCapacityCodeSet',\n    description: 'All other',\n  },\n  {\n    name: 'RetailCustomer',\n    id: '582005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '205',\n    tag: 582,\n    type: 'int',\n    codeSet: 'CustOrderCapacityCodeSet',\n    description:\n      'Retail customer\\n\\nAn order that originated from a retail customer (a natural person). In the context of the US Securities and Exchange Commission, this also means an order originated from a natural person where, prior to submission, no change was made to the terms of the order with respect to price or side of market and the order does not originate from an algorithm or other computerized trading method.',\n  },\n  {\n    name: 'StatusForOrdersForASecurity',\n    id: '585001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.3',\n    updated: 'FIX.Latest',\n    updatedEP: '271',\n    tag: 585,\n    type: 'int',\n    codeSet: 'MassStatusReqTypeCodeSet',\n    description: 'Status for orders for a security',\n  },\n  {\n    name: 'StatusForOrdersForAnUnderlyingSecurity',\n    id: '585002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.3',\n    updated: 'FIX.Latest',\n    updatedEP: '271',\n    tag: 585,\n    type: 'int',\n    codeSet: 'MassStatusReqTypeCodeSet',\n    description: 'Status for orders for an underlying security',\n  },\n  {\n    name: 'StatusForOrdersForAProduct',\n    id: '585003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.3',\n    updated: 'FIX.Latest',\n    updatedEP: '282',\n    tag: 585,\n    type: 'int',\n    codeSet: 'MassStatusReqTypeCodeSet',\n    description: 'Status for orders for a product',\n  },\n  {\n    name: 'StatusForOrdersForACFICode',\n    id: '585004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.4.3',\n    updated: 'FIX.Latest',\n    updatedEP: '271',\n    tag: 585,\n    type: 'int',\n    codeSet: 'MassStatusReqTypeCodeSet',\n    description: 'Status for orders for a CFI Code',\n  },\n  {\n    name: 'StatusForOrdersForASecurityType',\n    id: '585005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.4.3',\n    updated: 'FIX.Latest',\n    updatedEP: '271',\n    tag: 585,\n    type: 'int',\n    codeSet: 'MassStatusReqTypeCodeSet',\n    description: 'Status for orders for a security type',\n  },\n  {\n    name: 'StatusForOrdersForATradingSession',\n    id: '585006',\n    value: '6',\n    sort: 6,\n    added: 'FIX.4.3',\n    tag: 585,\n    type: 'int',\n    codeSet: 'MassStatusReqTypeCodeSet',\n    description: 'Status for orders for a trading session',\n  },\n  {\n    name: 'StatusForAllOrders',\n    id: '585007',\n    value: '7',\n    sort: 7,\n    added: 'FIX.4.3',\n    tag: 585,\n    type: 'int',\n    codeSet: 'MassStatusReqTypeCodeSet',\n    description: 'Status for all orders',\n  },\n  {\n    name: 'StatusForOrdersForAPartyID',\n    id: '585008',\n    value: '8',\n    sort: 8,\n    added: 'FIX.4.3',\n    updated: 'FIX.Latest',\n    updatedEP: '271',\n    tag: 585,\n    type: 'int',\n    codeSet: 'MassStatusReqTypeCodeSet',\n    description: 'Status for orders for a party identifier',\n  },\n  {\n    name: 'StatusForSecurityIssuer',\n    id: '585009',\n    value: '9',\n    sort: 9,\n    added: 'FIX.5.0SP1',\n    addedEP: '85',\n    updated: 'FIX.Latest',\n    updatedEP: '282',\n    tag: 585,\n    type: 'int',\n    codeSet: 'MassStatusReqTypeCodeSet',\n    description: 'Status for orders for an issuer',\n  },\n  {\n    name: 'StatusForIssuerOfUnderlyingSecurity',\n    id: '585010',\n    value: '10',\n    sort: 10,\n    added: 'FIX.5.0SP1',\n    addedEP: '85',\n    updated: 'FIX.Latest',\n    updatedEP: '282',\n    tag: 585,\n    type: 'int',\n    codeSet: 'MassStatusReqTypeCodeSet',\n    description: 'Status for orders for an issuer of underlying security',\n  },\n  {\n    name: 'Auto',\n    id: '589001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.3',\n    tag: 589,\n    type: 'char',\n    codeSet: 'DayBookingInstCodeSet',\n    description: 'Can trigger booking without reference to the order initiator (\"auto\")',\n  },\n  {\n    name: 'SpeakWithOrderInitiatorBeforeBooking',\n    id: '589002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.3',\n    tag: 589,\n    type: 'char',\n    codeSet: 'DayBookingInstCodeSet',\n    description: 'Speak with order initiator before booking (\"speak first\")',\n  },\n  {\n    name: 'Accumulate',\n    id: '589003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.4.4',\n    tag: 589,\n    type: 'char',\n    codeSet: 'DayBookingInstCodeSet',\n    description: 'Accumulate',\n  },\n  {\n    name: 'EachPartialExecutionIsABookableUnit',\n    id: '590001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.3',\n    tag: 590,\n    type: 'char',\n    codeSet: 'BookingUnitCodeSet',\n    description: 'Each partial execution is a bookable unit',\n  },\n  {\n    name: 'AggregatePartialExecutionsOnThisOrder',\n    id: '590002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.3',\n    tag: 590,\n    type: 'char',\n    codeSet: 'BookingUnitCodeSet',\n    description:\n      'Aggregate partial executions on this order, and book one trade per order',\n  },\n  {\n    name: 'AggregateExecutionsForThisSymbol',\n    id: '590003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.4.3',\n    tag: 590,\n    type: 'char',\n    codeSet: 'BookingUnitCodeSet',\n    description: 'Aggregate executions for this symbol, side, and settlement date',\n  },\n  {\n    name: 'ProRata',\n    id: '591001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.3',\n    tag: 591,\n    type: 'char',\n    codeSet: 'PreallocMethodCodeSet',\n    description: 'Pro rata',\n  },\n  {\n    name: 'DoNotProRata',\n    id: '591002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.3',\n    tag: 591,\n    type: 'char',\n    codeSet: 'PreallocMethodCodeSet',\n    description: 'Do not pro-rata - discuss first',\n  },\n  {\n    name: 'PreTrading',\n    id: '625001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0',\n    addedEP: '58',\n    tag: 625,\n    type: 'String',\n    codeSet: 'TradingSessionSubIDCodeSet',\n    description: 'Pre-Trading',\n  },\n  {\n    name: 'OpeningOrOpeningAuction',\n    id: '625002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0',\n    addedEP: '58',\n    tag: 625,\n    type: 'String',\n    codeSet: 'TradingSessionSubIDCodeSet',\n    description: 'Opening or opening auction',\n  },\n  {\n    name: 'Continuous',\n    id: '625003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0',\n    addedEP: '58',\n    tag: 625,\n    type: 'String',\n    codeSet: 'TradingSessionSubIDCodeSet',\n    description: '(Continuous) Trading',\n  },\n  {\n    name: 'ClosingOrClosingAuction',\n    id: '625004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0',\n    addedEP: '58',\n    tag: 625,\n    type: 'String',\n    codeSet: 'TradingSessionSubIDCodeSet',\n    description: 'Closing or closing auction',\n  },\n  {\n    name: 'PostTrading',\n    id: '625005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0',\n    addedEP: '58',\n    tag: 625,\n    type: 'String',\n    codeSet: 'TradingSessionSubIDCodeSet',\n    description: 'Post-Trading',\n  },\n  {\n    name: 'ScheduledIntradayAuction',\n    id: '625006',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0',\n    addedEP: '58',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '163',\n    tag: 625,\n    type: 'String',\n    codeSet: 'TradingSessionSubIDCodeSet',\n    description: 'Scheduled intraday auction',\n  },\n  {\n    name: 'Quiescent',\n    id: '625007',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0',\n    addedEP: '58',\n    tag: 625,\n    type: 'String',\n    codeSet: 'TradingSessionSubIDCodeSet',\n    description: 'Quiescent',\n  },\n  {\n    name: 'AnyAuction',\n    id: '625008',\n    value: '8',\n    sort: 8,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 625,\n    type: 'String',\n    codeSet: 'TradingSessionSubIDCodeSet',\n    description: 'Any auction',\n  },\n  {\n    name: 'UnscheduledIntradayAuction',\n    id: '625009',\n    value: '9',\n    sort: 9,\n    added: 'FIX.5.0SP2',\n    addedEP: '163',\n    tag: 625,\n    type: 'String',\n    codeSet: 'TradingSessionSubIDCodeSet',\n    description:\n      'Unscheduled intraday auction\\n\\nAn unscheduled intraday auction might be triggered by a circuit breaker.',\n  },\n  {\n    name: 'OutOfMainSessionTrading',\n    id: '625010',\n    value: '10',\n    sort: 10,\n    added: 'FIX.5.0SP2',\n    addedEP: '163',\n    tag: 625,\n    type: 'String',\n    codeSet: 'TradingSessionSubIDCodeSet',\n    description:\n      'Out of main session trading\\n\\nIn the context of Market Model Typology \"Out of main session trading\" refers to both before and after session, neither auction nor continuous trading.',\n  },\n  {\n    name: 'PrivateAuction',\n    id: '625011',\n    value: '11',\n    sort: 11,\n    added: 'FIX.5.0SP2',\n    addedEP: '168',\n    tag: 625,\n    type: 'String',\n    codeSet: 'TradingSessionSubIDCodeSet',\n    description:\n      'Private auction\\n\\nAn auction phase where only two parties participate.',\n  },\n  {\n    name: 'PublicAuction',\n    id: '625012',\n    value: '12',\n    sort: 12,\n    added: 'FIX.5.0SP2',\n    addedEP: '168',\n    tag: 625,\n    type: 'String',\n    codeSet: 'TradingSessionSubIDCodeSet',\n    description:\n      'Public auction\\n\\nAn auction phase where all trading parties participate.',\n  },\n  {\n    name: 'GroupAuction',\n    id: '625013',\n    value: '13',\n    sort: 13,\n    added: 'FIX.5.0SP2',\n    addedEP: '168',\n    tag: 625,\n    type: 'String',\n    codeSet: 'TradingSessionSubIDCodeSet',\n    description:\n      'Group auction\\n\\nAn auction phase limited to specific parties (e.g. parties that have resting orders in the order book).',\n  },\n  {\n    name: 'OrderInitiatedAuction',\n    id: '625014',\n    value: '14',\n    sort: 14,\n    added: 'FIX.Latest',\n    addedEP: '286',\n    tag: 625,\n    type: 'String',\n    codeSet: 'TradingSessionSubIDCodeSet',\n    description:\n      'Order initiated auction\\n\\nAuction automatically triggered by an order, e.g. an incoming order or a resting order that can be matched based on an incoming order. Use 9=\"Unscheduled intraday auction\" for any other auctions that are not scheduled. In the context of Market Model Topology, this can be used for an on demand auction (a.k.a. frequent batched auction).',\n  },\n  {\n    name: 'Calculated',\n    id: '626001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.3',\n    tag: 626,\n    type: 'int',\n    codeSet: 'AllocTypeCodeSet',\n    description: 'Calculated (includes MiscFees and NetMoney)',\n  },\n  {\n    name: 'Preliminary',\n    id: '626002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.3',\n    tag: 626,\n    type: 'int',\n    codeSet: 'AllocTypeCodeSet',\n    description: 'Preliminary (without MiscFees and NetMoney)',\n  },\n  {\n    name: 'SellsideCalculatedUsingPreliminary',\n    id: '626003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.3',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '118',\n    deprecated: 'FIX.4.2',\n    tag: 626,\n    type: 'int',\n    codeSet: 'AllocTypeCodeSet',\n    description:\n      'Sellside calculated using preliminary (includes MiscFees and NetMoney) (Replaced)',\n  },\n  {\n    name: 'SellsideCalculatedWithoutPreliminary',\n    id: '626004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.4.3',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '118',\n    deprecated: 'FIX.4.2',\n    tag: 626,\n    type: 'int',\n    codeSet: 'AllocTypeCodeSet',\n    description:\n      'Sellside calculatedd without preliminary (sent unsolicited by sellside, includes MiscFees and NetMoney) (Replaced)',\n  },\n  {\n    name: 'ReadyToBook',\n    id: '626005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.4.3',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '118',\n    tag: 626,\n    type: 'int',\n    codeSet: 'AllocTypeCodeSet',\n    description: 'Ready-To-Book single order',\n  },\n  {\n    name: 'BuysideReadyToBook',\n    id: '626006',\n    value: '6',\n    sort: 6,\n    added: 'FIX.4.3',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '118',\n    deprecated: 'FIX.4.2',\n    tag: 626,\n    type: 'int',\n    codeSet: 'AllocTypeCodeSet',\n    description: 'Buyside Ready-To-Book - combined set of orders (replaced)',\n  },\n  {\n    name: 'WarehouseInstruction',\n    id: '626007',\n    value: '7',\n    sort: 7,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '118',\n    tag: 626,\n    type: 'int',\n    codeSet: 'AllocTypeCodeSet',\n    description: 'Warehouse instruction',\n  },\n  {\n    name: 'RequestToIntermediary',\n    id: '626008',\n    value: '8',\n    sort: 8,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '118',\n    tag: 626,\n    type: 'int',\n    codeSet: 'AllocTypeCodeSet',\n    description: 'Request to intermediary',\n  },\n  {\n    name: 'Accept',\n    id: '626009',\n    value: '9',\n    sort: 9,\n    added: 'FIX.4.4',\n    addedEP: '5',\n    deprecated: 'FIX.5.0SP2',\n    deprecatedEP: '118',\n    tag: 626,\n    type: 'int',\n    codeSet: 'AllocTypeCodeSet',\n    description: 'Accept',\n  },\n  {\n    name: 'Reject',\n    id: '626010',\n    value: '10',\n    sort: 10,\n    added: 'FIX.4.4',\n    addedEP: '5',\n    deprecated: 'FIX.5.0SP2',\n    deprecatedEP: '118',\n    tag: 626,\n    type: 'int',\n    codeSet: 'AllocTypeCodeSet',\n    description: 'Reject',\n  },\n  {\n    name: 'AcceptPending',\n    id: '626011',\n    value: '11',\n    sort: 11,\n    added: 'FIX.4.4',\n    addedEP: '5',\n    deprecated: 'FIX.5.0SP2',\n    deprecatedEP: '118',\n    tag: 626,\n    type: 'int',\n    codeSet: 'AllocTypeCodeSet',\n    description: 'Accept Pending',\n  },\n  {\n    name: 'IncompleteGroup',\n    id: '626012',\n    value: '12',\n    sort: 12,\n    added: 'FIX.4.4',\n    addedEP: '5',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '118',\n    tag: 626,\n    type: 'int',\n    codeSet: 'AllocTypeCodeSet',\n    description: 'Incomplete group',\n  },\n  {\n    name: 'CompleteGroup',\n    id: '626013',\n    value: '13',\n    sort: 13,\n    added: 'FIX.4.4',\n    addedEP: '5',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '118',\n    tag: 626,\n    type: 'int',\n    codeSet: 'AllocTypeCodeSet',\n    description: 'Complete group',\n  },\n  {\n    name: 'ReversalPending',\n    id: '626014',\n    value: '14',\n    sort: 14,\n    added: 'FIX.4.4',\n    addedEP: '5',\n    deprecated: 'FIX.5.0SP2',\n    deprecatedEP: '118',\n    tag: 626,\n    type: 'int',\n    codeSet: 'AllocTypeCodeSet',\n    description: 'Reversal Pending',\n  },\n  {\n    name: 'ReopenGroup',\n    id: '626015',\n    value: '15',\n    sort: 15,\n    added: 'FIX.5.0SP2',\n    addedEP: '118',\n    tag: 626,\n    type: 'int',\n    codeSet: 'AllocTypeCodeSet',\n    description: 'Reopen group',\n  },\n  {\n    name: 'CancelGroup',\n    id: '626016',\n    value: '16',\n    sort: 16,\n    added: 'FIX.5.0SP2',\n    addedEP: '118',\n    tag: 626,\n    type: 'int',\n    codeSet: 'AllocTypeCodeSet',\n    description: 'Cancel group',\n  },\n  {\n    name: 'Giveup',\n    id: '626017',\n    value: '17',\n    sort: 17,\n    added: 'FIX.5.0SP2',\n    addedEP: '118',\n    tag: 626,\n    type: 'int',\n    codeSet: 'AllocTypeCodeSet',\n    description: 'Give-up',\n  },\n  {\n    name: 'Takeup',\n    id: '626018',\n    value: '18',\n    sort: 18,\n    added: 'FIX.5.0SP2',\n    addedEP: '118',\n    tag: 626,\n    type: 'int',\n    codeSet: 'AllocTypeCodeSet',\n    description: 'Take-up',\n  },\n  {\n    name: 'RefuseTakeup',\n    id: '626019',\n    value: '19',\n    sort: 19,\n    added: 'FIX.5.0SP2',\n    addedEP: '118',\n    tag: 626,\n    type: 'int',\n    codeSet: 'AllocTypeCodeSet',\n    description: 'Refuse take-up',\n  },\n  {\n    name: 'InitiateReversal',\n    id: '626020',\n    value: '20',\n    sort: 20,\n    added: 'FIX.5.0SP2',\n    addedEP: '118',\n    tag: 626,\n    type: 'int',\n    codeSet: 'AllocTypeCodeSet',\n    description: 'Initiate reversal',\n  },\n  {\n    name: 'Reverse',\n    id: '626021',\n    value: '21',\n    sort: 21,\n    added: 'FIX.5.0SP2',\n    addedEP: '118',\n    tag: 626,\n    type: 'int',\n    codeSet: 'AllocTypeCodeSet',\n    description: 'Reverse',\n  },\n  {\n    name: 'RefuseReversal',\n    id: '626022',\n    value: '22',\n    sort: 22,\n    added: 'FIX.5.0SP2',\n    addedEP: '118',\n    tag: 626,\n    type: 'int',\n    codeSet: 'AllocTypeCodeSet',\n    description: 'Refuse reversal',\n  },\n  {\n    name: 'SubAllocationGiveup',\n    id: '626023',\n    value: '23',\n    sort: 23,\n    added: 'FIX.5.0SP2',\n    addedEP: '118',\n    tag: 626,\n    type: 'int',\n    codeSet: 'AllocTypeCodeSet',\n    description: 'Sub-allocation give-up',\n  },\n  {\n    name: 'ApproveGiveup',\n    id: '626024',\n    value: '24',\n    sort: 24,\n    added: 'FIX.5.0SP2',\n    addedEP: '118',\n    tag: 626,\n    type: 'int',\n    codeSet: 'AllocTypeCodeSet',\n    description: 'Approve give-up',\n  },\n  {\n    name: 'ApproveTakeup',\n    id: '626025',\n    value: '25',\n    sort: 25,\n    added: 'FIX.5.0SP2',\n    addedEP: '118',\n    tag: 626,\n    type: 'int',\n    codeSet: 'AllocTypeCodeSet',\n    description: 'Approve take-up',\n  },\n  {\n    name: 'NotionalValueAveragePxGroupAlloc',\n    id: '626026',\n    value: '26',\n    sort: 26,\n    added: 'FIX.5.0SP2',\n    addedEP: '239',\n    tag: 626,\n    type: 'int',\n    codeSet: 'AllocTypeCodeSet',\n    description:\n      'Notional value average price group allocation\\n\\nUsed when conducting notional value average price (NVAP) group allocation with a clearinghouse.',\n  },\n  {\n    name: 'FirstYearDelegate',\n    id: '635001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.3',\n    tag: 635,\n    type: 'String',\n    codeSet: 'ClearingFeeIndicatorCodeSet',\n    description: '1st year delegate trading for own account',\n  },\n  {\n    name: 'SecondYearDelegate',\n    id: '635002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.3',\n    tag: 635,\n    type: 'String',\n    codeSet: 'ClearingFeeIndicatorCodeSet',\n    description: '2nd year delegate trading for own account',\n  },\n  {\n    name: 'ThirdYearDelegate',\n    id: '635003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.3',\n    tag: 635,\n    type: 'String',\n    codeSet: 'ClearingFeeIndicatorCodeSet',\n    description: '3rd year delegate trading for own account',\n  },\n  {\n    name: 'FourthYearDelegate',\n    id: '635004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.4.3',\n    tag: 635,\n    type: 'String',\n    codeSet: 'ClearingFeeIndicatorCodeSet',\n    description: '4th year delegate trading for own account',\n  },\n  {\n    name: 'FifthYearDelegate',\n    id: '635005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.4.3',\n    tag: 635,\n    type: 'String',\n    codeSet: 'ClearingFeeIndicatorCodeSet',\n    description: '5th year delegate trading for own account',\n  },\n  {\n    name: 'SixthYearDelegate',\n    id: '635006',\n    value: '9',\n    sort: 6,\n    added: 'FIX.4.3',\n    tag: 635,\n    type: 'String',\n    codeSet: 'ClearingFeeIndicatorCodeSet',\n    description: '6th year delegate trading for own account',\n  },\n  {\n    name: 'CBOEMember',\n    id: '635007',\n    value: 'B',\n    sort: 7,\n    added: 'FIX.4.3',\n    tag: 635,\n    type: 'String',\n    codeSet: 'ClearingFeeIndicatorCodeSet',\n    description: 'CBOE Member',\n  },\n  {\n    name: 'NonMemberAndCustomer',\n    id: '635008',\n    value: 'C',\n    sort: 8,\n    added: 'FIX.4.3',\n    tag: 635,\n    type: 'String',\n    codeSet: 'ClearingFeeIndicatorCodeSet',\n    description: 'Non-member and Customer',\n  },\n  {\n    name: 'EquityMemberAndClearingMember',\n    id: '635009',\n    value: 'E',\n    sort: 9,\n    added: 'FIX.4.3',\n    tag: 635,\n    type: 'String',\n    codeSet: 'ClearingFeeIndicatorCodeSet',\n    description: 'Equity Member and Clearing Member',\n  },\n  {\n    name: 'FullAndAssociateMember',\n    id: '635010',\n    value: 'F',\n    sort: 10,\n    added: 'FIX.4.3',\n    tag: 635,\n    type: 'String',\n    codeSet: 'ClearingFeeIndicatorCodeSet',\n    description: 'Full and Associate Member trading for own account and as floor brokers',\n  },\n  {\n    name: 'Firms106HAnd106J',\n    id: '635011',\n    value: 'H',\n    sort: 11,\n    added: 'FIX.4.3',\n    tag: 635,\n    type: 'String',\n    codeSet: 'ClearingFeeIndicatorCodeSet',\n    description: '106.H and 106.J firms',\n  },\n  {\n    name: 'GIM',\n    id: '635012',\n    value: 'I',\n    sort: 12,\n    added: 'FIX.4.3',\n    tag: 635,\n    type: 'String',\n    codeSet: 'ClearingFeeIndicatorCodeSet',\n    description: 'GIM, IDEM and COM Membership Interest Holders',\n  },\n  {\n    name: 'Lessee106FEmployees',\n    id: '635013',\n    value: 'L',\n    sort: 13,\n    added: 'FIX.4.3',\n    tag: 635,\n    type: 'String',\n    codeSet: 'ClearingFeeIndicatorCodeSet',\n    description: 'Lessee 106.F Employees',\n  },\n  {\n    name: 'AllOtherOwnershipTypes',\n    id: '635014',\n    value: 'M',\n    sort: 14,\n    added: 'FIX.4.3',\n    tag: 635,\n    type: 'String',\n    codeSet: 'ClearingFeeIndicatorCodeSet',\n    description: 'All other ownership types',\n  },\n  {\n    name: 'NotWorking',\n    id: '636001',\n    value: 'N',\n    sort: 1,\n    added: 'FIX.4.3',\n    tag: 636,\n    type: 'Boolean',\n    codeSet: 'WorkingIndicatorCodeSet',\n    description: 'Order has been accepted but not yet in a working state',\n  },\n  {\n    name: 'Working',\n    id: '636002',\n    value: 'Y',\n    sort: 2,\n    added: 'FIX.4.3',\n    tag: 636,\n    type: 'Boolean',\n    codeSet: 'WorkingIndicatorCodeSet',\n    description: 'Order is currently being worked',\n  },\n  {\n    name: 'PriorityUnchanged',\n    id: '638001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.3',\n    tag: 638,\n    type: 'int',\n    codeSet: 'PriorityIndicatorCodeSet',\n    description: 'Priority unchanged',\n  },\n  {\n    name: 'LostPriorityAsResultOfOrderChange',\n    id: '638002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.3',\n    tag: 638,\n    type: 'int',\n    codeSet: 'PriorityIndicatorCodeSet',\n    description: 'Lost Priority as result of order change',\n  },\n  {\n    name: 'DoesNotConsituteALegalConfirm',\n    id: '650001',\n    value: 'N',\n    sort: 1,\n    added: 'FIX.4.3',\n    tag: 650,\n    type: 'Boolean',\n    codeSet: 'LegalConfirmCodeSet',\n    description: 'Does not consitute a Legal Confirm',\n  },\n  {\n    name: 'LegalConfirm',\n    id: '650002',\n    value: 'Y',\n    sort: 2,\n    added: 'FIX.4.3',\n    tag: 650,\n    type: 'Boolean',\n    codeSet: 'LegalConfirmCodeSet',\n    description: 'Legal Confirm',\n  },\n  {\n    name: 'UnknownSymbol',\n    id: '658001',\n    value: '1',\n    sort: 0,\n    added: 'FIX.4.3',\n    updated: 'FIX.Latest',\n    updatedEP: '290',\n    tag: 658,\n    type: 'int',\n    codeSet: 'QuoteRequestRejectReasonCodeSet',\n    description:\n      'Unknown Symbol (Security)\\n\\nIn the context of IA FX Reject codes, Quote Rejection Category F, the RFQ is rejected due to unknown or unsupported product, e.g. by the specific venue, tenor restrictions on the market participant(s) involved.',\n  },\n  {\n    name: 'Exchange',\n    id: '658002',\n    value: '2',\n    sort: 1,\n    added: 'FIX.4.3',\n    tag: 658,\n    type: 'int',\n    codeSet: 'QuoteRequestRejectReasonCodeSet',\n    description: 'Exchange (Security) Closed',\n  },\n  {\n    name: 'QuoteRequestExceedsLimit',\n    id: '658003',\n    value: '3',\n    sort: 2,\n    added: 'FIX.4.3',\n    updated: 'FIX.Latest',\n    updatedEP: '290',\n    tag: 658,\n    type: 'int',\n    codeSet: 'QuoteRequestRejectReasonCodeSet',\n    description:\n      'Quote Request Exceeds Limit\\n\\nIn the context of IA FX Reject codes, Quote Rejection Category D, the RFQ is rejected due to risk limit exceeded or not in place.',\n  },\n  {\n    name: 'TooLateToEnter',\n    id: '658004',\n    value: '4',\n    sort: 3,\n    added: 'FIX.4.3',\n    tag: 658,\n    type: 'int',\n    codeSet: 'QuoteRequestRejectReasonCodeSet',\n    description: 'Too Late to enter',\n  },\n  {\n    name: 'InvalidPrice',\n    id: '658005',\n    value: '5',\n    sort: 4,\n    added: 'FIX.4.3',\n    tag: 658,\n    type: 'int',\n    codeSet: 'QuoteRequestRejectReasonCodeSet',\n    description: 'Invalid Price',\n  },\n  {\n    name: 'NotAuthorizedToRequestQuote',\n    id: '658006',\n    value: '6',\n    sort: 5,\n    added: 'FIX.4.3',\n    tag: 658,\n    type: 'int',\n    codeSet: 'QuoteRequestRejectReasonCodeSet',\n    description: 'Not Authorized To Request Quote',\n  },\n  {\n    name: 'NoMatchForInquiry',\n    id: '658007',\n    value: '7',\n    sort: 6,\n    added: 'FIX.4.4',\n    tag: 658,\n    type: 'int',\n    codeSet: 'QuoteRequestRejectReasonCodeSet',\n    description: 'No Match For Inquiry',\n  },\n  {\n    name: 'NoMarketForInstrument',\n    id: '658008',\n    value: '8',\n    sort: 7,\n    added: 'FIX.4.4',\n    updated: 'FIX.Latest',\n    updatedEP: '290',\n    tag: 658,\n    type: 'int',\n    codeSet: 'QuoteRequestRejectReasonCodeSet',\n    description:\n      'No Market For Instrument\\n\\nIn the context of IA FX Reject codes, Quote Rejection Category F, the RFQ is rejected due to unknown or unsupported product.',\n  },\n  {\n    name: 'NoInventory',\n    id: '658009',\n    value: '9',\n    sort: 8,\n    added: 'FIX.4.4',\n    tag: 658,\n    type: 'int',\n    codeSet: 'QuoteRequestRejectReasonCodeSet',\n    description: 'No Inventory',\n  },\n  {\n    name: 'Pass',\n    id: '658010',\n    value: '10',\n    sort: 9,\n    added: 'FIX.4.4',\n    tag: 658,\n    type: 'int',\n    codeSet: 'QuoteRequestRejectReasonCodeSet',\n    description: 'Pass',\n  },\n  {\n    name: 'InsufficientCredit',\n    id: '658011',\n    value: '11',\n    sort: 10,\n    added: 'FIX.4.4',\n    addedEP: '21',\n    updated: 'FIX.Latest',\n    updatedEP: '290',\n    tag: 658,\n    type: 'int',\n    codeSet: 'QuoteRequestRejectReasonCodeSet',\n    description:\n      'Insufficient credit\\n\\nIn the context of IA FX Reject codes, Quote Rejection Category A, the RFQ is rejected due to credit limit exceeded or not in place.',\n  },\n  {\n    name: 'ExceededClipSizeLimit',\n    id: '658012',\n    value: '12',\n    sort: 12,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    tag: 658,\n    type: 'int',\n    codeSet: 'QuoteRequestRejectReasonCodeSet',\n    description: 'Exceeded clip size limit',\n  },\n  {\n    name: 'ExceededMaxNotionalOrderAmt',\n    id: '658013',\n    value: '13',\n    sort: 13,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    tag: 658,\n    type: 'int',\n    codeSet: 'QuoteRequestRejectReasonCodeSet',\n    description: 'Exceeded maximum notional order amount',\n  },\n  {\n    name: 'ExceededDV01PV01Limit',\n    id: '658014',\n    value: '14',\n    sort: 14,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    tag: 658,\n    type: 'int',\n    codeSet: 'QuoteRequestRejectReasonCodeSet',\n    description: 'Exceeded DV01/PV01 limit',\n  },\n  {\n    name: 'ExceededCS01Limit',\n    id: '658015',\n    value: '15',\n    sort: 15,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    tag: 658,\n    type: 'int',\n    codeSet: 'QuoteRequestRejectReasonCodeSet',\n    description: 'Exceeded CS01 limit',\n  },\n  {\n    name: 'UnavailablePriceLiquidity',\n    id: '658016',\n    value: '16',\n    sort: 16,\n    added: 'FIX.Latest',\n    addedEP: '290',\n    tag: 658,\n    type: 'int',\n    codeSet: 'QuoteRequestRejectReasonCodeSet',\n    description:\n      'Unavailable price or liquidity\\n\\nIn the context of IA FX Reject codes, Quote Rejection Category A, the RFQ is rejected due to unavailable price information.',\n  },\n  {\n    name: 'UnmetRegulatoryRequirement',\n    id: '658017',\n    value: '17',\n    sort: 17,\n    added: 'FIX.Latest',\n    addedEP: '290',\n    tag: 658,\n    type: 'int',\n    codeSet: 'QuoteRequestRejectReasonCodeSet',\n    description:\n      'Unmet regulatory requirement\\n\\nIn the context of IA FX Reject codes, Quote Rejection Category B, the RFQ is rejected due to regulatory requirements not being met. For example, a RFQ is submitted into a SEF by a non-SEF participant, or an NDF was submitted into the trading platform.',\n  },\n  {\n    name: 'UnknownAccounts',\n    id: '658018',\n    value: '18',\n    sort: 18,\n    added: 'FIX.Latest',\n    addedEP: '290',\n    tag: 658,\n    type: 'int',\n    codeSet: 'QuoteRequestRejectReasonCodeSet',\n    description:\n      'Unknown account(s)\\n\\nIn the context of IA FX Reject codes, Quote Rejection Category F, the RFQ is rejected due to the account/fund is not setup or unknown.',\n  },\n  {\n    name: 'InvalidMissingEntitlements',\n    id: '658019',\n    value: '19',\n    sort: 19,\n    added: 'FIX.Latest',\n    addedEP: '290',\n    tag: 658,\n    type: 'int',\n    codeSet: 'QuoteRequestRejectReasonCodeSet',\n    description:\n      'Invalid or missing entitlements\\n\\nIn the context of IA FX Reject codes, Quote Rejection Category F, the RFQ is rejected due to static data when the counterparty is not authorized or has missing entitlements.',\n  },\n  {\n    name: 'Other',\n    id: '658020',\n    value: '99',\n    sort: 99,\n    added: 'FIX.4.4',\n    updated: 'FIX.Latest',\n    updatedEP: '290',\n    tag: 658,\n    type: 'int',\n    codeSet: 'QuoteRequestRejectReasonCodeSet',\n    description:\n      'Other\\n\\nIn the context of IA FX Reject codes, Quote Rejection Category E, the RFQ is rejected due to other exceptions. Further detail may be provided in RejectText(1328) or Text(58), with preference for RejectText(1328) if field is present in the message.',\n  },\n  {\n    name: 'BIC',\n    id: '660001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 660,\n    type: 'int',\n    codeSet: 'AcctIDSourceCodeSet',\n    description: 'BIC',\n  },\n  {\n    name: 'SIDCode',\n    id: '660002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 660,\n    type: 'int',\n    codeSet: 'AcctIDSourceCodeSet',\n    description: 'SID Code',\n  },\n  {\n    name: 'TFM',\n    id: '660003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.4',\n    tag: 660,\n    type: 'int',\n    codeSet: 'AcctIDSourceCodeSet',\n    description: 'TFM (GSPTA)',\n  },\n  {\n    name: 'OMGEO',\n    id: '660004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.4.4',\n    tag: 660,\n    type: 'int',\n    codeSet: 'AcctIDSourceCodeSet',\n    description: 'OMGEO (Alert ID)',\n  },\n  {\n    name: 'DTCCCode',\n    id: '660005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.4.4',\n    tag: 660,\n    type: 'int',\n    codeSet: 'AcctIDSourceCodeSet',\n    description: 'DTCC Code',\n  },\n  {\n    name: 'SPSAID',\n    id: '660006',\n    value: '6',\n    sort: 6,\n    added: 'FIX.Latest',\n    addedEP: '262',\n    updated: 'FIX.Latest',\n    updatedEP: '282',\n    tag: 660,\n    type: 'int',\n    codeSet: 'AcctIDSourceCodeSet',\n    description:\n      'Special Segregated Account ID\\n\\nAlso referred to as SPSA ID. The Special Segregated Account identifier issued by Hong Kong Exchanges and Clearing.',\n  },\n  {\n    name: 'Other',\n    id: '660007',\n    value: '99',\n    sort: 99,\n    added: 'FIX.4.4',\n    tag: 660,\n    type: 'int',\n    codeSet: 'AcctIDSourceCodeSet',\n    description: 'Other (custom or proprietary)',\n  },\n  {\n    name: 'Received',\n    id: '665001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 665,\n    type: 'int',\n    codeSet: 'ConfirmStatusCodeSet',\n    description: 'Received',\n  },\n  {\n    name: 'MismatchedAccount',\n    id: '665002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 665,\n    type: 'int',\n    codeSet: 'ConfirmStatusCodeSet',\n    description: 'Mismatched Account',\n  },\n  {\n    name: 'MissingSettlementInstructions',\n    id: '665003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.4',\n    tag: 665,\n    type: 'int',\n    codeSet: 'ConfirmStatusCodeSet',\n    description: 'Missing Settlement Instructions',\n  },\n  {\n    name: 'Confirmed',\n    id: '665004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.4.4',\n    tag: 665,\n    type: 'int',\n    codeSet: 'ConfirmStatusCodeSet',\n    description: 'Confirmed',\n  },\n  {\n    name: 'RequestRejected',\n    id: '665005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.4.4',\n    tag: 665,\n    type: 'int',\n    codeSet: 'ConfirmStatusCodeSet',\n    description: 'Request Rejected',\n  },\n  {\n    name: 'New',\n    id: '666001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 666,\n    type: 'int',\n    codeSet: 'ConfirmTransTypeCodeSet',\n    description: 'New',\n  },\n  {\n    name: 'Replace',\n    id: '666002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 666,\n    type: 'int',\n    codeSet: 'ConfirmTransTypeCodeSet',\n    description: 'Replace',\n  },\n  {\n    name: 'Cancel',\n    id: '666003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.4.4',\n    tag: 666,\n    type: 'int',\n    codeSet: 'ConfirmTransTypeCodeSet',\n    description: 'Cancel',\n  },\n  {\n    name: 'BookEntry',\n    id: '668001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 668,\n    type: 'int',\n    codeSet: 'DeliveryFormCodeSet',\n    description: 'Book Entry (default)',\n  },\n  {\n    name: 'Bearer',\n    id: '668002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 668,\n    type: 'int',\n    codeSet: 'DeliveryFormCodeSet',\n    description: 'Bearer',\n  },\n  {\n    name: 'ParForPar',\n    id: '690001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 690,\n    type: 'int',\n    codeSet: 'LegSwapTypeCodeSet',\n    description: 'Par For Par',\n  },\n  {\n    name: 'ModifiedDuration',\n    id: '690002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 690,\n    type: 'int',\n    codeSet: 'LegSwapTypeCodeSet',\n    description: 'Modified Duration',\n  },\n  {\n    name: 'Risk',\n    id: '690003',\n    value: '4',\n    sort: 3,\n    added: 'FIX.4.4',\n    tag: 690,\n    type: 'int',\n    codeSet: 'LegSwapTypeCodeSet',\n    description: 'Risk',\n  },\n  {\n    name: 'Proceeds',\n    id: '690004',\n    value: '5',\n    sort: 4,\n    added: 'FIX.4.4',\n    tag: 690,\n    type: 'int',\n    codeSet: 'LegSwapTypeCodeSet',\n    description: 'Proceeds',\n  },\n  {\n    name: 'Percent',\n    id: '692001',\n    value: '1',\n    sort: 0,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '207',\n    tag: 692,\n    type: 'int',\n    codeSet: 'QuotePriceTypeCodeSet',\n    description:\n      'Percentage (i.e. percent of par) (often called \"dollar price\" for fixed income)',\n  },\n  {\n    name: 'PerShare',\n    id: '692002',\n    value: '2',\n    sort: 1,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '207',\n    tag: 692,\n    type: 'int',\n    codeSet: 'QuotePriceTypeCodeSet',\n    description: 'Per unit (i.e. per share or contract)',\n  },\n  {\n    name: 'FixedAmount',\n    id: '692003',\n    value: '3',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 692,\n    type: 'int',\n    codeSet: 'QuotePriceTypeCodeSet',\n    description: 'Fixed Amount (absolute value)',\n  },\n  {\n    name: 'Discount',\n    id: '692004',\n    value: '4',\n    sort: 3,\n    added: 'FIX.4.4',\n    tag: 692,\n    type: 'int',\n    codeSet: 'QuotePriceTypeCodeSet',\n    description: 'Discount - percentage points below par',\n  },\n  {\n    name: 'Premium',\n    id: '692005',\n    value: '5',\n    sort: 4,\n    added: 'FIX.4.4',\n    tag: 692,\n    type: 'int',\n    codeSet: 'QuotePriceTypeCodeSet',\n    description: 'Premium - percentage points over par',\n  },\n  {\n    name: 'Spread',\n    id: '692006',\n    value: '6',\n    sort: 5,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '207',\n    tag: 692,\n    type: 'int',\n    codeSet: 'QuotePriceTypeCodeSet',\n    description:\n      'Spread (basis points relative to benchmark)\\n\\nUsually the difference in yield between two switched bonds or a corporate bond traded spread-to-benchmark.',\n  },\n  {\n    name: 'TEDPrice',\n    id: '692007',\n    value: '7',\n    sort: 6,\n    added: 'FIX.4.4',\n    tag: 692,\n    type: 'int',\n    codeSet: 'QuotePriceTypeCodeSet',\n    description: 'TED Price',\n  },\n  {\n    name: 'TEDYield',\n    id: '692008',\n    value: '8',\n    sort: 7,\n    added: 'FIX.4.4',\n    tag: 692,\n    type: 'int',\n    codeSet: 'QuotePriceTypeCodeSet',\n    description: 'TED Yield',\n  },\n  {\n    name: 'YieldSpread',\n    id: '692009',\n    value: '9',\n    sort: 8,\n    added: 'FIX.4.4',\n    tag: 692,\n    type: 'int',\n    codeSet: 'QuotePriceTypeCodeSet',\n    description: 'Yield Spread (swaps)',\n  },\n  {\n    name: 'Yield',\n    id: '692010',\n    value: '10',\n    sort: 9,\n    added: 'FIX.4.4',\n    tag: 692,\n    type: 'int',\n    codeSet: 'QuotePriceTypeCodeSet',\n    description: 'Yield',\n  },\n  {\n    name: 'PriceSpread',\n    id: '692011',\n    value: '12',\n    sort: 11,\n    added: 'FIX.5.0SP2',\n    addedEP: '207',\n    tag: 692,\n    type: 'int',\n    codeSet: 'QuotePriceTypeCodeSet',\n    description:\n      'Price spread\\n\\nPrice spread is expressed based on market convention for the asset being priced or traded. For example: the difference between the prices of a multileg switch or strategy expressed in basis points for a CDS or TBA roll; a price value to be added to a reference price, such as a \"pay up\" for specified pools.',\n  },\n  {\n    name: 'ProductTicksInHalves',\n    id: '692012',\n    value: '13',\n    sort: 12,\n    added: 'FIX.5.0SP2',\n    addedEP: '207',\n    tag: 692,\n    type: 'int',\n    codeSet: 'QuotePriceTypeCodeSet',\n    description: 'Product ticks in halves',\n  },\n  {\n    name: 'ProductTicksInFourths',\n    id: '692013',\n    value: '14',\n    sort: 13,\n    added: 'FIX.5.0SP2',\n    addedEP: '207',\n    tag: 692,\n    type: 'int',\n    codeSet: 'QuotePriceTypeCodeSet',\n    description: 'Product ticks in fourths',\n  },\n  {\n    name: 'ProductTicksInEighths',\n    id: '692014',\n    value: '15',\n    sort: 14,\n    added: 'FIX.5.0SP2',\n    addedEP: '207',\n    tag: 692,\n    type: 'int',\n    codeSet: 'QuotePriceTypeCodeSet',\n    description: 'Product ticks in eighths',\n  },\n  {\n    name: 'ProductTicksInSixteenths',\n    id: '692015',\n    value: '16',\n    sort: 15,\n    added: 'FIX.5.0SP2',\n    addedEP: '207',\n    tag: 692,\n    type: 'int',\n    codeSet: 'QuotePriceTypeCodeSet',\n    description: 'Product ticks in sixteenths',\n  },\n  {\n    name: 'ProductTicksInThirtySeconds',\n    id: '692016',\n    value: '17',\n    sort: 16,\n    added: 'FIX.5.0SP2',\n    addedEP: '207',\n    tag: 692,\n    type: 'int',\n    codeSet: 'QuotePriceTypeCodeSet',\n    description: 'Product ticks in thirty-seconds',\n  },\n  {\n    name: 'ProductTicksInSixtyFourths',\n    id: '692017',\n    value: '18',\n    sort: 17,\n    added: 'FIX.5.0SP2',\n    addedEP: '207',\n    tag: 692,\n    type: 'int',\n    codeSet: 'QuotePriceTypeCodeSet',\n    description: 'Product ticks in sixty-fourths',\n  },\n  {\n    name: 'ProductTicksInOneTwentyEighths',\n    id: '692018',\n    value: '19',\n    sort: 18,\n    added: 'FIX.5.0SP2',\n    addedEP: '207',\n    tag: 692,\n    type: 'int',\n    codeSet: 'QuotePriceTypeCodeSet',\n    description: 'Product ticks in one-twenty-eighths',\n  },\n  {\n    name: 'NormalRateRepresentation',\n    id: '692019',\n    value: '20',\n    sort: 19,\n    added: 'FIX.5.0SP2',\n    addedEP: '207',\n    tag: 692,\n    type: 'int',\n    codeSet: 'QuotePriceTypeCodeSet',\n    description: 'Normal rate representation (e.g. FX rate)',\n  },\n  {\n    name: 'InverseRateRepresentation',\n    id: '692020',\n    value: '21',\n    sort: 20,\n    added: 'FIX.5.0SP2',\n    addedEP: '207',\n    tag: 692,\n    type: 'int',\n    codeSet: 'QuotePriceTypeCodeSet',\n    description: 'Inverse rate representation (e.g. FX rate)',\n  },\n  {\n    name: 'BasisPoints',\n    id: '692021',\n    value: '22',\n    sort: 21,\n    added: 'FIX.5.0SP2',\n    addedEP: '207',\n    tag: 692,\n    type: 'int',\n    codeSet: 'QuotePriceTypeCodeSet',\n    description: 'Basis points\\n\\nWhen the price is not spread based',\n  },\n  {\n    name: 'UpFrontPoints',\n    id: '692022',\n    value: '23',\n    sort: 22,\n    added: 'FIX.5.0SP2',\n    addedEP: '207',\n    tag: 692,\n    type: 'int',\n    codeSet: 'QuotePriceTypeCodeSet',\n    description: 'Up front points\\n\\nUsed specifically for CDS pricing.',\n  },\n  {\n    name: 'InterestRate',\n    id: '692023',\n    value: '24',\n    sort: 23,\n    added: 'FIX.5.0SP2',\n    addedEP: '207',\n    tag: 692,\n    type: 'int',\n    codeSet: 'QuotePriceTypeCodeSet',\n    description:\n      'Interest rate\\n\\nWhen the price is an interest rate. For example, used with benchmark reference rate.',\n  },\n  {\n    name: 'PercentageOfNotional',\n    id: '692024',\n    value: '25',\n    sort: 24,\n    added: 'FIX.5.0SP2',\n    addedEP: '207',\n    tag: 692,\n    type: 'int',\n    codeSet: 'QuotePriceTypeCodeSet',\n    description: 'Percentage of notional',\n  },\n  {\n    name: 'Hit',\n    id: '694001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 694,\n    type: 'int',\n    codeSet: 'QuoteRespTypeCodeSet',\n    description: 'Hit/Lift',\n  },\n  {\n    name: 'Counter',\n    id: '694002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 694,\n    type: 'int',\n    codeSet: 'QuoteRespTypeCodeSet',\n    description: 'Counter',\n  },\n  {\n    name: 'Expired',\n    id: '694003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.4',\n    tag: 694,\n    type: 'int',\n    codeSet: 'QuoteRespTypeCodeSet',\n    description: 'Expired',\n  },\n  {\n    name: 'Cover',\n    id: '694004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '159',\n    tag: 694,\n    type: 'int',\n    codeSet: 'QuoteRespTypeCodeSet',\n    description:\n      \"Cover\\n\\nTrade was done with another quote provider. Quote provider's original quoted price was the best price not traded (i.e. the cover price).\",\n  },\n  {\n    name: 'DoneAway',\n    id: '694005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '159',\n    tag: 694,\n    type: 'int',\n    codeSet: 'QuoteRespTypeCodeSet',\n    description: 'Done away\\n\\nTrade was done with another quote provider.',\n  },\n  {\n    name: 'Pass',\n    id: '694006',\n    value: '6',\n    sort: 6,\n    added: 'FIX.4.4',\n    tag: 694,\n    type: 'int',\n    codeSet: 'QuoteRespTypeCodeSet',\n    description: 'Pass',\n  },\n  {\n    name: 'EndTrade',\n    id: '694007',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0',\n    addedEP: '68',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '258',\n    tag: 694,\n    type: 'int',\n    codeSet: 'QuoteRespTypeCodeSet',\n    description: 'End trade\\n\\nIndicates an end to the trade negotiation.',\n  },\n  {\n    name: 'TimedOut',\n    id: '694008',\n    value: '8',\n    sort: 8,\n    added: 'FIX.5.0',\n    addedEP: '68',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '159',\n    tag: 694,\n    type: 'int',\n    codeSet: 'QuoteRespTypeCodeSet',\n    description: 'Timed out',\n  },\n  {\n    name: 'Tied',\n    id: '694009',\n    value: '9',\n    sort: 9,\n    added: 'FIX.5.0SP2',\n    addedEP: '159',\n    tag: 694,\n    type: 'int',\n    codeSet: 'QuoteRespTypeCodeSet',\n    description:\n      \"Tied\\n\\nTrade was done with another quote provider. Quote provider's original quoted price was the same as the traded price.\",\n  },\n  {\n    name: 'TiedCover',\n    id: '694010',\n    value: '10',\n    sort: 10,\n    added: 'FIX.5.0SP2',\n    addedEP: '159',\n    tag: 694,\n    type: 'int',\n    codeSet: 'QuoteRespTypeCodeSet',\n    description:\n      \"Tied cover\\n\\nTrade was done with another quote provider. Quote provider's original quoted price was the best price not traded. There were other quote provider(s) at the same price.\",\n  },\n  {\n    name: 'Accept',\n    id: '694011',\n    value: '11',\n    sort: 11,\n    added: 'FIX.5.0SP2',\n    addedEP: '258',\n    tag: 694,\n    type: 'int',\n    codeSet: 'QuoteRespTypeCodeSet',\n    description:\n      'Accept\\n\\nUsed in a response to acknowledge an action communicated by the counterparty.',\n  },\n  {\n    name: 'TerminateContract',\n    id: '694012',\n    value: '12',\n    sort: 12,\n    added: 'FIX.5.0SP2',\n    addedEP: '258',\n    tag: 694,\n    type: 'int',\n    codeSet: 'QuoteRespTypeCodeSet',\n    description:\n      'Terminate contract\\n\\nUsed to communicate the termination of an existing contract.',\n  },\n  {\n    name: 'AllocationTradeQty',\n    id: '703001',\n    value: 'ALC',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 703,\n    type: 'String',\n    codeSet: 'PosTypeCodeSet',\n    description: 'Allocation Trade Qty',\n  },\n  {\n    name: 'OptionAssignment',\n    id: '703002',\n    value: 'AS',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 703,\n    type: 'String',\n    codeSet: 'PosTypeCodeSet',\n    description: 'Option Assignment',\n  },\n  {\n    name: 'AsOfTradeQty',\n    id: '703003',\n    value: 'ASF',\n    sort: 3,\n    added: 'FIX.4.4',\n    tag: 703,\n    type: 'String',\n    codeSet: 'PosTypeCodeSet',\n    description: 'As-of Trade Qty',\n  },\n  {\n    name: 'DeliveryQty',\n    id: '703004',\n    value: 'DLV',\n    sort: 4,\n    added: 'FIX.4.4',\n    tag: 703,\n    type: 'String',\n    codeSet: 'PosTypeCodeSet',\n    description: 'Delivery Qty',\n  },\n  {\n    name: 'ElectronicTradeQty',\n    id: '703005',\n    value: 'ETR',\n    sort: 5,\n    added: 'FIX.4.4',\n    tag: 703,\n    type: 'String',\n    codeSet: 'PosTypeCodeSet',\n    description: 'Electronic Trade Qty',\n  },\n  {\n    name: 'OptionExerciseQty',\n    id: '703006',\n    value: 'EX',\n    sort: 6,\n    added: 'FIX.4.4',\n    tag: 703,\n    type: 'String',\n    codeSet: 'PosTypeCodeSet',\n    description: 'Option Exercise Qty',\n  },\n  {\n    name: 'EndOfDayQty',\n    id: '703007',\n    value: 'FIN',\n    sort: 7,\n    added: 'FIX.4.4',\n    tag: 703,\n    type: 'String',\n    codeSet: 'PosTypeCodeSet',\n    description: 'End-of-Day Qty',\n  },\n  {\n    name: 'IntraSpreadQty',\n    id: '703008',\n    value: 'IAS',\n    sort: 8,\n    added: 'FIX.4.4',\n    tag: 703,\n    type: 'String',\n    codeSet: 'PosTypeCodeSet',\n    description: 'Intra-spread Qty',\n  },\n  {\n    name: 'InterSpreadQty',\n    id: '703009',\n    value: 'IES',\n    sort: 9,\n    added: 'FIX.4.4',\n    tag: 703,\n    type: 'String',\n    codeSet: 'PosTypeCodeSet',\n    description: 'Inter-spread Qty',\n  },\n  {\n    name: 'AdjustmentQty',\n    id: '703010',\n    value: 'PA',\n    sort: 10,\n    added: 'FIX.4.4',\n    tag: 703,\n    type: 'String',\n    codeSet: 'PosTypeCodeSet',\n    description: 'Adjustment Qty',\n  },\n  {\n    name: 'PitTradeQty',\n    id: '703011',\n    value: 'PIT',\n    sort: 11,\n    added: 'FIX.4.4',\n    tag: 703,\n    type: 'String',\n    codeSet: 'PosTypeCodeSet',\n    description: 'Pit Trade Qty',\n  },\n  {\n    name: 'StartOfDayQty',\n    id: '703012',\n    value: 'SOD',\n    sort: 12,\n    added: 'FIX.4.4',\n    tag: 703,\n    type: 'String',\n    codeSet: 'PosTypeCodeSet',\n    description: 'Start-of-Day Qty',\n  },\n  {\n    name: 'IntegralSplit',\n    id: '703013',\n    value: 'SPL',\n    sort: 13,\n    added: 'FIX.4.4',\n    tag: 703,\n    type: 'String',\n    codeSet: 'PosTypeCodeSet',\n    description: 'Integral Split',\n  },\n  {\n    name: 'TransactionFromAssignment',\n    id: '703014',\n    value: 'TA',\n    sort: 14,\n    added: 'FIX.4.4',\n    tag: 703,\n    type: 'String',\n    codeSet: 'PosTypeCodeSet',\n    description: 'Transaction from Assignment',\n  },\n  {\n    name: 'TotalTransactionQty',\n    id: '703015',\n    value: 'TOT',\n    sort: 15,\n    added: 'FIX.4.4',\n    tag: 703,\n    type: 'String',\n    codeSet: 'PosTypeCodeSet',\n    description: 'Total Transaction Qty',\n  },\n  {\n    name: 'TransactionQuantity',\n    id: '703016',\n    value: 'TQ',\n    sort: 16,\n    added: 'FIX.4.4',\n    tag: 703,\n    type: 'String',\n    codeSet: 'PosTypeCodeSet',\n    description: 'Transaction Quantity',\n  },\n  {\n    name: 'TransferTradeQty',\n    id: '703017',\n    value: 'TRF',\n    sort: 17,\n    added: 'FIX.4.4',\n    tag: 703,\n    type: 'String',\n    codeSet: 'PosTypeCodeSet',\n    description: 'Transfer Trade Qty',\n  },\n  {\n    name: 'TransactionFromExercise',\n    id: '703018',\n    value: 'TX',\n    sort: 18,\n    added: 'FIX.4.4',\n    tag: 703,\n    type: 'String',\n    codeSet: 'PosTypeCodeSet',\n    description: 'Transaction from Exercise',\n  },\n  {\n    name: 'CrossMarginQty',\n    id: '703019',\n    value: 'XM',\n    sort: 19,\n    added: 'FIX.4.4',\n    tag: 703,\n    type: 'String',\n    codeSet: 'PosTypeCodeSet',\n    description: 'Cross Margin Qty',\n  },\n  {\n    name: 'ReceiveQuantity',\n    id: '703020',\n    value: 'RCV',\n    sort: 20,\n    added: 'FIX.4.4',\n    addedEP: '4',\n    tag: 703,\n    type: 'String',\n    codeSet: 'PosTypeCodeSet',\n    description: 'Receive Quantity',\n  },\n  {\n    name: 'CorporateActionAdjustment',\n    id: '703021',\n    value: 'CAA',\n    sort: 21,\n    added: 'FIX.4.4',\n    addedEP: '4',\n    tag: 703,\n    type: 'String',\n    codeSet: 'PosTypeCodeSet',\n    description: 'Corporate Action Adjustment',\n  },\n  {\n    name: 'DeliveryNoticeQty',\n    id: '703022',\n    value: 'DN',\n    sort: 22,\n    added: 'FIX.4.4',\n    addedEP: '13',\n    tag: 703,\n    type: 'String',\n    codeSet: 'PosTypeCodeSet',\n    description: 'Delivery Notice Qty',\n  },\n  {\n    name: 'ExchangeForPhysicalQty',\n    id: '703023',\n    value: 'EP',\n    sort: 23,\n    added: 'FIX.4.4',\n    addedEP: '13',\n    tag: 703,\n    type: 'String',\n    codeSet: 'PosTypeCodeSet',\n    description: 'Exchange for Physical Qty',\n  },\n  {\n    name: 'PrivatelyNegotiatedTradeQty',\n    id: '703024',\n    value: 'PNTN',\n    sort: 24,\n    added: 'FIX.5.0',\n    addedEP: '55',\n    tag: 703,\n    type: 'String',\n    codeSet: 'PosTypeCodeSet',\n    description: 'Privately negotiated Trade Qty (Non-regulated)',\n  },\n  {\n    name: 'NetDeltaQty',\n    id: '703025',\n    value: 'DLT',\n    sort: 25,\n    added: 'FIX.5.0SP1',\n    addedEP: '79',\n    tag: 703,\n    type: 'String',\n    codeSet: 'PosTypeCodeSet',\n    description: 'Net Delta Qty',\n  },\n  {\n    name: 'CreditEventAdjustment',\n    id: '703026',\n    value: 'CEA',\n    sort: 25,\n    added: 'FIX.5.0SP1',\n    addedEP: '83',\n    tag: 703,\n    type: 'String',\n    codeSet: 'PosTypeCodeSet',\n    description: 'Credit Event Adjustment',\n  },\n  {\n    name: 'SuccessionEventAdjustment',\n    id: '703027',\n    value: 'SEA',\n    sort: 26,\n    added: 'FIX.5.0SP1',\n    addedEP: '83',\n    tag: 703,\n    type: 'String',\n    codeSet: 'PosTypeCodeSet',\n    description: 'Succession Event Adjustment',\n  },\n  {\n    name: 'NetQty',\n    id: '703028',\n    value: 'NET',\n    sort: 27,\n    added: 'FIX.5.0SP2',\n    addedEP: '102',\n    tag: 703,\n    type: 'String',\n    codeSet: 'PosTypeCodeSet',\n    description: 'Net Qty',\n  },\n  {\n    name: 'GrossQty',\n    id: '703029',\n    value: 'GRS',\n    sort: 28,\n    added: 'FIX.5.0SP2',\n    addedEP: '102',\n    tag: 703,\n    type: 'String',\n    codeSet: 'PosTypeCodeSet',\n    description: 'Gross Qty',\n  },\n  {\n    name: 'IntradayQty',\n    id: '703030',\n    value: 'ITD',\n    sort: 29,\n    added: 'FIX.5.0SP2',\n    addedEP: '103',\n    tag: 703,\n    type: 'String',\n    codeSet: 'PosTypeCodeSet',\n    description: 'Intraday Qty',\n  },\n  {\n    name: 'GrossLongNonDeltaAdjustedSwaptionPosition',\n    id: '703031',\n    value: 'NDAS',\n    sort: 30,\n    added: 'FIX.5.0SP2',\n    addedEP: '140',\n    tag: 703,\n    type: 'String',\n    codeSet: 'PosTypeCodeSet',\n    description: 'Gross non-delta-adjusted swaption position',\n  },\n  {\n    name: 'LongDeltaAdjustedPairedSwaptionPosition',\n    id: '703032',\n    value: 'DAS',\n    sort: 31,\n    added: 'FIX.5.0SP2',\n    addedEP: '140',\n    tag: 703,\n    type: 'String',\n    codeSet: 'PosTypeCodeSet',\n    description: 'Delta-adjusted paired swaption position',\n  },\n  {\n    name: 'ExpiringQuantity',\n    id: '703033',\n    value: 'EXP',\n    sort: 32,\n    added: 'FIX.5.0SP2',\n    addedEP: '151',\n    tag: 703,\n    type: 'String',\n    codeSet: 'PosTypeCodeSet',\n    description:\n      'Expiring quantity\\n\\nThe position quantity on expiration day after the application of trade and post trade activity, but prior to the application of exercises and assignments.',\n  },\n  {\n    name: 'QuantityNotExercised',\n    id: '703034',\n    value: 'UNEX',\n    sort: 33,\n    added: 'FIX.5.0SP2',\n    addedEP: '151',\n    tag: 703,\n    type: 'String',\n    codeSet: 'PosTypeCodeSet',\n    description:\n      'Quantity not exercised\\n\\nThe exercise quantity requested that was not allowed, e.g., the exercise quantity requested that exceeded the final long position.',\n  },\n  {\n    name: 'RequestedExerciseQuantity',\n    id: '703035',\n    value: 'REQ',\n    sort: 34,\n    added: 'FIX.5.0SP2',\n    addedEP: '151',\n    tag: 703,\n    type: 'String',\n    codeSet: 'PosTypeCodeSet',\n    description:\n      'Requested exercise quantity\\n\\nThe exercise quantity requested. It may differ from the exercise quantity if it exceeds the final long position.',\n  },\n  {\n    name: 'CashFuturesEquivalentQuantity',\n    id: '703036',\n    value: 'CFE',\n    sort: 35,\n    added: 'FIX.5.0SP2',\n    addedEP: '162',\n    tag: 703,\n    type: 'String',\n    codeSet: 'PosTypeCodeSet',\n    description: 'Cash futures equivalent quantity',\n  },\n  {\n    name: 'LoanOrBorrowedQuantity',\n    id: '703037',\n    value: 'SECLN',\n    sort: 36,\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 703,\n    type: 'String',\n    codeSet: 'PosTypeCodeSet',\n    description:\n      'Loan or borrowed quantity\\n\\nThe number of shares, par value of bonds or commodity contracts on loan or borrowed.',\n  },\n  {\n    name: 'Submitted',\n    id: '706001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 706,\n    type: 'int',\n    codeSet: 'PosQtyStatusCodeSet',\n    description: 'Submitted',\n  },\n  {\n    name: 'Accepted',\n    id: '706002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 706,\n    type: 'int',\n    codeSet: 'PosQtyStatusCodeSet',\n    description: 'Accepted',\n  },\n  {\n    name: 'Rejected',\n    id: '706003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.4.4',\n    tag: 706,\n    type: 'int',\n    codeSet: 'PosQtyStatusCodeSet',\n    description: 'Rejected',\n  },\n  {\n    name: 'CashAmount',\n    id: '707001',\n    value: 'CASH',\n    sort: 0,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '141',\n    tag: 707,\n    type: 'String',\n    codeSet: 'PosAmtTypeCodeSet',\n    description: 'Cash amount (corporate event)',\n  },\n  {\n    name: 'CashResidualAmount',\n    id: '707002',\n    value: 'CRES',\n    sort: 1,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '141',\n    tag: 707,\n    type: 'String',\n    codeSet: 'PosAmtTypeCodeSet',\n    description: 'Cash residual amount',\n  },\n  {\n    name: 'FinalMarkToMarketAmount',\n    id: '707003',\n    value: 'FMTM',\n    sort: 2,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '141',\n    tag: 707,\n    type: 'String',\n    codeSet: 'PosAmtTypeCodeSet',\n    description: 'Final mark-to-market amount',\n  },\n  {\n    name: 'IncrementalMarkToMarketAmount',\n    id: '707004',\n    value: 'IMTM',\n    sort: 3,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '141',\n    tag: 707,\n    type: 'String',\n    codeSet: 'PosAmtTypeCodeSet',\n    description: 'Incremental mark-to-market',\n  },\n  {\n    name: 'PremiumAmount',\n    id: '707005',\n    value: 'PREM',\n    sort: 4,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '141',\n    tag: 707,\n    type: 'String',\n    codeSet: 'PosAmtTypeCodeSet',\n    description: 'Premium amount',\n  },\n  {\n    name: 'StartOfDayMarkToMarketAmount',\n    id: '707006',\n    value: 'SMTM',\n    sort: 5,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '141',\n    tag: 707,\n    type: 'String',\n    codeSet: 'PosAmtTypeCodeSet',\n    description: 'Start of day mark-to-market',\n  },\n  {\n    name: 'TradeVariationAmount',\n    id: '707007',\n    value: 'TVAR',\n    sort: 6,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '141',\n    tag: 707,\n    type: 'String',\n    codeSet: 'PosAmtTypeCodeSet',\n    description: 'Trade variation amount',\n  },\n  {\n    name: 'ValueAdjustedAmount',\n    id: '707008',\n    value: 'VADJ',\n    sort: 7,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '141',\n    tag: 707,\n    type: 'String',\n    codeSet: 'PosAmtTypeCodeSet',\n    description: 'Value adjusted amount',\n  },\n  {\n    name: 'SettlementValue',\n    id: '707009',\n    value: 'SETL',\n    sort: 8,\n    added: 'FIX.4.4',\n    addedEP: '4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '141',\n    tag: 707,\n    type: 'String',\n    codeSet: 'PosAmtTypeCodeSet',\n    description: 'Settlement value',\n  },\n  {\n    name: 'InitialTradeCouponAmount',\n    id: '707010',\n    value: 'ICPN',\n    sort: 9,\n    added: 'FIX.5.0SP1',\n    addedEP: '83',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '141',\n    tag: 707,\n    type: 'String',\n    codeSet: 'PosAmtTypeCodeSet',\n    description: 'Initial trade coupon amount',\n  },\n  {\n    name: 'AccruedCouponAmount',\n    id: '707011',\n    value: 'ACPN',\n    sort: 10,\n    added: 'FIX.5.0SP1',\n    addedEP: '83',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '141',\n    tag: 707,\n    type: 'String',\n    codeSet: 'PosAmtTypeCodeSet',\n    description: 'Accrued coupon amount',\n  },\n  {\n    name: 'CouponAmount',\n    id: '707012',\n    value: 'CPN',\n    sort: 11,\n    added: 'FIX.5.0SP1',\n    addedEP: '83',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '141',\n    tag: 707,\n    type: 'String',\n    codeSet: 'PosAmtTypeCodeSet',\n    description: 'Coupon amount',\n  },\n  {\n    name: 'IncrementalAccruedCoupon',\n    id: '707013',\n    value: 'IACPN',\n    sort: 12,\n    added: 'FIX.5.0SP1',\n    addedEP: '83',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '141',\n    tag: 707,\n    type: 'String',\n    codeSet: 'PosAmtTypeCodeSet',\n    description: 'Incremental accrued coupon',\n  },\n  {\n    name: 'CollateralizedMarkToMarket',\n    id: '707014',\n    value: 'CMTM',\n    sort: 13,\n    added: 'FIX.5.0SP1',\n    addedEP: '83',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '141',\n    tag: 707,\n    type: 'String',\n    codeSet: 'PosAmtTypeCodeSet',\n    description: 'Collateralized mark-to-market',\n  },\n  {\n    name: 'IncrementalCollateralizedMarkToMarket',\n    id: '707015',\n    value: 'ICMTM',\n    sort: 14,\n    added: 'FIX.5.0SP1',\n    addedEP: '83',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '141',\n    tag: 707,\n    type: 'String',\n    codeSet: 'PosAmtTypeCodeSet',\n    description: 'Incremental collateralized mark-to-market',\n  },\n  {\n    name: 'CompensationAmount',\n    id: '707016',\n    value: 'DLV',\n    sort: 15,\n    added: 'FIX.5.0SP1',\n    addedEP: '83',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '141',\n    tag: 707,\n    type: 'String',\n    codeSet: 'PosAmtTypeCodeSet',\n    description: 'Compensation amount',\n  },\n  {\n    name: 'TotalBankedAmount',\n    id: '707017',\n    value: 'BANK',\n    sort: 16,\n    added: 'FIX.5.0SP1',\n    addedEP: '83',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '141',\n    tag: 707,\n    type: 'String',\n    codeSet: 'PosAmtTypeCodeSet',\n    description: 'Total banked amount',\n  },\n  {\n    name: 'TotalCollateralizedAmount',\n    id: '707018',\n    value: 'COLAT',\n    sort: 17,\n    added: 'FIX.5.0SP1',\n    addedEP: '83',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '141',\n    tag: 707,\n    type: 'String',\n    codeSet: 'PosAmtTypeCodeSet',\n    description: 'Total collateralized amount',\n  },\n  {\n    name: 'LongPairedSwapNotionalValue',\n    id: '707019',\n    value: 'LSNV',\n    sort: 18,\n    added: 'FIX.5.0SP2',\n    addedEP: '140',\n    tag: 707,\n    type: 'String',\n    codeSet: 'PosAmtTypeCodeSet',\n    description: 'Long paired swap or swaption notional value',\n  },\n  {\n    name: 'ShortPairedSwapNotionalValue',\n    id: '707020',\n    value: 'SSNV',\n    sort: 19,\n    added: 'FIX.5.0SP2',\n    addedEP: '140',\n    tag: 707,\n    type: 'String',\n    codeSet: 'PosAmtTypeCodeSet',\n    description: 'Short paired swap or swaption notional value',\n  },\n  {\n    name: 'StartOfDayAccruedCoupon',\n    id: '707021',\n    value: 'SACPN',\n    sort: 20,\n    added: 'FIX.5.0SP2',\n    addedEP: '162',\n    tag: 707,\n    type: 'String',\n    codeSet: 'PosAmtTypeCodeSet',\n    description: 'Start-of-day accrued coupon',\n  },\n  {\n    name: 'NetPresentValue',\n    id: '707022',\n    value: 'NPV',\n    sort: 21,\n    added: 'FIX.5.0SP2',\n    addedEP: '162',\n    tag: 707,\n    type: 'String',\n    codeSet: 'PosAmtTypeCodeSet',\n    description: 'Net present value',\n  },\n  {\n    name: 'StartOfDayNetPresentValue',\n    id: '707023',\n    value: 'SNPV',\n    sort: 22,\n    added: 'FIX.5.0SP2',\n    addedEP: '162',\n    tag: 707,\n    type: 'String',\n    codeSet: 'PosAmtTypeCodeSet',\n    description: 'Start-of-day net present value',\n  },\n  {\n    name: 'NetCashFlow',\n    id: '707024',\n    value: 'NCF',\n    sort: 23,\n    added: 'FIX.5.0SP2',\n    addedEP: '162',\n    tag: 707,\n    type: 'String',\n    codeSet: 'PosAmtTypeCodeSet',\n    description: 'Net cash flow',\n  },\n  {\n    name: 'PresentValueOfFees',\n    id: '707025',\n    value: 'PVFEES',\n    sort: 24,\n    added: 'FIX.5.0SP2',\n    addedEP: '162',\n    tag: 707,\n    type: 'String',\n    codeSet: 'PosAmtTypeCodeSet',\n    description: 'Present value of all fees',\n  },\n  {\n    name: 'PresentValueOneBasisPoints',\n    id: '707026',\n    value: 'PV01',\n    sort: 25,\n    added: 'FIX.5.0SP2',\n    addedEP: '162',\n    tag: 707,\n    type: 'String',\n    codeSet: 'PosAmtTypeCodeSet',\n    description:\n      'Present value of one basis points\\n\\nChange in value if yield curve shifts 0.01%.',\n  },\n  {\n    name: 'FiveYearEquivalentNotional',\n    id: '707027',\n    value: '5YREN',\n    sort: 26,\n    added: 'FIX.5.0SP2',\n    addedEP: '162',\n    tag: 707,\n    type: 'String',\n    codeSet: 'PosAmtTypeCodeSet',\n    description: 'The five year equivalent notional amount',\n  },\n  {\n    name: 'UndiscountedMarkToMarket',\n    id: '707028',\n    value: 'UMTM',\n    sort: 27,\n    added: 'FIX.5.0SP2',\n    addedEP: '162',\n    tag: 707,\n    type: 'String',\n    codeSet: 'PosAmtTypeCodeSet',\n    description: 'Undiscounted mark-to-market',\n  },\n  {\n    name: 'MarkToModel',\n    id: '707029',\n    value: 'MTD',\n    sort: 28,\n    added: 'FIX.5.0SP2',\n    addedEP: '179',\n    tag: 707,\n    type: 'String',\n    codeSet: 'PosAmtTypeCodeSet',\n    description: 'Mark-to-model',\n  },\n  {\n    name: 'MarkToMarketVariance',\n    id: '707030',\n    value: 'VMTM',\n    sort: 29,\n    added: 'FIX.5.0SP2',\n    addedEP: '179',\n    tag: 707,\n    type: 'String',\n    codeSet: 'PosAmtTypeCodeSet',\n    description: 'Mark-to-market variance',\n  },\n  {\n    name: 'MarkToModelVariance',\n    id: '707031',\n    value: 'VMTD',\n    sort: 30,\n    added: 'FIX.5.0SP2',\n    addedEP: '179',\n    tag: 707,\n    type: 'String',\n    codeSet: 'PosAmtTypeCodeSet',\n    description: 'Mark-to-model variance',\n  },\n  {\n    name: 'UpfrontPayment',\n    id: '707032',\n    value: 'UPFRNT',\n    sort: 31,\n    added: 'FIX.5.0SP2',\n    addedEP: '192',\n    tag: 707,\n    type: 'String',\n    codeSet: 'PosAmtTypeCodeSet',\n    description: 'Upfront payment',\n  },\n  {\n    name: 'EndVale',\n    id: '707033',\n    value: 'ENDV',\n    sort: 32,\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 707,\n    type: 'String',\n    codeSet: 'PosAmtTypeCodeSet',\n    description:\n      'End value\\n\\nPrincipal amount of a securities financing transaction on matuity date.',\n  },\n  {\n    name: 'OutstandingMarginLoan',\n    id: '707034',\n    value: 'MGNLN',\n    sort: 33,\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 707,\n    type: 'String',\n    codeSet: 'PosAmtTypeCodeSet',\n    description:\n      'Outstanding margin loan\\n\\nThe amount of the outstanding margin loan. In the event that the loan has a short market value, PosAmt(708) would be a negative value.',\n  },\n  {\n    name: 'LoanValue',\n    id: '707035',\n    value: 'LNVL',\n    sort: 34,\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 707,\n    type: 'String',\n    codeSet: 'PosAmtTypeCodeSet',\n    description: 'Loan value\\n\\nThe amount of the loan.',\n  },\n  {\n    name: 'Exercise',\n    id: '709001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 709,\n    type: 'int',\n    codeSet: 'PosTransTypeCodeSet',\n    description: 'Exercise',\n  },\n  {\n    name: 'DoNotExercise',\n    id: '709002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '199',\n    tag: 709,\n    type: 'int',\n    codeSet: 'PosTransTypeCodeSet',\n    description: 'Do not exercise',\n  },\n  {\n    name: 'PositionAdjustment',\n    id: '709003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '199',\n    tag: 709,\n    type: 'int',\n    codeSet: 'PosTransTypeCodeSet',\n    description: 'Position adjustment',\n  },\n  {\n    name: 'PositionChangeSubmission',\n    id: '709004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '199',\n    tag: 709,\n    type: 'int',\n    codeSet: 'PosTransTypeCodeSet',\n    description: 'Position change submission / margin disposition',\n  },\n  {\n    name: 'Pledge',\n    id: '709005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.4.4',\n    tag: 709,\n    type: 'int',\n    codeSet: 'PosTransTypeCodeSet',\n    description: 'Pledge',\n  },\n  {\n    name: 'LargeTraderSubmission',\n    id: '709006',\n    value: '6',\n    sort: 6,\n    added: 'FIX.4.4',\n    addedEP: '13',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '199',\n    tag: 709,\n    type: 'int',\n    codeSet: 'PosTransTypeCodeSet',\n    description: 'Large trader submission',\n  },\n  {\n    name: 'LargePositionsReportingSubmission',\n    id: '709007',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '103',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '199',\n    tag: 709,\n    type: 'int',\n    codeSet: 'PosTransTypeCodeSet',\n    description: 'Large positions reporting submission',\n  },\n  {\n    name: 'LongHoldings',\n    id: '709008',\n    value: '8',\n    sort: 8,\n    added: 'FIX.5.0SP2',\n    addedEP: '110',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '199',\n    tag: 709,\n    type: 'int',\n    codeSet: 'PosTransTypeCodeSet',\n    description: 'Long holdings',\n  },\n  {\n    name: 'InternalTransfer',\n    id: '709009',\n    value: '9',\n    sort: 9,\n    added: 'FIX.5.0SP2',\n    addedEP: '199',\n    tag: 709,\n    type: 'int',\n    codeSet: 'PosTransTypeCodeSet',\n    description:\n      'Internal transfer\\n\\nChanges due to transfer of positions within a firm.',\n  },\n  {\n    name: 'TransferOfFirm',\n    id: '709010',\n    value: '10',\n    sort: 10,\n    added: 'FIX.5.0SP2',\n    addedEP: '199',\n    tag: 709,\n    type: 'int',\n    codeSet: 'PosTransTypeCodeSet',\n    description:\n      'Transfer of firm\\n\\nChanges due to transfer of all positions of a firm.',\n  },\n  {\n    name: 'ExternalTransfer',\n    id: '709011',\n    value: '11',\n    sort: 11,\n    added: 'FIX.5.0SP2',\n    addedEP: '199',\n    tag: 709,\n    type: 'int',\n    codeSet: 'PosTransTypeCodeSet',\n    description:\n      'External transfer\\n\\nChanges due to transfer of positions between firms.',\n  },\n  {\n    name: 'CorporateAction',\n    id: '709012',\n    value: '12',\n    sort: 12,\n    added: 'FIX.5.0SP2',\n    addedEP: '199',\n    tag: 709,\n    type: 'int',\n    codeSet: 'PosTransTypeCodeSet',\n    description: 'Corporate action',\n  },\n  {\n    name: 'Notification',\n    id: '709013',\n    value: '13',\n    sort: 13,\n    added: 'FIX.5.0SP2',\n    addedEP: '199',\n    tag: 709,\n    type: 'int',\n    codeSet: 'PosTransTypeCodeSet',\n    description:\n      'Notification\\n\\nInformation about a position that has been chosen for assignment.',\n  },\n  {\n    name: 'PositionCreation',\n    id: '709014',\n    value: '14',\n    sort: 14,\n    added: 'FIX.5.0SP2',\n    addedEP: '199',\n    tag: 709,\n    type: 'int',\n    codeSet: 'PosTransTypeCodeSet',\n    description:\n      'Position creation\\n\\nChanges due to an option exercise causing a new futures position to be created.',\n  },\n  {\n    name: 'Closeout',\n    id: '709015',\n    value: '15',\n    sort: 15,\n    added: 'FIX.5.0SP2',\n    addedEP: '199',\n    tag: 709,\n    type: 'int',\n    codeSet: 'PosTransTypeCodeSet',\n    description: 'Close out\\n\\nInformation about a position that has been closed out.',\n  },\n  {\n    name: 'Reopen',\n    id: '709016',\n    value: '16',\n    sort: 16,\n    added: 'FIX.5.0SP2',\n    addedEP: '199',\n    tag: 709,\n    type: 'int',\n    codeSet: 'PosTransTypeCodeSet',\n    description:\n      'Reopen\\n\\nInformation about a position that has been reopened, i.e. reversal of a close out.',\n  },\n  {\n    name: 'New',\n    id: '712001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '204',\n    tag: 712,\n    type: 'int',\n    codeSet: 'PosMaintActionCodeSet',\n    description: 'New\\n\\nUsed to increment the overall transaction quantity.',\n  },\n  {\n    name: 'Replace',\n    id: '712002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '204',\n    tag: 712,\n    type: 'int',\n    codeSet: 'PosMaintActionCodeSet',\n    description:\n      'Replace\\n\\nUsed to override the overall transaction quantity or specific add messages based on the reference ID.',\n  },\n  {\n    name: 'Cancel',\n    id: '712003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '204',\n    tag: 712,\n    type: 'int',\n    codeSet: 'PosMaintActionCodeSet',\n    description:\n      'Cancel\\n\\nUsed to remove the overall transaction quantity or specific add messages based on the reference ID.',\n  },\n  {\n    name: 'Reverse',\n    id: '712004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.4.4',\n    addedEP: '4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '204',\n    tag: 712,\n    type: 'int',\n    codeSet: 'PosMaintActionCodeSet',\n    description:\n      'Reverse\\n\\nUsed to completelly back-out the transaction such that the transaction never existed.',\n  },\n  {\n    name: 'Intraday',\n    id: '716001',\n    value: 'ITD',\n    sort: 1,\n    added: 'FIX.4.4',\n    addedEP: '1',\n    tag: 716,\n    type: 'String',\n    codeSet: 'SettlSessIDCodeSet',\n    description: 'Intraday',\n  },\n  {\n    name: 'RegularTradingHours',\n    id: '716002',\n    value: 'RTH',\n    sort: 2,\n    added: 'FIX.4.4',\n    addedEP: '1',\n    tag: 716,\n    type: 'String',\n    codeSet: 'SettlSessIDCodeSet',\n    description: 'Regular Trading Hours',\n  },\n  {\n    name: 'ElectronicTradingHours',\n    id: '716003',\n    value: 'ETH',\n    sort: 3,\n    added: 'FIX.4.4',\n    addedEP: '1',\n    tag: 716,\n    type: 'String',\n    codeSet: 'SettlSessIDCodeSet',\n    description: 'Electronic Trading Hours',\n  },\n  {\n    name: 'EndOfDay',\n    id: '716004',\n    value: 'EOD',\n    sort: 4,\n    added: 'FIX.4.4',\n    addedEP: '4',\n    tag: 716,\n    type: 'String',\n    codeSet: 'SettlSessIDCodeSet',\n    description: 'End Of Day',\n  },\n  {\n    name: 'ProcessRequestAsMarginDisposition',\n    id: '718001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '155',\n    tag: 718,\n    type: 'int',\n    codeSet: 'AdjustmentTypeCodeSet',\n    description: 'Process request as margin disposition',\n  },\n  {\n    name: 'DeltaPlus',\n    id: '718002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '155',\n    tag: 718,\n    type: 'int',\n    codeSet: 'AdjustmentTypeCodeSet',\n    description: 'Delta plus',\n  },\n  {\n    name: 'DeltaMinus',\n    id: '718003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '155',\n    tag: 718,\n    type: 'int',\n    codeSet: 'AdjustmentTypeCodeSet',\n    description: 'Delta minus',\n  },\n  {\n    name: 'Final',\n    id: '718004',\n    value: '3',\n    sort: 4,\n    added: 'FIX.4.4',\n    tag: 718,\n    type: 'int',\n    codeSet: 'AdjustmentTypeCodeSet',\n    description: 'Final',\n  },\n  {\n    name: 'CustomerSpecificPosition',\n    id: '718005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '155',\n    tag: 718,\n    type: 'int',\n    codeSet: 'AdjustmentTypeCodeSet',\n    description: 'Customer specific position',\n  },\n  {\n    name: 'Accepted',\n    id: '722001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 722,\n    type: 'int',\n    codeSet: 'PosMaintStatusCodeSet',\n    description: 'Accepted',\n  },\n  {\n    name: 'AcceptedWithWarnings',\n    id: '722002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 722,\n    type: 'int',\n    codeSet: 'PosMaintStatusCodeSet',\n    description: 'Accepted With Warnings',\n  },\n  {\n    name: 'Rejected',\n    id: '722003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.4.4',\n    tag: 722,\n    type: 'int',\n    codeSet: 'PosMaintStatusCodeSet',\n    description: 'Rejected',\n  },\n  {\n    name: 'Completed',\n    id: '722004',\n    value: '3',\n    sort: 4,\n    added: 'FIX.4.4',\n    tag: 722,\n    type: 'int',\n    codeSet: 'PosMaintStatusCodeSet',\n    description: 'Completed',\n  },\n  {\n    name: 'CompletedWithWarnings',\n    id: '722005',\n    value: '4',\n    sort: 5,\n    added: 'FIX.4.4',\n    tag: 722,\n    type: 'int',\n    codeSet: 'PosMaintStatusCodeSet',\n    description: 'Completed With Warnings',\n  },\n  {\n    name: 'SuccessfulCompletion',\n    id: '723001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 723,\n    type: 'int',\n    codeSet: 'PosMaintResultCodeSet',\n    description: 'Successful Completion - no warnings or errors',\n  },\n  {\n    name: 'Rejected',\n    id: '723002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 723,\n    type: 'int',\n    codeSet: 'PosMaintResultCodeSet',\n    description: 'Rejected',\n  },\n  {\n    name: 'Other',\n    id: '723003',\n    value: '99',\n    sort: 99,\n    added: 'FIX.4.4',\n    tag: 723,\n    type: 'int',\n    codeSet: 'PosMaintResultCodeSet',\n    description: 'Other',\n  },\n  {\n    name: 'Positions',\n    id: '724001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 724,\n    type: 'int',\n    codeSet: 'PosReqTypeCodeSet',\n    description: 'Positions',\n  },\n  {\n    name: 'Trades',\n    id: '724002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 724,\n    type: 'int',\n    codeSet: 'PosReqTypeCodeSet',\n    description: 'Trades',\n  },\n  {\n    name: 'Exercises',\n    id: '724003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.4.4',\n    tag: 724,\n    type: 'int',\n    codeSet: 'PosReqTypeCodeSet',\n    description: 'Exercises',\n  },\n  {\n    name: 'Assignments',\n    id: '724004',\n    value: '3',\n    sort: 4,\n    added: 'FIX.4.4',\n    tag: 724,\n    type: 'int',\n    codeSet: 'PosReqTypeCodeSet',\n    description: 'Assignments',\n  },\n  {\n    name: 'SettlementActivity',\n    id: '724005',\n    value: '4',\n    sort: 5,\n    added: 'FIX.4.4',\n    addedEP: '4',\n    tag: 724,\n    type: 'int',\n    codeSet: 'PosReqTypeCodeSet',\n    description: 'Settlement Activity',\n  },\n  {\n    name: 'BackoutMessage',\n    id: '724006',\n    value: '5',\n    sort: 6,\n    added: 'FIX.4.4',\n    addedEP: '4',\n    tag: 724,\n    type: 'int',\n    codeSet: 'PosReqTypeCodeSet',\n    description: 'Backout Message',\n  },\n  {\n    name: 'DeltaPositions',\n    id: '724007',\n    value: '6',\n    sort: 7,\n    added: 'FIX.5.0SP1',\n    addedEP: '79',\n    tag: 724,\n    type: 'int',\n    codeSet: 'PosReqTypeCodeSet',\n    description: 'Delta Positions',\n  },\n  {\n    name: 'NetPosition',\n    id: '724008',\n    value: '7',\n    sort: 8,\n    added: 'FIX.5.0SP2',\n    addedEP: '102',\n    tag: 724,\n    type: 'int',\n    codeSet: 'PosReqTypeCodeSet',\n    description: 'Net Position',\n  },\n  {\n    name: 'LargePositionsReporting',\n    id: '724009',\n    value: '8',\n    sort: 9,\n    added: 'FIX.5.0SP2',\n    addedEP: '103',\n    tag: 724,\n    type: 'int',\n    codeSet: 'PosReqTypeCodeSet',\n    description: 'Large Positions Reporting',\n  },\n  {\n    name: 'ExercisePositionReportingSubmission',\n    id: '724010',\n    value: '9',\n    sort: 10,\n    added: 'FIX.5.0SP2',\n    addedEP: '103',\n    tag: 724,\n    type: 'int',\n    codeSet: 'PosReqTypeCodeSet',\n    description: 'Exercise Position Reporting Submission',\n  },\n  {\n    name: 'PositionLimitReportingSubmissing',\n    id: '724011',\n    value: '10',\n    sort: 11,\n    added: 'FIX.5.0SP2',\n    addedEP: '103',\n    tag: 724,\n    type: 'int',\n    codeSet: 'PosReqTypeCodeSet',\n    description: 'Position Limit Reporting Submission',\n  },\n  {\n    name: 'Inband',\n    id: '725001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '204',\n    tag: 725,\n    type: 'int',\n    codeSet: 'ResponseTransportTypeCodeSet',\n    description: 'In-band (default)\\n\\nTransport of the request was sent over in-band.',\n  },\n  {\n    name: 'OutOfBand',\n    id: '725002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '204',\n    tag: 725,\n    type: 'int',\n    codeSet: 'ResponseTransportTypeCodeSet',\n    description:\n      'Out of band\\n\\nPre-arranged out-of-band delivery mechanism (e.g. FTP, HTTP, NDM, etc.) between counterparties. Details specified via ResponseDestination(726).',\n  },\n  {\n    name: 'ValidRequest',\n    id: '728001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 728,\n    type: 'int',\n    codeSet: 'PosReqResultCodeSet',\n    description: 'Valid request',\n  },\n  {\n    name: 'InvalidOrUnsupportedRequest',\n    id: '728002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 728,\n    type: 'int',\n    codeSet: 'PosReqResultCodeSet',\n    description: 'Invalid or unsupported request',\n  },\n  {\n    name: 'NoPositionsFoundThatMatchCriteria',\n    id: '728003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.4.4',\n    tag: 728,\n    type: 'int',\n    codeSet: 'PosReqResultCodeSet',\n    description: 'No positions found that match criteria',\n  },\n  {\n    name: 'NotAuthorizedToRequestPositions',\n    id: '728004',\n    value: '3',\n    sort: 4,\n    added: 'FIX.4.4',\n    tag: 728,\n    type: 'int',\n    codeSet: 'PosReqResultCodeSet',\n    description: 'Not authorized to request positions',\n  },\n  {\n    name: 'RequestForPositionNotSupported',\n    id: '728005',\n    value: '4',\n    sort: 5,\n    added: 'FIX.4.4',\n    tag: 728,\n    type: 'int',\n    codeSet: 'PosReqResultCodeSet',\n    description: 'Request for position not supported',\n  },\n  {\n    name: 'Other',\n    id: '728006',\n    value: '99',\n    sort: 99,\n    added: 'FIX.4.4',\n    updated: 'FIX.Latest',\n    updatedEP: '271',\n    tag: 728,\n    type: 'int',\n    codeSet: 'PosReqResultCodeSet',\n    description: 'Other\\n\\nUse Text(58) for further explanation.',\n  },\n  {\n    name: 'Completed',\n    id: '729001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 729,\n    type: 'int',\n    codeSet: 'PosReqStatusCodeSet',\n    description: 'Completed',\n  },\n  {\n    name: 'CompletedWithWarnings',\n    id: '729002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 729,\n    type: 'int',\n    codeSet: 'PosReqStatusCodeSet',\n    description: 'Completed With Warnings',\n  },\n  {\n    name: 'Rejected',\n    id: '729003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.4.4',\n    tag: 729,\n    type: 'int',\n    codeSet: 'PosReqStatusCodeSet',\n    description: 'Rejected',\n  },\n  {\n    name: 'Final',\n    id: '731001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 731,\n    type: 'int',\n    codeSet: 'SettlPriceTypeCodeSet',\n    description: 'Final',\n  },\n  {\n    name: 'Theoretical',\n    id: '731002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 731,\n    type: 'int',\n    codeSet: 'SettlPriceTypeCodeSet',\n    description: 'Theoretical',\n  },\n  {\n    name: 'ProRata',\n    id: '744001',\n    value: 'P',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 744,\n    type: 'char',\n    codeSet: 'AssignmentMethodCodeSet',\n    description: 'Pro rata',\n  },\n  {\n    name: 'Random',\n    id: '744002',\n    value: 'R',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 744,\n    type: 'char',\n    codeSet: 'AssignmentMethodCodeSet',\n    description: 'Random',\n  },\n  {\n    name: 'Automatic',\n    id: '747001',\n    value: 'A',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 747,\n    type: 'char',\n    codeSet: 'ExerciseMethodCodeSet',\n    description: 'Automatic',\n  },\n  {\n    name: 'Manual',\n    id: '747002',\n    value: 'M',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 747,\n    type: 'char',\n    codeSet: 'ExerciseMethodCodeSet',\n    description: 'Manual',\n  },\n  {\n    name: 'Successful',\n    id: '749001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 749,\n    type: 'int',\n    codeSet: 'TradeRequestResultCodeSet',\n    description: 'Successful (default)',\n  },\n  {\n    name: 'InvalidOrUnknownInstrument',\n    id: '749002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 749,\n    type: 'int',\n    codeSet: 'TradeRequestResultCodeSet',\n    description: 'Invalid or unknown instrument',\n  },\n  {\n    name: 'InvalidTypeOfTradeRequested',\n    id: '749003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.4.4',\n    tag: 749,\n    type: 'int',\n    codeSet: 'TradeRequestResultCodeSet',\n    description: 'Invalid type of trade requested',\n  },\n  {\n    name: 'InvalidParties',\n    id: '749004',\n    value: '3',\n    sort: 4,\n    added: 'FIX.4.4',\n    tag: 749,\n    type: 'int',\n    codeSet: 'TradeRequestResultCodeSet',\n    description: 'Invalid parties',\n  },\n  {\n    name: 'InvalidTransportTypeRequested',\n    id: '749005',\n    value: '4',\n    sort: 5,\n    added: 'FIX.4.4',\n    tag: 749,\n    type: 'int',\n    codeSet: 'TradeRequestResultCodeSet',\n    description: 'Invalid transport type requested',\n  },\n  {\n    name: 'InvalidDestinationRequested',\n    id: '749006',\n    value: '5',\n    sort: 6,\n    added: 'FIX.4.4',\n    tag: 749,\n    type: 'int',\n    codeSet: 'TradeRequestResultCodeSet',\n    description: 'Invalid destination requested',\n  },\n  {\n    name: 'TradeRequestTypeNotSupported',\n    id: '749007',\n    value: '8',\n    sort: 7,\n    added: 'FIX.4.4',\n    tag: 749,\n    type: 'int',\n    codeSet: 'TradeRequestResultCodeSet',\n    description: 'TradeRequestType not supported',\n  },\n  {\n    name: 'NotAuthorized',\n    id: '749008',\n    value: '9',\n    sort: 8,\n    added: 'FIX.4.4',\n    tag: 749,\n    type: 'int',\n    codeSet: 'TradeRequestResultCodeSet',\n    description: 'Not authorized',\n  },\n  {\n    name: 'Other',\n    id: '749009',\n    value: '99',\n    sort: 99,\n    added: 'FIX.4.4',\n    tag: 749,\n    type: 'int',\n    codeSet: 'TradeRequestResultCodeSet',\n    description: 'Other',\n  },\n  {\n    name: 'Accepted',\n    id: '750001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 750,\n    type: 'int',\n    codeSet: 'TradeRequestStatusCodeSet',\n    description: 'Accepted',\n  },\n  {\n    name: 'Completed',\n    id: '750002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 750,\n    type: 'int',\n    codeSet: 'TradeRequestStatusCodeSet',\n    description: 'Completed',\n  },\n  {\n    name: 'Rejected',\n    id: '750003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.4.4',\n    tag: 750,\n    type: 'int',\n    codeSet: 'TradeRequestStatusCodeSet',\n    description: 'Rejected',\n  },\n  {\n    name: 'Successful',\n    id: '751001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 751,\n    type: 'int',\n    codeSet: 'TradeReportRejectReasonCodeSet',\n    description: 'Successful (default)',\n  },\n  {\n    name: 'InvalidPartyInformation',\n    id: '751002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '208',\n    tag: 751,\n    type: 'int',\n    codeSet: 'TradeReportRejectReasonCodeSet',\n    description: 'Invalid party information',\n  },\n  {\n    name: 'UnknownInstrument',\n    id: '751003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.4.4',\n    tag: 751,\n    type: 'int',\n    codeSet: 'TradeReportRejectReasonCodeSet',\n    description: 'Unknown instrument',\n  },\n  {\n    name: 'UnauthorizedToReportTrades',\n    id: '751004',\n    value: '3',\n    sort: 4,\n    added: 'FIX.4.4',\n    tag: 751,\n    type: 'int',\n    codeSet: 'TradeReportRejectReasonCodeSet',\n    description: 'Unauthorized to report trades',\n  },\n  {\n    name: 'InvalidTradeType',\n    id: '751005',\n    value: '4',\n    sort: 5,\n    added: 'FIX.4.4',\n    tag: 751,\n    type: 'int',\n    codeSet: 'TradeReportRejectReasonCodeSet',\n    description: 'Invalid trade type',\n  },\n  {\n    name: 'PriceExceedsCurrentPriceBand',\n    id: '751006',\n    value: '5',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '136',\n    tag: 751,\n    type: 'int',\n    codeSet: 'TradeReportRejectReasonCodeSet',\n    description: 'Price exceeds current price band',\n  },\n  {\n    name: 'ReferencePriceNotAvailable',\n    id: '751007',\n    value: '6',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '136',\n    tag: 751,\n    type: 'int',\n    codeSet: 'TradeReportRejectReasonCodeSet',\n    description: 'Reference price not available',\n  },\n  {\n    name: 'NotionalValueExceedsThreshold',\n    id: '751008',\n    value: '7',\n    sort: 8,\n    added: 'FIX.5.0SP2',\n    addedEP: '136',\n    tag: 751,\n    type: 'int',\n    codeSet: 'TradeReportRejectReasonCodeSet',\n    description: 'Notional value exceeds threshold',\n  },\n  {\n    name: 'Other',\n    id: '751009',\n    value: '99',\n    sort: 99,\n    added: 'FIX.4.4',\n    tag: 751,\n    type: 'int',\n    codeSet: 'TradeReportRejectReasonCodeSet',\n    description: 'Other',\n  },\n  {\n    name: 'SingleSecurity',\n    id: '752001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 752,\n    type: 'int',\n    codeSet: 'SideMultiLegReportingTypeCodeSet',\n    description: 'Single Security (default if not specified)',\n  },\n  {\n    name: 'IndividualLegOfAMultilegSecurity',\n    id: '752002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 752,\n    type: 'int',\n    codeSet: 'SideMultiLegReportingTypeCodeSet',\n    description: 'Individual leg of a multileg security',\n  },\n  {\n    name: 'MultilegSecurity',\n    id: '752003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.4',\n    tag: 752,\n    type: 'int',\n    codeSet: 'SideMultiLegReportingTypeCodeSet',\n    description: 'Multileg Security',\n  },\n  {\n    name: 'ExecutionTime',\n    id: '770001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '253',\n    tag: 770,\n    type: 'int',\n    codeSet: 'TrdRegTimestampTypeCodeSet',\n    description:\n      'Execution time\\n\\nTimestamp for the order execution. In the context of US futures markets (CFTC regulated) this is the non-qualified reporting time of order execution.',\n  },\n  {\n    name: 'TimeIn',\n    id: '770002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '253',\n    tag: 770,\n    type: 'int',\n    codeSet: 'TrdRegTimestampTypeCodeSet',\n    description:\n      'Time in\\n\\nTimestamp for receiving an order, quote or trade. In the context of US futures markets (CFTC) this is the timestamp of when the order was received on the trading floor (booth).',\n  },\n  {\n    name: 'TimeOut',\n    id: '770003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '253',\n    tag: 770,\n    type: 'int',\n    codeSet: 'TrdRegTimestampTypeCodeSet',\n    description:\n      'Time out\\n\\nTimestamp for sending an order, quote or trade. In the context of US futures markets (CFTC) this is the timestamp when the trade was received from the pit.',\n  },\n  {\n    name: 'BrokerReceipt',\n    id: '770004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '253',\n    tag: 770,\n    type: 'int',\n    codeSet: 'TrdRegTimestampTypeCodeSet',\n    description:\n      'Broker receipt\\n\\nTimestamp for a broker receiving an order, quote or trade. In the context of US futures markets (CFTC) this is the time at which the broker received the order.',\n  },\n  {\n    name: 'BrokerExecution',\n    id: '770005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '253',\n    tag: 770,\n    type: 'int',\n    codeSet: 'TrdRegTimestampTypeCodeSet',\n    description:\n      'Broker execution\\n\\nTimestamp for the broker executing an order. In the context of US futures markets (CFTC regulated) this is the time at which a broker executed the order for another broker.',\n  },\n  {\n    name: 'DeskReceipt',\n    id: '770006',\n    value: '6',\n    sort: 6,\n    added: 'FIX.4.4',\n    addedEP: '9',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '253',\n    tag: 770,\n    type: 'int',\n    codeSet: 'TrdRegTimestampTypeCodeSet',\n    description:\n      'Desk receipt\\n\\nTimestamp for the transmission of an order to an internal desk or department on the same day the firm received the order.',\n  },\n  {\n    name: 'SubmissionToClearing',\n    id: '770007',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0SP1',\n    addedEP: '77',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '253',\n    tag: 770,\n    type: 'int',\n    codeSet: 'TrdRegTimestampTypeCodeSet',\n    description:\n      'Submission to clearing\\n\\nThe timestamp when the trade was officially acknowledged by the Clearing House.',\n  },\n  {\n    name: 'TimePriority',\n    id: '770008',\n    value: '8',\n    sort: 8,\n    added: 'FIX.5.0SP2',\n    addedEP: '101',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '253',\n    tag: 770,\n    type: 'int',\n    codeSet: 'TrdRegTimestampTypeCodeSet',\n    description:\n      'Time priority\\n\\nA timestamp (manually or electronically) assigned by a market to specify time priority for an order or quote.',\n  },\n  {\n    name: 'OrderbookEntryTime',\n    id: '770009',\n    value: '9',\n    sort: 9,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    updated: 'FIX.Latest',\n    updatedEP: '271',\n    tag: 770,\n    type: 'int',\n    codeSet: 'TrdRegTimestampTypeCodeSet',\n    description:\n      'Orderbook entry time\\n\\nTimestamp for an order representing the time it was entered in the orderbook of the execution venue. The orderbook entry time cannot change during the lifetime of the order.',\n  },\n  {\n    name: 'OrderSubmissionTime',\n    id: '770010',\n    value: '10',\n    sort: 10,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 770,\n    type: 'int',\n    codeSet: 'TrdRegTimestampTypeCodeSet',\n    description: 'Order submission time\\n\\nTime the order was sent by the submitter.',\n  },\n  {\n    name: 'PubliclyReported',\n    id: '770011',\n    value: '11',\n    sort: 11,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '229',\n    tag: 770,\n    type: 'int',\n    codeSet: 'TrdRegTimestampTypeCodeSet',\n    description:\n      'Publicly reported\\n\\nIn the context of MiFID II, this is used to identify the time at which the transaction was first published to the market.',\n  },\n  {\n    name: 'PublicReportUpdated',\n    id: '770012',\n    value: '12',\n    sort: 12,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '229',\n    tag: 770,\n    type: 'int',\n    codeSet: 'TrdRegTimestampTypeCodeSet',\n    description:\n      \"Public report updated\\n\\nIn the context of MiFID II, this is used to identify the time at which the transaction's publication to the market was last updated\",\n  },\n  {\n    name: 'NonPubliclyReported',\n    id: '770013',\n    value: '13',\n    sort: 13,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 770,\n    type: 'int',\n    codeSet: 'TrdRegTimestampTypeCodeSet',\n    description: 'Non-publicly reported',\n  },\n  {\n    name: 'NonPublicReportUpdated',\n    id: '770014',\n    value: '14',\n    sort: 14,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 770,\n    type: 'int',\n    codeSet: 'TrdRegTimestampTypeCodeSet',\n    description: 'Non-public report updated',\n  },\n  {\n    name: 'SubmittedForConfirmation',\n    id: '770015',\n    value: '15',\n    sort: 15,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 770,\n    type: 'int',\n    codeSet: 'TrdRegTimestampTypeCodeSet',\n    description: 'Submitted for confirmation',\n  },\n  {\n    name: 'UpdatedForConfirmation',\n    id: '770016',\n    value: '16',\n    sort: 16,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 770,\n    type: 'int',\n    codeSet: 'TrdRegTimestampTypeCodeSet',\n    description: 'Updated for confirmation',\n  },\n  {\n    name: 'Confirmed',\n    id: '770017',\n    value: '17',\n    sort: 17,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 770,\n    type: 'int',\n    codeSet: 'TrdRegTimestampTypeCodeSet',\n    description: 'Confirmed',\n  },\n  {\n    name: 'UpdatedForClearing',\n    id: '770018',\n    value: '18',\n    sort: 18,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 770,\n    type: 'int',\n    codeSet: 'TrdRegTimestampTypeCodeSet',\n    description: 'Updated for clearing',\n  },\n  {\n    name: 'Cleared',\n    id: '770019',\n    value: '19',\n    sort: 19,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 770,\n    type: 'int',\n    codeSet: 'TrdRegTimestampTypeCodeSet',\n    description: 'Cleared',\n  },\n  {\n    name: 'AllocationsSubmitted',\n    id: '770020',\n    value: '20',\n    sort: 20,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 770,\n    type: 'int',\n    codeSet: 'TrdRegTimestampTypeCodeSet',\n    description: 'Allocations submitted',\n  },\n  {\n    name: 'AllocationsUpdated',\n    id: '770021',\n    value: '21',\n    sort: 21,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 770,\n    type: 'int',\n    codeSet: 'TrdRegTimestampTypeCodeSet',\n    description: 'Allocations updated',\n  },\n  {\n    name: 'AllocationsCompleted',\n    id: '770022',\n    value: '22',\n    sort: 22,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '236',\n    tag: 770,\n    type: 'int',\n    codeSet: 'TrdRegTimestampTypeCodeSet',\n    description: 'Allocations completed',\n  },\n  {\n    name: 'SubmittedToRepository',\n    id: '770023',\n    value: '23',\n    sort: 23,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 770,\n    type: 'int',\n    codeSet: 'TrdRegTimestampTypeCodeSet',\n    description: 'Submitted to repository',\n  },\n  {\n    name: 'PostTrdContntnEvnt',\n    id: '770024',\n    value: '24',\n    sort: 24,\n    added: 'FIX.5.0SP2',\n    addedEP: '179',\n    tag: 770,\n    type: 'int',\n    codeSet: 'TrdRegTimestampTypeCodeSet',\n    description: 'Post-trade continuation event',\n  },\n  {\n    name: 'PostTradeValuation',\n    id: '770025',\n    value: '25',\n    sort: 25,\n    added: 'FIX.5.0SP2',\n    addedEP: '192',\n    tag: 770,\n    type: 'int',\n    codeSet: 'TrdRegTimestampTypeCodeSet',\n    description: 'Post-trade valuation',\n  },\n  {\n    name: 'PreviousTimePriority',\n    id: '770026',\n    value: '26',\n    sort: 26,\n    added: 'FIX.5.0SP2',\n    addedEP: '223',\n    tag: 770,\n    type: 'int',\n    codeSet: 'TrdRegTimestampTypeCodeSet',\n    description:\n      'Previous time priority\\n\\nCan be used in conjunction with TrdRegTimestampType(770) = 8 (Time priority) to provide the current and last priority timestamp in a single message.',\n  },\n  {\n    name: 'IdentifierAssigned',\n    id: '770027',\n    value: '27',\n    sort: 27,\n    added: 'FIX.5.0SP2',\n    addedEP: '253',\n    tag: 770,\n    type: 'int',\n    codeSet: 'TrdRegTimestampTypeCodeSet',\n    description:\n      'Identifier assigned\\n\\nTimestamp for the assignment of a (unique) identifier to an entity (e.g. order, quote, trade).',\n  },\n  {\n    name: 'PreviousIdentifierAssigned',\n    id: '770028',\n    value: '28',\n    sort: 28,\n    added: 'FIX.5.0SP2',\n    addedEP: '253',\n    tag: 770,\n    type: 'int',\n    codeSet: 'TrdRegTimestampTypeCodeSet',\n    description:\n      'Previous identifier assigned\\n\\nTimestamp of previous assignment of a (unique) identifier to an entity (e.g. order, quote, trade).',\n  },\n  {\n    name: 'OrderCancellationTime',\n    id: '770029',\n    value: '29',\n    sort: 29,\n    added: 'FIX.5.0SP2',\n    addedEP: '253',\n    tag: 770,\n    type: 'int',\n    codeSet: 'TrdRegTimestampTypeCodeSet',\n    description:\n      'Order cancellation time\\n\\nTimestamp for the cancellation of an order or quote.',\n  },\n  {\n    name: 'OrderModificationTime',\n    id: '770030',\n    value: '30',\n    sort: 30,\n    added: 'FIX.5.0SP2',\n    addedEP: '253',\n    tag: 770,\n    type: 'int',\n    codeSet: 'TrdRegTimestampTypeCodeSet',\n    description:\n      'Order modification time\\n\\nTimestamp for the modification of an order or quote.',\n  },\n  {\n    name: 'OrderRoutingTime',\n    id: '770031',\n    value: '31',\n    sort: 31,\n    added: 'FIX.5.0SP2',\n    addedEP: '253',\n    tag: 770,\n    type: 'int',\n    codeSet: 'TrdRegTimestampTypeCodeSet',\n    description:\n      'Order routing time\\n\\nTimestamp for the routing of an order to another broker or electronic execution venue.',\n  },\n  {\n    name: 'TradeCancellationTime',\n    id: '770032',\n    value: '32',\n    sort: 32,\n    added: 'FIX.5.0SP2',\n    addedEP: '253',\n    tag: 770,\n    type: 'int',\n    codeSet: 'TrdRegTimestampTypeCodeSet',\n    description:\n      'Trade cancellation time\\n\\nTimestamp for the cancellation of an execution (ExecType(150) = H (Trade Cancel)) or trade (TradeReportType(856) = 6 (Trade Report Cancel)).',\n  },\n  {\n    name: 'TradeModificationTime',\n    id: '770033',\n    value: '33',\n    sort: 33,\n    added: 'FIX.5.0SP2',\n    addedEP: '253',\n    tag: 770,\n    type: 'int',\n    codeSet: 'TrdRegTimestampTypeCodeSet',\n    description:\n      'Trade modification time\\n\\nTimestamp for the modification of an execution (ExecType(150) = G (Trade Correct)) or trade (TradeReportType(856) = 5 (No/Was)).',\n  },\n  {\n    name: 'ReferenceTimeForNBBO',\n    id: '770034',\n    value: '34',\n    sort: 34,\n    added: 'FIX.5.0SP2',\n    addedEP: '253',\n    tag: 770,\n    type: 'int',\n    codeSet: 'TrdRegTimestampTypeCodeSet',\n    description: 'Reference time for NBBO\\n\\nTimestamp for an NBBO reference price.',\n  },\n  {\n    name: 'Affirmed',\n    id: '770035',\n    value: '35',\n    sort: 35,\n    added: 'FIX.Latest',\n    addedEP: '291',\n    tag: 770,\n    type: 'int',\n    codeSet: 'TrdRegTimestampTypeCodeSet',\n    description: 'Affirmed',\n  },\n  {\n    name: 'Status',\n    id: '773001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 773,\n    type: 'int',\n    codeSet: 'ConfirmTypeCodeSet',\n    description: 'Status',\n  },\n  {\n    name: 'Confirmation',\n    id: '773002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 773,\n    type: 'int',\n    codeSet: 'ConfirmTypeCodeSet',\n    description: 'Confirmation',\n  },\n  {\n    name: 'ConfirmationRequestRejected',\n    id: '773003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.4',\n    tag: 773,\n    type: 'int',\n    codeSet: 'ConfirmTypeCodeSet',\n    description:\n      'Confirmation Request Rejected (reason can be stated in Text (58) field)',\n  },\n  {\n    name: 'MismatchedAccount',\n    id: '774001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '170',\n    tag: 774,\n    type: 'int',\n    codeSet: 'ConfirmRejReasonCodeSet',\n    description: 'Incorrect or missing account',\n  },\n  {\n    name: 'MissingSettlementInstructions',\n    id: '774002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '170',\n    tag: 774,\n    type: 'int',\n    codeSet: 'ConfirmRejReasonCodeSet',\n    description: 'Incorrect or missing settlement instructions',\n  },\n  {\n    name: 'UnknownOrMissingIndividualAllocId',\n    id: '774003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '170',\n    tag: 774,\n    type: 'int',\n    codeSet: 'ConfirmRejReasonCodeSet',\n    description: 'Unknown or missing IndividualAllocId(467)',\n  },\n  {\n    name: 'TransactionNotRecognized',\n    id: '774004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '170',\n    tag: 774,\n    type: 'int',\n    codeSet: 'ConfirmRejReasonCodeSet',\n    description: 'Transaction not recognized',\n  },\n  {\n    name: 'DuplicateTransaction',\n    id: '774005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '170',\n    tag: 774,\n    type: 'int',\n    codeSet: 'ConfirmRejReasonCodeSet',\n    description: 'Duplicate transaction',\n  },\n  {\n    name: 'IncorrectOrMissingInstrument',\n    id: '774006',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '170',\n    tag: 774,\n    type: 'int',\n    codeSet: 'ConfirmRejReasonCodeSet',\n    description: 'Incorrect or missing instrument',\n  },\n  {\n    name: 'IncorrectOrMissingPrice',\n    id: '774007',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '170',\n    tag: 774,\n    type: 'int',\n    codeSet: 'ConfirmRejReasonCodeSet',\n    description: 'Incorrect or missing price',\n  },\n  {\n    name: 'IncorrectOrMissingCommission',\n    id: '774008',\n    value: '8',\n    sort: 8,\n    added: 'FIX.5.0SP2',\n    addedEP: '170',\n    tag: 774,\n    type: 'int',\n    codeSet: 'ConfirmRejReasonCodeSet',\n    description: 'Incorrect or missing commission',\n  },\n  {\n    name: 'IncorrectOrMissingSettlDate',\n    id: '774009',\n    value: '9',\n    sort: 9,\n    added: 'FIX.5.0SP2',\n    addedEP: '170',\n    tag: 774,\n    type: 'int',\n    codeSet: 'ConfirmRejReasonCodeSet',\n    description: 'Incorrect or missing settlement date',\n  },\n  {\n    name: 'IncorrectOrMissingFundIDOrFundName',\n    id: '774010',\n    value: '10',\n    sort: 10,\n    added: 'FIX.5.0SP2',\n    addedEP: '170',\n    tag: 774,\n    type: 'int',\n    codeSet: 'ConfirmRejReasonCodeSet',\n    description: 'Incorrect or missing fund ID or fund name',\n  },\n  {\n    name: 'IncorrectOrMissingQuantity',\n    id: '774011',\n    value: '11',\n    sort: 11,\n    added: 'FIX.5.0SP2',\n    addedEP: '170',\n    tag: 774,\n    type: 'int',\n    codeSet: 'ConfirmRejReasonCodeSet',\n    description: 'Incorrect or missing quantity',\n  },\n  {\n    name: 'IncorrectOrMissingFees',\n    id: '774012',\n    value: '12',\n    sort: 12,\n    added: 'FIX.5.0SP2',\n    addedEP: '170',\n    tag: 774,\n    type: 'int',\n    codeSet: 'ConfirmRejReasonCodeSet',\n    description: 'Incorrect or missing fees',\n  },\n  {\n    name: 'IncorrectOrMissingTax',\n    id: '774013',\n    value: '13',\n    sort: 13,\n    added: 'FIX.5.0SP2',\n    addedEP: '170',\n    tag: 774,\n    type: 'int',\n    codeSet: 'ConfirmRejReasonCodeSet',\n    description: 'Incorrect or missing tax',\n  },\n  {\n    name: 'IncorrectOrMissingParty',\n    id: '774014',\n    value: '14',\n    sort: 14,\n    added: 'FIX.5.0SP2',\n    addedEP: '170',\n    tag: 774,\n    type: 'int',\n    codeSet: 'ConfirmRejReasonCodeSet',\n    description: 'Incorrect or missing party',\n  },\n  {\n    name: 'IncorrectOrMissingSide',\n    id: '774015',\n    value: '15',\n    sort: 15,\n    added: 'FIX.5.0SP2',\n    addedEP: '170',\n    tag: 774,\n    type: 'int',\n    codeSet: 'ConfirmRejReasonCodeSet',\n    description: 'Incorrect or missing side',\n  },\n  {\n    name: 'IncorrectOrMissingNetMoney',\n    id: '774016',\n    value: '16',\n    sort: 16,\n    added: 'FIX.5.0SP2',\n    addedEP: '170',\n    tag: 774,\n    type: 'int',\n    codeSet: 'ConfirmRejReasonCodeSet',\n    description: 'Incorrect or missing net-money',\n  },\n  {\n    name: 'IncorrectOrMissingTradeDate',\n    id: '774017',\n    value: '17',\n    sort: 17,\n    added: 'FIX.5.0SP2',\n    addedEP: '170',\n    tag: 774,\n    type: 'int',\n    codeSet: 'ConfirmRejReasonCodeSet',\n    description: 'Incorrect or missing trade date',\n  },\n  {\n    name: 'IncorrectOrMissingSettlCcyInstructions',\n    id: '774018',\n    value: '18',\n    sort: 18,\n    added: 'FIX.5.0SP2',\n    addedEP: '170',\n    tag: 774,\n    type: 'int',\n    codeSet: 'ConfirmRejReasonCodeSet',\n    description: 'Incorrect or missing settlement currency instructions',\n  },\n  {\n    name: 'IncorrectOrMissingCapacity',\n    id: '774019',\n    value: '19',\n    sort: 19,\n    added: 'FIX.5.0SP2',\n    addedEP: '170',\n    tag: 774,\n    type: 'int',\n    codeSet: 'ConfirmRejReasonCodeSet',\n    description: 'Incorrect or missing capacity',\n  },\n  {\n    name: 'Other',\n    id: '774020',\n    value: '99',\n    sort: 99,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '170',\n    tag: 774,\n    type: 'int',\n    codeSet: 'ConfirmRejReasonCodeSet',\n    description: 'Other\\n\\nUse Text(58) for further reject reasons.',\n  },\n  {\n    name: 'RegularBooking',\n    id: '775001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 775,\n    type: 'int',\n    codeSet: 'BookingTypeCodeSet',\n    description: 'Regular booking',\n  },\n  {\n    name: 'CFD',\n    id: '775002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 775,\n    type: 'int',\n    codeSet: 'BookingTypeCodeSet',\n    description: 'CFD (Contract for difference)',\n  },\n  {\n    name: 'TotalReturnSwap',\n    id: '775003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.4.4',\n    tag: 775,\n    type: 'int',\n    codeSet: 'BookingTypeCodeSet',\n    description: 'Total Return Swap',\n  },\n  {\n    name: 'UseDefaultInstructions',\n    id: '780001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 780,\n    type: 'int',\n    codeSet: 'AllocSettlInstTypeCodeSet',\n    description: 'Use default instructions',\n  },\n  {\n    name: 'DeriveFromParametersProvided',\n    id: '780002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 780,\n    type: 'int',\n    codeSet: 'AllocSettlInstTypeCodeSet',\n    description: 'Derive from parameters provided',\n  },\n  {\n    name: 'FullDetailsProvided',\n    id: '780003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.4.4',\n    tag: 780,\n    type: 'int',\n    codeSet: 'AllocSettlInstTypeCodeSet',\n    description: 'Full details provided',\n  },\n  {\n    name: 'SSIDBIDsProvided',\n    id: '780004',\n    value: '3',\n    sort: 4,\n    added: 'FIX.4.4',\n    tag: 780,\n    type: 'int',\n    codeSet: 'AllocSettlInstTypeCodeSet',\n    description: 'SSI DB IDs provided',\n  },\n  {\n    name: 'PhoneForInstructions',\n    id: '780005',\n    value: '4',\n    sort: 5,\n    added: 'FIX.4.4',\n    tag: 780,\n    type: 'int',\n    codeSet: 'AllocSettlInstTypeCodeSet',\n    description: 'Phone for instructions',\n  },\n  {\n    name: 'Cash',\n    id: '787001',\n    value: 'C',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 787,\n    type: 'char',\n    codeSet: 'DlvyInstTypeCodeSet',\n    description: 'Cash',\n  },\n  {\n    name: 'Securities',\n    id: '787002',\n    value: 'S',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 787,\n    type: 'char',\n    codeSet: 'DlvyInstTypeCodeSet',\n    description: 'Securities',\n  },\n  {\n    name: 'Overnight',\n    id: '788001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 788,\n    type: 'int',\n    codeSet: 'TerminationTypeCodeSet',\n    description: 'Overnight',\n  },\n  {\n    name: 'Term',\n    id: '788002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 788,\n    type: 'int',\n    codeSet: 'TerminationTypeCodeSet',\n    description: 'Term',\n  },\n  {\n    name: 'Flexible',\n    id: '788003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.4',\n    tag: 788,\n    type: 'int',\n    codeSet: 'TerminationTypeCodeSet',\n    description: 'Flexible',\n  },\n  {\n    name: 'Open',\n    id: '788004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.4.4',\n    tag: 788,\n    type: 'int',\n    codeSet: 'TerminationTypeCodeSet',\n    description: 'Open',\n  },\n  {\n    name: 'UnableToProcessRequest',\n    id: '792001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 792,\n    type: 'int',\n    codeSet: 'SettlInstReqRejCodeCodeSet',\n    description: 'Unable to process request',\n  },\n  {\n    name: 'UnknownAccount',\n    id: '792002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 792,\n    type: 'int',\n    codeSet: 'SettlInstReqRejCodeCodeSet',\n    description: 'Unknown account',\n  },\n  {\n    name: 'NoMatchingSettlementInstructionsFound',\n    id: '792003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.4.4',\n    tag: 792,\n    type: 'int',\n    codeSet: 'SettlInstReqRejCodeCodeSet',\n    description: 'No matching settlement instructions found',\n  },\n  {\n    name: 'Other',\n    id: '792004',\n    value: '99',\n    sort: 99,\n    added: 'FIX.4.4',\n    tag: 792,\n    type: 'int',\n    codeSet: 'SettlInstReqRejCodeCodeSet',\n    description: 'Other',\n  },\n  {\n    name: 'PreliminaryRequestToIntermediary',\n    id: '794001',\n    value: '2',\n    sort: 1,\n    added: 'FIX.4.4',\n    addedEP: '5',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '118',\n    tag: 794,\n    type: 'int',\n    codeSet: 'AllocReportTypeCodeSet',\n    description: 'Preliminary request to intermediary',\n  },\n  {\n    name: 'SellsideCalculatedUsingPreliminary',\n    id: '794002',\n    value: '3',\n    sort: 2,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '118',\n    tag: 794,\n    type: 'int',\n    codeSet: 'AllocReportTypeCodeSet',\n    description: 'Sellside calculated using preliminary (includes MiscFees and NetMoney)',\n  },\n  {\n    name: 'SellsideCalculatedWithoutPreliminary',\n    id: '794003',\n    value: '4',\n    sort: 3,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '118',\n    tag: 794,\n    type: 'int',\n    codeSet: 'AllocReportTypeCodeSet',\n    description:\n      'Sellside calculated without preliminary (sent unsolicited by sellside, includes MiscFees and NetMoney)',\n  },\n  {\n    name: 'WarehouseRecap',\n    id: '794004',\n    value: '5',\n    sort: 4,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '118',\n    tag: 794,\n    type: 'int',\n    codeSet: 'AllocReportTypeCodeSet',\n    description: 'Warehouse recap',\n  },\n  {\n    name: 'RequestToIntermediary',\n    id: '794005',\n    value: '8',\n    sort: 5,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '118',\n    tag: 794,\n    type: 'int',\n    codeSet: 'AllocReportTypeCodeSet',\n    description: 'Request to intermediary',\n  },\n  {\n    name: 'Accept',\n    id: '794006',\n    value: '9',\n    sort: 6,\n    added: 'FIX.4.4',\n    addedEP: '5',\n    deprecated: 'FIX.5.0SP2',\n    deprecatedEP: '118',\n    tag: 794,\n    type: 'int',\n    codeSet: 'AllocReportTypeCodeSet',\n    description: 'Accept',\n  },\n  {\n    name: 'Reject',\n    id: '794007',\n    value: '10',\n    sort: 7,\n    added: 'FIX.4.4',\n    addedEP: '5',\n    deprecated: 'FIX.5.0SP2',\n    deprecatedEP: '118',\n    tag: 794,\n    type: 'int',\n    codeSet: 'AllocReportTypeCodeSet',\n    description: 'Reject',\n  },\n  {\n    name: 'AcceptPending',\n    id: '794008',\n    value: '11',\n    sort: 8,\n    added: 'FIX.4.4',\n    addedEP: '5',\n    deprecated: 'FIX.5.0SP2',\n    deprecatedEP: '118',\n    tag: 794,\n    type: 'int',\n    codeSet: 'AllocReportTypeCodeSet',\n    description: 'Accept Pending',\n  },\n  {\n    name: 'Complete',\n    id: '794009',\n    value: '12',\n    sort: 9,\n    added: 'FIX.4.4',\n    addedEP: '5',\n    deprecated: 'FIX.5.0SP2',\n    deprecatedEP: '118',\n    tag: 794,\n    type: 'int',\n    codeSet: 'AllocReportTypeCodeSet',\n    description: 'Complete',\n  },\n  {\n    name: 'ReversePending',\n    id: '794010',\n    value: '14',\n    sort: 10,\n    added: 'FIX.4.4',\n    addedEP: '5',\n    deprecated: 'FIX.5.0SP2',\n    deprecatedEP: '118',\n    tag: 794,\n    type: 'int',\n    codeSet: 'AllocReportTypeCodeSet',\n    description: 'Reverse Pending',\n  },\n  {\n    name: 'Giveup',\n    id: '794011',\n    value: '15',\n    sort: 15,\n    added: 'FIX.5.0SP2',\n    addedEP: '118',\n    tag: 794,\n    type: 'int',\n    codeSet: 'AllocReportTypeCodeSet',\n    description: 'Give-up',\n  },\n  {\n    name: 'Takeup',\n    id: '794012',\n    value: '16',\n    sort: 16,\n    added: 'FIX.5.0SP2',\n    addedEP: '118',\n    tag: 794,\n    type: 'int',\n    codeSet: 'AllocReportTypeCodeSet',\n    description: 'Take-up',\n  },\n  {\n    name: 'Reversal',\n    id: '794013',\n    value: '17',\n    sort: 17,\n    added: 'FIX.5.0SP2',\n    addedEP: '118',\n    tag: 794,\n    type: 'int',\n    codeSet: 'AllocReportTypeCodeSet',\n    description: 'Reversal',\n  },\n  {\n    name: 'Alleged',\n    id: '794014',\n    value: '18',\n    sort: 18,\n    added: 'FIX.5.0SP2',\n    addedEP: '118',\n    tag: 794,\n    type: 'int',\n    codeSet: 'AllocReportTypeCodeSet',\n    description: 'Alleged reversal',\n  },\n  {\n    name: 'SubAllocationGiveup',\n    id: '794015',\n    value: '19',\n    sort: 19,\n    added: 'FIX.5.0SP2',\n    addedEP: '118',\n    tag: 794,\n    type: 'int',\n    codeSet: 'AllocReportTypeCodeSet',\n    description: 'Sub-allocation give-up',\n  },\n  {\n    name: 'OriginalDetailsIncomplete',\n    id: '796001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 796,\n    type: 'int',\n    codeSet: 'AllocCancReplaceReasonCodeSet',\n    description: 'Original details incomplete/incorrect',\n  },\n  {\n    name: 'ChangeInUnderlyingOrderDetails',\n    id: '796002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 796,\n    type: 'int',\n    codeSet: 'AllocCancReplaceReasonCodeSet',\n    description: 'Change in underlying order details',\n  },\n  {\n    name: 'CancelledByGiveupFirm',\n    id: '796003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '118',\n    tag: 796,\n    type: 'int',\n    codeSet: 'AllocCancReplaceReasonCodeSet',\n    description: 'Cancelled by give-up firm',\n  },\n  {\n    name: 'Other',\n    id: '796004',\n    value: '99',\n    sort: 99,\n    added: 'FIX.4.4',\n    tag: 796,\n    type: 'int',\n    codeSet: 'AllocCancReplaceReasonCodeSet',\n    description: 'Other',\n  },\n  {\n    name: 'CarriedCustomerSide',\n    id: '798001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 798,\n    type: 'int',\n    codeSet: 'AllocAccountTypeCodeSet',\n    description: 'Account is carried pn customer side of books',\n  },\n  {\n    name: 'CarriedNonCustomerSide',\n    id: '798002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 798,\n    type: 'int',\n    codeSet: 'AllocAccountTypeCodeSet',\n    description: 'Account is carried on non-customer side of books',\n  },\n  {\n    name: 'HouseTrader',\n    id: '798003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.4',\n    tag: 798,\n    type: 'int',\n    codeSet: 'AllocAccountTypeCodeSet',\n    description: 'House trader',\n  },\n  {\n    name: 'FloorTrader',\n    id: '798004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.4.4',\n    tag: 798,\n    type: 'int',\n    codeSet: 'AllocAccountTypeCodeSet',\n    description: 'Floor trader',\n  },\n  {\n    name: 'CarriedNonCustomerSideCrossMargined',\n    id: '798005',\n    value: '6',\n    sort: 5,\n    added: 'FIX.4.4',\n    tag: 798,\n    type: 'int',\n    codeSet: 'AllocAccountTypeCodeSet',\n    description: 'Account is carried on non-customer side of books and is cross margined',\n  },\n  {\n    name: 'HouseTraderCrossMargined',\n    id: '798006',\n    value: '7',\n    sort: 6,\n    added: 'FIX.4.4',\n    tag: 798,\n    type: 'int',\n    codeSet: 'AllocAccountTypeCodeSet',\n    description: 'Account is house trader and is cross margined',\n  },\n  {\n    name: 'JointBackOfficeAccount',\n    id: '798007',\n    value: '8',\n    sort: 7,\n    added: 'FIX.4.4',\n    tag: 798,\n    type: 'int',\n    codeSet: 'AllocAccountTypeCodeSet',\n    description: 'Joint back office account (JBO)',\n  },\n  {\n    name: 'Firm',\n    id: '803001',\n    value: '1',\n    sort: 0,\n    added: 'FIX.4.4',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description: 'Firm',\n  },\n  {\n    name: 'Person',\n    id: '803002',\n    value: '2',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description: 'Person',\n  },\n  {\n    name: 'System',\n    id: '803003',\n    value: '3',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description: 'System',\n  },\n  {\n    name: 'Application',\n    id: '803004',\n    value: '4',\n    sort: 3,\n    added: 'FIX.4.4',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description: 'Application',\n  },\n  {\n    name: 'FullLegalNameOfFirm',\n    id: '803005',\n    value: '5',\n    sort: 4,\n    added: 'FIX.4.4',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description: 'Full legal name of firm',\n  },\n  {\n    name: 'PostalAddress',\n    id: '803006',\n    value: '6',\n    sort: 5,\n    added: 'FIX.4.4',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description: 'Postal address',\n  },\n  {\n    name: 'PhoneNumber',\n    id: '803007',\n    value: '7',\n    sort: 6,\n    added: 'FIX.4.4',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description: 'Phone number',\n  },\n  {\n    name: 'EmailAddress',\n    id: '803008',\n    value: '8',\n    sort: 7,\n    added: 'FIX.4.4',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description: 'Email address',\n  },\n  {\n    name: 'ContactName',\n    id: '803009',\n    value: '9',\n    sort: 8,\n    added: 'FIX.4.4',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description: 'Contact name',\n  },\n  {\n    name: 'SecuritiesAccountNumber',\n    id: '803010',\n    value: '10',\n    sort: 9,\n    added: 'FIX.4.4',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description: 'Securities account number (for settlement instructions)',\n  },\n  {\n    name: 'RegistrationNumber',\n    id: '803011',\n    value: '11',\n    sort: 10,\n    added: 'FIX.4.4',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description: 'Registration number (for settlement instructions and confirmations)',\n  },\n  {\n    name: 'RegisteredAddressForConfirmation',\n    id: '803012',\n    value: '12',\n    sort: 11,\n    added: 'FIX.4.4',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description: 'Registered address (for confirmation purposes)',\n  },\n  {\n    name: 'RegulatoryStatus',\n    id: '803013',\n    value: '13',\n    sort: 12,\n    added: 'FIX.4.4',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description: 'Regulatory status (for confirmation purposes)',\n  },\n  {\n    name: 'RegistrationName',\n    id: '803014',\n    value: '14',\n    sort: 13,\n    added: 'FIX.4.4',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description: 'Registration name (for settlement instructions)',\n  },\n  {\n    name: 'CashAccountNumber',\n    id: '803015',\n    value: '15',\n    sort: 14,\n    added: 'FIX.4.4',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description: 'Cash account number (for settlement instructions)',\n  },\n  {\n    name: 'BIC',\n    id: '803016',\n    value: '16',\n    sort: 15,\n    added: 'FIX.4.4',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description: 'BIC',\n  },\n  {\n    name: 'CSDParticipantMemberCode',\n    id: '803017',\n    value: '17',\n    sort: 16,\n    added: 'FIX.4.4',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description: 'CSD participant member code',\n  },\n  {\n    name: 'RegisteredAddress',\n    id: '803018',\n    value: '18',\n    sort: 17,\n    added: 'FIX.4.4',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description: 'Registered address',\n  },\n  {\n    name: 'FundAccountName',\n    id: '803019',\n    value: '19',\n    sort: 18,\n    added: 'FIX.4.4',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description: 'Fund account name',\n  },\n  {\n    name: 'TelexNumber',\n    id: '803020',\n    value: '20',\n    sort: 19,\n    added: 'FIX.4.4',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description: 'Telex number',\n  },\n  {\n    name: 'FaxNumber',\n    id: '803021',\n    value: '21',\n    sort: 20,\n    added: 'FIX.4.4',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description: 'Fax number',\n  },\n  {\n    name: 'SecuritiesAccountName',\n    id: '803022',\n    value: '22',\n    sort: 21,\n    added: 'FIX.4.4',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description: 'Securities account name',\n  },\n  {\n    name: 'CashAccountName',\n    id: '803023',\n    value: '23',\n    sort: 22,\n    added: 'FIX.4.4',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description: 'Cash account name',\n  },\n  {\n    name: 'Department',\n    id: '803024',\n    value: '24',\n    sort: 23,\n    added: 'FIX.4.4',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description: 'Department',\n  },\n  {\n    name: 'LocationDesk',\n    id: '803025',\n    value: '25',\n    sort: 24,\n    added: 'FIX.4.4',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description: 'Location desk',\n  },\n  {\n    name: 'PositionAccountType',\n    id: '803026',\n    value: '26',\n    sort: 25,\n    added: 'FIX.4.4',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description: 'Position account type',\n  },\n  {\n    name: 'SecurityLocateID',\n    id: '803027',\n    value: '27',\n    sort: 26,\n    added: 'FIX.4.4',\n    addedEP: '1',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description: 'Security locate ID',\n  },\n  {\n    name: 'MarketMaker',\n    id: '803028',\n    value: '28',\n    sort: 27,\n    added: 'FIX.4.4',\n    addedEP: '26',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description: 'Market maker',\n  },\n  {\n    name: 'EligibleCounterparty',\n    id: '803029',\n    value: '29',\n    sort: 28,\n    added: 'FIX.4.4',\n    addedEP: '26',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description: 'Eligible counterparty',\n  },\n  {\n    name: 'ProfessionalClient',\n    id: '803030',\n    value: '30',\n    sort: 29,\n    added: 'FIX.4.4',\n    addedEP: '26',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description: 'Professional client',\n  },\n  {\n    name: 'Location',\n    id: '803031',\n    value: '31',\n    sort: 30,\n    added: 'FIX.4.4',\n    addedEP: '26',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description: 'Location',\n  },\n  {\n    name: 'ExecutionVenue',\n    id: '803032',\n    value: '32',\n    sort: 31,\n    added: 'FIX.4.4',\n    addedEP: '26',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description: 'Execution venue',\n  },\n  {\n    name: 'CurrencyDeliveryIdentifier',\n    id: '803033',\n    value: '33',\n    sort: 32,\n    added: 'FIX.5.0',\n    addedEP: '44',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '103',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description: 'Currency delivery identifier',\n  },\n  {\n    name: 'AddressCity',\n    id: '803034',\n    value: '34',\n    sort: 33,\n    added: 'FIX.5.0SP2',\n    addedEP: '103',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description: 'Address City',\n  },\n  {\n    name: 'AddressStateOrProvince',\n    id: '803035',\n    value: '35',\n    sort: 34,\n    added: 'FIX.5.0SP2',\n    addedEP: '103',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description: 'Address State/Province',\n  },\n  {\n    name: 'AddressPostalCode',\n    id: '803036',\n    value: '36',\n    sort: 35,\n    added: 'FIX.5.0SP2',\n    addedEP: '103',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description: 'Address Postal Code',\n  },\n  {\n    name: 'AddressStreet',\n    id: '803037',\n    value: '37',\n    sort: 36,\n    added: 'FIX.5.0SP2',\n    addedEP: '103',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description: 'Address Street',\n  },\n  {\n    name: 'AddressISOCountryCode',\n    id: '803038',\n    value: '38',\n    sort: 37,\n    added: 'FIX.5.0SP2',\n    addedEP: '103',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description: 'Address Country (ISO country code)',\n  },\n  {\n    name: 'ISOCountryCode',\n    id: '803039',\n    value: '39',\n    sort: 38,\n    added: 'FIX.5.0SP2',\n    addedEP: '103',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description: 'ISO country code',\n  },\n  {\n    name: 'MarketSegment',\n    id: '803040',\n    value: '40',\n    sort: 39,\n    added: 'FIX.5.0SP2',\n    addedEP: '105',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '187',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description: 'Market segment',\n  },\n  {\n    name: 'CustomerAccountType',\n    id: '803041',\n    value: '41',\n    sort: 41,\n    added: 'FIX.5.0SP2',\n    addedEP: '155',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description: 'Customer account type',\n  },\n  {\n    name: 'OmnibusAccount',\n    id: '803042',\n    value: '42',\n    sort: 42,\n    added: 'FIX.5.0SP2',\n    addedEP: '155',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description: 'Omnibus account',\n  },\n  {\n    name: 'FundsSegregationType',\n    id: '803043',\n    value: '43',\n    sort: 43,\n    added: 'FIX.5.0SP2',\n    addedEP: '155',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '204',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description: 'Funds segregation type',\n  },\n  {\n    name: 'GuaranteeFund',\n    id: '803044',\n    value: '44',\n    sort: 44,\n    added: 'FIX.5.0SP2',\n    addedEP: '157',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description:\n      'Guarantee fund\\n\\nIdentifies a guarantee fund related to an account. Used when one account has multiple funds of collateral, each guaranteeing different positions. Can be used for PartyRole(452) = Customer Account(24).',\n  },\n  {\n    name: 'SwapDealer',\n    id: '803045',\n    value: '45',\n    sort: 45,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '192',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description:\n      'Swap dealer\\n\\nThe US regulator\\'s defined term for identifying the trade counterparty as \"any person who holds itself out as a dealer in swaps, makes a market in swaps, regularly enters into swaps with counterparties as an ordinary course of business for its own account, or engages in activity causing itself to be commonly known in the trade as a dealer or market maker in swaps\".',\n  },\n  {\n    name: 'MajorParticipant',\n    id: '803046',\n    value: '46',\n    sort: 46,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '187',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description:\n      'Major participant\\n\\nWhen PartySubID(523)=Y the counterparty is not the swap dealer but is a major swap participant as defined in the regulations.',\n  },\n  {\n    name: 'FinancialEntity',\n    id: '803047',\n    value: '47',\n    sort: 47,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '208',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description:\n      'Financial entity\\n\\nWhen PartySubID(523)=Y the counterparty is neither a swap dealer nor a major swap participant but is a financial entity as defined in the regulations.',\n  },\n  {\n    name: 'USPerson',\n    id: '803048',\n    value: '48',\n    sort: 48,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description:\n      'U.S. person\\n\\nA legal term referring to any U.S. person or legal entity anywhere in the world that should be taxed under U.S. law.',\n  },\n  {\n    name: 'ReportingEntityIndicator',\n    id: '803049',\n    value: '49',\n    sort: 49,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '229',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description:\n      'Reporting entity indicator\\n\\nIndicates the entity obligated or delegated to report to their regulator, a non-regulatory agency or data repository. Set PartySubID(523)=Y if true.',\n  },\n  {\n    name: 'ElectedClearingRequirementException',\n    id: '803050',\n    value: '50',\n    sort: 50,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description: 'Elected clearing requirement exception',\n  },\n  {\n    name: 'BusinessCenter',\n    id: '803051',\n    value: '51',\n    sort: 51,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description: 'Business center\\n\\n',\n  },\n  {\n    name: 'ReferenceText',\n    id: '803052',\n    value: '52',\n    sort: 52,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description: 'Reference text',\n  },\n  {\n    name: 'ShortMarkingExemptAccount',\n    id: '803053',\n    value: '53',\n    sort: 53,\n    added: 'FIX.5.0SP2',\n    addedEP: '164',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description: 'Short-marking exempt account',\n  },\n  {\n    name: 'ParentFirmIdentifier',\n    id: '803054',\n    value: '54',\n    sort: 54,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description:\n      \"Parent firm identifier\\n\\nImplementation-specific identifier of this party's parent entity.\",\n  },\n  {\n    name: 'ParentFirmName',\n    id: '803055',\n    value: '55',\n    sort: 55,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description: \"Parent firm name\\n\\nFull name of this party's parent entity.\",\n  },\n  {\n    name: 'DealIdentifier',\n    id: '803056',\n    value: '56',\n    sort: 56,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description:\n      'Deal identifier\\n\\nThe internal identifier assigned to the trade by this party, particularly by a Clearing Organization.',\n  },\n  {\n    name: 'SystemTradeID',\n    id: '803057',\n    value: '57',\n    sort: 57,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description: 'System trade identifier',\n  },\n  {\n    name: 'SystemTradeSubID',\n    id: '803058',\n    value: '58',\n    sort: 58,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description: 'System trade sub-identifier',\n  },\n  {\n    name: 'FCMCode',\n    id: '803059',\n    value: '59',\n    sort: 59,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description:\n      \"Futures Commission Merchant (FCM) code\\n\\nThe FCM's code or identifier in relation to the PartyRole(452). For example, if PartyRole(452) is the exchange or clearinghouse, the FCM code/ID specified in PartySubID(523) is the FCM's identifier at the exchange or clearinghouse.\",\n  },\n  {\n    name: 'DlvryTrmlCode',\n    id: '803060',\n    value: '60',\n    sort: 60,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description:\n      'Delivery terminal customer account/code\\n\\nUsually used for gas delivery to identify whose account the gas is allocated to at the delivery terminal. Often referred to as \"HUB\" code.',\n  },\n  {\n    name: 'VolntyRptEntity',\n    id: '803061',\n    value: '61',\n    sort: 61,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description:\n      'Voluntary reporting entity\\n\\nThe entity voluntarily reporting the trade to the regulator. Set PartySubID(523)=Y if true.',\n  },\n  {\n    name: 'RptObligJursdctn',\n    id: '803062',\n    value: '62',\n    sort: 62,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description:\n      'Reporting obligation jurisdiction\\n\\nFor a trade that falls under multiple jurisdictions this may be used to identify, through PartySubID(523), the reporting jurisdiction to which the party is obligated to report.',\n  },\n  {\n    name: 'VolntyRptJursdctn',\n    id: '803063',\n    value: '63',\n    sort: 63,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description:\n      'Voluntary reporting jurisdiction\\n\\nFor a trade that falls under multiple jurisdictions this may be used to identify, through PartySubID(523), the regulatory jurisdiction to which the party is submitting a voluntary report.',\n  },\n  {\n    name: 'CompanyActivities',\n    id: '803064',\n    value: '64',\n    sort: 64,\n    added: 'FIX.5.0SP2',\n    addedEP: '179',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '254',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description:\n      'Company activities\\n\\nFor regulatory reporting. ID values include: A = Assurance undertaking authorized in accordance with Directive 2002/83/EC C=Credit institution authorized in accordance with Directive 2006/48/EC F=Investment firm in accordance with Directive 2004/39/EC I=Insurance undertaking authorized in accordance with Directive 73/239/EC L=Alternative investment fund managed by AIFMs authorized or registered in accordance with Directive 2011/61/EC O=Institution for occupational retirement provision within the meaning of Article 6(a0 of Directive 2003/41/EC R=Reinsurance undertaking authorized in accordance with Directive 2005/68/EC U=UCITS and its management company, authorized in accordance with Directive 2009/65/EC or blank in case of coverage by LEI or in case of non-financial counterparties.\\n\\nIn the context of EU SFTR reporting use the appropriate 4- or 1-character code noted in the regulations. See SFTR ITS \"Commission Implementing Regulation (EU) 2019/363\" Annexes 1 and 2 for values.',\n  },\n  {\n    name: 'EEAreaDomiciled',\n    id: '803065',\n    value: '65',\n    sort: 65,\n    added: 'FIX.5.0SP2',\n    addedEP: '179',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description: 'European Economic Area domiciled\\n\\nID values: Y or N',\n  },\n  {\n    name: 'ContractLinked',\n    id: '803066',\n    value: '66',\n    sort: 66,\n    added: 'FIX.5.0SP2',\n    addedEP: '179',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description:\n      'Contract linked to commercial or treasury financing for this counterparty\\n\\nID values: Y or N',\n  },\n  {\n    name: 'ContractAbove',\n    id: '803067',\n    value: '67',\n    sort: 67,\n    added: 'FIX.5.0SP2',\n    addedEP: '179',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description:\n      'Contract above clearing threshold for this counterparty\\n\\nID values: Y or N',\n  },\n  {\n    name: 'VolntyRptPty',\n    id: '803068',\n    value: '68',\n    sort: 68,\n    added: 'FIX.5.0SP2',\n    addedEP: '187',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description:\n      'Voluntary reporting party\\n\\nWhen PartySubID(523)=Y, identifies that the trading party is reporting voluntarily when VoluntaryRegulatoryReport(1935)=Y.',\n  },\n  {\n    name: 'EndUser',\n    id: '803069',\n    value: '69',\n    sort: 69,\n    added: 'FIX.5.0SP2',\n    addedEP: '187',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description:\n      'End user\\n\\nWhen PartySubID(523)=Y, the counterparty is neither the swap dealer, major swap participant nor financial entity as defined in the regulations.',\n  },\n  {\n    name: 'LocationOrJurisdiction',\n    id: '803070',\n    value: '70',\n    sort: 70,\n    added: 'FIX.5.0SP2',\n    addedEP: '192',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '193',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description:\n      'Location or jurisdiction\\n\\nOne or more instances may be used in combination with PartySubIDType(803) = 49 (Reporting entity indicator) or 102 (Data repository) to identify the jurisdiction, countries, regions or provinces for which the party is a reporting entity or data repository when that characteristic is ambiguous or where there are multiple locations. The party sub-ID value is either a jurisdiction acronym, a 2-character ISO 3166 country code, or a hyphenated combination of the country code and the standard post-office abbreviation for province, state or region if necessary. E.g. \"US\" for United States or \"CA-QC\" for Quebec Canada.',\n  },\n  {\n    name: 'DerivativesDealer',\n    id: '803071',\n    value: '71',\n    sort: 71,\n    added: 'FIX.5.0SP2',\n    addedEP: '192',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description:\n      'Derivatives dealer\\n\\nIndicates whether the party is a derivatives dealer or not (Y/N). The Canadian regulator\\'s defined term for identifying the trade counterparty as \"a person or company engaging in or holding himself, herself or itself out as engaging in the business of trading in derivatives in Ontario as principal or agent\".',\n  },\n  {\n    name: 'Domicile',\n    id: '803072',\n    value: '72',\n    sort: 72,\n    added: 'FIX.5.0SP2',\n    addedEP: '192',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description:\n      'Domicile\\n\\nCountry and optionally province, state or region of domicile. The party sub-ID value is either a 2-character ISO 3166 country code or a hyphenated combination of the country code and the standard post-office abbreviation of province, state or region if necessary. E.g. \"US\" for United States or \"CA-QC\" for Quebec Canada.',\n  },\n  {\n    name: 'ExemptFromRecognition',\n    id: '803073',\n    value: '73',\n    sort: 73,\n    added: 'FIX.5.0SP2',\n    addedEP: '192',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description:\n      'Exempt from recognition\\n\\nUsed with party role 21 \"Clearing Organization\" to indicate exemption (Y/N). Identifies a clearing agency as exempt from oversight in Ontario, i.e. one that 1) only provides limited services and does not present significant risks or 2) is foreign-based, indends to operate in Ontario but is subject to regulatory oversight in another jurisdiction.',\n  },\n  {\n    name: 'Payer',\n    id: '803074',\n    value: '74',\n    sort: 74,\n    added: 'FIX.5.0SP2',\n    addedEP: '203',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description:\n      \"Payer\\n\\nIdentifies the party as the payer of a particular payment stream or bullet payment by quoting the stream's StreamDesc(40051) (or LegStreamDesc(40243) or UnderlyingStreamDesc(40542)) or payment's PaymentDesc(43087) in the associated party sub-identifier field.\",\n  },\n  {\n    name: 'Receiver',\n    id: '803075',\n    value: '75',\n    sort: 75,\n    added: 'FIX.5.0SP2',\n    addedEP: '203',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description:\n      \"Receiver\\n\\nIdentifies the party as the receiver of a particular payment stream or bullet payment by quoting the stream's StreamDesc(40051) (or LegStreamDesc(40243) or UnderlyingStreamDesc(40542)) or payment's PaymentDesc(43087) in the associated party sub-identifier field.\",\n  },\n  {\n    name: 'SystematicInternaliser',\n    id: '803076',\n    value: '76',\n    sort: 76,\n    added: 'FIX.5.0SP2',\n    addedEP: '228',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description:\n      'Systematic Internaliser (SI)\\n\\nIn the context of ESMA reporting, this is used to indicate whether the specified party is a Systematic Internaliser or not for the security defined in the Instrument component (Y/N).',\n  },\n  {\n    name: 'PublishingEntityIndicator',\n    id: '803077',\n    value: '77',\n    sort: 77,\n    added: 'FIX.5.0SP2',\n    addedEP: '229',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description:\n      'Publishing entity indicator\\n\\nIndicates the entity obligated or delegated to publish to the market. Set PartySubID(523)=Y if true.',\n  },\n  {\n    name: 'FirstName',\n    id: '803078',\n    value: '78',\n    sort: 78,\n    added: 'FIX.5.0SP2',\n    addedEP: '232',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description:\n      'First name\\n\\nThe first name(s) of a natural person. If multiple names, separate entries by a comma.',\n  },\n  {\n    name: 'Surname',\n    id: '803079',\n    value: '79',\n    sort: 79,\n    added: 'FIX.5.0SP2',\n    addedEP: '232',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description:\n      'Surname\\n\\nThe surname(s) or lastname(s) of a natural person. If multiple names, separate entries by a comma.',\n  },\n  {\n    name: 'DateOfBirth',\n    id: '803080',\n    value: '80',\n    sort: 80,\n    added: 'FIX.5.0SP2',\n    addedEP: '232',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description:\n      'Date of birth\\n\\nThe date of birth of a natural person in the format YYYYMMDD.',\n  },\n  {\n    name: 'OrderTransmittingFirm',\n    id: '803081',\n    value: '81',\n    sort: 81,\n    added: 'FIX.5.0SP2',\n    addedEP: '232',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description:\n      'Order transmitting firm\\n\\nIdentifies whether the party specified in PartyID(448) is the firm that transmitted the order. In the context of RTS 22 Article 4, when \"true\" the PartySubID(523)=Y shall be set \"by the transmitting firm within the transmitting firm\\'s report where conditions for transmission specified in Article 4 were not satisfied.\"',\n  },\n  {\n    name: 'OrderTransmittingFirmBuyer',\n    id: '803082',\n    value: '82',\n    sort: 82,\n    added: 'FIX.5.0SP2',\n    addedEP: '232',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description:\n      'Order transmitting firm for buyer\\n\\nIdentifies the firm that transmitted the order for the buyer. In the context of ESMA RTS 22, PartySubID(523)=Y is used to indicate the firm identified in PartyID(448) is the firm that transmitted the order for the buyer. \"This shall be populated by the receiving firm within the receiving firm\\'s report with the identification code provided by the transmitting firm.\"',\n  },\n  {\n    name: 'OrderTransmitterSeller',\n    id: '803083',\n    value: '83',\n    sort: 83,\n    added: 'FIX.5.0SP2',\n    addedEP: '232',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description:\n      'Order transmitter for seller\\n\\nIdentifies the order transmitting firm for the seller. In the context of ESMA RTS 22, PartySubID(523)=Y is used to indicate the firm identified in PartyID(448) is the firm that transmitted the order for the seller. \"This shall be populated by the receiving firm within the receiving firm\\'s report with the identification code provided by the transmitting firm.\"',\n  },\n  {\n    name: 'LegalEntityIdentifier',\n    id: '803084',\n    value: '84',\n    sort: 84,\n    added: 'FIX.5.0SP2',\n    addedEP: '235',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description: 'Legal Entity Identifier (ISO 17442) LEI',\n  },\n  {\n    name: 'SubSectorClassification',\n    id: '803085',\n    value: '85',\n    sort: 85,\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description:\n      'Sub-sector classification\\n\\nSupplemental to party sub-ID type \"64\" (Company activities) for regulatory reporting. For EU SFTR reporting use the appropriate 4-character code noted in the regulations applying the conditional association rules. See SFTR ITS \"Commission Implementing Regulation (EU) 2019/363\" Annexes 1 and 2 for values.',\n  },\n  {\n    name: 'PartySide',\n    id: '803086',\n    value: '86',\n    sort: 86,\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description:\n      'Party side\\n\\nMay be used, when appropriate, to explicitly indicate the transaction side of the party, e.g. Buyer, Seller, Lender, Borrower, Maker, Taker, etc. in the ID. In the context of EU SFTR reporting, use values as required by SFTR, \"GIVE\" and \"TAKE\" in the ID, to identify collateral giver and taker.',\n  },\n  {\n    name: 'LegalRegistrationCountry',\n    id: '803087',\n    value: '87',\n    sort: 87,\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 803,\n    type: 'int',\n    codeSet: 'PartySubIDTypeCodeSet',\n    description:\n      'Legal registration country\\n\\nISO Country Code where the registered office of the party is located as specified in the LEI reference data.',\n  },\n  {\n    name: 'PendingAccept',\n    id: '808001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 808,\n    type: 'int',\n    codeSet: 'AllocIntermedReqTypeCodeSet',\n    description: 'Pending Accept',\n  },\n  {\n    name: 'PendingRelease',\n    id: '808002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 808,\n    type: 'int',\n    codeSet: 'AllocIntermedReqTypeCodeSet',\n    description: 'Pending Release',\n  },\n  {\n    name: 'PendingReversal',\n    id: '808003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.4',\n    tag: 808,\n    type: 'int',\n    codeSet: 'AllocIntermedReqTypeCodeSet',\n    description: 'Pending Reversal',\n  },\n  {\n    name: 'Accept',\n    id: '808004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.4.4',\n    tag: 808,\n    type: 'int',\n    codeSet: 'AllocIntermedReqTypeCodeSet',\n    description: 'Accept',\n  },\n  {\n    name: 'BlockLevelReject',\n    id: '808005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.4.4',\n    tag: 808,\n    type: 'int',\n    codeSet: 'AllocIntermedReqTypeCodeSet',\n    description: 'Block Level Reject',\n  },\n  {\n    name: 'AccountLevelReject',\n    id: '808006',\n    value: '6',\n    sort: 6,\n    added: 'FIX.4.4',\n    tag: 808,\n    type: 'int',\n    codeSet: 'AllocIntermedReqTypeCodeSet',\n    description: 'Account Level Reject',\n  },\n  {\n    name: 'NoActionTaken',\n    id: '814001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 814,\n    type: 'int',\n    codeSet: 'ApplQueueResolutionCodeSet',\n    description: 'No Action Taken',\n  },\n  {\n    name: 'QueueFlushed',\n    id: '814002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 814,\n    type: 'int',\n    codeSet: 'ApplQueueResolutionCodeSet',\n    description: 'Queue Flushed',\n  },\n  {\n    name: 'OverlayLast',\n    id: '814003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.4.4',\n    tag: 814,\n    type: 'int',\n    codeSet: 'ApplQueueResolutionCodeSet',\n    description: 'Overlay Last',\n  },\n  {\n    name: 'EndSession',\n    id: '814004',\n    value: '3',\n    sort: 4,\n    added: 'FIX.4.4',\n    tag: 814,\n    type: 'int',\n    codeSet: 'ApplQueueResolutionCodeSet',\n    description: 'End Session',\n  },\n  {\n    name: 'NoActionTaken',\n    id: '815001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 815,\n    type: 'int',\n    codeSet: 'ApplQueueActionCodeSet',\n    description: 'No Action Taken',\n  },\n  {\n    name: 'QueueFlushed',\n    id: '815002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 815,\n    type: 'int',\n    codeSet: 'ApplQueueActionCodeSet',\n    description: 'Queue Flushed',\n  },\n  {\n    name: 'OverlayLast',\n    id: '815003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.4.4',\n    tag: 815,\n    type: 'int',\n    codeSet: 'ApplQueueActionCodeSet',\n    description: 'Overlay Last',\n  },\n  {\n    name: 'EndSession',\n    id: '815004',\n    value: '3',\n    sort: 4,\n    added: 'FIX.4.4',\n    tag: 815,\n    type: 'int',\n    codeSet: 'ApplQueueActionCodeSet',\n    description: 'End Session',\n  },\n  {\n    name: 'NoAveragePricing',\n    id: '819001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '141',\n    tag: 819,\n    type: 'int',\n    codeSet: 'AvgPxIndicatorCodeSet',\n    description: 'No average pricing',\n  },\n  {\n    name: 'Trade',\n    id: '819002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '141',\n    tag: 819,\n    type: 'int',\n    codeSet: 'AvgPxIndicatorCodeSet',\n    description:\n      'Trade is part of an average price group identified by the AvgPxGroupID(1731)',\n  },\n  {\n    name: 'LastTrade',\n    id: '819003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '234',\n    tag: 819,\n    type: 'int',\n    codeSet: 'AvgPxIndicatorCodeSet',\n    description:\n      'Last trade of the average price group identified by the AvgPxGroupID(1731)',\n  },\n  {\n    name: 'NotionalValueAveragePxGroupTrade',\n    id: '819004',\n    value: '3',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '239',\n    tag: 819,\n    type: 'int',\n    codeSet: 'AvgPxIndicatorCodeSet',\n    description:\n      'Trade is part of a notional value average price group\\n\\nA notional value average price (NVAP) group is effectively closed and available for allocation as long as the NVAP of the group is non-zero.',\n  },\n  {\n    name: 'AveragePricedTrade',\n    id: '819005',\n    value: '4',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '240',\n    tag: 819,\n    type: 'int',\n    codeSet: 'AvgPxIndicatorCodeSet',\n    description: 'Trade is average priced',\n  },\n  {\n    name: 'AllocationNotRequired',\n    id: '826001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 826,\n    type: 'int',\n    codeSet: 'TradeAllocIndicatorCodeSet',\n    description: 'Allocation not required',\n  },\n  {\n    name: 'AllocationRequired',\n    id: '826002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 826,\n    type: 'int',\n    codeSet: 'TradeAllocIndicatorCodeSet',\n    description:\n      'Allocation required (give-up trade) allocation information not provided (incomplete)',\n  },\n  {\n    name: 'UseAllocationProvidedWithTheTrade',\n    id: '826003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.4.4',\n    tag: 826,\n    type: 'int',\n    codeSet: 'TradeAllocIndicatorCodeSet',\n    description: 'Use allocation provided with the trade',\n  },\n  {\n    name: 'AllocationGiveUpExecutor',\n    id: '826004',\n    value: '3',\n    sort: 4,\n    added: 'FIX.4.4',\n    addedEP: '4',\n    tag: 826,\n    type: 'int',\n    codeSet: 'TradeAllocIndicatorCodeSet',\n    description: 'Allocation give-up executor',\n  },\n  {\n    name: 'AllocationFromExecutor',\n    id: '826005',\n    value: '4',\n    sort: 5,\n    added: 'FIX.4.4',\n    addedEP: '4',\n    tag: 826,\n    type: 'int',\n    codeSet: 'TradeAllocIndicatorCodeSet',\n    description: 'Allocation from executor',\n  },\n  {\n    name: 'AllocationToClaimAccount',\n    id: '826006',\n    value: '5',\n    sort: 6,\n    added: 'FIX.4.4',\n    addedEP: '4',\n    tag: 826,\n    type: 'int',\n    codeSet: 'TradeAllocIndicatorCodeSet',\n    description: 'Allocation to claim account',\n  },\n  {\n    name: 'TradeSplit',\n    id: '826007',\n    value: '6',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '141',\n    tag: 826,\n    type: 'int',\n    codeSet: 'TradeAllocIndicatorCodeSet',\n    description: 'Trade split',\n  },\n  {\n    name: 'ExpireOnTradingSessionClose',\n    id: '827001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 827,\n    type: 'int',\n    codeSet: 'ExpirationCycleCodeSet',\n    description: 'Expire on trading session close (default)',\n  },\n  {\n    name: 'ExpireOnTradingSessionOpen',\n    id: '827002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 827,\n    type: 'int',\n    codeSet: 'ExpirationCycleCodeSet',\n    description: 'Expire on trading session open',\n  },\n  {\n    name: 'SpecifiedExpiration',\n    id: '827003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.5.0',\n    addedEP: '42',\n    tag: 827,\n    type: 'int',\n    codeSet: 'ExpirationCycleCodeSet',\n    description:\n      'Trading eligibility expiration specified in the date and time fields [EventDate(866) and EventTime(1145)] associated with EventType(865)=7(Last Eligible Trade Date)',\n  },\n  {\n    name: 'RegularTrade',\n    id: '828001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '141',\n    tag: 828,\n    type: 'int',\n    codeSet: 'TrdTypeCodeSet',\n    description: 'Regular trade',\n  },\n  {\n    name: 'BlockTrade',\n    id: '828002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '141',\n    tag: 828,\n    type: 'int',\n    codeSet: 'TrdTypeCodeSet',\n    description: 'Block trade',\n  },\n  {\n    name: 'EFP',\n    id: '828003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '141',\n    tag: 828,\n    type: 'int',\n    codeSet: 'TrdTypeCodeSet',\n    description: 'Exchange for physical (EFP)',\n  },\n  {\n    name: 'Transfer',\n    id: '828004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.4',\n    tag: 828,\n    type: 'int',\n    codeSet: 'TrdTypeCodeSet',\n    description: 'Transfer',\n  },\n  {\n    name: 'LateTrade',\n    id: '828005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '141',\n    tag: 828,\n    type: 'int',\n    codeSet: 'TrdTypeCodeSet',\n    description: 'Late trade',\n  },\n  {\n    name: 'TTrade',\n    id: '828006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '141',\n    tag: 828,\n    type: 'int',\n    codeSet: 'TrdTypeCodeSet',\n    description: 'T trade',\n  },\n  {\n    name: 'WeightedAveragePriceTrade',\n    id: '828007',\n    value: '6',\n    sort: 6,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '141',\n    tag: 828,\n    type: 'int',\n    codeSet: 'TrdTypeCodeSet',\n    description: 'Weighted average price trade',\n  },\n  {\n    name: 'BunchedTrade',\n    id: '828008',\n    value: '7',\n    sort: 7,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '141',\n    tag: 828,\n    type: 'int',\n    codeSet: 'TrdTypeCodeSet',\n    description: 'Bunched trade',\n  },\n  {\n    name: 'LateBunchedTrade',\n    id: '828009',\n    value: '8',\n    sort: 8,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '141',\n    tag: 828,\n    type: 'int',\n    codeSet: 'TrdTypeCodeSet',\n    description: 'Late bunched trade',\n  },\n  {\n    name: 'PriorReferencePriceTrade',\n    id: '828010',\n    value: '9',\n    sort: 9,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '141',\n    tag: 828,\n    type: 'int',\n    codeSet: 'TrdTypeCodeSet',\n    description: 'Prior reference price trade',\n  },\n  {\n    name: 'AfterHoursTrade',\n    id: '828011',\n    value: '10',\n    sort: 10,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '141',\n    tag: 828,\n    type: 'int',\n    codeSet: 'TrdTypeCodeSet',\n    description: 'After hours trade',\n  },\n  {\n    name: 'ExchangeForRisk',\n    id: '828012',\n    value: '11',\n    sort: 11,\n    added: 'FIX.4.4',\n    addedEP: '5',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '141',\n    tag: 828,\n    type: 'int',\n    codeSet: 'TrdTypeCodeSet',\n    description: 'Exchange for risk (EFR)',\n  },\n  {\n    name: 'ExchangeForSwap',\n    id: '828013',\n    value: '12',\n    sort: 12,\n    added: 'FIX.4.4',\n    addedEP: '5',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '141',\n    tag: 828,\n    type: 'int',\n    codeSet: 'TrdTypeCodeSet',\n    description: 'Exchange for swap (EFS)',\n  },\n  {\n    name: 'ExchangeOfFuturesFor',\n    id: '828014',\n    value: '13',\n    sort: 13,\n    added: 'FIX.4.4',\n    addedEP: '5',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '141',\n    tag: 828,\n    type: 'int',\n    codeSet: 'TrdTypeCodeSet',\n    description:\n      'Exchange of futures for in market futures (EFM)\\n\\nFor example full sized for mini.',\n  },\n  {\n    name: 'ExchangeOfOptionsForOptions',\n    id: '828015',\n    value: '14',\n    sort: 14,\n    added: 'FIX.4.4',\n    addedEP: '5',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '141',\n    tag: 828,\n    type: 'int',\n    codeSet: 'TrdTypeCodeSet',\n    description: 'Exchange of options for options (EOO)',\n  },\n  {\n    name: 'TradingAtSettlement',\n    id: '828016',\n    value: '15',\n    sort: 15,\n    added: 'FIX.4.4',\n    addedEP: '5',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '141',\n    tag: 828,\n    type: 'int',\n    codeSet: 'TrdTypeCodeSet',\n    description: 'Trading at settlement',\n  },\n  {\n    name: 'AllOrNone',\n    id: '828017',\n    value: '16',\n    sort: 16,\n    added: 'FIX.4.4',\n    addedEP: '5',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '141',\n    tag: 828,\n    type: 'int',\n    codeSet: 'TrdTypeCodeSet',\n    description: 'All or none',\n  },\n  {\n    name: 'FuturesLargeOrderExecution',\n    id: '828018',\n    value: '17',\n    sort: 17,\n    added: 'FIX.4.4',\n    addedEP: '5',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '141',\n    tag: 828,\n    type: 'int',\n    codeSet: 'TrdTypeCodeSet',\n    description: 'Futures large order execution',\n  },\n  {\n    name: 'ExchangeOfFuturesForFutures',\n    id: '828019',\n    value: '18',\n    sort: 18,\n    added: 'FIX.4.4',\n    addedEP: '5',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '141',\n    tag: 828,\n    type: 'int',\n    codeSet: 'TrdTypeCodeSet',\n    description: 'Exchange of futures for external market futures (EFF)',\n  },\n  {\n    name: 'OptionInterimTrade',\n    id: '828020',\n    value: '19',\n    sort: 19,\n    added: 'FIX.4.4',\n    addedEP: '5',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '141',\n    tag: 828,\n    type: 'int',\n    codeSet: 'TrdTypeCodeSet',\n    description: 'Option interim trade',\n  },\n  {\n    name: 'OptionCabinetTrade',\n    id: '828021',\n    value: '20',\n    sort: 20,\n    added: 'FIX.4.4',\n    addedEP: '5',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '141',\n    tag: 828,\n    type: 'int',\n    codeSet: 'TrdTypeCodeSet',\n    description: 'Option cabinet trade',\n  },\n  {\n    name: 'PrivatelyNegotiatedTrades',\n    id: '828022',\n    value: '22',\n    sort: 21,\n    added: 'FIX.4.4',\n    addedEP: '19',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '141',\n    tag: 828,\n    type: 'int',\n    codeSet: 'TrdTypeCodeSet',\n    description: 'Privately negotiated trade',\n  },\n  {\n    name: 'SubstitutionOfFuturesForForwards',\n    id: '828023',\n    value: '23',\n    sort: 22,\n    added: 'FIX.4.4',\n    addedEP: '19',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '141',\n    tag: 828,\n    type: 'int',\n    codeSet: 'TrdTypeCodeSet',\n    description: 'Substitution of futures for forwards',\n  },\n  {\n    name: 'NonStandardSettlement',\n    id: '828024',\n    value: '48',\n    sort: 48,\n    added: 'FIX.5.0',\n    addedEP: '47',\n    tag: 828,\n    type: 'int',\n    codeSet: 'TrdTypeCodeSet',\n    description: 'Non-standard settlement',\n  },\n  {\n    name: 'DerivativeRelatedTransaction',\n    id: '828025',\n    value: '49',\n    sort: 49,\n    added: 'FIX.5.0',\n    addedEP: '47',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '141',\n    tag: 828,\n    type: 'int',\n    codeSet: 'TrdTypeCodeSet',\n    description: 'Derivative related transaction',\n  },\n  {\n    name: 'PortfolioTrade',\n    id: '828026',\n    value: '50',\n    sort: 50,\n    added: 'FIX.5.0',\n    addedEP: '47',\n    updated: 'FIX.Latest',\n    updatedEP: '268',\n    tag: 828,\n    type: 'int',\n    codeSet: 'TrdTypeCodeSet',\n    description:\n      'Portfolio trade\\n\\nIdentifies a collection/basket of trades. In the context of bonds (e.g. corporate bonds) these are transacted as a single trade at an aggregate price for the entire portfolio and may be traded all-or-none or most-or-none depending on bilateral agreement.\\n\\nIn the context of ESMA RTS 1 Article 2(b), may be used to refer to portfolio trades to distinguish between addressable and non-addressable volume.\\n\\nIn the context of Market Model Typology (MMT), use of this value applies to SecondaryTrdType(855) or TertiaryTrdType(2896), and when used for MMT market data publication requires MDEntryType(269) = 2 (Trade).',\n  },\n  {\n    name: 'VolumeWeightedAverageTrade',\n    id: '828027',\n    value: '51',\n    sort: 51,\n    added: 'FIX.5.0',\n    addedEP: '47',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '141',\n    tag: 828,\n    type: 'int',\n    codeSet: 'TrdTypeCodeSet',\n    description: 'Volume weighted average trade',\n  },\n  {\n    name: 'ExchangeGrantedTrade',\n    id: '828028',\n    value: '52',\n    sort: 52,\n    added: 'FIX.5.0',\n    addedEP: '47',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '141',\n    tag: 828,\n    type: 'int',\n    codeSet: 'TrdTypeCodeSet',\n    description: 'Exchange granted trade',\n  },\n  {\n    name: 'RepurchaseAgreement',\n    id: '828029',\n    value: '53',\n    sort: 53,\n    added: 'FIX.5.0',\n    addedEP: '47',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '141',\n    tag: 828,\n    type: 'int',\n    codeSet: 'TrdTypeCodeSet',\n    description: 'Repurchase agreement',\n  },\n  {\n    name: 'OTC',\n    id: '828030',\n    value: '54',\n    sort: 54,\n    added: 'FIX.5.0',\n    addedEP: '47',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '177',\n    tag: 828,\n    type: 'int',\n    codeSet: 'TrdTypeCodeSet',\n    description:\n      'OTC\\n\\nTrade executed off-market. In the context of CFTC regulatory reporting for swaps, it is a large notional off-facility swap. In the context of MiFID transparency reporting rules this is used to report, into an exchange, deals made outside exchange rules.',\n  },\n  {\n    name: 'ExchangeBasisFacility',\n    id: '828031',\n    value: '55',\n    sort: 55,\n    added: 'FIX.5.0',\n    addedEP: '55',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '141',\n    tag: 828,\n    type: 'int',\n    codeSet: 'TrdTypeCodeSet',\n    description: 'Exchange basis facility (EBF)',\n  },\n  {\n    name: 'OpeningTrade',\n    id: '828032',\n    value: '56',\n    sort: 56,\n    added: 'FIX.5.0SP2',\n    addedEP: '104',\n    updated: 'FIX.Latest',\n    updatedEP: '283',\n    tag: 828,\n    type: 'int',\n    codeSet: 'TrdTypeCodeSet',\n    description:\n      'Opening trade\\n\\nIdentifies a trade that resulted from the opening of a market. In the context of IIROC, this indicates a trade that occurred at the opening or the first trade of the day for a security.',\n  },\n  {\n    name: 'NettedTrade',\n    id: '828033',\n    value: '57',\n    sort: 57,\n    added: 'FIX.5.0SP2',\n    addedEP: '141',\n    tag: 828,\n    type: 'int',\n    codeSet: 'TrdTypeCodeSet',\n    description: 'Netted trade',\n  },\n  {\n    name: 'BlockSwapTrade',\n    id: '828034',\n    value: '58',\n    sort: 58,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '177',\n    tag: 828,\n    type: 'int',\n    codeSet: 'TrdTypeCodeSet',\n    description:\n      'Block swap trade\\n\\nBlock trade executed off-market or on a registered market. In the context of CFTC regulatory reporting for swaps, it is a swap executed according to SEF or DCM rules.',\n  },\n  {\n    name: 'CreditEventTrade',\n    id: '828035',\n    value: '59',\n    sort: 59,\n    added: 'FIX.5.0SP2',\n    addedEP: '165',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '169',\n    tag: 828,\n    type: 'int',\n    codeSet: 'TrdTypeCodeSet',\n    description: 'Credit event trade',\n  },\n  {\n    name: 'SuccessionEventTrade',\n    id: '828036',\n    value: '60',\n    sort: 60,\n    added: 'FIX.5.0SP2',\n    addedEP: '165',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '169',\n    tag: 828,\n    type: 'int',\n    codeSet: 'TrdTypeCodeSet',\n    description: 'Succession event trade',\n  },\n  {\n    name: 'GiveUpGiveInTrade',\n    id: '828037',\n    value: '61',\n    sort: 61,\n    added: 'FIX.5.0SP2',\n    addedEP: '163',\n    tag: 828,\n    type: 'int',\n    codeSet: 'TrdTypeCodeSet',\n    description: 'Give-up Give-in trade',\n  },\n  {\n    name: 'DarkTrade',\n    id: '828038',\n    value: '62',\n    sort: 62,\n    added: 'FIX.5.0SP2',\n    addedEP: '163',\n    updated: 'FIX.Latest',\n    updatedEP: '268',\n    tag: 828,\n    type: 'int',\n    codeSet: 'TrdTypeCodeSet',\n    description:\n      'Dark trade\\n\\nIn the context of Market Model Typology (MMT), a dark trade might also come from a lit/hybrid book (e.g. when an aggressive lit order hits a resting dark order). The use of this value applies to TrdType(828), and when used for MMT market data publication requires MDEntryType(269) = 2 (Trade).',\n  },\n  {\n    name: 'TechnicalTrade',\n    id: '828039',\n    value: '63',\n    sort: 63,\n    added: 'FIX.5.0SP2',\n    addedEP: '163',\n    tag: 828,\n    type: 'int',\n    codeSet: 'TrdTypeCodeSet',\n    description: 'Technical trade',\n  },\n  {\n    name: 'Benchmark',\n    id: '828040',\n    value: '64',\n    sort: 64,\n    added: 'FIX.5.0SP2',\n    addedEP: '163',\n    updated: 'FIX.Latest',\n    updatedEP: '268',\n    tag: 828,\n    type: 'int',\n    codeSet: 'TrdTypeCodeSet',\n    description:\n      'Benchmark\\n\\nIn the context of ESMA RTS 1 Article 2(a), may be used to refer to benchmark trades.\\n\\nIn the context of Market Model Typology (MMT), the \"benchmark\" price depends on a benchmark which has no current price but was derived from a time series such as a VWAP. The use of this value applies to SecondaryTrdType(855) or TertiaryTrdType(2896), and when used for MMT market data publication requires MDEntryType(269) = 2 (Trade).',\n  },\n  {\n    name: 'PackageTrade',\n    id: '828041',\n    value: '65',\n    sort: 65,\n    added: 'FIX.5.0SP2',\n    addedEP: '192',\n    updated: 'FIX.Latest',\n    updatedEP: '277',\n    tag: 828,\n    type: 'int',\n    codeSet: 'TrdTypeCodeSet',\n    description:\n      'Package trade\\n\\nMay be used to identify the pseudo-trade of a stream or collection of trades to be transacted, cleared and be reported as an atomic unit.\\n\\nIn the context of MiFIR RTS 1, this is the \"CONT\" flag.\\n\\nIn the context of MiFIR RTS 2 Article 1(1)(b), may be used to refer to package transactions (excluding exchange for physicals).\\n\\nIn the context of Market Model Typology (MMT), use of this value applies to SecondaryTrdType(855) or TertiaryTrdType(2896), and when used for MMT market data publication requires MDEntryType(269) = 2 (Trade).',\n  },\n  {\n    name: 'RollTrade',\n    id: '828042',\n    value: '66',\n    sort: 66,\n    added: 'FIX.5.0SP2',\n    addedEP: '258',\n    tag: 828,\n    type: 'int',\n    codeSet: 'TrdTypeCodeSet',\n    description:\n      'Roll trade\\n\\nTrade is a roll from one contract that is about to expire to a new contract.',\n  },\n  {\n    name: 'ClosingPriceTrade',\n    id: '828043',\n    value: '67',\n    sort: 67,\n    added: 'FIX.Latest',\n    addedEP: '283',\n    tag: 828,\n    type: 'int',\n    codeSet: 'TrdTypeCodeSet',\n    description:\n      'Closing price trade\\n\\nIdentifies a trade that uses the closing price of a market without resulting from the closing of this market. In the context of FCA policy statement PS23/4, this indicates a benchmark transaction executed using the market closing price and is the \"CLSE\" flag.',\n  },\n  {\n    name: 'InterFundTransferTrade',\n    id: '828044',\n    value: '68',\n    sort: 68,\n    added: 'FIX.Latest',\n    addedEP: '289',\n    tag: 828,\n    type: 'int',\n    codeSet: 'TrdTypeCodeSet',\n    description:\n      'Inter-fund transfer trade\\n\\nAdministrative trade (non price-forming) related to the transfer of ownership between funds.',\n  },\n  {\n    name: 'NetAssetValueCalculatedTrade',\n    id: '828045',\n    value: '69',\n    sort: 69,\n    added: 'FIX.Latest',\n    addedEP: '289',\n    tag: 828,\n    type: 'int',\n    codeSet: 'TrdTypeCodeSet',\n    description:\n      'Net asset value calculated trade\\n\\nTrade of a fund priced at the net asset value of its constituents. In the context of MiFIR RTS 1, this may be used for ETFs when the NAV price becomes available.',\n  },\n  {\n    name: 'ErrorTrade',\n    id: '828046',\n    value: '24',\n    sort: 24,\n    group: 'MiFID Values',\n    added: 'FIX.4.4',\n    addedEP: '26',\n    tag: 828,\n    type: 'int',\n    codeSet: 'TrdTypeCodeSet',\n    description: 'Error trade',\n  },\n  {\n    name: 'SpecialCumDividend',\n    id: '828047',\n    value: '25',\n    sort: 25,\n    group: 'MiFID Values',\n    added: 'FIX.4.4',\n    addedEP: '26',\n    tag: 828,\n    type: 'int',\n    codeSet: 'TrdTypeCodeSet',\n    description: 'Special cum dividend (CD)',\n  },\n  {\n    name: 'SpecialExDividend',\n    id: '828048',\n    value: '26',\n    sort: 26,\n    group: 'MiFID Values',\n    added: 'FIX.4.4',\n    addedEP: '26',\n    tag: 828,\n    type: 'int',\n    codeSet: 'TrdTypeCodeSet',\n    description: 'Special ex dividend (XD)',\n  },\n  {\n    name: 'SpecialCumCoupon',\n    id: '828049',\n    value: '27',\n    sort: 27,\n    group: 'MiFID Values',\n    added: 'FIX.4.4',\n    addedEP: '26',\n    tag: 828,\n    type: 'int',\n    codeSet: 'TrdTypeCodeSet',\n    description: 'Special cum coupon (CC)',\n  },\n  {\n    name: 'SpecialExCoupon',\n    id: '828050',\n    value: '28',\n    sort: 28,\n    group: 'MiFID Values',\n    added: 'FIX.4.4',\n    addedEP: '26',\n    tag: 828,\n    type: 'int',\n    codeSet: 'TrdTypeCodeSet',\n    description: 'Special ex coupon (XC)',\n  },\n  {\n    name: 'CashSettlement',\n    id: '828051',\n    value: '29',\n    sort: 29,\n    group: 'MiFID Values',\n    added: 'FIX.4.4',\n    addedEP: '26',\n    tag: 828,\n    type: 'int',\n    codeSet: 'TrdTypeCodeSet',\n    description: 'Cash settlement (CS)',\n  },\n  {\n    name: 'SpecialPrice',\n    id: '828052',\n    value: '30',\n    sort: 30,\n    group: 'MiFID Values',\n    added: 'FIX.4.4',\n    addedEP: '26',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '141',\n    tag: 828,\n    type: 'int',\n    codeSet: 'TrdTypeCodeSet',\n    description: 'Special price (SP)\\n\\nUsually net or all-in price.',\n  },\n  {\n    name: 'GuaranteedDelivery',\n    id: '828053',\n    value: '31',\n    sort: 31,\n    group: 'MiFID Values',\n    added: 'FIX.4.4',\n    addedEP: '26',\n    tag: 828,\n    type: 'int',\n    codeSet: 'TrdTypeCodeSet',\n    description: 'Guaranteed delivery (GD)',\n  },\n  {\n    name: 'SpecialCumRights',\n    id: '828054',\n    value: '32',\n    sort: 32,\n    group: 'MiFID Values',\n    added: 'FIX.4.4',\n    addedEP: '26',\n    tag: 828,\n    type: 'int',\n    codeSet: 'TrdTypeCodeSet',\n    description: 'Special cum rights (CR)',\n  },\n  {\n    name: 'SpecialExRights',\n    id: '828055',\n    value: '33',\n    sort: 33,\n    group: 'MiFID Values',\n    added: 'FIX.4.4',\n    addedEP: '26',\n    tag: 828,\n    type: 'int',\n    codeSet: 'TrdTypeCodeSet',\n    description: 'Special ex rights (XR)',\n  },\n  {\n    name: 'SpecialCumCapitalRepayments',\n    id: '828056',\n    value: '34',\n    sort: 34,\n    group: 'MiFID Values',\n    added: 'FIX.4.4',\n    addedEP: '26',\n    tag: 828,\n    type: 'int',\n    codeSet: 'TrdTypeCodeSet',\n    description: 'Special cum capital repayments (CP)',\n  },\n  {\n    name: 'SpecialExCapitalRepayments',\n    id: '828057',\n    value: '35',\n    sort: 35,\n    group: 'MiFID Values',\n    added: 'FIX.4.4',\n    addedEP: '26',\n    tag: 828,\n    type: 'int',\n    codeSet: 'TrdTypeCodeSet',\n    description: 'Special ex capital repayments (XP)',\n  },\n  {\n    name: 'SpecialCumBonus',\n    id: '828058',\n    value: '36',\n    sort: 36,\n    group: 'MiFID Values',\n    added: 'FIX.4.4',\n    addedEP: '26',\n    tag: 828,\n    type: 'int',\n    codeSet: 'TrdTypeCodeSet',\n    description: 'Special cum bonus (CB)',\n  },\n  {\n    name: 'SpecialExBonus',\n    id: '828059',\n    value: '37',\n    sort: 37,\n    group: 'MiFID Values',\n    added: 'FIX.4.4',\n    addedEP: '26',\n    tag: 828,\n    type: 'int',\n    codeSet: 'TrdTypeCodeSet',\n    description: 'Special ex bonus (XB)',\n  },\n  {\n    name: 'LargeTrade',\n    id: '828060',\n    value: '38',\n    sort: 38,\n    group: 'MiFID Values',\n    added: 'FIX.4.4',\n    addedEP: '26',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '141',\n    tag: 828,\n    type: 'int',\n    codeSet: 'TrdTypeCodeSet',\n    description: 'Block trade\\n\\nThe same as large trade.',\n  },\n  {\n    name: 'WorkedPrincipalTrade',\n    id: '828061',\n    value: '39',\n    sort: 39,\n    group: 'MiFID Values',\n    added: 'FIX.4.4',\n    addedEP: '26',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '141',\n    tag: 828,\n    type: 'int',\n    codeSet: 'TrdTypeCodeSet',\n    description: 'Worked principal trade',\n  },\n  {\n    name: 'BlockTrades',\n    id: '828062',\n    value: '40',\n    sort: 40,\n    group: 'MiFID Values',\n    added: 'FIX.4.4',\n    addedEP: '26',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '141',\n    tag: 828,\n    type: 'int',\n    codeSet: 'TrdTypeCodeSet',\n    description: 'Block trades',\n  },\n  {\n    name: 'NameChange',\n    id: '828063',\n    value: '41',\n    sort: 41,\n    group: 'MiFID Values',\n    added: 'FIX.4.4',\n    addedEP: '26',\n    tag: 828,\n    type: 'int',\n    codeSet: 'TrdTypeCodeSet',\n    description: 'Name change',\n  },\n  {\n    name: 'PortfolioTransfer',\n    id: '828064',\n    value: '42',\n    sort: 42,\n    group: 'MiFID Values',\n    added: 'FIX.4.4',\n    addedEP: '26',\n    tag: 828,\n    type: 'int',\n    codeSet: 'TrdTypeCodeSet',\n    description: 'Portfolio transfer',\n  },\n  {\n    name: 'ProrogationBuy',\n    id: '828065',\n    value: '43',\n    sort: 43,\n    group: 'MiFID Values',\n    added: 'FIX.4.4',\n    addedEP: '26',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '141',\n    tag: 828,\n    type: 'int',\n    codeSet: 'TrdTypeCodeSet',\n    description:\n      'Prorogation buy\\n\\nUsed by Euronext Paris only. Is used to defer settlement under French SRD (deferred settlement system). Trades must be reported as crosses at zero price.',\n  },\n  {\n    name: 'ProrogationSell',\n    id: '828066',\n    value: '44',\n    sort: 44,\n    group: 'MiFID Values',\n    added: 'FIX.4.4',\n    addedEP: '26',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '141',\n    tag: 828,\n    type: 'int',\n    codeSet: 'TrdTypeCodeSet',\n    description: 'Prorogation sell\\n\\nSee prorogation buy.',\n  },\n  {\n    name: 'OptionExercise',\n    id: '828067',\n    value: '45',\n    sort: 45,\n    group: 'MiFID Values',\n    added: 'FIX.4.4',\n    addedEP: '26',\n    tag: 828,\n    type: 'int',\n    codeSet: 'TrdTypeCodeSet',\n    description: 'Option exercise',\n  },\n  {\n    name: 'DeltaNeutralTransaction',\n    id: '828068',\n    value: '46',\n    sort: 46,\n    group: 'MiFID Values',\n    added: 'FIX.4.4',\n    addedEP: '26',\n    tag: 828,\n    type: 'int',\n    codeSet: 'TrdTypeCodeSet',\n    description: 'Delta neutral transaction',\n  },\n  {\n    name: 'FinancingTransaction',\n    id: '828069',\n    value: '47',\n    sort: 47,\n    group: 'MiFID Values',\n    added: 'FIX.4.4',\n    addedEP: '26',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '141',\n    tag: 828,\n    type: 'int',\n    codeSet: 'TrdTypeCodeSet',\n    description: 'Financing transaction',\n  },\n  {\n    name: 'CMTA',\n    id: '829001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.4',\n    addedEP: '4',\n    tag: 829,\n    type: 'int',\n    codeSet: 'TrdSubTypeCodeSet',\n    description: 'CMTA',\n  },\n  {\n    name: 'InternalTransferOrAdjustment',\n    id: '829002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.4',\n    addedEP: '4',\n    tag: 829,\n    type: 'int',\n    codeSet: 'TrdSubTypeCodeSet',\n    description: 'Internal transfer or adjustment',\n  },\n  {\n    name: 'ExternalTransferOrTransferOfAccount',\n    id: '829003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.4.4',\n    addedEP: '4',\n    tag: 829,\n    type: 'int',\n    codeSet: 'TrdSubTypeCodeSet',\n    description: 'External transfer or transfer of account',\n  },\n  {\n    name: 'RejectForSubmittingSide',\n    id: '829004',\n    value: '3',\n    sort: 4,\n    added: 'FIX.4.4',\n    addedEP: '4',\n    tag: 829,\n    type: 'int',\n    codeSet: 'TrdSubTypeCodeSet',\n    description: 'Reject for submitting side',\n  },\n  {\n    name: 'AdvisoryForContraSide',\n    id: '829005',\n    value: '4',\n    sort: 5,\n    added: 'FIX.4.4',\n    addedEP: '4',\n    tag: 829,\n    type: 'int',\n    codeSet: 'TrdSubTypeCodeSet',\n    description: 'Advisory for contra side',\n  },\n  {\n    name: 'OffsetDueToAnAllocation',\n    id: '829006',\n    value: '5',\n    sort: 6,\n    added: 'FIX.4.4',\n    addedEP: '5',\n    tag: 829,\n    type: 'int',\n    codeSet: 'TrdSubTypeCodeSet',\n    description: 'Offset due to an allocation',\n  },\n  {\n    name: 'OnsetDueToAnAllocation',\n    id: '829007',\n    value: '6',\n    sort: 7,\n    added: 'FIX.4.4',\n    addedEP: '5',\n    updated: 'FIX.5.0SP1',\n    updatedEP: '95',\n    tag: 829,\n    type: 'int',\n    codeSet: 'TrdSubTypeCodeSet',\n    description: 'Onset due to an allocation',\n  },\n  {\n    name: 'DifferentialSpread',\n    id: '829008',\n    value: '7',\n    sort: 8,\n    added: 'FIX.4.4',\n    addedEP: '5',\n    tag: 829,\n    type: 'int',\n    codeSet: 'TrdSubTypeCodeSet',\n    description: 'Differential spread',\n  },\n  {\n    name: 'ImpliedSpreadLegExecutedAgainstAnOutright',\n    id: '829009',\n    value: '8',\n    sort: 9,\n    added: 'FIX.4.4',\n    addedEP: '5',\n    tag: 829,\n    type: 'int',\n    codeSet: 'TrdSubTypeCodeSet',\n    description: 'Implied spread leg executed against an outright',\n  },\n  {\n    name: 'TransactionFromExercise',\n    id: '829010',\n    value: '9',\n    sort: 10,\n    added: 'FIX.4.4',\n    addedEP: '5',\n    tag: 829,\n    type: 'int',\n    codeSet: 'TrdSubTypeCodeSet',\n    description: 'Transaction from exercise',\n  },\n  {\n    name: 'TransactionFromAssignment',\n    id: '829011',\n    value: '10',\n    sort: 11,\n    added: 'FIX.4.4',\n    addedEP: '5',\n    tag: 829,\n    type: 'int',\n    codeSet: 'TrdSubTypeCodeSet',\n    description: 'Transaction from assignment',\n  },\n  {\n    name: 'ACATS',\n    id: '829012',\n    value: '11',\n    sort: 12,\n    added: 'FIX.4.4',\n    addedEP: '8',\n    tag: 829,\n    type: 'int',\n    codeSet: 'TrdSubTypeCodeSet',\n    description: 'ACATS',\n  },\n  {\n    name: 'OffHoursTrade',\n    id: '829013',\n    value: '33',\n    sort: 32,\n    added: 'FIX.5.0',\n    addedEP: '61',\n    tag: 829,\n    type: 'int',\n    codeSet: 'TrdSubTypeCodeSet',\n    description: 'Off Hours Trade',\n  },\n  {\n    name: 'OnHoursTrade',\n    id: '829014',\n    value: '34',\n    sort: 33,\n    added: 'FIX.5.0',\n    addedEP: '61',\n    tag: 829,\n    type: 'int',\n    codeSet: 'TrdSubTypeCodeSet',\n    description: 'On Hours Trade',\n  },\n  {\n    name: 'OTCQuote',\n    id: '829015',\n    value: '35',\n    sort: 34,\n    added: 'FIX.5.0',\n    addedEP: '61',\n    tag: 829,\n    type: 'int',\n    codeSet: 'TrdSubTypeCodeSet',\n    description: 'OTC Quote',\n  },\n  {\n    name: 'ConvertedSWAP',\n    id: '829016',\n    value: '36',\n    sort: 36,\n    added: 'FIX.5.0',\n    addedEP: '-1',\n    tag: 829,\n    type: 'int',\n    codeSet: 'TrdSubTypeCodeSet',\n    description: 'Converted SWAP',\n  },\n  {\n    name: 'WashTrade',\n    id: '829017',\n    value: '40',\n    sort: 40,\n    added: 'FIX.5.0SP2',\n    addedEP: '101',\n    tag: 829,\n    type: 'int',\n    codeSet: 'TrdSubTypeCodeSet',\n    description: 'Wash Trade',\n  },\n  {\n    name: 'TradeAtSettlement',\n    id: '829018',\n    value: '41',\n    sort: 41,\n    added: 'FIX.5.0SP2',\n    addedEP: '107',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '227',\n    tag: 829,\n    type: 'int',\n    codeSet: 'TrdSubTypeCodeSet',\n    description:\n      'Trade at Settlement (TAS)\\n\\nIdentifies a trade that will be priced using the settlement price.',\n  },\n  {\n    name: 'AuctionTrade',\n    id: '829019',\n    value: '42',\n    sort: 42,\n    added: 'FIX.5.0SP2',\n    addedEP: '114',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '227',\n    tag: 829,\n    type: 'int',\n    codeSet: 'TrdSubTypeCodeSet',\n    description:\n      'Auction Trade\\n\\nMutually exclusive with TrdSubType(829) = 50 (Balancing).',\n  },\n  {\n    name: 'TradeAtMarker',\n    id: '829020',\n    value: '43',\n    sort: 43,\n    added: 'FIX.5.0SP2',\n    addedEP: '107',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '227',\n    tag: 829,\n    type: 'int',\n    codeSet: 'TrdSubTypeCodeSet',\n    description:\n      'Trade at Marker (TAM)\\n\\nPosted at a specific time each day and used to price the consummated trade for the product/month/strip executed (+/- and differentials). Closely related to TAS trades in function and trade practice.',\n  },\n  {\n    name: 'CreditDefault',\n    id: '829021',\n    value: '44',\n    sort: 44,\n    added: 'FIX.5.0SP2',\n    addedEP: '165',\n    tag: 829,\n    type: 'int',\n    codeSet: 'TrdSubTypeCodeSet',\n    description: 'Default (Credit Event)',\n  },\n  {\n    name: 'CreditRestructuring',\n    id: '829022',\n    value: '45',\n    sort: 45,\n    added: 'FIX.5.0SP2',\n    addedEP: '165',\n    tag: 829,\n    type: 'int',\n    codeSet: 'TrdSubTypeCodeSet',\n    description: 'Restructuring (credit event)',\n  },\n  {\n    name: 'Merger',\n    id: '829023',\n    value: '46',\n    sort: 46,\n    added: 'FIX.5.0SP2',\n    addedEP: '165',\n    tag: 829,\n    type: 'int',\n    codeSet: 'TrdSubTypeCodeSet',\n    description: 'Merger (succession event)',\n  },\n  {\n    name: 'SpinOff',\n    id: '829024',\n    value: '47',\n    sort: 47,\n    added: 'FIX.5.0SP2',\n    addedEP: '165',\n    tag: 829,\n    type: 'int',\n    codeSet: 'TrdSubTypeCodeSet',\n    description: 'Spin-off (succession event)',\n  },\n  {\n    name: 'MultilateralCompression',\n    id: '829025',\n    value: '48',\n    sort: 48,\n    added: 'FIX.5.0SP2',\n    addedEP: '201',\n    updated: 'FIX.Latest',\n    updatedEP: '269',\n    tag: 829,\n    type: 'int',\n    codeSet: 'TrdSubTypeCodeSet',\n    description:\n      'Multilateral compression\\n\\nUsed to identify a special case of compression between multiple parties, e.g. for netted or portfolio trades.',\n  },\n  {\n    name: 'Balancing',\n    id: '829026',\n    value: '50',\n    sort: 50,\n    added: 'FIX.5.0SP2',\n    addedEP: '227',\n    tag: 829,\n    type: 'int',\n    codeSet: 'TrdSubTypeCodeSet',\n    description:\n      'Balancing\\n\\nIdentifies an additional trade distributed to auction participants meant to resolve an imbalance between bids and offers.\\n\\nMutually exclusive with TrdSubType(829) = 42 =(Auction).',\n  },\n  {\n    name: 'BasisTradeIndexClose',\n    id: '829027',\n    value: '51',\n    sort: 51,\n    added: 'FIX.5.0SP2',\n    addedEP: '227',\n    tag: 829,\n    type: 'int',\n    codeSet: 'TrdSubTypeCodeSet',\n    description:\n      'Basis Trade index Close (BTIC)\\n\\nThe marketplace name given to Trade at Marker (TAM) transactions in equity index futures.',\n  },\n  {\n    name: 'TradeAtCashOpen',\n    id: '829028',\n    value: '52',\n    sort: 52,\n    added: 'FIX.5.0SP2',\n    addedEP: '243',\n    tag: 829,\n    type: 'int',\n    codeSet: 'TrdSubTypeCodeSet',\n    description:\n      'Trade At Cash Open (TACO)\\n\\nThe marketplace name given to trading futures based on an opening quote of the underlying cash market.',\n  },\n  {\n    name: 'TrdSubmitVenueClrSettl',\n    id: '829029',\n    value: '53',\n    sort: 53,\n    added: 'FIX.Latest',\n    addedEP: '268',\n    tag: 829,\n    type: 'int',\n    codeSet: 'TrdSubTypeCodeSet',\n    description:\n      'Trade submitted to venue for clearing and settlement\\n\\nIdentifies trades brought on a trading venue purely for clearing and settlement purposes.',\n  },\n  {\n    name: 'BilateralCompression',\n    id: '829030',\n    value: '54',\n    sort: 54,\n    added: 'FIX.Latest',\n    addedEP: '269',\n    tag: 829,\n    type: 'int',\n    codeSet: 'TrdSubTypeCodeSet',\n    description:\n      'Bilateral compression\\n\\nUsed to identify a special case of compression between two parties, e.g. for netted or portfolio trades.',\n  },\n  {\n    name: 'AI',\n    id: '829031',\n    value: '14',\n    sort: 13,\n    group: 'MiFID Values',\n    added: 'FIX.4.4',\n    addedEP: '26',\n    tag: 829,\n    type: 'int',\n    codeSet: 'TrdSubTypeCodeSet',\n    description:\n      'AI (Automated input facility disabled in response to an exchange request.)',\n  },\n  {\n    name: 'B',\n    id: '829032',\n    value: '15',\n    sort: 14,\n    group: 'MiFID Values',\n    added: 'FIX.4.4',\n    addedEP: '26',\n    tag: 829,\n    type: 'int',\n    codeSet: 'TrdSubTypeCodeSet',\n    description:\n      'B (Transaction between two member firms where neither member firm is registered as a market maker in the security in question and neither is a designated fund manager. Also used by broker dealers when dealing with another broker which is not a member firm. Non-order book securities only.)',\n  },\n  {\n    name: 'K',\n    id: '829033',\n    value: '16',\n    sort: 15,\n    group: 'MiFID Values',\n    added: 'FIX.4.4',\n    addedEP: '26',\n    tag: 829,\n    type: 'int',\n    codeSet: 'TrdSubTypeCodeSet',\n    description: 'K (Transaction using block trade facility.)',\n  },\n  {\n    name: 'LC',\n    id: '829034',\n    value: '17',\n    sort: 16,\n    group: 'MiFID Values',\n    added: 'FIX.4.4',\n    addedEP: '26',\n    tag: 829,\n    type: 'int',\n    codeSet: 'TrdSubTypeCodeSet',\n    description:\n      'LC (Correction submitted more than three days after publication of the original trade report.)',\n  },\n  {\n    name: 'M',\n    id: '829035',\n    value: '18',\n    sort: 17,\n    group: 'MiFID Values',\n    added: 'FIX.4.4',\n    addedEP: '26',\n    tag: 829,\n    type: 'int',\n    codeSet: 'TrdSubTypeCodeSet',\n    description:\n      'M (Transaction, other than a transaction resulting from a stock swap or stock switch, between two market makers registered in that security including IDB or a public display system trades. Non-order book securities only.)',\n  },\n  {\n    name: 'N',\n    id: '829036',\n    value: '19',\n    sort: 18,\n    group: 'MiFID Values',\n    added: 'FIX.4.4',\n    addedEP: '26',\n    tag: 829,\n    type: 'int',\n    codeSet: 'TrdSubTypeCodeSet',\n    description:\n      'N (Non-protected portfolio transaction or a fully disclosed portfolio transaction)',\n  },\n  {\n    name: 'NM',\n    id: '829037',\n    value: '20',\n    sort: 19,\n    group: 'MiFID Values',\n    added: 'FIX.4.4',\n    addedEP: '26',\n    tag: 829,\n    type: 'int',\n    codeSet: 'TrdSubTypeCodeSet',\n    description:\n      'NM ( i) transaction where Exchange has granted permission for non-publication\\n\\nii)IDB is reporting as seller\\n\\niii) submitting a transaction report to the Exchange, where the transaction report is not also a trade report.)',\n  },\n  {\n    name: 'NR',\n    id: '829038',\n    value: '21',\n    sort: 20,\n    group: 'MiFID Values',\n    added: 'FIX.4.4',\n    addedEP: '26',\n    tag: 829,\n    type: 'int',\n    codeSet: 'TrdSubTypeCodeSet',\n    description:\n      'NR (Non-risk transaction in a SEATS security other than an AIM security)',\n  },\n  {\n    name: 'P',\n    id: '829039',\n    value: '22',\n    sort: 21,\n    group: 'MiFID Values',\n    added: 'FIX.4.4',\n    addedEP: '26',\n    tag: 829,\n    type: 'int',\n    codeSet: 'TrdSubTypeCodeSet',\n    description:\n      'P (Protected portfolio transaction or a worked principal agreement to effect a portfolio transaction which includes order book securities)',\n  },\n  {\n    name: 'PA',\n    id: '829040',\n    value: '23',\n    sort: 22,\n    group: 'MiFID Values',\n    added: 'FIX.4.4',\n    addedEP: '26',\n    tag: 829,\n    type: 'int',\n    codeSet: 'TrdSubTypeCodeSet',\n    description: 'PA (Protected transaction notification)',\n  },\n  {\n    name: 'PC',\n    id: '829041',\n    value: '24',\n    sort: 23,\n    group: 'MiFID Values',\n    added: 'FIX.4.4',\n    addedEP: '26',\n    tag: 829,\n    type: 'int',\n    codeSet: 'TrdSubTypeCodeSet',\n    description:\n      'PC (Contra trade for transaction which took place on a previous day and which was automatically executed on the Exchange trading system)',\n  },\n  {\n    name: 'PN',\n    id: '829042',\n    value: '25',\n    sort: 24,\n    group: 'MiFID Values',\n    added: 'FIX.4.4',\n    addedEP: '26',\n    tag: 829,\n    type: 'int',\n    codeSet: 'TrdSubTypeCodeSet',\n    description:\n      'PN (Worked principal notification for a portfolio transaction which includes order book securities)',\n  },\n  {\n    name: 'R',\n    id: '829043',\n    value: '26',\n    sort: 25,\n    group: 'MiFID Values',\n    added: 'FIX.4.4',\n    addedEP: '26',\n    tag: 829,\n    type: 'int',\n    codeSet: 'TrdSubTypeCodeSet',\n    description:\n      'R ( (i) riskless principal transaction between non-members where the buying and selling transactions are executed at different prices or on different terms (requires a trade report with trade type indicator R for each transaction)\\n\\n(ii) market maker is reporting all the legs of a riskless principal transaction where the buying and selling transactions are executed at different prices (requires a trade report with trade type indicator R for each transaction)or\\n\\n(iii) market maker is reporting the onward leg of a riskless principal transaction where the legs are executed at different prices, and another market maker has submitted a trade report using trade type indicator M for the first leg (this requires a single trade report with trade type indicator R).)',\n  },\n  {\n    name: 'RO',\n    id: '829044',\n    value: '27',\n    sort: 26,\n    group: 'MiFID Values',\n    added: 'FIX.4.4',\n    addedEP: '26',\n    tag: 829,\n    type: 'int',\n    codeSet: 'TrdSubTypeCodeSet',\n    description:\n      'RO (Transaction which resulted from the exercise of a traditional option or a stock-settled covered warrant)',\n  },\n  {\n    name: 'RT',\n    id: '829045',\n    value: '28',\n    sort: 27,\n    group: 'MiFID Values',\n    added: 'FIX.4.4',\n    addedEP: '26',\n    tag: 829,\n    type: 'int',\n    codeSet: 'TrdSubTypeCodeSet',\n    description:\n      'RT (Risk transaction in a SEATS security, (excluding AIM security) reported by a market maker registered in that security)',\n  },\n  {\n    name: 'SW',\n    id: '829046',\n    value: '29',\n    sort: 28,\n    group: 'MiFID Values',\n    added: 'FIX.4.4',\n    addedEP: '26',\n    tag: 829,\n    type: 'int',\n    codeSet: 'TrdSubTypeCodeSet',\n    description:\n      'SW (Transactions resulting from stock swap or a stock switch (one report is required for each line of stock))',\n  },\n  {\n    name: 'T',\n    id: '829047',\n    value: '30',\n    sort: 29,\n    group: 'MiFID Values',\n    added: 'FIX.4.4',\n    addedEP: '26',\n    tag: 829,\n    type: 'int',\n    codeSet: 'TrdSubTypeCodeSet',\n    description: 'T (If reporting a single protected transaction)',\n  },\n  {\n    name: 'WN',\n    id: '829048',\n    value: '31',\n    sort: 30,\n    group: 'MiFID Values',\n    added: 'FIX.4.4',\n    addedEP: '26',\n    tag: 829,\n    type: 'int',\n    codeSet: 'TrdSubTypeCodeSet',\n    description: 'WN (Worked principal notification for a single order book security)',\n  },\n  {\n    name: 'WT',\n    id: '829049',\n    value: '32',\n    sort: 31,\n    group: 'MiFID Values',\n    added: 'FIX.4.4',\n    addedEP: '26',\n    tag: 829,\n    type: 'int',\n    codeSet: 'TrdSubTypeCodeSet',\n    description: 'WT (Worked principal transaction (other than a portfolio transaction))',\n  },\n  {\n    name: 'CrossedTrade',\n    id: '829050',\n    value: '37',\n    sort: 37,\n    group: 'MiFID Values',\n    added: 'FIX.5.0',\n    addedEP: '-1',\n    tag: 829,\n    type: 'int',\n    codeSet: 'TrdSubTypeCodeSet',\n    description: 'Crossed Trade (X)',\n  },\n  {\n    name: 'InterimProtectedTrade',\n    id: '829051',\n    value: '38',\n    sort: 38,\n    group: 'MiFID Values',\n    added: 'FIX.5.0',\n    addedEP: '-1',\n    tag: 829,\n    type: 'int',\n    codeSet: 'TrdSubTypeCodeSet',\n    description: 'Interim Protected Trade (I)',\n  },\n  {\n    name: 'LargeInScale',\n    id: '829052',\n    value: '39',\n    sort: 39,\n    group: 'MiFID Values',\n    added: 'FIX.5.0',\n    addedEP: '-1',\n    tag: 829,\n    type: 'int',\n    codeSet: 'TrdSubTypeCodeSet',\n    description: 'Large in Scale (L)',\n  },\n  {\n    name: 'Floating',\n    id: '835001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 835,\n    type: 'int',\n    codeSet: 'PegMoveTypeCodeSet',\n    description: 'Floating (default)',\n  },\n  {\n    name: 'Fixed',\n    id: '835002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 835,\n    type: 'int',\n    codeSet: 'PegMoveTypeCodeSet',\n    description: 'Fixed',\n  },\n  {\n    name: 'Price',\n    id: '836001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 836,\n    type: 'int',\n    codeSet: 'PegOffsetTypeCodeSet',\n    description: 'Price (default)',\n  },\n  {\n    name: 'BasisPoints',\n    id: '836002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 836,\n    type: 'int',\n    codeSet: 'PegOffsetTypeCodeSet',\n    description: 'Basis Points',\n  },\n  {\n    name: 'Ticks',\n    id: '836003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.4.4',\n    tag: 836,\n    type: 'int',\n    codeSet: 'PegOffsetTypeCodeSet',\n    description: 'Ticks',\n  },\n  {\n    name: 'PriceTier',\n    id: '836004',\n    value: '3',\n    sort: 4,\n    added: 'FIX.4.4',\n    tag: 836,\n    type: 'int',\n    codeSet: 'PegOffsetTypeCodeSet',\n    description: 'Price Tier / Level',\n  },\n  {\n    name: 'Percentage',\n    id: '836005',\n    value: '4',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '223',\n    tag: 836,\n    type: 'int',\n    codeSet: 'PegOffsetTypeCodeSet',\n    description: 'Percentage',\n  },\n  {\n    name: 'OrBetter',\n    id: '837001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 837,\n    type: 'int',\n    codeSet: 'PegLimitTypeCodeSet',\n    description: 'Or better (default) - price improvement allowed',\n  },\n  {\n    name: 'Strict',\n    id: '837002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 837,\n    type: 'int',\n    codeSet: 'PegLimitTypeCodeSet',\n    description: 'Strict - limit is a strict limit',\n  },\n  {\n    name: 'OrWorse',\n    id: '837003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.4.4',\n    tag: 837,\n    type: 'int',\n    codeSet: 'PegLimitTypeCodeSet',\n    description:\n      'Or worse - for a buy the peg limit is a minimum and for a sell the peg limit is a maximum (for use for orders which have a price range)',\n  },\n  {\n    name: 'MoreAggressive',\n    id: '838001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 838,\n    type: 'int',\n    codeSet: 'PegRoundDirectionCodeSet',\n    description:\n      'More aggressive - on a buy order round the price up to the nearest tick; on a sell order round down to the nearest tick',\n  },\n  {\n    name: 'MorePassive',\n    id: '838002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 838,\n    type: 'int',\n    codeSet: 'PegRoundDirectionCodeSet',\n    description:\n      'More passive - on a buy order round down to the nearest tick; on a sell order round up to the nearest tick',\n  },\n  {\n    name: 'Local',\n    id: '840001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 840,\n    type: 'int',\n    codeSet: 'PegScopeCodeSet',\n    description: 'Local (Exchange, ECN, ATS)',\n  },\n  {\n    name: 'National',\n    id: '840002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 840,\n    type: 'int',\n    codeSet: 'PegScopeCodeSet',\n    description: 'National',\n  },\n  {\n    name: 'Global',\n    id: '840003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.4',\n    tag: 840,\n    type: 'int',\n    codeSet: 'PegScopeCodeSet',\n    description: 'Global',\n  },\n  {\n    name: 'NationalExcludingLocal',\n    id: '840004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.4.4',\n    tag: 840,\n    type: 'int',\n    codeSet: 'PegScopeCodeSet',\n    description: 'National excluding local',\n  },\n  {\n    name: 'Floating',\n    id: '841001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 841,\n    type: 'int',\n    codeSet: 'DiscretionMoveTypeCodeSet',\n    description: 'Floating (default)',\n  },\n  {\n    name: 'Fixed',\n    id: '841002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 841,\n    type: 'int',\n    codeSet: 'DiscretionMoveTypeCodeSet',\n    description: 'Fixed',\n  },\n  {\n    name: 'Price',\n    id: '842001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 842,\n    type: 'int',\n    codeSet: 'DiscretionOffsetTypeCodeSet',\n    description: 'Price (default)',\n  },\n  {\n    name: 'BasisPoints',\n    id: '842002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 842,\n    type: 'int',\n    codeSet: 'DiscretionOffsetTypeCodeSet',\n    description: 'Basis Points',\n  },\n  {\n    name: 'Ticks',\n    id: '842003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.4.4',\n    tag: 842,\n    type: 'int',\n    codeSet: 'DiscretionOffsetTypeCodeSet',\n    description: 'Ticks',\n  },\n  {\n    name: 'PriceTier',\n    id: '842004',\n    value: '3',\n    sort: 4,\n    added: 'FIX.4.4',\n    tag: 842,\n    type: 'int',\n    codeSet: 'DiscretionOffsetTypeCodeSet',\n    description: 'Price Tier / Level',\n  },\n  {\n    name: 'OrBetter',\n    id: '843001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 843,\n    type: 'int',\n    codeSet: 'DiscretionLimitTypeCodeSet',\n    description: 'Or better (default) - price improvement allowed',\n  },\n  {\n    name: 'Strict',\n    id: '843002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 843,\n    type: 'int',\n    codeSet: 'DiscretionLimitTypeCodeSet',\n    description: 'Strict - limit is a strict limit',\n  },\n  {\n    name: 'OrWorse',\n    id: '843003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.4.4',\n    tag: 843,\n    type: 'int',\n    codeSet: 'DiscretionLimitTypeCodeSet',\n    description:\n      'Or worse - for a buy the discretion price is a minimum and for a sell the discretion price is a maximum (for use for orders which have a price range)',\n  },\n  {\n    name: 'MoreAggressive',\n    id: '844001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 844,\n    type: 'int',\n    codeSet: 'DiscretionRoundDirectionCodeSet',\n    description:\n      'More aggressive - on a buy order round the price up to the nearest tick; on a sell round down to the nearest tick',\n  },\n  {\n    name: 'MorePassive',\n    id: '844002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 844,\n    type: 'int',\n    codeSet: 'DiscretionRoundDirectionCodeSet',\n    description:\n      'More passive - on a buy order round down to the nearest tick; on a sell order round up to the nearest tick',\n  },\n  {\n    name: 'Local',\n    id: '846001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 846,\n    type: 'int',\n    codeSet: 'DiscretionScopeCodeSet',\n    description: 'Local (Exchange, ECN, ATS)',\n  },\n  {\n    name: 'National',\n    id: '846002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 846,\n    type: 'int',\n    codeSet: 'DiscretionScopeCodeSet',\n    description: 'National',\n  },\n  {\n    name: 'Global',\n    id: '846003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.4',\n    tag: 846,\n    type: 'int',\n    codeSet: 'DiscretionScopeCodeSet',\n    description: 'Global',\n  },\n  {\n    name: 'NationalExcludingLocal',\n    id: '846004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.4.4',\n    tag: 846,\n    type: 'int',\n    codeSet: 'DiscretionScopeCodeSet',\n    description: 'National excluding local',\n  },\n  {\n    name: 'VWAP',\n    id: '847001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 847,\n    type: 'int',\n    codeSet: 'TargetStrategyCodeSet',\n    description: 'VWAP',\n  },\n  {\n    name: 'Participate',\n    id: '847002',\n    value: '2',\n    sort: 3,\n    added: 'FIX.4.4',\n    tag: 847,\n    type: 'int',\n    codeSet: 'TargetStrategyCodeSet',\n    description: 'Participate (i.e. aim to be x percent of the market volume)',\n  },\n  {\n    name: 'MininizeMarketImpact',\n    id: '847003',\n    value: '3',\n    sort: 4,\n    added: 'FIX.4.4',\n    tag: 847,\n    type: 'int',\n    codeSet: 'TargetStrategyCodeSet',\n    description: 'Mininize market impact',\n  },\n  {\n    name: 'NeitherAddedNorRemovedLiquidity',\n    id: '851001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '252',\n    updated: 'FIX.Latest',\n    updatedEP: '278',\n    tag: 851,\n    type: 'int',\n    codeSet: 'LastLiquidityIndCodeSet',\n    description:\n      'Neither added nor removed liquidity\\n\\nMay be used by venues where market rules do not define \"add\" or \"remove\" liquidity.\\n\\nIn the context of the SEC amendment of Regulation NMS Rule 606(b), may be used to identify executions that are only reported as part of total shares executed and not as part of shares providing or removing liquidity (see https://www.sec.gov/rules/final/2018/34-84528.pdf for details).',\n  },\n  {\n    name: 'AddedLiquidity',\n    id: '851002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 851,\n    type: 'int',\n    codeSet: 'LastLiquidityIndCodeSet',\n    description: 'Added Liquidity',\n  },\n  {\n    name: 'RemovedLiquidity',\n    id: '851003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 851,\n    type: 'int',\n    codeSet: 'LastLiquidityIndCodeSet',\n    description: 'Removed Liquidity',\n  },\n  {\n    name: 'LiquidityRoutedOut',\n    id: '851004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.4',\n    tag: 851,\n    type: 'int',\n    codeSet: 'LastLiquidityIndCodeSet',\n    description: 'Liquidity Routed Out',\n  },\n  {\n    name: 'Auction',\n    id: '851005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0',\n    addedEP: '57',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '252',\n    tag: 851,\n    type: 'int',\n    codeSet: 'LastLiquidityIndCodeSet',\n    description: 'Auction execution',\n  },\n  {\n    name: 'TriggeredStopOrder',\n    id: '851006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '223',\n    tag: 851,\n    type: 'int',\n    codeSet: 'LastLiquidityIndCodeSet',\n    description:\n      'Triggered stop order\\n\\nFill was the result of a stop order being triggered and immediately executed.',\n  },\n  {\n    name: 'TriggeredContingencyOrder',\n    id: '851007',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '223',\n    tag: 851,\n    type: 'int',\n    codeSet: 'LastLiquidityIndCodeSet',\n    description:\n      'Triggered contingency order\\n\\nFill was the result of a contingency order (OCO, OTO, OUO) becoming active (after cancelling or updating another order) and being immediately executed.',\n  },\n  {\n    name: 'TriggeredMarketOrder',\n    id: '851008',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '223',\n    tag: 851,\n    type: 'int',\n    codeSet: 'LastLiquidityIndCodeSet',\n    description:\n      'Triggered market order\\n\\nFill was the result of a market order being triggered due to an executable orderbook situation.',\n  },\n  {\n    name: 'RemovedLiquidityAfterFirmOrderCommitment',\n    id: '851009',\n    value: '8',\n    sort: 8,\n    added: 'FIX.5.0SP2',\n    addedEP: '252',\n    tag: 851,\n    type: 'int',\n    codeSet: 'LastLiquidityIndCodeSet',\n    description:\n      'Removed liquidity after firm order commitment\\n\\nAn order that was submitted for continuous trading that required a firm order commit prior to execution. \"Conditional order\" is an alternate term used for such orders.',\n  },\n  {\n    name: 'AuctionExecutionAfterFirmOrderCommitment',\n    id: '851010',\n    value: '9',\n    sort: 9,\n    added: 'FIX.5.0SP2',\n    addedEP: '252',\n    tag: 851,\n    type: 'int',\n    codeSet: 'LastLiquidityIndCodeSet',\n    description:\n      'Auction execution after firm order commitment\\n\\nAn order that was submitted for auction trading that required a firm order commit prior to execution. \"Conditional order\" is an alternate term used for such orders.',\n  },\n  {\n    name: 'Unknown',\n    id: '851011',\n    value: '10',\n    sort: 10,\n    added: 'FIX.Latest',\n    addedEP: '278',\n    tag: 851,\n    type: 'int',\n    codeSet: 'LastLiquidityIndCodeSet',\n    description:\n      'Unknown\\n\\nThe liquidity indicator of the execution cannot be determined or was not provided upon execution.',\n  },\n  {\n    name: 'Other',\n    id: '851012',\n    value: '11',\n    sort: 11,\n    added: 'FIX.Latest',\n    addedEP: '278',\n    tag: 851,\n    type: 'int',\n    codeSet: 'LastLiquidityIndCodeSet',\n    description:\n      \"Other\\n\\nNone of the existing liquidity indicators are applicable for the execution (e.g. due to a venue's new order type that does not fit existing values).\",\n  },\n  {\n    name: 'DoNotReportTrade',\n    id: '852001',\n    value: 'N',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 852,\n    type: 'Boolean',\n    codeSet: 'PublishTrdIndicatorCodeSet',\n    description: 'Do Not Report Trade',\n  },\n  {\n    name: 'ReportTrade',\n    id: '852002',\n    value: 'Y',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 852,\n    type: 'Boolean',\n    codeSet: 'PublishTrdIndicatorCodeSet',\n    description: 'Report Trade',\n  },\n  {\n    name: 'DealerSoldShort',\n    id: '853001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 853,\n    type: 'int',\n    codeSet: 'ShortSaleReasonCodeSet',\n    description: 'Dealer Sold Short',\n  },\n  {\n    name: 'DealerSoldShortExempt',\n    id: '853002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 853,\n    type: 'int',\n    codeSet: 'ShortSaleReasonCodeSet',\n    description: 'Dealer Sold Short Exempt',\n  },\n  {\n    name: 'SellingCustomerSoldShort',\n    id: '853003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.4.4',\n    tag: 853,\n    type: 'int',\n    codeSet: 'ShortSaleReasonCodeSet',\n    description: 'Selling Customer Sold Short',\n  },\n  {\n    name: 'SellingCustomerSoldShortExempt',\n    id: '853004',\n    value: '3',\n    sort: 4,\n    added: 'FIX.4.4',\n    tag: 853,\n    type: 'int',\n    codeSet: 'ShortSaleReasonCodeSet',\n    description: 'Selling Customer Sold Short Exempt',\n  },\n  {\n    name: 'QualifiedServiceRepresentative',\n    id: '853005',\n    value: '4',\n    sort: 5,\n    added: 'FIX.4.4',\n    tag: 853,\n    type: 'int',\n    codeSet: 'ShortSaleReasonCodeSet',\n    description:\n      'Qualified Service Representative (QSR) or Automatic Give-up (AGU) Contra Side Sold Short',\n  },\n  {\n    name: 'QSROrAGUContraSideSoldShortExempt',\n    id: '853006',\n    value: '5',\n    sort: 6,\n    added: 'FIX.4.4',\n    tag: 853,\n    type: 'int',\n    codeSet: 'ShortSaleReasonCodeSet',\n    description: 'QSR or AGU Contra Side Sold Short Exempt',\n  },\n  {\n    name: 'Units',\n    id: '854001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 854,\n    type: 'int',\n    codeSet: 'QtyTypeCodeSet',\n    description: 'Units (shares, par, currency)',\n  },\n  {\n    name: 'Contracts',\n    id: '854002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '107',\n    tag: 854,\n    type: 'int',\n    codeSet: 'QtyTypeCodeSet',\n    description: 'Contracts',\n  },\n  {\n    name: 'UnitsOfMeasurePerTimeUnit',\n    id: '854003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.4.4',\n    addedEP: '5',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '107',\n    tag: 854,\n    type: 'int',\n    codeSet: 'QtyTypeCodeSet',\n    description: 'Unit of Measure per Time Unit',\n  },\n  {\n    name: 'Submit',\n    id: '856001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 856,\n    type: 'int',\n    codeSet: 'TradeReportTypeCodeSet',\n    description: 'Submit',\n  },\n  {\n    name: 'Alleged',\n    id: '856002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 856,\n    type: 'int',\n    codeSet: 'TradeReportTypeCodeSet',\n    description: 'Alleged',\n  },\n  {\n    name: 'Accept',\n    id: '856003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.4.4',\n    tag: 856,\n    type: 'int',\n    codeSet: 'TradeReportTypeCodeSet',\n    description: 'Accept',\n  },\n  {\n    name: 'Decline',\n    id: '856004',\n    value: '3',\n    sort: 4,\n    added: 'FIX.4.4',\n    tag: 856,\n    type: 'int',\n    codeSet: 'TradeReportTypeCodeSet',\n    description: 'Decline',\n  },\n  {\n    name: 'Addendum',\n    id: '856005',\n    value: '4',\n    sort: 5,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '241',\n    tag: 856,\n    type: 'int',\n    codeSet: 'TradeReportTypeCodeSet',\n    description:\n      'Addendum\\n\\nUsed to provide material supplemental data to a previously submitted trade.',\n  },\n  {\n    name: 'No',\n    id: '856006',\n    value: '5',\n    sort: 6,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '241',\n    tag: 856,\n    type: 'int',\n    codeSet: 'TradeReportTypeCodeSet',\n    description:\n      'No/Was\\n\\nUsed to report a full replacement of a previously submitted trade.',\n  },\n  {\n    name: 'TradeReportCancel',\n    id: '856007',\n    value: '6',\n    sort: 7,\n    added: 'FIX.4.4',\n    tag: 856,\n    type: 'int',\n    codeSet: 'TradeReportTypeCodeSet',\n    description: 'Trade Report Cancel',\n  },\n  {\n    name: 'LockedIn',\n    id: '856008',\n    value: '7',\n    sort: 8,\n    added: 'FIX.4.4',\n    tag: 856,\n    type: 'int',\n    codeSet: 'TradeReportTypeCodeSet',\n    description: '(Locked-In) Trade Break',\n  },\n  {\n    name: 'Defaulted',\n    id: '856009',\n    value: '8',\n    sort: 9,\n    added: 'FIX.4.4',\n    addedEP: '4',\n    tag: 856,\n    type: 'int',\n    codeSet: 'TradeReportTypeCodeSet',\n    description: 'Defaulted',\n  },\n  {\n    name: 'InvalidCMTA',\n    id: '856010',\n    value: '9',\n    sort: 10,\n    added: 'FIX.4.4',\n    addedEP: '8',\n    tag: 856,\n    type: 'int',\n    codeSet: 'TradeReportTypeCodeSet',\n    description: 'Invalid CMTA',\n  },\n  {\n    name: 'Pended',\n    id: '856011',\n    value: '10',\n    sort: 11,\n    added: 'FIX.4.4',\n    addedEP: '23',\n    tag: 856,\n    type: 'int',\n    codeSet: 'TradeReportTypeCodeSet',\n    description: 'Pended',\n  },\n  {\n    name: 'AllegedNew',\n    id: '856012',\n    value: '11',\n    sort: 12,\n    added: 'FIX.4.4',\n    addedEP: '23',\n    tag: 856,\n    type: 'int',\n    codeSet: 'TradeReportTypeCodeSet',\n    description: 'Alleged New',\n  },\n  {\n    name: 'AllegedAddendum',\n    id: '856013',\n    value: '12',\n    sort: 13,\n    added: 'FIX.4.4',\n    addedEP: '23',\n    tag: 856,\n    type: 'int',\n    codeSet: 'TradeReportTypeCodeSet',\n    description: 'Alleged Addendum',\n  },\n  {\n    name: 'AllegedNo',\n    id: '856014',\n    value: '13',\n    sort: 14,\n    added: 'FIX.4.4',\n    addedEP: '23',\n    tag: 856,\n    type: 'int',\n    codeSet: 'TradeReportTypeCodeSet',\n    description: 'Alleged No/Was',\n  },\n  {\n    name: 'AllegedTradeReportCancel',\n    id: '856015',\n    value: '14',\n    sort: 15,\n    added: 'FIX.4.4',\n    addedEP: '23',\n    tag: 856,\n    type: 'int',\n    codeSet: 'TradeReportTypeCodeSet',\n    description: 'Alleged Trade Report Cancel',\n  },\n  {\n    name: 'AllegedTradeBreak',\n    id: '856016',\n    value: '15',\n    sort: 16,\n    added: 'FIX.4.4',\n    addedEP: '23',\n    tag: 856,\n    type: 'int',\n    codeSet: 'TradeReportTypeCodeSet',\n    description: 'Alleged (Locked-In) Trade Break',\n  },\n  {\n    name: 'Verify',\n    id: '856017',\n    value: '16',\n    sort: 17,\n    added: 'FIX.5.0SP2',\n    addedEP: '187',\n    tag: 856,\n    type: 'int',\n    codeSet: 'TradeReportTypeCodeSet',\n    description:\n      'Verify\\n\\nUsed in reports from a trading party to the SDR to confirm trade details. Omit RegulatoryReportType(1934).',\n  },\n  {\n    name: 'Dispute',\n    id: '856018',\n    value: '17',\n    sort: 18,\n    added: 'FIX.5.0SP2',\n    addedEP: '187',\n    tag: 856,\n    type: 'int',\n    codeSet: 'TradeReportTypeCodeSet',\n    description:\n      'Dispute\\n\\nUsed in reports from a trading party to the SDR to dispute trade details. Omit RegulatoryReportType(1934).',\n  },\n  {\n    name: 'NonMaterialUpdate',\n    id: '856019',\n    value: '18',\n    sort: 18,\n    added: 'FIX.5.0SP2',\n    addedEP: '241',\n    tag: 856,\n    type: 'int',\n    codeSet: 'TradeReportTypeCodeSet',\n    description:\n      'Non-material Update\\n\\nUsed to provide non-material supplemental data to a previously submitted trade.',\n  },\n  {\n    name: 'NotSpecified',\n    id: '857001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '118',\n    tag: 857,\n    type: 'int',\n    codeSet: 'AllocNoOrdersTypeCodeSet',\n    description: 'Not specified',\n  },\n  {\n    name: 'ExplicitListProvided',\n    id: '857002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '118',\n    tag: 857,\n    type: 'int',\n    codeSet: 'AllocNoOrdersTypeCodeSet',\n    description: 'Explicit list provided',\n  },\n  {\n    name: 'Put',\n    id: '865001',\n    value: '1',\n    sort: 0,\n    added: 'FIX.4.4',\n    tag: 865,\n    type: 'int',\n    codeSet: 'EventTypeCodeSet',\n    description: 'Put',\n  },\n  {\n    name: 'Call',\n    id: '865002',\n    value: '2',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 865,\n    type: 'int',\n    codeSet: 'EventTypeCodeSet',\n    description: 'Call',\n  },\n  {\n    name: 'Tender',\n    id: '865003',\n    value: '3',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 865,\n    type: 'int',\n    codeSet: 'EventTypeCodeSet',\n    description: 'Tender',\n  },\n  {\n    name: 'SinkingFundCall',\n    id: '865004',\n    value: '4',\n    sort: 3,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '138',\n    tag: 865,\n    type: 'int',\n    codeSet: 'EventTypeCodeSet',\n    description: 'Sinking fund call',\n  },\n  {\n    name: 'Activation',\n    id: '865005',\n    value: '5',\n    sort: 4,\n    added: 'FIX.4.4',\n    addedEP: '8',\n    tag: 865,\n    type: 'int',\n    codeSet: 'EventTypeCodeSet',\n    description: 'Activation',\n  },\n  {\n    name: 'Inactiviation',\n    id: '865006',\n    value: '6',\n    sort: 5,\n    added: 'FIX.4.4',\n    addedEP: '8',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '137',\n    tag: 865,\n    type: 'int',\n    codeSet: 'EventTypeCodeSet',\n    description: 'Inactivation',\n  },\n  {\n    name: 'LastEligibleTradeDate',\n    id: '865007',\n    value: '7',\n    sort: 6,\n    added: 'FIX.5.0',\n    addedEP: '42',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '138',\n    tag: 865,\n    type: 'int',\n    codeSet: 'EventTypeCodeSet',\n    description: 'Last eligible trade date',\n  },\n  {\n    name: 'SwapStartDate',\n    id: '865008',\n    value: '8',\n    sort: 7,\n    added: 'FIX.5.0',\n    addedEP: '52',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '138',\n    tag: 865,\n    type: 'int',\n    codeSet: 'EventTypeCodeSet',\n    description: 'Swap start date',\n  },\n  {\n    name: 'SwapEndDate',\n    id: '865009',\n    value: '9',\n    sort: 8,\n    added: 'FIX.5.0',\n    addedEP: '52',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '169',\n    tag: 865,\n    type: 'int',\n    codeSet: 'EventTypeCodeSet',\n    description: 'Swap end date',\n  },\n  {\n    name: 'SwapRollDate',\n    id: '865010',\n    value: '10',\n    sort: 9,\n    added: 'FIX.5.0',\n    addedEP: '52',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '138',\n    tag: 865,\n    type: 'int',\n    codeSet: 'EventTypeCodeSet',\n    description: 'Swap roll date',\n  },\n  {\n    name: 'SwapNextStartDate',\n    id: '865011',\n    value: '11',\n    sort: 10,\n    added: 'FIX.5.0',\n    addedEP: '52',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '138',\n    tag: 865,\n    type: 'int',\n    codeSet: 'EventTypeCodeSet',\n    description: 'Swap next start date',\n  },\n  {\n    name: 'SwapNextRollDate',\n    id: '865012',\n    value: '12',\n    sort: 11,\n    added: 'FIX.5.0',\n    addedEP: '52',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '138',\n    tag: 865,\n    type: 'int',\n    codeSet: 'EventTypeCodeSet',\n    description: 'Swap next roll date',\n  },\n  {\n    name: 'FirstDeliveryDate',\n    id: '865013',\n    value: '13',\n    sort: 12,\n    added: 'FIX.5.0',\n    addedEP: '52',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '138',\n    tag: 865,\n    type: 'int',\n    codeSet: 'EventTypeCodeSet',\n    description: 'First delivery date',\n  },\n  {\n    name: 'LastDeliveryDate',\n    id: '865014',\n    value: '14',\n    sort: 13,\n    added: 'FIX.5.0',\n    addedEP: '52',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '138',\n    tag: 865,\n    type: 'int',\n    codeSet: 'EventTypeCodeSet',\n    description: 'Last delivery date',\n  },\n  {\n    name: 'InitialInventoryDueDate',\n    id: '865015',\n    value: '15',\n    sort: 14,\n    added: 'FIX.5.0',\n    addedEP: '52',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '138',\n    tag: 865,\n    type: 'int',\n    codeSet: 'EventTypeCodeSet',\n    description: 'Initial inventory due date',\n  },\n  {\n    name: 'FinalInventoryDueDate',\n    id: '865016',\n    value: '16',\n    sort: 15,\n    added: 'FIX.5.0',\n    addedEP: '52',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '138',\n    tag: 865,\n    type: 'int',\n    codeSet: 'EventTypeCodeSet',\n    description: 'Final inventory due date',\n  },\n  {\n    name: 'FirstIntentDate',\n    id: '865017',\n    value: '17',\n    sort: 16,\n    added: 'FIX.5.0',\n    addedEP: '52',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '138',\n    tag: 865,\n    type: 'int',\n    codeSet: 'EventTypeCodeSet',\n    description: 'First intent date',\n  },\n  {\n    name: 'LastIntentDate',\n    id: '865018',\n    value: '18',\n    sort: 17,\n    added: 'FIX.5.0',\n    addedEP: '52',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '138',\n    tag: 865,\n    type: 'int',\n    codeSet: 'EventTypeCodeSet',\n    description: 'Last intent date',\n  },\n  {\n    name: 'PositionRemovalDate',\n    id: '865019',\n    value: '19',\n    sort: 18,\n    added: 'FIX.5.0',\n    addedEP: '52',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '138',\n    tag: 865,\n    type: 'int',\n    codeSet: 'EventTypeCodeSet',\n    description: 'Position removal date',\n  },\n  {\n    name: 'MinimumNotice',\n    id: '865020',\n    value: '20',\n    sort: 19,\n    added: 'FIX.5.0SP2',\n    addedEP: '132',\n    tag: 865,\n    type: 'int',\n    codeSet: 'EventTypeCodeSet',\n    description: 'Minimum notice',\n  },\n  {\n    name: 'DeliveryStartTime',\n    id: '865021',\n    value: '21',\n    sort: 20,\n    added: 'FIX.5.0SP2',\n    addedEP: '137',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '228',\n    tag: 865,\n    type: 'int',\n    codeSet: 'EventTypeCodeSet',\n    description: 'Delivery start time',\n  },\n  {\n    name: 'DeliveryEndTime',\n    id: '865022',\n    value: '22',\n    sort: 21,\n    added: 'FIX.5.0SP2',\n    addedEP: '137',\n    tag: 865,\n    type: 'int',\n    codeSet: 'EventTypeCodeSet',\n    description: 'Delivery end time',\n  },\n  {\n    name: 'FirstNoticeDate',\n    id: '865023',\n    value: '23',\n    sort: 22,\n    added: 'FIX.5.0SP2',\n    addedEP: '138',\n    tag: 865,\n    type: 'int',\n    codeSet: 'EventTypeCodeSet',\n    description:\n      \"First notice date\\n\\nThe first day that a notice of intent to deliver a commodity can be made by a clearing house to a buyer in fulfillment of a given month's futures contract.\",\n  },\n  {\n    name: 'LastNoticeDate',\n    id: '865024',\n    value: '24',\n    sort: 23,\n    added: 'FIX.5.0SP2',\n    addedEP: '138',\n    tag: 865,\n    type: 'int',\n    codeSet: 'EventTypeCodeSet',\n    description:\n      'Last notice date\\n\\nThe last day on which a clearing house may inform an investor that a seller intends to make delivery of a commodity that the investor previously bought in a futures contract. The date is governed by the rules of different exchanges and clearing houses, but may also be stated in the futures contract itself.',\n  },\n  {\n    name: 'FirstExerciseDate',\n    id: '865025',\n    value: '25',\n    sort: 24,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 865,\n    type: 'int',\n    codeSet: 'EventTypeCodeSet',\n    description: 'First exercise date',\n  },\n  {\n    name: 'RedemptionDate',\n    id: '865026',\n    value: '26',\n    sort: 25,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 865,\n    type: 'int',\n    codeSet: 'EventTypeCodeSet',\n    description: 'Redemption date',\n  },\n  {\n    name: 'TrdCntntnEfctvDt',\n    id: '865027',\n    value: '27',\n    sort: 27,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 865,\n    type: 'int',\n    codeSet: 'EventTypeCodeSet',\n    description: 'Trade continuation effective date',\n  },\n  {\n    name: 'Other',\n    id: '865028',\n    value: '99',\n    sort: 99,\n    added: 'FIX.4.4',\n    tag: 865,\n    type: 'int',\n    codeSet: 'EventTypeCodeSet',\n    description: 'Other',\n  },\n  {\n    name: 'Flat',\n    id: '871001',\n    value: '1',\n    sort: 0,\n    added: 'FIX.4.4',\n    tag: 871,\n    type: 'int',\n    codeSet: 'InstrAttribTypeCodeSet',\n    description:\n      'Flat (securities pay interest on a current basis but are traded without interest)',\n  },\n  {\n    name: 'ZeroCoupon',\n    id: '871002',\n    value: '2',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 871,\n    type: 'int',\n    codeSet: 'InstrAttribTypeCodeSet',\n    description: 'Zero coupon',\n  },\n  {\n    name: 'InterestBearing',\n    id: '871003',\n    value: '3',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 871,\n    type: 'int',\n    codeSet: 'InstrAttribTypeCodeSet',\n    description:\n      'Interest bearing (for Euro commercial paper when not issued at discount)',\n  },\n  {\n    name: 'NoPeriodicPayments',\n    id: '871004',\n    value: '4',\n    sort: 3,\n    added: 'FIX.4.4',\n    tag: 871,\n    type: 'int',\n    codeSet: 'InstrAttribTypeCodeSet',\n    description: 'No periodic payments',\n  },\n  {\n    name: 'VariableRate',\n    id: '871005',\n    value: '5',\n    sort: 4,\n    added: 'FIX.4.4',\n    tag: 871,\n    type: 'int',\n    codeSet: 'InstrAttribTypeCodeSet',\n    description: 'Variable rate',\n  },\n  {\n    name: 'LessFeeForPut',\n    id: '871006',\n    value: '6',\n    sort: 5,\n    added: 'FIX.4.4',\n    tag: 871,\n    type: 'int',\n    codeSet: 'InstrAttribTypeCodeSet',\n    description: 'Less fee for put',\n  },\n  {\n    name: 'SteppedCoupon',\n    id: '871007',\n    value: '7',\n    sort: 6,\n    added: 'FIX.4.4',\n    tag: 871,\n    type: 'int',\n    codeSet: 'InstrAttribTypeCodeSet',\n    description: 'Stepped coupon',\n  },\n  {\n    name: 'CouponPeriod',\n    id: '871008',\n    value: '8',\n    sort: 7,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '138',\n    tag: 871,\n    type: 'int',\n    codeSet: 'InstrAttribTypeCodeSet',\n    description:\n      'Coupon period (if not semi-annual)\\n\\nSupply redemption date in the InstrAttribValue(872) field.',\n  },\n  {\n    name: 'When',\n    id: '871009',\n    value: '9',\n    sort: 8,\n    added: 'FIX.4.4',\n    tag: 871,\n    type: 'int',\n    codeSet: 'InstrAttribTypeCodeSet',\n    description: 'When [and if] issued',\n  },\n  {\n    name: 'OriginalIssueDiscount',\n    id: '871010',\n    value: '10',\n    sort: 9,\n    added: 'FIX.4.4',\n    tag: 871,\n    type: 'int',\n    codeSet: 'InstrAttribTypeCodeSet',\n    description: 'Original issue discount',\n  },\n  {\n    name: 'Callable',\n    id: '871011',\n    value: '11',\n    sort: 10,\n    added: 'FIX.4.4',\n    tag: 871,\n    type: 'int',\n    codeSet: 'InstrAttribTypeCodeSet',\n    description: 'Callable, puttable',\n  },\n  {\n    name: 'EscrowedToMaturity',\n    id: '871012',\n    value: '12',\n    sort: 11,\n    added: 'FIX.4.4',\n    tag: 871,\n    type: 'int',\n    codeSet: 'InstrAttribTypeCodeSet',\n    description: 'Escrowed to Maturity',\n  },\n  {\n    name: 'EscrowedToRedemptionDate',\n    id: '871013',\n    value: '13',\n    sort: 12,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '138',\n    tag: 871,\n    type: 'int',\n    codeSet: 'InstrAttribTypeCodeSet',\n    description:\n      'Escrowed to redemption date - callable\\n\\nSupply redemption date in the InstrAttribValue(872) field.',\n  },\n  {\n    name: 'PreRefunded',\n    id: '871014',\n    value: '14',\n    sort: 13,\n    added: 'FIX.4.4',\n    tag: 871,\n    type: 'int',\n    codeSet: 'InstrAttribTypeCodeSet',\n    description: 'Pre-refunded',\n  },\n  {\n    name: 'InDefault',\n    id: '871015',\n    value: '15',\n    sort: 14,\n    added: 'FIX.4.4',\n    tag: 871,\n    type: 'int',\n    codeSet: 'InstrAttribTypeCodeSet',\n    description: 'In default',\n  },\n  {\n    name: 'Unrated',\n    id: '871016',\n    value: '16',\n    sort: 15,\n    added: 'FIX.4.4',\n    tag: 871,\n    type: 'int',\n    codeSet: 'InstrAttribTypeCodeSet',\n    description: 'Unrated',\n  },\n  {\n    name: 'Taxable',\n    id: '871017',\n    value: '17',\n    sort: 16,\n    added: 'FIX.4.4',\n    tag: 871,\n    type: 'int',\n    codeSet: 'InstrAttribTypeCodeSet',\n    description: 'Taxable',\n  },\n  {\n    name: 'Indexed',\n    id: '871018',\n    value: '18',\n    sort: 17,\n    added: 'FIX.4.4',\n    tag: 871,\n    type: 'int',\n    codeSet: 'InstrAttribTypeCodeSet',\n    description: 'Indexed',\n  },\n  {\n    name: 'SubjectToAlternativeMinimumTax',\n    id: '871019',\n    value: '19',\n    sort: 18,\n    added: 'FIX.4.4',\n    tag: 871,\n    type: 'int',\n    codeSet: 'InstrAttribTypeCodeSet',\n    description: 'Subject To Alternative Minimum Tax',\n  },\n  {\n    name: 'OriginalIssueDiscountPrice',\n    id: '871020',\n    value: '20',\n    sort: 19,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '138',\n    tag: 871,\n    type: 'int',\n    codeSet: 'InstrAttribTypeCodeSet',\n    description:\n      'Original issue discount price\\n\\nSupply price in the InstrAttribValue(872) field.',\n  },\n  {\n    name: 'CallableBelowMaturityValue',\n    id: '871021',\n    value: '21',\n    sort: 20,\n    added: 'FIX.4.4',\n    tag: 871,\n    type: 'int',\n    codeSet: 'InstrAttribTypeCodeSet',\n    description: 'Callable below maturity value',\n  },\n  {\n    name: 'CallableWithoutNotice',\n    id: '871022',\n    value: '22',\n    sort: 21,\n    added: 'FIX.4.4',\n    tag: 871,\n    type: 'int',\n    codeSet: 'InstrAttribTypeCodeSet',\n    description: 'Callable without notice by mail to holder unless registered',\n  },\n  {\n    name: 'PriceTickRulesForSecurity',\n    id: '871023',\n    value: '23',\n    sort: 22,\n    added: 'FIX.5.0',\n    addedEP: '42',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '138',\n    tag: 871,\n    type: 'int',\n    codeSet: 'InstrAttribTypeCodeSet',\n    description: 'Price tick rules for security',\n  },\n  {\n    name: 'TradeTypeEligibilityDetailsForSecurity',\n    id: '871024',\n    value: '24',\n    sort: 23,\n    added: 'FIX.5.0',\n    addedEP: '42',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '138',\n    tag: 871,\n    type: 'int',\n    codeSet: 'InstrAttribTypeCodeSet',\n    description: 'Trade type eligibility details for security',\n  },\n  {\n    name: 'InstrumentDenominator',\n    id: '871025',\n    value: '25',\n    sort: 26,\n    added: 'FIX.5.0',\n    addedEP: '52',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '138',\n    tag: 871,\n    type: 'int',\n    codeSet: 'InstrAttribTypeCodeSet',\n    description: 'Instrument denominator',\n  },\n  {\n    name: 'InstrumentNumerator',\n    id: '871026',\n    value: '26',\n    sort: 27,\n    added: 'FIX.5.0',\n    addedEP: '52',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '138',\n    tag: 871,\n    type: 'int',\n    codeSet: 'InstrAttribTypeCodeSet',\n    description: 'Instrument numerator',\n  },\n  {\n    name: 'InstrumentPricePrecision',\n    id: '871027',\n    value: '27',\n    sort: 28,\n    added: 'FIX.5.0',\n    addedEP: '52',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '138',\n    tag: 871,\n    type: 'int',\n    codeSet: 'InstrAttribTypeCodeSet',\n    description: 'Instrument price precision',\n  },\n  {\n    name: 'InstrumentStrikePrice',\n    id: '871028',\n    value: '28',\n    sort: 29,\n    added: 'FIX.5.0',\n    addedEP: '52',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '138',\n    tag: 871,\n    type: 'int',\n    codeSet: 'InstrAttribTypeCodeSet',\n    description: 'Instrument strike price',\n  },\n  {\n    name: 'TradeableIndicator',\n    id: '871029',\n    value: '29',\n    sort: 30,\n    added: 'FIX.5.0',\n    addedEP: '52',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '138',\n    tag: 871,\n    type: 'int',\n    codeSet: 'InstrAttribTypeCodeSet',\n    description: 'Tradeable indicator',\n  },\n  {\n    name: 'InstrumentEligibleAnonOrders',\n    id: '871030',\n    value: '30',\n    sort: 31,\n    added: 'FIX.5.0SP2',\n    addedEP: '101',\n    tag: 871,\n    type: 'int',\n    codeSet: 'InstrAttribTypeCodeSet',\n    description: 'Instrument is eligible to accept anonymous orders',\n  },\n  {\n    name: 'MinGuaranteedFillVolume',\n    id: '871031',\n    value: '31',\n    sort: 32,\n    added: 'FIX.5.0SP2',\n    addedEP: '101',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '138',\n    tag: 871,\n    type: 'int',\n    codeSet: 'InstrAttribTypeCodeSet',\n    description: 'Minimum guaranteed fill volume',\n  },\n  {\n    name: 'MinGuaranteedFillStatus',\n    id: '871032',\n    value: '32',\n    sort: 33,\n    added: 'FIX.5.0SP2',\n    addedEP: '104',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '138',\n    tag: 871,\n    type: 'int',\n    codeSet: 'InstrAttribTypeCodeSet',\n    description: 'Minimum guaranteed fill status',\n  },\n  {\n    name: 'TradeAtSettlementEligibility',\n    id: '871033',\n    value: '33',\n    sort: 34,\n    added: 'FIX.5.0SP2',\n    addedEP: '107',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '138',\n    tag: 871,\n    type: 'int',\n    codeSet: 'InstrAttribTypeCodeSet',\n    description: 'Trade at settlement (TAS) eligibility',\n  },\n  {\n    name: 'TestInstrument',\n    id: '871034',\n    value: '34',\n    sort: 35,\n    added: 'FIX.5.0SP2',\n    addedEP: '130',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '138',\n    tag: 871,\n    type: 'int',\n    codeSet: 'InstrAttribTypeCodeSet',\n    description:\n      'Test instrument\\n\\nInstrument that is tradable but has no effect on the positions, exchange turnover etc.',\n  },\n  {\n    name: 'DummyInstrument',\n    id: '871035',\n    value: '35',\n    sort: 36,\n    added: 'FIX.5.0SP2',\n    addedEP: '130',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '138',\n    tag: 871,\n    type: 'int',\n    codeSet: 'InstrAttribTypeCodeSet',\n    description:\n      'Dummy instrument\\n\\nInstrument that is normally halted and is only activated for trading under very special conditions (e.g. temporarily assigned for newly listed instrument). Use of a dummy instrument generally applies to systems that are unable to add reference data for new instruments intraday.',\n  },\n  {\n    name: 'NegativeSettlementPriceEligibility',\n    id: '871036',\n    value: '36',\n    sort: 37,\n    added: 'FIX.5.0SP2',\n    addedEP: '138',\n    tag: 871,\n    type: 'int',\n    codeSet: 'InstrAttribTypeCodeSet',\n    description: 'Negative settlement price eligibility',\n  },\n  {\n    name: 'NegativeStrikePriceEligibility',\n    id: '871037',\n    value: '37',\n    sort: 38,\n    added: 'FIX.5.0SP2',\n    addedEP: '138',\n    tag: 871,\n    type: 'int',\n    codeSet: 'InstrAttribTypeCodeSet',\n    description: 'Negative strike price eligibility',\n  },\n  {\n    name: 'USStdContractInd',\n    id: '871038',\n    value: '38',\n    sort: 39,\n    added: 'FIX.5.0SP2',\n    addedEP: '193',\n    tag: 871,\n    type: 'int',\n    codeSet: 'InstrAttribTypeCodeSet',\n    description:\n      'US standard contract indicator\\n\\nIndicates through InstrAttribValue(872) - values Y or N - whether the underlying asset in the trade references or is economically related to a contract listed in Appendix B of CFTC Part 43 regulation. See http://www.ecfr.gov/cgi-bin/text-idx?SID=4b2d1078ad68f6564a89d7ff6c52ec43&node=17:2.0.1.1.3.0.1.8.2&rgn=div or refer to Appendix B to Part 43 in the final rule at http://www.cftc.gov/ucm/groups/public/@lrfederalregister/documents/file/2013-12133a.pdf',\n  },\n  {\n    name: 'AdmittedToTradingOnTradingVenue',\n    id: '871039',\n    value: '39',\n    sort: 40,\n    added: 'FIX.5.0SP2',\n    addedEP: '236',\n    tag: 871,\n    type: 'int',\n    codeSet: 'InstrAttribTypeCodeSet',\n    description: 'Admitted to trading on a trading venue',\n  },\n  {\n    name: 'AverageDailyNotionalAmount',\n    id: '871040',\n    value: '40',\n    sort: 41,\n    added: 'FIX.5.0SP2',\n    addedEP: '238',\n    tag: 871,\n    type: 'int',\n    codeSet: 'InstrAttribTypeCodeSet',\n    description: 'Average daily notional amount',\n  },\n  {\n    name: 'AverageDailyNumberTrades',\n    id: '871041',\n    value: '41',\n    sort: 42,\n    added: 'FIX.5.0SP2',\n    addedEP: '238',\n    tag: 871,\n    type: 'int',\n    codeSet: 'InstrAttribTypeCodeSet',\n    description: 'Average daily number of trades',\n  },\n  {\n    name: 'Text',\n    id: '871042',\n    value: '99',\n    sort: 99,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '138',\n    tag: 871,\n    type: 'int',\n    codeSet: 'InstrAttribTypeCodeSet',\n    description: 'Text\\n\\nSupply the text value in InstrAttribValue(872).',\n  },\n  {\n    name: 'Program3a3',\n    id: '875001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '201',\n    tag: 875,\n    type: 'int',\n    codeSet: 'CPProgramCodeSet',\n    description:\n      '3(a)(3)\\n\\nArising out of a current transaction with a maturity less than 9 months.',\n  },\n  {\n    name: 'Program42',\n    id: '875002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '201',\n    tag: 875,\n    type: 'int',\n    codeSet: 'CPProgramCodeSet',\n    description: '4(2)\\n\\nIssued not involving any public offering.',\n  },\n  {\n    name: 'Program3a2',\n    id: '875003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '201',\n    tag: 875,\n    type: 'int',\n    codeSet: 'CPProgramCodeSet',\n    description:\n      '3(a)(2)\\n\\nIssued or guaranteed by the US, state or territorial government.',\n  },\n  {\n    name: 'Program3a3And3c7',\n    id: '875004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '201',\n    tag: 875,\n    type: 'int',\n    codeSet: 'CPProgramCodeSet',\n    description: '3(a)(3) & 3(c)(7)\\n\\nCombination of 3(a)(3) and 3(c)(7).',\n  },\n  {\n    name: 'Program3a4',\n    id: '875005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '201',\n    tag: 875,\n    type: 'int',\n    codeSet: 'CPProgramCodeSet',\n    description:\n      '3(a)(4)\\n\\nReligious, education, benevolent, fraternal, charitable or reformatory purposes.',\n  },\n  {\n    name: 'Program3a5',\n    id: '875006',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '201',\n    tag: 875,\n    type: 'int',\n    codeSet: 'CPProgramCodeSet',\n    description:\n      \"3(a)(5)\\n\\nIssued by an institution supervised by state or federal authority or by an exempt farmer's cooperative.\",\n  },\n  {\n    name: 'Program3a7',\n    id: '875007',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '201',\n    tag: 875,\n    type: 'int',\n    codeSet: 'CPProgramCodeSet',\n    description: '3(a)(7)\\n\\nIssued by a receiver or trustee in bankruptcy.',\n  },\n  {\n    name: 'Program3c7',\n    id: '875008',\n    value: '8',\n    sort: 8,\n    added: 'FIX.5.0SP2',\n    addedEP: '201',\n    tag: 875,\n    type: 'int',\n    codeSet: 'CPProgramCodeSet',\n    description:\n      '3(c)(7)\\n\\nQualified hedge-fund under the Investment Company Act of 1940.',\n  },\n  {\n    name: 'Other',\n    id: '875009',\n    value: '99',\n    sort: 99,\n    added: 'FIX.4.4',\n    tag: 875,\n    type: 'int',\n    codeSet: 'CPProgramCodeSet',\n    description: 'Other',\n  },\n  {\n    name: 'Absolute',\n    id: '891001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '240',\n    tag: 891,\n    type: 'int',\n    codeSet: 'MiscFeeBasisCodeSet',\n    description:\n      'Absolute\\n\\nThe fee or markup is a total fixed amount expressed in the currency of the trade.',\n  },\n  {\n    name: 'PerUnit',\n    id: '891002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '240',\n    tag: 891,\n    type: 'int',\n    codeSet: 'MiscFeeBasisCodeSet',\n    description:\n      'Per Unit\\n\\nThe fee or markup is an amount per quantity unit, i.e. per share or contract, expressed in the currency of the trade.',\n  },\n  {\n    name: 'Percentage',\n    id: '891003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '240',\n    tag: 891,\n    type: 'int',\n    codeSet: 'MiscFeeBasisCodeSet',\n    description:\n      'Percentage\\n\\nThe percentage is expressed in standard FIX \"Percentage\" datatype format, i.e. \"0.01\" for 1 percent and ranges between 0 and 1. It is the number which when multiplied by the trade price and quantity produces the total amount of the fee or markup.',\n  },\n  {\n    name: 'NotLastMessage',\n    id: '893001',\n    value: 'N',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 893,\n    type: 'Boolean',\n    codeSet: 'LastFragmentCodeSet',\n    description: 'Not Last Message',\n  },\n  {\n    name: 'LastMessage',\n    id: '893002',\n    value: 'Y',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 893,\n    type: 'Boolean',\n    codeSet: 'LastFragmentCodeSet',\n    description: 'Last Message',\n  },\n  {\n    name: 'Initial',\n    id: '895001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 895,\n    type: 'int',\n    codeSet: 'CollAsgnReasonCodeSet',\n    description: 'Initial',\n  },\n  {\n    name: 'Scheduled',\n    id: '895002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 895,\n    type: 'int',\n    codeSet: 'CollAsgnReasonCodeSet',\n    description: 'Scheduled',\n  },\n  {\n    name: 'TimeWarning',\n    id: '895003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.4.4',\n    tag: 895,\n    type: 'int',\n    codeSet: 'CollAsgnReasonCodeSet',\n    description: 'Time Warning',\n  },\n  {\n    name: 'MarginDeficiency',\n    id: '895004',\n    value: '3',\n    sort: 4,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '192',\n    tag: 895,\n    type: 'int',\n    codeSet: 'CollAsgnReasonCodeSet',\n    description:\n      'Margin Deficiency\\n\\nIn a CollateralRequest(35=AX), this indicates there is a margin deficiency. In a CollateralAssignment(35=AY), this indicates that the assignment is a deposit to meet margin deficiency.',\n  },\n  {\n    name: 'MarginExcess',\n    id: '895005',\n    value: '4',\n    sort: 5,\n    added: 'FIX.4.4',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '192',\n    tag: 895,\n    type: 'int',\n    codeSet: 'CollAsgnReasonCodeSet',\n    description:\n      'Margin Excess\\n\\nIn a CollateralRequest(35=AX), this indicates there is excess margin. In a CollateralAssignment(35=AY), this indicates that the assignment is a withdrawal of the margin excess.',\n  },\n  {\n    name: 'ForwardCollateralDemand',\n    id: '895006',\n    value: '5',\n    sort: 6,\n    added: 'FIX.4.4',\n    tag: 895,\n    type: 'int',\n    codeSet: 'CollAsgnReasonCodeSet',\n    description: 'Forward Collateral Demand',\n  },\n  {\n    name: 'EventOfDefault',\n    id: '895007',\n    value: '6',\n    sort: 7,\n    added: 'FIX.4.4',\n    tag: 895,\n    type: 'int',\n    codeSet: 'CollAsgnReasonCodeSet',\n    description: 'Event of default',\n  },\n  {\n    name: 'AdverseTaxEvent',\n    id: '895008',\n    value: '7',\n    sort: 8,\n    added: 'FIX.4.4',\n    tag: 895,\n    type: 'int',\n    codeSet: 'CollAsgnReasonCodeSet',\n    description: 'Adverse tax event',\n  },\n  {\n    name: 'TransferDeposit',\n    id: '895009',\n    value: '8',\n    sort: 9,\n    added: 'FIX.5.0SP2',\n    addedEP: '193',\n    tag: 895,\n    type: 'int',\n    codeSet: 'CollAsgnReasonCodeSet',\n    description:\n      'Transfer deposit\\n\\nCollateral deposit in which the asset is to be transferred from an undesignated holding into collateral. I.e. there is no intermediate conversion to cash.',\n  },\n  {\n    name: 'TransferWithdrawal',\n    id: '895010',\n    value: '9',\n    sort: 10,\n    added: 'FIX.5.0SP2',\n    addedEP: '193',\n    tag: 895,\n    type: 'int',\n    codeSet: 'CollAsgnReasonCodeSet',\n    description:\n      'Transfer withdrawal\\n\\nCollateral withdrawal in which the asset is to be transferred from collateral into an undesignated holding. I.e. there is no intermediate conversion to cash.',\n  },\n  {\n    name: 'Pledge',\n    id: '895011',\n    value: '10',\n    sort: 11,\n    added: 'FIX.5.0SP2',\n    addedEP: '197',\n    tag: 895,\n    type: 'int',\n    codeSet: 'CollAsgnReasonCodeSet',\n    description:\n      'Pledge\\n\\nThe purpose of the collateral assignment is to pledge or \"lock up\" a value of a basket of securities, individual security or fund as collateral.',\n  },\n  {\n    name: 'TradeDate',\n    id: '896001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 896,\n    type: 'int',\n    codeSet: 'CollInquiryQualifierCodeSet',\n    description: 'Trade Date',\n  },\n  {\n    name: 'GCInstrument',\n    id: '896002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 896,\n    type: 'int',\n    codeSet: 'CollInquiryQualifierCodeSet',\n    description: 'GC Instrument',\n  },\n  {\n    name: 'CollateralInstrument',\n    id: '896003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.4.4',\n    tag: 896,\n    type: 'int',\n    codeSet: 'CollInquiryQualifierCodeSet',\n    description: 'Collateral Instrument',\n  },\n  {\n    name: 'SubstitutionEligible',\n    id: '896004',\n    value: '3',\n    sort: 4,\n    added: 'FIX.4.4',\n    tag: 896,\n    type: 'int',\n    codeSet: 'CollInquiryQualifierCodeSet',\n    description: 'Substitution Eligible',\n  },\n  {\n    name: 'NotAssigned',\n    id: '896005',\n    value: '4',\n    sort: 5,\n    added: 'FIX.4.4',\n    tag: 896,\n    type: 'int',\n    codeSet: 'CollInquiryQualifierCodeSet',\n    description: 'Not Assigned',\n  },\n  {\n    name: 'PartiallyAssigned',\n    id: '896006',\n    value: '5',\n    sort: 6,\n    added: 'FIX.4.4',\n    tag: 896,\n    type: 'int',\n    codeSet: 'CollInquiryQualifierCodeSet',\n    description: 'Partially Assigned',\n  },\n  {\n    name: 'FullyAssigned',\n    id: '896007',\n    value: '6',\n    sort: 7,\n    added: 'FIX.4.4',\n    tag: 896,\n    type: 'int',\n    codeSet: 'CollInquiryQualifierCodeSet',\n    description: 'Fully Assigned',\n  },\n  {\n    name: 'OutstandingTrades',\n    id: '896008',\n    value: '7',\n    sort: 8,\n    added: 'FIX.4.4',\n    tag: 896,\n    type: 'int',\n    codeSet: 'CollInquiryQualifierCodeSet',\n    description: 'Outstanding Trades (Today < end date)',\n  },\n  {\n    name: 'New',\n    id: '903001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 903,\n    type: 'int',\n    codeSet: 'CollAsgnTransTypeCodeSet',\n    description: 'New',\n  },\n  {\n    name: 'Replace',\n    id: '903002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 903,\n    type: 'int',\n    codeSet: 'CollAsgnTransTypeCodeSet',\n    description: 'Replace',\n  },\n  {\n    name: 'Cancel',\n    id: '903003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.4.4',\n    tag: 903,\n    type: 'int',\n    codeSet: 'CollAsgnTransTypeCodeSet',\n    description: 'Cancel',\n  },\n  {\n    name: 'Release',\n    id: '903004',\n    value: '3',\n    sort: 4,\n    added: 'FIX.4.4',\n    tag: 903,\n    type: 'int',\n    codeSet: 'CollAsgnTransTypeCodeSet',\n    description: 'Release',\n  },\n  {\n    name: 'Reverse',\n    id: '903005',\n    value: '4',\n    sort: 5,\n    added: 'FIX.4.4',\n    tag: 903,\n    type: 'int',\n    codeSet: 'CollAsgnTransTypeCodeSet',\n    description: 'Reverse',\n  },\n  {\n    name: 'Received',\n    id: '905001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 905,\n    type: 'int',\n    codeSet: 'CollAsgnRespTypeCodeSet',\n    description: 'Received',\n  },\n  {\n    name: 'Accepted',\n    id: '905002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 905,\n    type: 'int',\n    codeSet: 'CollAsgnRespTypeCodeSet',\n    description: 'Accepted',\n  },\n  {\n    name: 'Declined',\n    id: '905003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.4.4',\n    tag: 905,\n    type: 'int',\n    codeSet: 'CollAsgnRespTypeCodeSet',\n    description: 'Declined',\n  },\n  {\n    name: 'Rejected',\n    id: '905004',\n    value: '3',\n    sort: 4,\n    added: 'FIX.4.4',\n    tag: 905,\n    type: 'int',\n    codeSet: 'CollAsgnRespTypeCodeSet',\n    description: 'Rejected',\n  },\n  {\n    name: 'TransactionPending',\n    id: '905005',\n    value: '4',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '192',\n    tag: 905,\n    type: 'int',\n    codeSet: 'CollAsgnRespTypeCodeSet',\n    description:\n      'Transaction pending\\n\\nThe collateral assignment transaction is pending at the recipient.',\n  },\n  {\n    name: 'TransactionCompletedWithWarning',\n    id: '905006',\n    value: '5',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '192',\n    tag: 905,\n    type: 'int',\n    codeSet: 'CollAsgnRespTypeCodeSet',\n    description:\n      'Transaction completed with warning - see Text(58) for further information.\\n\\nThe collateral assignment transaction was accepted and completed but with warnings.',\n  },\n  {\n    name: 'UnknownDeal',\n    id: '906001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 906,\n    type: 'int',\n    codeSet: 'CollAsgnRejectReasonCodeSet',\n    description: 'Unknown deal (order / trade)',\n  },\n  {\n    name: 'UnknownOrInvalidInstrument',\n    id: '906002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 906,\n    type: 'int',\n    codeSet: 'CollAsgnRejectReasonCodeSet',\n    description: 'Unknown or invalid instrument',\n  },\n  {\n    name: 'UnauthorizedTransaction',\n    id: '906003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.4.4',\n    tag: 906,\n    type: 'int',\n    codeSet: 'CollAsgnRejectReasonCodeSet',\n    description: 'Unauthorized transaction',\n  },\n  {\n    name: 'InsufficientCollateral',\n    id: '906004',\n    value: '3',\n    sort: 4,\n    added: 'FIX.4.4',\n    tag: 906,\n    type: 'int',\n    codeSet: 'CollAsgnRejectReasonCodeSet',\n    description: 'Insufficient collateral',\n  },\n  {\n    name: 'InvalidTypeOfCollateral',\n    id: '906005',\n    value: '4',\n    sort: 5,\n    added: 'FIX.4.4',\n    tag: 906,\n    type: 'int',\n    codeSet: 'CollAsgnRejectReasonCodeSet',\n    description: 'Invalid type of collateral',\n  },\n  {\n    name: 'ExcessiveSubstitution',\n    id: '906006',\n    value: '5',\n    sort: 6,\n    added: 'FIX.4.4',\n    tag: 906,\n    type: 'int',\n    codeSet: 'CollAsgnRejectReasonCodeSet',\n    description: 'Excessive substitution',\n  },\n  {\n    name: 'Other',\n    id: '906007',\n    value: '99',\n    sort: 99,\n    added: 'FIX.4.4',\n    tag: 906,\n    type: 'int',\n    codeSet: 'CollAsgnRejectReasonCodeSet',\n    description: 'Other',\n  },\n  {\n    name: 'Unassigned',\n    id: '910001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 910,\n    type: 'int',\n    codeSet: 'CollStatusCodeSet',\n    description: 'Unassigned',\n  },\n  {\n    name: 'PartiallyAssigned',\n    id: '910002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 910,\n    type: 'int',\n    codeSet: 'CollStatusCodeSet',\n    description: 'Partially Assigned',\n  },\n  {\n    name: 'AssignmentProposed',\n    id: '910003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.4.4',\n    tag: 910,\n    type: 'int',\n    codeSet: 'CollStatusCodeSet',\n    description: 'Assignment Proposed',\n  },\n  {\n    name: 'Assigned',\n    id: '910004',\n    value: '3',\n    sort: 4,\n    added: 'FIX.4.4',\n    tag: 910,\n    type: 'int',\n    codeSet: 'CollStatusCodeSet',\n    description: 'Assigned (Accepted)',\n  },\n  {\n    name: 'Challenged',\n    id: '910005',\n    value: '4',\n    sort: 5,\n    added: 'FIX.4.4',\n    tag: 910,\n    type: 'int',\n    codeSet: 'CollStatusCodeSet',\n    description: 'Challenged',\n  },\n  {\n    name: 'Reused',\n    id: '910006',\n    value: '5',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 910,\n    type: 'int',\n    codeSet: 'CollStatusCodeSet',\n    description:\n      'Reused\\n\\nA modification of the details of the collateral re-use. In the context of EU SFTR reporting, to be used with RegulatoryReportType(1934)=31 (Collateral update).',\n  },\n  {\n    name: 'NotLastMessage',\n    id: '912001',\n    value: 'N',\n    sort: 1,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 912,\n    type: 'Boolean',\n    codeSet: 'LastRptRequestedCodeSet',\n    description: 'Not last message',\n  },\n  {\n    name: 'LastMessage',\n    id: '912002',\n    value: 'Y',\n    sort: 2,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 912,\n    type: 'Boolean',\n    codeSet: 'LastRptRequestedCodeSet',\n    description: 'Last message',\n  },\n  {\n    name: 'VersusPayment',\n    id: '919001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 919,\n    type: 'int',\n    codeSet: 'DeliveryTypeCodeSet',\n    description:\n      '\"Versus Payment\": Deliver (if sell) or Receive (if buy) vs. (against) Payment',\n  },\n  {\n    name: 'Free',\n    id: '919002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 919,\n    type: 'int',\n    codeSet: 'DeliveryTypeCodeSet',\n    description: '\"Free\": Deliver (if sell) or Receive (if buy) Free',\n  },\n  {\n    name: 'TriParty',\n    id: '919003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.4.4',\n    tag: 919,\n    type: 'int',\n    codeSet: 'DeliveryTypeCodeSet',\n    description: 'Tri-Party',\n  },\n  {\n    name: 'HoldInCustody',\n    id: '919004',\n    value: '3',\n    sort: 4,\n    added: 'FIX.4.4',\n    tag: 919,\n    type: 'int',\n    codeSet: 'DeliveryTypeCodeSet',\n    description: 'Hold In Custody',\n  },\n  {\n    name: 'DeliverByValue',\n    id: '919005',\n    value: '4',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 919,\n    type: 'int',\n    codeSet: 'DeliveryTypeCodeSet',\n    description:\n      'Deliver-by-Value\\n\\nIn the context of EU SFTR reporting, indicates that the transaction is to be or was settled using the DBV mechanism.',\n  },\n  {\n    name: 'LogOnUser',\n    id: '924001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 924,\n    type: 'int',\n    codeSet: 'UserRequestTypeCodeSet',\n    description: 'Log On User',\n  },\n  {\n    name: 'LogOffUser',\n    id: '924002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 924,\n    type: 'int',\n    codeSet: 'UserRequestTypeCodeSet',\n    description: 'Log Off User',\n  },\n  {\n    name: 'ChangePasswordForUser',\n    id: '924003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.4',\n    tag: 924,\n    type: 'int',\n    codeSet: 'UserRequestTypeCodeSet',\n    description: 'Change Password For User',\n  },\n  {\n    name: 'RequestIndividualUserStatus',\n    id: '924004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.4.4',\n    tag: 924,\n    type: 'int',\n    codeSet: 'UserRequestTypeCodeSet',\n    description: 'Request Individual User Status',\n  },\n  {\n    name: 'RequestThrottleLimit',\n    id: '924005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '116',\n    tag: 924,\n    type: 'int',\n    codeSet: 'UserRequestTypeCodeSet',\n    description: 'Request Throttle Limit',\n  },\n  {\n    name: 'LoggedIn',\n    id: '926001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 926,\n    type: 'int',\n    codeSet: 'UserStatusCodeSet',\n    description: 'Logged In',\n  },\n  {\n    name: 'NotLoggedIn',\n    id: '926002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 926,\n    type: 'int',\n    codeSet: 'UserStatusCodeSet',\n    description: 'Not Logged In',\n  },\n  {\n    name: 'UserNotRecognised',\n    id: '926003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.4',\n    tag: 926,\n    type: 'int',\n    codeSet: 'UserStatusCodeSet',\n    description: 'User Not Recognised',\n  },\n  {\n    name: 'PasswordIncorrect',\n    id: '926004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.4.4',\n    tag: 926,\n    type: 'int',\n    codeSet: 'UserStatusCodeSet',\n    description: 'Password Incorrect',\n  },\n  {\n    name: 'PasswordChanged',\n    id: '926005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.4.4',\n    tag: 926,\n    type: 'int',\n    codeSet: 'UserStatusCodeSet',\n    description: 'Password Changed',\n  },\n  {\n    name: 'Other',\n    id: '926006',\n    value: '6',\n    sort: 6,\n    added: 'FIX.4.4',\n    tag: 926,\n    type: 'int',\n    codeSet: 'UserStatusCodeSet',\n    description: 'Other',\n  },\n];\n\nconst batch2: ISpecEnums[] = [\n  {\n    name: 'ForcedUserLogoutByExchange',\n    id: '926007',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0',\n    addedEP: '56',\n    tag: 926,\n    type: 'int',\n    codeSet: 'UserStatusCodeSet',\n    description: 'Forced user logout by Exchange',\n  },\n  {\n    name: 'SessionShutdownWarning',\n    id: '926008',\n    value: '8',\n    sort: 8,\n    added: 'FIX.5.0',\n    addedEP: '56',\n    tag: 926,\n    type: 'int',\n    codeSet: 'UserStatusCodeSet',\n    description: 'Session shutdown warning',\n  },\n  {\n    name: 'ThrottleParametersChanged',\n    id: '926009',\n    value: '9',\n    sort: 9,\n    added: 'FIX.5.0SP2',\n    addedEP: '116',\n    tag: 926,\n    type: 'int',\n    codeSet: 'UserStatusCodeSet',\n    description: 'Throttle parameters changed',\n  },\n  {\n    name: 'Connected',\n    id: '928001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 928,\n    type: 'int',\n    codeSet: 'StatusValueCodeSet',\n    description: 'Connected',\n  },\n  {\n    name: 'NotConnectedUnexpected',\n    id: '928002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 928,\n    type: 'int',\n    codeSet: 'StatusValueCodeSet',\n    description: 'Not Connected - down expected up',\n  },\n  {\n    name: 'NotConnectedExpected',\n    id: '928003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.4',\n    tag: 928,\n    type: 'int',\n    codeSet: 'StatusValueCodeSet',\n    description: 'Not Connected - down expected down',\n  },\n  {\n    name: 'InProcess',\n    id: '928004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.4.4',\n    tag: 928,\n    type: 'int',\n    codeSet: 'StatusValueCodeSet',\n    description: 'In Process',\n  },\n  {\n    name: 'Snapshot',\n    id: '935001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 935,\n    type: 'int',\n    codeSet: 'NetworkRequestTypeCodeSet',\n    description: 'Snapshot',\n  },\n  {\n    name: 'Subscribe',\n    id: '935002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 935,\n    type: 'int',\n    codeSet: 'NetworkRequestTypeCodeSet',\n    description: 'Subscribe',\n  },\n  {\n    name: 'StopSubscribing',\n    id: '935003',\n    value: '4',\n    sort: 3,\n    added: 'FIX.4.4',\n    tag: 935,\n    type: 'int',\n    codeSet: 'NetworkRequestTypeCodeSet',\n    description: 'Stop Subscribing',\n  },\n  {\n    name: 'LevelOfDetail',\n    id: '935004',\n    value: '8',\n    sort: 4,\n    added: 'FIX.4.4',\n    tag: 935,\n    type: 'int',\n    codeSet: 'NetworkRequestTypeCodeSet',\n    description: \"Level of Detail, then NoCompID's becomes required\",\n  },\n  {\n    name: 'Full',\n    id: '937001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 937,\n    type: 'int',\n    codeSet: 'NetworkStatusResponseTypeCodeSet',\n    description: 'Full',\n  },\n  {\n    name: 'IncrementalUpdate',\n    id: '937002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 937,\n    type: 'int',\n    codeSet: 'NetworkStatusResponseTypeCodeSet',\n    description: 'Incremental Update',\n  },\n  {\n    name: 'Accepted',\n    id: '939001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 939,\n    type: 'int',\n    codeSet: 'TrdRptStatusCodeSet',\n    description: 'Accepted',\n  },\n  {\n    name: 'Rejected',\n    id: '939002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 939,\n    type: 'int',\n    codeSet: 'TrdRptStatusCodeSet',\n    description: 'Rejected',\n  },\n  {\n    name: 'Cancelled',\n    id: '939003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '107',\n    tag: 939,\n    type: 'int',\n    codeSet: 'TrdRptStatusCodeSet',\n    description: 'Cancelled',\n  },\n  {\n    name: 'AcceptedWithErrors',\n    id: '939004',\n    value: '3',\n    sort: 4,\n    added: 'FIX.4.4',\n    addedEP: '13',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '107',\n    tag: 939,\n    type: 'int',\n    codeSet: 'TrdRptStatusCodeSet',\n    description: 'Accepted with errors',\n  },\n  {\n    name: 'PendingNew',\n    id: '939005',\n    value: '4',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '107',\n    tag: 939,\n    type: 'int',\n    codeSet: 'TrdRptStatusCodeSet',\n    description: 'Pending New',\n  },\n  {\n    name: 'PendingCancel',\n    id: '939006',\n    value: '5',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '107',\n    tag: 939,\n    type: 'int',\n    codeSet: 'TrdRptStatusCodeSet',\n    description: 'Pending Cancel',\n  },\n  {\n    name: 'PendingReplace',\n    id: '939007',\n    value: '6',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '107',\n    tag: 939,\n    type: 'int',\n    codeSet: 'TrdRptStatusCodeSet',\n    description: 'Pending Replace',\n  },\n  {\n    name: 'Terminated',\n    id: '939008',\n    value: '7',\n    sort: 8,\n    added: 'FIX.5.0SP2',\n    addedEP: '165',\n    tag: 939,\n    type: 'int',\n    codeSet: 'TrdRptStatusCodeSet',\n    description: 'Terminated',\n  },\n  {\n    name: 'PendingVerification',\n    id: '939009',\n    value: '8',\n    sort: 9,\n    added: 'FIX.5.0SP2',\n    addedEP: '187',\n    tag: 939,\n    type: 'int',\n    codeSet: 'TrdRptStatusCodeSet',\n    description:\n      'Pending verification\\n\\nUsed in reports from the SDR to the regulator and to trading parties to indicate that the trade details have not been verified by one or both parties.',\n  },\n  {\n    name: 'DeemedVerified',\n    id: '939010',\n    value: '9',\n    sort: 10,\n    added: 'FIX.5.0SP2',\n    addedEP: '187',\n    updated: 'FIX.Latest',\n    updatedEP: '271',\n    tag: 939,\n    type: 'int',\n    codeSet: 'TrdRptStatusCodeSet',\n    description:\n      'Deemed verified\\n\\nUsed in reports from the SDR to the regulator and to trading parties to indicate that the trade details are deemed verified by the SDR but have not been confirmed by the trading parties.',\n  },\n  {\n    name: 'Verified',\n    id: '939011',\n    value: '10',\n    sort: 11,\n    added: 'FIX.5.0SP2',\n    addedEP: '187',\n    tag: 939,\n    type: 'int',\n    codeSet: 'TrdRptStatusCodeSet',\n    description:\n      'Verified\\n\\nUsed in reports from the SDR to the regulator and to trading parties to indicate that the trade details have been confirmed by the trading parties.',\n  },\n  {\n    name: 'Disputed',\n    id: '939012',\n    value: '11',\n    sort: 12,\n    added: 'FIX.5.0SP2',\n    addedEP: '187',\n    tag: 939,\n    type: 'int',\n    codeSet: 'TrdRptStatusCodeSet',\n    description:\n      'Disputed\\n\\nUsed in reports from the SDR to the regulator and to trading parties to indicate that the trade details have been disputed by a trading party.',\n  },\n  {\n    name: 'Received',\n    id: '940001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 940,\n    type: 'int',\n    codeSet: 'AffirmStatusCodeSet',\n    description: 'Received',\n  },\n  {\n    name: 'ConfirmRejected',\n    id: '940002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 940,\n    type: 'int',\n    codeSet: 'AffirmStatusCodeSet',\n    description: 'Confirm rejected, i.e. not affirmed',\n  },\n  {\n    name: 'Affirmed',\n    id: '940003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.4',\n    tag: 940,\n    type: 'int',\n    codeSet: 'AffirmStatusCodeSet',\n    description: 'Affirmed',\n  },\n  {\n    name: 'Retain',\n    id: '944001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 944,\n    type: 'int',\n    codeSet: 'CollActionCodeSet',\n    description: 'Retain',\n  },\n  {\n    name: 'Add',\n    id: '944002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 944,\n    type: 'int',\n    codeSet: 'CollActionCodeSet',\n    description: 'Add',\n  },\n  {\n    name: 'Remove',\n    id: '944003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.4.4',\n    tag: 944,\n    type: 'int',\n    codeSet: 'CollActionCodeSet',\n    description: 'Remove',\n  },\n  {\n    name: 'Accepted',\n    id: '945001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 945,\n    type: 'int',\n    codeSet: 'CollInquiryStatusCodeSet',\n    description: 'Accepted',\n  },\n  {\n    name: 'AcceptedWithWarnings',\n    id: '945002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 945,\n    type: 'int',\n    codeSet: 'CollInquiryStatusCodeSet',\n    description: 'Accepted With Warnings',\n  },\n  {\n    name: 'Completed',\n    id: '945003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.4.4',\n    tag: 945,\n    type: 'int',\n    codeSet: 'CollInquiryStatusCodeSet',\n    description: 'Completed',\n  },\n  {\n    name: 'CompletedWithWarnings',\n    id: '945004',\n    value: '3',\n    sort: 4,\n    added: 'FIX.4.4',\n    tag: 945,\n    type: 'int',\n    codeSet: 'CollInquiryStatusCodeSet',\n    description: 'Completed With Warnings',\n  },\n  {\n    name: 'Rejected',\n    id: '945005',\n    value: '4',\n    sort: 5,\n    added: 'FIX.4.4',\n    tag: 945,\n    type: 'int',\n    codeSet: 'CollInquiryStatusCodeSet',\n    description: 'Rejected',\n  },\n  {\n    name: 'Successful',\n    id: '946001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.4',\n    tag: 946,\n    type: 'int',\n    codeSet: 'CollInquiryResultCodeSet',\n    description: 'Successful (default)',\n  },\n  {\n    name: 'InvalidOrUnknownInstrument',\n    id: '946002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.4',\n    tag: 946,\n    type: 'int',\n    codeSet: 'CollInquiryResultCodeSet',\n    description: 'Invalid or unknown instrument',\n  },\n  {\n    name: 'InvalidOrUnknownCollateralType',\n    id: '946003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.4.4',\n    tag: 946,\n    type: 'int',\n    codeSet: 'CollInquiryResultCodeSet',\n    description: 'Invalid or unknown collateral type',\n  },\n  {\n    name: 'InvalidParties',\n    id: '946004',\n    value: '3',\n    sort: 4,\n    added: 'FIX.4.4',\n    tag: 946,\n    type: 'int',\n    codeSet: 'CollInquiryResultCodeSet',\n    description: 'Invalid Parties',\n  },\n  {\n    name: 'InvalidTransportTypeRequested',\n    id: '946005',\n    value: '4',\n    sort: 5,\n    added: 'FIX.4.4',\n    tag: 946,\n    type: 'int',\n    codeSet: 'CollInquiryResultCodeSet',\n    description: 'Invalid Transport Type requested',\n  },\n  {\n    name: 'InvalidDestinationRequested',\n    id: '946006',\n    value: '5',\n    sort: 6,\n    added: 'FIX.4.4',\n    tag: 946,\n    type: 'int',\n    codeSet: 'CollInquiryResultCodeSet',\n    description: 'Invalid Destination requested',\n  },\n  {\n    name: 'NoCollateralFoundForTheTradeSpecified',\n    id: '946007',\n    value: '6',\n    sort: 7,\n    added: 'FIX.4.4',\n    tag: 946,\n    type: 'int',\n    codeSet: 'CollInquiryResultCodeSet',\n    description: 'No collateral found for the trade specified',\n  },\n  {\n    name: 'NoCollateralFoundForTheOrderSpecified',\n    id: '946008',\n    value: '7',\n    sort: 8,\n    added: 'FIX.4.4',\n    tag: 946,\n    type: 'int',\n    codeSet: 'CollInquiryResultCodeSet',\n    description: 'No collateral found for the order specified',\n  },\n  {\n    name: 'CollateralInquiryTypeNotSupported',\n    id: '946009',\n    value: '8',\n    sort: 9,\n    added: 'FIX.4.4',\n    tag: 946,\n    type: 'int',\n    codeSet: 'CollInquiryResultCodeSet',\n    description: 'Collateral inquiry type not supported',\n  },\n  {\n    name: 'UnauthorizedForCollateralInquiry',\n    id: '946010',\n    value: '9',\n    sort: 10,\n    added: 'FIX.4.4',\n    tag: 946,\n    type: 'int',\n    codeSet: 'CollInquiryResultCodeSet',\n    description: 'Unauthorized for collateral inquiry',\n  },\n  {\n    name: 'Other',\n    id: '946011',\n    value: '99',\n    sort: 99,\n    added: 'FIX.4.4',\n    tag: 946,\n    type: 'int',\n    codeSet: 'CollInquiryResultCodeSet',\n    description: 'Other (further information in Text (58) field)',\n  },\n  {\n    name: 'Int',\n    id: '959001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 959,\n    type: 'int',\n    codeSet: 'StrategyParameterTypeCodeSet',\n    description: 'Int',\n  },\n  {\n    name: 'Length',\n    id: '959002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 959,\n    type: 'int',\n    codeSet: 'StrategyParameterTypeCodeSet',\n    description: 'Length',\n  },\n  {\n    name: 'NumInGroup',\n    id: '959003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 959,\n    type: 'int',\n    codeSet: 'StrategyParameterTypeCodeSet',\n    description: 'NumInGroup',\n  },\n  {\n    name: 'SeqNum',\n    id: '959004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 959,\n    type: 'int',\n    codeSet: 'StrategyParameterTypeCodeSet',\n    description: 'SeqNum',\n  },\n  {\n    name: 'TagNum',\n    id: '959005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 959,\n    type: 'int',\n    codeSet: 'StrategyParameterTypeCodeSet',\n    description: 'TagNum',\n  },\n  {\n    name: 'Float',\n    id: '959006',\n    value: '6',\n    sort: 6,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    updated: 'FIX.5.0SP1',\n    updatedEP: '95',\n    tag: 959,\n    type: 'int',\n    codeSet: 'StrategyParameterTypeCodeSet',\n    description: 'float',\n  },\n  {\n    name: 'Qty',\n    id: '959007',\n    value: '7',\n    sort: 7,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 959,\n    type: 'int',\n    codeSet: 'StrategyParameterTypeCodeSet',\n    description: 'Qty',\n  },\n  {\n    name: 'Price',\n    id: '959008',\n    value: '8',\n    sort: 8,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 959,\n    type: 'int',\n    codeSet: 'StrategyParameterTypeCodeSet',\n    description: 'Price',\n  },\n  {\n    name: 'PriceOffset',\n    id: '959009',\n    value: '9',\n    sort: 9,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 959,\n    type: 'int',\n    codeSet: 'StrategyParameterTypeCodeSet',\n    description: 'PriceOffset',\n  },\n  {\n    name: 'Amt',\n    id: '959010',\n    value: '10',\n    sort: 10,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 959,\n    type: 'int',\n    codeSet: 'StrategyParameterTypeCodeSet',\n    description: 'Amt',\n  },\n  {\n    name: 'Percentage',\n    id: '959011',\n    value: '11',\n    sort: 11,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 959,\n    type: 'int',\n    codeSet: 'StrategyParameterTypeCodeSet',\n    description: 'Percentage',\n  },\n  {\n    name: 'Char',\n    id: '959012',\n    value: '12',\n    sort: 12,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 959,\n    type: 'int',\n    codeSet: 'StrategyParameterTypeCodeSet',\n    description: 'Char',\n  },\n  {\n    name: 'Boolean',\n    id: '959013',\n    value: '13',\n    sort: 13,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 959,\n    type: 'int',\n    codeSet: 'StrategyParameterTypeCodeSet',\n    description: 'Boolean',\n  },\n  {\n    name: 'String',\n    id: '959014',\n    value: '14',\n    sort: 14,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 959,\n    type: 'int',\n    codeSet: 'StrategyParameterTypeCodeSet',\n    description: 'String',\n  },\n  {\n    name: 'MultipleCharValue',\n    id: '959015',\n    value: '15',\n    sort: 15,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 959,\n    type: 'int',\n    codeSet: 'StrategyParameterTypeCodeSet',\n    description: 'MultipleCharValue',\n  },\n  {\n    name: 'Currency',\n    id: '959016',\n    value: '16',\n    sort: 16,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 959,\n    type: 'int',\n    codeSet: 'StrategyParameterTypeCodeSet',\n    description: 'Currency',\n  },\n  {\n    name: 'Exchange',\n    id: '959017',\n    value: '17',\n    sort: 17,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 959,\n    type: 'int',\n    codeSet: 'StrategyParameterTypeCodeSet',\n    description: 'Exchange',\n  },\n  {\n    name: 'MonthYear',\n    id: '959018',\n    value: '18',\n    sort: 18,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    updated: 'FIX.5.0SP1',\n    updatedEP: '95',\n    tag: 959,\n    type: 'int',\n    codeSet: 'StrategyParameterTypeCodeSet',\n    description: 'MonthYear',\n  },\n  {\n    name: 'UTCTimestamp',\n    id: '959019',\n    value: '19',\n    sort: 19,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    updated: 'FIX.5.0SP1',\n    updatedEP: '95',\n    tag: 959,\n    type: 'int',\n    codeSet: 'StrategyParameterTypeCodeSet',\n    description: 'UTCTimestamp',\n  },\n  {\n    name: 'UTCTimeOnly',\n    id: '959020',\n    value: '20',\n    sort: 20,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 959,\n    type: 'int',\n    codeSet: 'StrategyParameterTypeCodeSet',\n    description: 'UTCTimeOnly',\n  },\n  {\n    name: 'LocalMktDate',\n    id: '959021',\n    value: '21',\n    sort: 21,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    updated: 'FIX.5.0SP1',\n    updatedEP: '95',\n    tag: 959,\n    type: 'int',\n    codeSet: 'StrategyParameterTypeCodeSet',\n    description: 'LocalMktDate',\n  },\n  {\n    name: 'UTCDateOnly',\n    id: '959022',\n    value: '22',\n    sort: 22,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    updated: 'FIX.5.0SP1',\n    updatedEP: '95',\n    tag: 959,\n    type: 'int',\n    codeSet: 'StrategyParameterTypeCodeSet',\n    description: 'UTCDateOnly',\n  },\n  {\n    name: 'Data',\n    id: '959023',\n    value: '23',\n    sort: 23,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    updated: 'FIX.5.0SP1',\n    updatedEP: '95',\n    tag: 959,\n    type: 'int',\n    codeSet: 'StrategyParameterTypeCodeSet',\n    description: 'data',\n  },\n  {\n    name: 'MultipleStringValue',\n    id: '959024',\n    value: '24',\n    sort: 24,\n    added: 'FIX.4.4',\n    addedEP: '34',\n    tag: 959,\n    type: 'int',\n    codeSet: 'StrategyParameterTypeCodeSet',\n    description: 'MultipleStringValue',\n  },\n  {\n    name: 'Country',\n    id: '959025',\n    value: '25',\n    sort: 25,\n    added: 'FIX.5.0SP1',\n    addedEP: '95',\n    tag: 959,\n    type: 'int',\n    codeSet: 'StrategyParameterTypeCodeSet',\n    description: 'Country',\n  },\n  {\n    name: 'Language',\n    id: '959026',\n    value: '26',\n    sort: 26,\n    added: 'FIX.5.0SP1',\n    addedEP: '95',\n    tag: 959,\n    type: 'int',\n    codeSet: 'StrategyParameterTypeCodeSet',\n    description: 'Language',\n  },\n  {\n    name: 'TZTimeOnly',\n    id: '959027',\n    value: '27',\n    sort: 27,\n    added: 'FIX.5.0SP1',\n    addedEP: '95',\n    tag: 959,\n    type: 'int',\n    codeSet: 'StrategyParameterTypeCodeSet',\n    description: 'TZTimeOnly',\n  },\n  {\n    name: 'TZTimestamp',\n    id: '959028',\n    value: '28',\n    sort: 28,\n    added: 'FIX.5.0SP1',\n    addedEP: '95',\n    tag: 959,\n    type: 'int',\n    codeSet: 'StrategyParameterTypeCodeSet',\n    description: 'TZTimestamp',\n  },\n  {\n    name: 'Tenor',\n    id: '959029',\n    value: '29',\n    sort: 29,\n    added: 'FIX.5.0SP1',\n    addedEP: '95',\n    tag: 959,\n    type: 'int',\n    codeSet: 'StrategyParameterTypeCodeSet',\n    description: 'Tenor',\n  },\n  {\n    name: 'Active',\n    id: '965001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '195',\n    tag: 965,\n    type: 'String',\n    codeSet: 'SecurityStatusCodeSet',\n    description: 'Active\\n\\nInstrument is active, i.e. trading is possible.',\n  },\n  {\n    name: 'Inactive',\n    id: '965002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '195',\n    tag: 965,\n    type: 'String',\n    codeSet: 'SecurityStatusCodeSet',\n    description:\n      'Inactive\\n\\nInstrument has previously been active and is now no longer traded but has not expired yet. The instrument may become active again.',\n  },\n  {\n    name: 'ActiveClosingOrdersOnly',\n    id: '965003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '195',\n    tag: 965,\n    type: 'String',\n    codeSet: 'SecurityStatusCodeSet',\n    description:\n      'Active, closing orders only\\n\\nInstrument is active but only orders closing positions (reducing risk) are allowed.',\n  },\n  {\n    name: 'Expired',\n    id: '965004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '195',\n    tag: 965,\n    type: 'String',\n    codeSet: 'SecurityStatusCodeSet',\n    description:\n      'Expired\\n\\nInstrument has expired. E.g. An instrument may expire due to reaching maturity or expired based on contract definitions or exchange rules.',\n  },\n  {\n    name: 'Delisted',\n    id: '965005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '195',\n    tag: 965,\n    type: 'String',\n    codeSet: 'SecurityStatusCodeSet',\n    description:\n      'Delisted\\n\\nInstrument has been removed from securities reference data. Delisting rules varies from exchange to exchange, which may include non-compliance of capitalization, revenue, consecutive minimum closing price. The instrument may become listed again once the instrument is back in compliance. A delisted instrument would not trade on the exchange but it may still be traded over-the-counter (e.g. OTCBB) or on Pink Sheets, or other similar trading service.',\n  },\n  {\n    name: 'KnockedOut',\n    id: '965006',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '195',\n    tag: 965,\n    type: 'String',\n    codeSet: 'SecurityStatusCodeSet',\n    description: 'Knocked-out\\n\\nInstrument has breached a pre-defined price threshold.',\n  },\n  {\n    name: 'KnockOutRevoked',\n    id: '965007',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '195',\n    tag: 965,\n    type: 'String',\n    codeSet: 'SecurityStatusCodeSet',\n    description:\n      'Knock-out revoked\\n\\nInstrument reinstated, i.e. threshold has not been breached.',\n  },\n  {\n    name: 'PendingExpiry',\n    id: '965008',\n    value: '8',\n    sort: 8,\n    added: 'FIX.5.0SP2',\n    addedEP: '195',\n    tag: 965,\n    type: 'String',\n    codeSet: 'SecurityStatusCodeSet',\n    description:\n      \"Pending Expiry\\n\\nInstrument is currently still active but will expire after the current business day. For example, a contract that expires intra-day (e.g. at noon time) and is no longer tradeable but will still show up in the current day's order book with related statistics.\",\n  },\n  {\n    name: 'Suspended',\n    id: '965009',\n    value: '9',\n    sort: 9,\n    added: 'FIX.5.0SP2',\n    addedEP: '195',\n    tag: 965,\n    type: 'String',\n    codeSet: 'SecurityStatusCodeSet',\n    description:\n      'Suspended\\n\\nInstrument has been temporarily disabled for trading (i.e. halted).',\n  },\n  {\n    name: 'Published',\n    id: '965010',\n    value: '10',\n    sort: 10,\n    added: 'FIX.5.0SP2',\n    addedEP: '195',\n    tag: 965,\n    type: 'String',\n    codeSet: 'SecurityStatusCodeSet',\n    description:\n      'Published\\n\\nInstrument information is provided prior to its first activation.',\n  },\n  {\n    name: 'PendingDeletion',\n    id: '965011',\n    value: '11',\n    sort: 11,\n    added: 'FIX.5.0SP2',\n    addedEP: '195',\n    tag: 965,\n    type: 'String',\n    codeSet: 'SecurityStatusCodeSet',\n    description:\n      'Pending Deletion\\n\\nInstrument is awaiting deletion from security reference data.',\n  },\n  {\n    name: 'FIXED',\n    id: '974001',\n    value: 'FIXED',\n    sort: 1,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 974,\n    type: 'String',\n    codeSet: 'UnderlyingCashTypeCodeSet',\n    description: 'FIXED',\n  },\n  {\n    name: 'DIFF',\n    id: '974002',\n    value: 'DIFF',\n    sort: 2,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 974,\n    type: 'String',\n    codeSet: 'UnderlyingCashTypeCodeSet',\n    description: 'DIFF',\n  },\n  {\n    name: 'TPlus1',\n    id: '975001',\n    value: '2',\n    sort: 1,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 975,\n    type: 'int',\n    codeSet: 'UnderlyingSettlementTypeCodeSet',\n    description: 'T+1',\n  },\n  {\n    name: 'TPlus3',\n    id: '975002',\n    value: '4',\n    sort: 2,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 975,\n    type: 'int',\n    codeSet: 'UnderlyingSettlementTypeCodeSet',\n    description: 'T+3',\n  },\n  {\n    name: 'TPlus4',\n    id: '975003',\n    value: '5',\n    sort: 3,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 975,\n    type: 'int',\n    codeSet: 'UnderlyingSettlementTypeCodeSet',\n    description: 'T+4',\n  },\n  {\n    name: 'Add',\n    id: '980001',\n    value: 'A',\n    sort: 1,\n    added: 'FIX.4.4',\n    addedEP: '8',\n    tag: 980,\n    type: 'char',\n    codeSet: 'SecurityUpdateActionCodeSet',\n    description: 'Add',\n  },\n  {\n    name: 'Delete',\n    id: '980002',\n    value: 'D',\n    sort: 2,\n    added: 'FIX.4.4',\n    addedEP: '8',\n    tag: 980,\n    type: 'char',\n    codeSet: 'SecurityUpdateActionCodeSet',\n    description: 'Delete',\n  },\n  {\n    name: 'Modify',\n    id: '980003',\n    value: 'M',\n    sort: 3,\n    added: 'FIX.4.4',\n    addedEP: '8',\n    tag: 980,\n    type: 'char',\n    codeSet: 'SecurityUpdateActionCodeSet',\n    description: 'Modify',\n  },\n  {\n    name: 'AutoExercise',\n    id: '982001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 982,\n    type: 'int',\n    codeSet: 'ExpirationQtyTypeCodeSet',\n    description: 'Auto Exercise',\n  },\n  {\n    name: 'NonAutoExercise',\n    id: '982002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 982,\n    type: 'int',\n    codeSet: 'ExpirationQtyTypeCodeSet',\n    description: 'Non Auto Exercise',\n  },\n  {\n    name: 'FinalWillBeExercised',\n    id: '982003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 982,\n    type: 'int',\n    codeSet: 'ExpirationQtyTypeCodeSet',\n    description: 'Final Will Be Exercised',\n  },\n  {\n    name: 'ContraryIntention',\n    id: '982004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 982,\n    type: 'int',\n    codeSet: 'ExpirationQtyTypeCodeSet',\n    description: 'Contrary Intention',\n  },\n  {\n    name: 'Difference',\n    id: '982005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 982,\n    type: 'int',\n    codeSet: 'ExpirationQtyTypeCodeSet',\n    description: 'Difference',\n  },\n  {\n    name: 'SubAllocate',\n    id: '992001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 992,\n    type: 'int',\n    codeSet: 'IndividualAllocTypeCodeSet',\n    description: 'Sub Allocate',\n  },\n  {\n    name: 'ThirdPartyAllocation',\n    id: '992002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 992,\n    type: 'int',\n    codeSet: 'IndividualAllocTypeCodeSet',\n    description: 'Third Party Allocation',\n  },\n  {\n    name: 'BillionCubicFeet',\n    id: '996001',\n    value: 'Bcf',\n    sort: 1,\n    group: 'Fixed Magnitude UOM',\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'Billion cubic feet',\n  },\n  {\n    name: 'CubicMeters',\n    id: '996002',\n    value: 'CBM',\n    sort: 2,\n    group: 'Fixed Magnitude UOM',\n    added: 'FIX.5.0SP2',\n    addedEP: '107',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '169',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'Cubic Meters',\n  },\n  {\n    name: 'Gigajoules',\n    id: '996003',\n    value: 'GJ',\n    sort: 3,\n    group: 'Fixed Magnitude UOM',\n    added: 'FIX.5.0SP2',\n    addedEP: '152',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '259',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'gigajoules',\n  },\n  {\n    name: 'HeatRate',\n    id: '996004',\n    value: 'kHR',\n    sort: 4,\n    group: 'Fixed Magnitude UOM',\n    added: 'FIX.5.0SP2',\n    addedEP: '243',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description:\n      'Heat rate\\n\\nThe number of BTUs required to produce one kilowatt hour of electricity, typically 3,412.14 BTUs per 1 kWh.',\n  },\n  {\n    name: 'KilowattHours',\n    id: '996005',\n    value: 'kWh',\n    sort: 5,\n    group: 'Fixed Magnitude UOM',\n    added: 'FIX.5.0SP2',\n    addedEP: '137',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '243',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'Kilowatt hours',\n  },\n  {\n    name: 'MegaHeatRate',\n    id: '996006',\n    value: 'MHR',\n    sort: 6,\n    group: 'Fixed Magnitude UOM',\n    added: 'FIX.5.0SP2',\n    addedEP: '243',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description:\n      'Mega heat rate\\n\\nThe number of million BTUs required to produce one megawatt hour of electricity, typically 3.41214 million BTUs per 1 MWh.',\n  },\n  {\n    name: 'OneMillionBTU',\n    id: '996007',\n    value: 'MMBtu',\n    sort: 7,\n    group: 'Fixed Magnitude UOM',\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '243',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'One Million BTU',\n  },\n  {\n    name: 'MegawattHours',\n    id: '996008',\n    value: 'MWh',\n    sort: 8,\n    group: 'Fixed Magnitude UOM',\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '243',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'Megawatt hours',\n  },\n  {\n    name: 'Therms',\n    id: '996009',\n    value: 'thm',\n    sort: 9,\n    group: 'Fixed Magnitude UOM',\n    added: 'FIX.5.0SP2',\n    addedEP: '152',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '259',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'therms\\n\\nEqual to 100,000 BTU',\n  },\n  {\n    name: 'TonsOfCarbonDioxide',\n    id: '996010',\n    value: 'tnCO2',\n    sort: 10,\n    group: 'Fixed Magnitude UOM',\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'Tons of carbon dioxide',\n  },\n  {\n    name: 'MillionBarrels',\n    id: '996011',\n    value: 'MMbbl',\n    sort: 99,\n    group: 'Fixed Magnitude UOM',\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '169',\n    deprecated: 'FIX.5.0SP1',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'Million Barrels',\n  },\n  {\n    name: 'Allowances',\n    id: '996012',\n    value: 'Alw',\n    sort: 1,\n    group: 'Variable Quantity UOM',\n    added: 'FIX.5.0SP1',\n    addedEP: '89',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '169',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'Allowances',\n  },\n  {\n    name: 'Barrels',\n    id: '996013',\n    value: 'Bbl',\n    sort: 2,\n    group: 'Variable Quantity UOM',\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '169',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'Barrels\\n\\nEqual to 42 US gallons',\n  },\n  {\n    name: 'BoardFeet',\n    id: '996014',\n    value: 'BDFT',\n    sort: 3,\n    group: 'Variable Quantity UOM',\n    added: 'FIX.5.0SP2',\n    addedEP: '122',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '169',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'Board feet\\n\\nEqual to 144 cubic inches',\n  },\n  {\n    name: 'Bushels',\n    id: '996015',\n    value: 'Bu',\n    sort: 4,\n    group: 'Variable Quantity UOM',\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '169',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'Bushels',\n  },\n  {\n    name: 'Currency',\n    id: '996016',\n    value: 'Ccy',\n    sort: 5,\n    group: 'Variable Quantity UOM',\n    added: 'FIX.5.0SP2',\n    addedEP: '122',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '169',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'Amount of currency',\n  },\n  {\n    name: 'CoolingDegreeDay',\n    id: '996017',\n    value: 'CDD',\n    sort: 6,\n    group: 'Variable Quantity UOM',\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'Cooling degree day',\n  },\n  {\n    name: 'CertifiedEmissionsReduction',\n    id: '996018',\n    value: 'CER',\n    sort: 7,\n    group: 'Variable Quantity UOM',\n    added: 'FIX.5.0SP2',\n    addedEP: '107',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '169',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'Certified emissions reduction',\n  },\n  {\n    name: 'CriticalPrecipDay',\n    id: '996019',\n    value: 'CPD',\n    sort: 8,\n    group: 'Variable Quantity UOM',\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'Critical precipitation day',\n  },\n  {\n    name: 'ClimateReserveTonnes',\n    id: '996020',\n    value: 'CRT',\n    sort: 9,\n    group: 'Variable Quantity UOM',\n    added: 'FIX.5.0SP2',\n    addedEP: '114',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '169',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'Climate reserve tonnes',\n  },\n  {\n    name: 'Hundredweight',\n    id: '996021',\n    value: 'cwt',\n    sort: 10,\n    group: 'Variable Quantity UOM',\n    added: 'FIX.5.0SP2',\n    addedEP: '122',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '169',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'Hundredweight(US)\\n\\nEqual to 100 lbs',\n  },\n  {\n    name: 'Day',\n    id: '996022',\n    value: 'day',\n    sort: 11,\n    group: 'Variable Quantity UOM',\n    added: 'FIX.5.0SP2',\n    addedEP: '122',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '169',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'Days',\n  },\n  {\n    name: 'DryMetricTons',\n    id: '996023',\n    value: 'dt',\n    sort: 12,\n    group: 'Variable Quantity UOM',\n    added: 'FIX.5.0SP2',\n    addedEP: '122',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '169',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'Dry metric tons',\n  },\n  {\n    name: 'EnvAllwncCert',\n    id: '996024',\n    value: 'EnvAllwnc',\n    sort: 13,\n    group: 'Variable Quantity UOM',\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'Environmental allowance certificates',\n  },\n  {\n    name: 'EnvironmentalCredit',\n    id: '996025',\n    value: 'EnvCrd',\n    sort: 14,\n    group: 'Variable Quantity UOM',\n    added: 'FIX.5.0SP2',\n    addedEP: '137',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '169',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'Environmental credit',\n  },\n  {\n    name: 'EnvironmentalOffset',\n    id: '996026',\n    value: 'EnvOfst',\n    sort: 15,\n    group: 'Variable Quantity UOM',\n    added: 'FIX.5.0SP2',\n    addedEP: '137',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '169',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'Environmental Offset',\n  },\n  {\n    name: 'Grams',\n    id: '996027',\n    value: 'g',\n    sort: 16,\n    group: 'Variable Quantity UOM',\n    added: 'FIX.5.0SP2',\n    addedEP: '122',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '169',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'Grams',\n  },\n  {\n    name: 'Gallons',\n    id: '996028',\n    value: 'Gal',\n    sort: 17,\n    group: 'Variable Quantity UOM',\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '169',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'Gallons',\n  },\n  {\n    name: 'GrossTons',\n    id: '996029',\n    value: 'GT',\n    sort: 18,\n    group: 'Variable Quantity UOM',\n    added: 'FIX.5.0SP2',\n    addedEP: '154',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '169',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description:\n      'Gross tons\\n\\nAlso known as long tons or imperial tons, equal to 2240 lbs',\n  },\n  {\n    name: 'HeatingDegreeDay',\n    id: '996030',\n    value: 'HDD',\n    sort: 19,\n    group: 'Variable Quantity UOM',\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'Heating degree day',\n  },\n  {\n    name: 'IndexPoint',\n    id: '996031',\n    value: 'IPNT',\n    sort: 20,\n    group: 'Variable Quantity UOM',\n    added: 'FIX.5.0SP2',\n    addedEP: '122',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '169',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'Index point',\n  },\n  {\n    name: 'Kilograms',\n    id: '996032',\n    value: 'kg',\n    sort: 21,\n    group: 'Variable Quantity UOM',\n    added: 'FIX.5.0SP2',\n    addedEP: '154',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '169',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'Kilograms',\n  },\n  {\n    name: 'Kiloliters',\n    id: '996033',\n    value: 'kL',\n    sort: 22,\n    group: 'Variable Quantity UOM',\n    added: 'FIX.5.0SP2',\n    addedEP: '152',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '259',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'kiloliters',\n  },\n  {\n    name: 'KilowattYear',\n    id: '996034',\n    value: 'kW-a',\n    sort: 23,\n    group: 'Variable Quantity UOM',\n    added: 'FIX.5.0SP2',\n    addedEP: '137',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '254',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'Kilowatt year (electrical capacity)',\n  },\n  {\n    name: 'KilowattDay',\n    id: '996035',\n    value: 'kW-d',\n    sort: 24,\n    group: 'Variable Quantity UOM',\n    added: 'FIX.5.0SP2',\n    addedEP: '137',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '254',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'Kilowatt day (electrical capacity)',\n  },\n  {\n    name: 'KilowattHour',\n    id: '996036',\n    value: 'kW-h',\n    sort: 25,\n    group: 'Variable Quantity UOM',\n    added: 'FIX.5.0SP2',\n    addedEP: '137',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '254',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'Kilowatt hour (electrical capacity)',\n  },\n  {\n    name: 'KilowattMonth',\n    id: '996037',\n    value: 'kW-M',\n    sort: 26,\n    group: 'Variable Quantity UOM',\n    added: 'FIX.5.0SP2',\n    addedEP: '137',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '254',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'Kilowatt month (electrical capacity)',\n  },\n  {\n    name: 'KilowattMinute',\n    id: '996038',\n    value: 'kW-min',\n    sort: 27,\n    group: 'Variable Quantity UOM',\n    added: 'FIX.5.0SP2',\n    addedEP: '137',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'Kilowatt-Minute (electrical capacity)',\n  },\n  {\n    name: 'Liters',\n    id: '996039',\n    value: 'L',\n    sort: 28,\n    group: 'Variable Quantity UOM',\n    added: 'FIX.5.0SP2',\n    addedEP: '152',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '259',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'liters',\n  },\n  {\n    name: 'Pounds',\n    id: '996040',\n    value: 'lbs',\n    sort: 29,\n    group: 'Variable Quantity UOM',\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '169',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'pounds',\n  },\n  {\n    name: 'MegawattYear',\n    id: '996041',\n    value: 'MW-a',\n    sort: 30,\n    group: 'Variable Quantity UOM',\n    added: 'FIX.5.0SP2',\n    addedEP: '137',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '254',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'Megawatt year (electrical capacity)',\n  },\n  {\n    name: 'MegawattDay',\n    id: '996042',\n    value: 'MW-d',\n    sort: 31,\n    group: 'Variable Quantity UOM',\n    added: 'FIX.5.0SP2',\n    addedEP: '137',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '254',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'Megawatt day (electrical capacity)',\n  },\n  {\n    name: 'MegawattHour',\n    id: '996043',\n    value: 'MW-h',\n    sort: 32,\n    group: 'Variable Quantity UOM',\n    added: 'FIX.5.0SP2',\n    addedEP: '137',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '254',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'Megawatt hour (electrical capacity)',\n  },\n  {\n    name: 'MegawattMonth',\n    id: '996044',\n    value: 'MW-M',\n    sort: 33,\n    group: 'Variable Quantity UOM',\n    added: 'FIX.5.0SP2',\n    addedEP: '137',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '254',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'Megawatt month (electrical capacity)',\n  },\n  {\n    name: 'MegawattMinute',\n    id: '996045',\n    value: 'MW-min',\n    sort: 34,\n    group: 'Variable Quantity UOM',\n    added: 'FIX.5.0SP2',\n    addedEP: '137',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '254',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'Megawatt minute (electrical capacity)',\n  },\n  {\n    name: 'TroyOunces',\n    id: '996046',\n    value: 'oz_tr',\n    sort: 35,\n    group: 'Variable Quantity UOM',\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '169',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'Troy ounces',\n  },\n  {\n    name: 'PrincipalWithRelationToDebtInstrument',\n    id: '996047',\n    value: 'PRINC',\n    sort: 36,\n    group: 'Variable Quantity UOM',\n    added: 'FIX.5.0SP2',\n    addedEP: '107',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '169',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'Principal with relation to debt instrument',\n  },\n  {\n    name: 'MetricTons',\n    id: '996048',\n    value: 't',\n    sort: 37,\n    group: 'Variable Quantity UOM',\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '169',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'Metric tons\\n\\nAlso known as Tonnes, equal to 1000 kg',\n  },\n  {\n    name: 'Tons',\n    id: '996049',\n    value: 'tn',\n    sort: 38,\n    group: 'Variable Quantity UOM',\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '169',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'Tons (US)\\n\\nEqual to 2000 lbs',\n  },\n  {\n    name: 'Are',\n    id: '996050',\n    value: 'a',\n    sort: 39,\n    group: 'Variable Quantity UOM',\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'Are',\n  },\n  {\n    name: 'Acre',\n    id: '996051',\n    value: 'ac',\n    sort: 40,\n    group: 'Variable Quantity UOM',\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'Acre',\n  },\n  {\n    name: 'Centiliter',\n    id: '996052',\n    value: 'cL',\n    sort: 41,\n    group: 'Variable Quantity UOM',\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'Centiliter',\n  },\n  {\n    name: 'Centimeter',\n    id: '996053',\n    value: 'cM',\n    sort: 42,\n    group: 'Variable Quantity UOM',\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'Centimeter',\n  },\n  {\n    name: 'DieselGallonEquivalent',\n    id: '996054',\n    value: 'DGE',\n    sort: 43,\n    group: 'Variable Quantity UOM',\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'Diesel gallon equivalent',\n  },\n  {\n    name: 'Foot',\n    id: '996055',\n    value: 'ft',\n    sort: 44,\n    group: 'Variable Quantity UOM',\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'Foot',\n  },\n  {\n    name: 'GBGallon',\n    id: '996056',\n    value: 'Gal_gb',\n    sort: 45,\n    group: 'Variable Quantity UOM',\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'GB Gallon',\n  },\n  {\n    name: 'GasolineGallonEquivalent',\n    id: '996057',\n    value: 'GGE',\n    sort: 46,\n    group: 'Variable Quantity UOM',\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'Gasonline gallon equivalent',\n  },\n  {\n    name: 'Hectare',\n    id: '996058',\n    value: 'ha',\n    sort: 47,\n    group: 'Variable Quantity UOM',\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'Hectare',\n  },\n  {\n    name: 'Inch',\n    id: '996059',\n    value: 'in',\n    sort: 48,\n    group: 'Variable Quantity UOM',\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'Inch',\n  },\n  {\n    name: 'Kilometer',\n    id: '996060',\n    value: 'kM',\n    sort: 49,\n    group: 'Variable Quantity UOM',\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'Kilometer',\n  },\n  {\n    name: 'Meter',\n    id: '996061',\n    value: 'M',\n    sort: 50,\n    group: 'Variable Quantity UOM',\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'Meter',\n  },\n  {\n    name: 'Mile',\n    id: '996062',\n    value: 'mi',\n    sort: 51,\n    group: 'Variable Quantity UOM',\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'Mile',\n  },\n  {\n    name: 'Milliliter',\n    id: '996063',\n    value: 'mL',\n    sort: 52,\n    group: 'Variable Quantity UOM',\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'Milliliter',\n  },\n  {\n    name: 'Millimeter',\n    id: '996064',\n    value: 'mM',\n    sort: 53,\n    group: 'Variable Quantity UOM',\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'Millimeter',\n  },\n  {\n    name: 'USOunce',\n    id: '996065',\n    value: 'oz',\n    sort: 54,\n    group: 'Variable Quantity UOM',\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'US ounce',\n  },\n  {\n    name: 'Piece',\n    id: '996066',\n    value: 'pc',\n    sort: 55,\n    group: 'Variable Quantity UOM',\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'Piece',\n  },\n  {\n    name: 'USPint',\n    id: '996067',\n    value: 'pt',\n    sort: 56,\n    group: 'Variable Quantity UOM',\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'US Pint',\n  },\n  {\n    name: 'GBPint',\n    id: '996068',\n    value: 'pt_gb',\n    sort: 57,\n    group: 'Variable Quantity UOM',\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'GB pint',\n  },\n  {\n    name: 'USQuart',\n    id: '996069',\n    value: 'qt',\n    sort: 58,\n    group: 'Variable Quantity UOM',\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'US Quart',\n  },\n  {\n    name: 'GBQuart',\n    id: '996070',\n    value: 'qt_gb',\n    sort: 59,\n    group: 'Variable Quantity UOM',\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'GB Quart',\n  },\n  {\n    name: 'SquareCentimeter',\n    id: '996071',\n    value: 'SqcM',\n    sort: 60,\n    group: 'Variable Quantity UOM',\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'Square centimeter',\n  },\n  {\n    name: 'SquareFoot',\n    id: '996072',\n    value: 'Sqft',\n    sort: 61,\n    group: 'Variable Quantity UOM',\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'Square foot',\n  },\n  {\n    name: 'SquareInch',\n    id: '996073',\n    value: 'Sqin',\n    sort: 62,\n    group: 'Variable Quantity UOM',\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'Square inch',\n  },\n  {\n    name: 'SquareKilometer',\n    id: '996074',\n    value: 'SqkM',\n    sort: 63,\n    group: 'Variable Quantity UOM',\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'Square kilometer',\n  },\n  {\n    name: 'SquareMeter',\n    id: '996075',\n    value: 'SqM',\n    sort: 64,\n    group: 'Variable Quantity UOM',\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'Square meter',\n  },\n  {\n    name: 'SquareMile',\n    id: '996076',\n    value: 'Sqmi',\n    sort: 65,\n    group: 'Variable Quantity UOM',\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'Square mile',\n  },\n  {\n    name: 'SquareMillimeter',\n    id: '996077',\n    value: 'SqmM',\n    sort: 66,\n    group: 'Variable Quantity UOM',\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'Square millimeter',\n  },\n  {\n    name: 'SquareYard',\n    id: '996078',\n    value: 'Sqyd',\n    sort: 67,\n    group: 'Variable Quantity UOM',\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'Square yard',\n  },\n  {\n    name: 'Yard',\n    id: '996079',\n    value: 'yd',\n    sort: 68,\n    group: 'Variable Quantity UOM',\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'Yard',\n  },\n  {\n    name: 'USDollars',\n    id: '996080',\n    value: 'USD',\n    sort: 99,\n    group: 'Variable Quantity UOM',\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '169',\n    deprecated: 'FIX.5.0SP2',\n    deprecatedEP: '122',\n    tag: 996,\n    type: 'String',\n    codeSet: 'UnitOfMeasureCodeSet',\n    description: 'US Dollars',\n  },\n  {\n    name: 'Hour',\n    id: '997001',\n    value: 'H',\n    sort: 0,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 997,\n    type: 'String',\n    codeSet: 'TimeUnitCodeSet',\n    description: 'Hour',\n  },\n  {\n    name: 'Minute',\n    id: '997002',\n    value: 'Min',\n    sort: 1,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 997,\n    type: 'String',\n    codeSet: 'TimeUnitCodeSet',\n    description: 'Minute',\n  },\n  {\n    name: 'Second',\n    id: '997003',\n    value: 'S',\n    sort: 2,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 997,\n    type: 'String',\n    codeSet: 'TimeUnitCodeSet',\n    description: 'Second',\n  },\n  {\n    name: 'Day',\n    id: '997004',\n    value: 'D',\n    sort: 3,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 997,\n    type: 'String',\n    codeSet: 'TimeUnitCodeSet',\n    description: 'Day',\n  },\n  {\n    name: 'Week',\n    id: '997005',\n    value: 'Wk',\n    sort: 4,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 997,\n    type: 'String',\n    codeSet: 'TimeUnitCodeSet',\n    description: 'Week',\n  },\n  {\n    name: 'Month',\n    id: '997006',\n    value: 'Mo',\n    sort: 5,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 997,\n    type: 'String',\n    codeSet: 'TimeUnitCodeSet',\n    description: 'Month',\n  },\n  {\n    name: 'Year',\n    id: '997007',\n    value: 'Yr',\n    sort: 6,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 997,\n    type: 'String',\n    codeSet: 'TimeUnitCodeSet',\n    description: 'Year',\n  },\n  {\n    name: 'Quarter',\n    id: '997008',\n    value: 'Q',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 997,\n    type: 'String',\n    codeSet: 'TimeUnitCodeSet',\n    description: 'Quarter',\n  },\n  {\n    name: 'EndOfMonth',\n    id: '997009',\n    value: 'EOM',\n    sort: 8,\n    added: 'FIX.Latest',\n    addedEP: '287',\n    tag: 997,\n    type: 'String',\n    codeSet: 'TimeUnitCodeSet',\n    description:\n      'End of Month\\n\\nEnd of Month identifies a relative time unit, e.g. until the third Friday of each month.',\n  },\n  {\n    name: 'Flexible',\n    id: '997010',\n    value: 'F',\n    sort: 9,\n    added: 'FIX.Latest',\n    addedEP: '287',\n    tag: 997,\n    type: 'String',\n    codeSet: 'TimeUnitCodeSet',\n    description:\n      'Flexible\\n\\nA flexible time unit indicates that a specific time unit for the contract is currently undetermined.',\n  },\n  {\n    name: 'Automatic',\n    id: '1002001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1002,\n    type: 'int',\n    codeSet: 'AllocMethodCodeSet',\n    description: 'Automatic',\n  },\n  {\n    name: 'Guarantor',\n    id: '1002002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1002,\n    type: 'int',\n    codeSet: 'AllocMethodCodeSet',\n    description: 'Guarantor',\n  },\n  {\n    name: 'Manual',\n    id: '1002003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1002,\n    type: 'int',\n    codeSet: 'AllocMethodCodeSet',\n    description: 'Manual',\n  },\n  {\n    name: 'BrokerAssigned',\n    id: '1002004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '107',\n    tag: 1002,\n    type: 'int',\n    codeSet: 'AllocMethodCodeSet',\n    description: 'Broker assigned',\n  },\n  {\n    name: 'False',\n    id: '1015001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1015,\n    type: 'char',\n    codeSet: 'AsOfIndicatorCodeSet',\n    description: 'false - trade is not an AsOf trade',\n  },\n  {\n    name: 'True',\n    id: '1015002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1015,\n    type: 'char',\n    codeSet: 'AsOfIndicatorCodeSet',\n    description: 'true - trade is an AsOf trade',\n  },\n  {\n    name: 'TopOfBook',\n    id: '1021001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1021,\n    type: 'int',\n    codeSet: 'MDBookTypeCodeSet',\n    description: 'Top of Book',\n  },\n  {\n    name: 'PriceDepth',\n    id: '1021002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1021,\n    type: 'int',\n    codeSet: 'MDBookTypeCodeSet',\n    description: 'Price Depth',\n  },\n  {\n    name: 'OrderDepth',\n    id: '1021003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1021,\n    type: 'int',\n    codeSet: 'MDBookTypeCodeSet',\n    description: 'Order Depth',\n  },\n  {\n    name: 'Book',\n    id: '1024001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1024,\n    type: 'int',\n    codeSet: 'MDOriginTypeCodeSet',\n    description: 'Book',\n  },\n  {\n    name: 'OffBook',\n    id: '1024002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1024,\n    type: 'int',\n    codeSet: 'MDOriginTypeCodeSet',\n    description: 'Off-Book',\n  },\n  {\n    name: 'Cross',\n    id: '1024003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1024,\n    type: 'int',\n    codeSet: 'MDOriginTypeCodeSet',\n    description: 'Cross',\n  },\n  {\n    name: 'QuoteDrivenMarket',\n    id: '1024004',\n    value: '3',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '163',\n    tag: 1024,\n    type: 'int',\n    codeSet: 'MDOriginTypeCodeSet',\n    description:\n      'Quote driven market\\n\\nExamples for quote driven markets are market maker or specialist market models.',\n  },\n  {\n    name: 'DarkOrderBook',\n    id: '1024005',\n    value: '4',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '163',\n    tag: 1024,\n    type: 'int',\n    codeSet: 'MDOriginTypeCodeSet',\n    description: 'Dark order book',\n  },\n  {\n    name: 'AuctionDrivenMarket',\n    id: '1024006',\n    value: '5',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '216',\n    tag: 1024,\n    type: 'int',\n    codeSet: 'MDOriginTypeCodeSet',\n    description:\n      'Auction driven market\\n\\nMarkets where matching occurs only in scheduled auctions.',\n  },\n  {\n    name: 'QuoteNegotiation',\n    id: '1024007',\n    value: '6',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '216',\n    tag: 1024,\n    type: 'int',\n    codeSet: 'MDOriginTypeCodeSet',\n    description:\n      'Quote negotiation\\n\\nDiscretionary quoting on request or \"request for quote\" market.',\n  },\n  {\n    name: 'VoiceNegotiation',\n    id: '1024008',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '228',\n    tag: 1024,\n    type: 'int',\n    codeSet: 'MDOriginTypeCodeSet',\n    description:\n      'Voice negotiation\\n\\nA trading system where transactions between members are arranged through voice negotiation.',\n  },\n  {\n    name: 'HybridMarket',\n    id: '1024009',\n    value: '8',\n    sort: 8,\n    added: 'FIX.5.0SP2',\n    addedEP: '228',\n    updated: 'FIX.Latest',\n    updatedEP: '286',\n    tag: 1024,\n    type: 'int',\n    codeSet: 'MDOriginTypeCodeSet',\n    description:\n      'Hybrid market\\n\\nA hybrid system falling into two or more types of trading systems. In the context of ESMA reporting, this is for \"Hybrid system.\" In the context of FCA reporting, this is for \"Any other, including hybrid.\"',\n  },\n  {\n    name: 'OtherMarket',\n    id: '1024010',\n    value: '9',\n    sort: 9,\n    added: 'FIX.Latest',\n    addedEP: '286',\n    tag: 1024,\n    type: 'int',\n    codeSet: 'MDOriginTypeCodeSet',\n    description:\n      'Other market\\n\\nA market that does not fall under any of the market types defined for MDOriginType(1024). In the context of ESMA reporting, this is for \"Any other, excluding hybrid.\"',\n  },\n  {\n    name: 'PhoneSimple',\n    id: '1031001',\n    value: 'A',\n    sort: 0,\n    group: 'FIA Execution Source Code',\n    added: 'FIX.5.0SP2',\n    addedEP: '133',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'Phone simple',\n  },\n  {\n    name: 'PhoneComplex',\n    id: '1031002',\n    value: 'B',\n    sort: 1,\n    group: 'FIA Execution Source Code',\n    added: 'FIX.5.0SP2',\n    addedEP: '133',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'Phone complex',\n  },\n  {\n    name: 'FCMProvidedScreen',\n    id: '1031003',\n    value: 'C',\n    sort: 2,\n    group: 'FIA Execution Source Code',\n    added: 'FIX.5.0SP2',\n    addedEP: '133',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'FCM provided screen',\n  },\n  {\n    name: 'OtherProvidedScreen',\n    id: '1031004',\n    value: 'D',\n    sort: 3,\n    group: 'FIA Execution Source Code',\n    added: 'FIX.5.0SP2',\n    addedEP: '133',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'Other provided screen',\n  },\n  {\n    name: 'ClientProvidedPlatformControlledByFCM',\n    id: '1031005',\n    value: 'E',\n    sort: 4,\n    group: 'FIA Execution Source Code',\n    added: 'FIX.5.0SP2',\n    addedEP: '133',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'Client provided platform controlled by FCM',\n  },\n  {\n    name: 'ClientProvidedPlatformDirectToExchange',\n    id: '1031006',\n    value: 'F',\n    sort: 5,\n    group: 'FIA Execution Source Code',\n    added: 'FIX.5.0SP2',\n    addedEP: '133',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'Client provided platform direct to exchange',\n  },\n  {\n    name: 'AlgoEngine',\n    id: '1031007',\n    value: 'H',\n    sort: 7,\n    group: 'FIA Execution Source Code',\n    added: 'FIX.5.0SP2',\n    addedEP: '133',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'Algo engine',\n  },\n  {\n    name: 'PriceAtExecution',\n    id: '1031008',\n    value: 'J',\n    sort: 8,\n    group: 'FIA Execution Source Code',\n    added: 'FIX.5.0SP2',\n    addedEP: '133',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description:\n      'Price at execution (price added at initial order entry, trading, middle office or time of give-up)',\n  },\n  {\n    name: 'DeskElectronic',\n    id: '1031009',\n    value: 'W',\n    sort: 9,\n    group: 'FIA Execution Source Code',\n    added: 'FIX.5.0SP2',\n    addedEP: '133',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'Desk - electronic',\n  },\n  {\n    name: 'DeskPit',\n    id: '1031010',\n    value: 'X',\n    sort: 10,\n    group: 'FIA Execution Source Code',\n    added: 'FIX.5.0SP2',\n    addedEP: '133',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'Desk - pit',\n  },\n  {\n    name: 'ClientElectronic',\n    id: '1031011',\n    value: 'Y',\n    sort: 11,\n    group: 'FIA Execution Source Code',\n    added: 'FIX.5.0SP2',\n    addedEP: '133',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'Client - electronic',\n  },\n  {\n    name: 'ClientPit',\n    id: '1031012',\n    value: 'Z',\n    sort: 12,\n    group: 'FIA Execution Source Code',\n    added: 'FIX.5.0SP2',\n    addedEP: '133',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'Client - pit',\n  },\n  {\n    name: 'AddOnOrder',\n    id: '1031013',\n    value: 'ADD',\n    sort: 1,\n    group: 'FINRA OATS',\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '135',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'Add-on order',\n  },\n  {\n    name: 'AllOrNone',\n    id: '1031014',\n    value: 'AON',\n    sort: 2,\n    group: 'FINRA OATS',\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '135',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'All or none',\n  },\n  {\n    name: 'ConditionalOrder',\n    id: '1031015',\n    value: 'CND',\n    sort: 3,\n    group: 'FINRA OATS',\n    added: 'FIX.5.0SP2',\n    addedEP: '135',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'Conditional order',\n  },\n  {\n    name: 'CashNotHeld',\n    id: '1031016',\n    value: 'CNH',\n    sort: 4,\n    group: 'FINRA OATS',\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '135',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'Cash not held',\n  },\n  {\n    name: 'DeliveryInstructionsCash',\n    id: '1031017',\n    value: 'CSH',\n    sort: 5,\n    group: 'FINRA OATS',\n    added: 'FIX.5.0SP2',\n    addedEP: '135',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'Delivery instructions - cash',\n  },\n  {\n    name: 'DirectedOrder',\n    id: '1031018',\n    value: 'DIR',\n    sort: 6,\n    group: 'FINRA OATS',\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '135',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'Directed order',\n  },\n  {\n    name: 'DiscretionaryLimitOrder',\n    id: '1031019',\n    value: 'DLO',\n    sort: 7,\n    group: 'FINRA OATS',\n    added: 'FIX.5.0SP2',\n    addedEP: '135',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'Discretionary limit order',\n  },\n  {\n    name: 'ExchangeForPhysicalTransaction',\n    id: '1031020',\n    value: 'E.W',\n    sort: 8,\n    group: 'FINRA OATS',\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '135',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'Exchange for physical transaction',\n  },\n  {\n    name: 'FillOrKill',\n    id: '1031021',\n    value: 'FOK',\n    sort: 9,\n    group: 'FINRA OATS',\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '135',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'Fill or kill',\n  },\n  {\n    name: 'IntraDayCross',\n    id: '1031022',\n    value: 'IDX',\n    sort: 11,\n    group: 'FINRA OATS',\n    added: 'FIX.5.0SP2',\n    addedEP: '135',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'Intraday cross',\n  },\n  {\n    name: 'ImbalanceOnly',\n    id: '1031023',\n    value: 'IO',\n    sort: 12,\n    group: 'FINRA OATS',\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '135',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'Imbalance only',\n  },\n  {\n    name: 'ImmediateOrCancel',\n    id: '1031024',\n    value: 'IOC',\n    sort: 13,\n    group: 'FINRA OATS',\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '135',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'Immediate or cancel',\n  },\n  {\n    name: 'IntermarketSweepOrder',\n    id: '1031025',\n    value: 'ISO',\n    sort: 14,\n    group: 'FINRA OATS',\n    added: 'FIX.5.0SP2',\n    addedEP: '135',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'Intermarket sweep order',\n  },\n  {\n    name: 'LimitOnOpen',\n    id: '1031026',\n    value: 'LOO',\n    sort: 15,\n    group: 'FINRA OATS',\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '135',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'Limit on open',\n  },\n  {\n    name: 'LimitOnClose',\n    id: '1031027',\n    value: 'LOC',\n    sort: 16,\n    group: 'FINRA OATS',\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '135',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'Limit on Close',\n  },\n  {\n    name: 'MarketAtOpen',\n    id: '1031028',\n    value: 'MAO',\n    sort: 17,\n    group: 'FINRA OATS',\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '135',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'Market at Open',\n  },\n  {\n    name: 'MarketAtClose',\n    id: '1031029',\n    value: 'MAC',\n    sort: 18,\n    group: 'FINRA OATS',\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '135',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'Market at close',\n  },\n  {\n    name: 'MarketOnOpen',\n    id: '1031030',\n    value: 'MOO',\n    sort: 19,\n    group: 'FINRA OATS',\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '135',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'Market on open',\n  },\n  {\n    name: 'MarketOnClose',\n    id: '1031031',\n    value: 'MOC',\n    sort: 20,\n    group: 'FINRA OATS',\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '135',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'Market on close',\n  },\n  {\n    name: 'MergerRelatedTransferPosition',\n    id: '1031032',\n    value: 'MPT',\n    sort: 21,\n    group: 'FINRA OATS',\n    added: 'FIX.5.0SP2',\n    addedEP: '135',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'Merger related transfer position',\n  },\n  {\n    name: 'MinimumQuantity',\n    id: '1031033',\n    value: 'MQT',\n    sort: 22,\n    group: 'FINRA OATS',\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '135',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'Minimum quantity',\n  },\n  {\n    name: 'MarketToLimit',\n    id: '1031034',\n    value: 'MTL',\n    sort: 23,\n    group: 'FINRA OATS',\n    added: 'FIX.5.0SP2',\n    addedEP: '135',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'Market to limit',\n  },\n  {\n    name: 'DeliveryInstructionsNextDay',\n    id: '1031035',\n    value: 'ND',\n    sort: 24,\n    group: 'FINRA OATS',\n    added: 'FIX.5.0SP2',\n    addedEP: '135',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'Delivery instructions - next day',\n  },\n  {\n    name: 'NotHeld',\n    id: '1031036',\n    value: 'NH',\n    sort: 25,\n    group: 'FINRA OATS',\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '135',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'Not held',\n  },\n  {\n    name: 'OptionsRelatedTransaction',\n    id: '1031037',\n    value: 'OPT',\n    sort: 26,\n    group: 'FINRA OATS',\n    added: 'FIX.5.0SP2',\n    addedEP: '135',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'Options related transaction',\n  },\n  {\n    name: 'OverTheDay',\n    id: '1031038',\n    value: 'OVD',\n    sort: 27,\n    group: 'FINRA OATS',\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '135',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'Over the day',\n  },\n  {\n    name: 'Pegged',\n    id: '1031039',\n    value: 'PEG',\n    sort: 28,\n    group: 'FINRA OATS',\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '135',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'Pegged',\n  },\n  {\n    name: 'ReserveSizeOrder',\n    id: '1031040',\n    value: 'RSV',\n    sort: 29,\n    group: 'FINRA OATS',\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '135',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'Reserve size order',\n  },\n  {\n    name: 'StopStockTransaction',\n    id: '1031041',\n    value: 'S.W',\n    sort: 30,\n    group: 'FINRA OATS',\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '135',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'Stop stock transaction',\n  },\n  {\n    name: 'Scale',\n    id: '1031042',\n    value: 'SCL',\n    sort: 31,\n    group: 'FINRA OATS',\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '135',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'Scale',\n  },\n  {\n    name: 'DeliveryInstructionsSellersOption',\n    id: '1031043',\n    value: 'SLR',\n    sort: 32,\n    group: 'FINRA OATS',\n    added: 'FIX.5.0SP2',\n    addedEP: '135',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'Delivery instructions - sellers option',\n  },\n  {\n    name: 'TimeOrder',\n    id: '1031044',\n    value: 'TMO',\n    sort: 33,\n    group: 'FINRA OATS',\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '135',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'Time order',\n  },\n  {\n    name: 'TrailingStop',\n    id: '1031045',\n    value: 'TS',\n    sort: 34,\n    group: 'FINRA OATS',\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '135',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'Trailing stop',\n  },\n  {\n    name: 'Work',\n    id: '1031046',\n    value: 'WRK',\n    sort: 35,\n    group: 'FINRA OATS',\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '135',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'Work',\n  },\n  {\n    name: 'StayOnOfferside',\n    id: '1031047',\n    value: 'F0',\n    sort: 36,\n    group: 'FINRA OATS',\n    added: 'FIX.5.0SP2',\n    addedEP: '135',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'Stay on offerside',\n  },\n  {\n    name: 'GoAlong',\n    id: '1031048',\n    value: 'F3',\n    sort: 37,\n    group: 'FINRA OATS',\n    added: 'FIX.5.0SP2',\n    addedEP: '135',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'Go along',\n  },\n  {\n    name: 'ParticipateDoNotInitiate',\n    id: '1031049',\n    value: 'F6',\n    sort: 38,\n    group: 'FINRA OATS',\n    added: 'FIX.5.0SP2',\n    addedEP: '135',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'Participate do not initiate',\n  },\n  {\n    name: 'StrictScale',\n    id: '1031050',\n    value: 'F7',\n    sort: 39,\n    group: 'FINRA OATS',\n    added: 'FIX.5.0SP2',\n    addedEP: '135',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'Strict scale',\n  },\n  {\n    name: 'TryToScale',\n    id: '1031051',\n    value: 'F8',\n    sort: 40,\n    group: 'FINRA OATS',\n    added: 'FIX.5.0SP2',\n    addedEP: '135',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'Try to scale',\n  },\n  {\n    name: 'StayOnBidside',\n    id: '1031052',\n    value: 'F9',\n    sort: 41,\n    group: 'FINRA OATS',\n    added: 'FIX.5.0SP2',\n    addedEP: '135',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'Stay on bidside',\n  },\n  {\n    name: 'NoCross',\n    id: '1031053',\n    value: 'FA',\n    sort: 42,\n    group: 'FINRA OATS',\n    added: 'FIX.5.0SP2',\n    addedEP: '135',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'No cross',\n  },\n  {\n    name: 'OKToCross',\n    id: '1031054',\n    value: 'FB',\n    sort: 43,\n    group: 'FINRA OATS',\n    added: 'FIX.5.0SP2',\n    addedEP: '135',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'OK to cross',\n  },\n  {\n    name: 'CallFirst',\n    id: '1031055',\n    value: 'FC',\n    sort: 44,\n    group: 'FINRA OATS',\n    added: 'FIX.5.0SP2',\n    addedEP: '135',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'Call first',\n  },\n  {\n    name: 'PercentOfVolume',\n    id: '1031056',\n    value: 'FD',\n    sort: 45,\n    group: 'FINRA OATS',\n    added: 'FIX.5.0SP2',\n    addedEP: '135',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'Percent of volume',\n  },\n  {\n    name: 'ReinstateOnSystemFailure',\n    id: '1031057',\n    value: 'FH',\n    sort: 46,\n    group: 'FINRA OATS',\n    added: 'FIX.5.0SP2',\n    addedEP: '135',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'Reinstate on system failure',\n  },\n  {\n    name: 'InstitutionOnly',\n    id: '1031058',\n    value: 'FI',\n    sort: 47,\n    group: 'FINRA OATS',\n    added: 'FIX.5.0SP2',\n    addedEP: '135',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'Institution only',\n  },\n  {\n    name: 'ReinstateOnTradingHalt',\n    id: '1031059',\n    value: 'FJ',\n    sort: 48,\n    group: 'FINRA OATS',\n    added: 'FIX.5.0SP2',\n    addedEP: '135',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'Reinstate on trading halt',\n  },\n  {\n    name: 'CancelOnTradingHalf',\n    id: '1031060',\n    value: 'FK',\n    sort: 49,\n    group: 'FINRA OATS',\n    added: 'FIX.5.0SP2',\n    addedEP: '135',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'Cancel on trading half',\n  },\n  {\n    name: 'LastPeg',\n    id: '1031061',\n    value: 'FL',\n    sort: 50,\n    group: 'FINRA OATS',\n    added: 'FIX.5.0SP2',\n    addedEP: '135',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'Last peg',\n  },\n  {\n    name: 'MidPricePeg',\n    id: '1031062',\n    value: 'FM',\n    sort: 51,\n    group: 'FINRA OATS',\n    added: 'FIX.5.0SP2',\n    addedEP: '135',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'Mid-price peg',\n  },\n  {\n    name: 'NonNegotiable',\n    id: '1031063',\n    value: 'FN',\n    sort: 52,\n    group: 'FINRA OATS',\n    added: 'FIX.5.0SP2',\n    addedEP: '135',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'Non-negotiable',\n  },\n  {\n    name: 'OpeningPeg',\n    id: '1031064',\n    value: 'FO',\n    sort: 53,\n    group: 'FINRA OATS',\n    added: 'FIX.5.0SP2',\n    addedEP: '135',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'Opening peg',\n  },\n  {\n    name: 'MarketPeg',\n    id: '1031065',\n    value: 'FP',\n    sort: 54,\n    group: 'FINRA OATS',\n    added: 'FIX.5.0SP2',\n    addedEP: '135',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'Market peg',\n  },\n  {\n    name: 'CancelOnSystemFailure',\n    id: '1031066',\n    value: 'FQ',\n    sort: 55,\n    group: 'FINRA OATS',\n    added: 'FIX.5.0SP2',\n    addedEP: '135',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'Cancel on system failure',\n  },\n  {\n    name: 'PrimaryPeg',\n    id: '1031067',\n    value: 'FR',\n    sort: 56,\n    group: 'FINRA OATS',\n    added: 'FIX.5.0SP2',\n    addedEP: '135',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'Primary peg',\n  },\n  {\n    name: 'Suspend',\n    id: '1031068',\n    value: 'FS',\n    sort: 57,\n    group: 'FINRA OATS',\n    added: 'FIX.5.0SP2',\n    addedEP: '135',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'Suspend',\n  },\n  {\n    name: 'FixedPegToLocalBBO',\n    id: '1031069',\n    value: 'FT',\n    sort: 58,\n    group: 'FINRA OATS',\n    added: 'FIX.5.0SP2',\n    addedEP: '135',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'Fixed peg to local best bid or offer at time of order',\n  },\n  {\n    name: 'PegToVWAP',\n    id: '1031070',\n    value: 'FW',\n    sort: 59,\n    group: 'FINRA OATS',\n    added: 'FIX.5.0SP2',\n    addedEP: '135',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'Peg to VWAP',\n  },\n  {\n    name: 'TradeAlong',\n    id: '1031071',\n    value: 'FX',\n    sort: 60,\n    group: 'FINRA OATS',\n    added: 'FIX.5.0SP2',\n    addedEP: '135',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'Trade along',\n  },\n  {\n    name: 'TryToStop',\n    id: '1031072',\n    value: 'FY',\n    sort: 61,\n    group: 'FINRA OATS',\n    added: 'FIX.5.0SP2',\n    addedEP: '135',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'Try to stop',\n  },\n  {\n    name: 'CancelIfNotBest',\n    id: '1031073',\n    value: 'FZ',\n    sort: 62,\n    group: 'FINRA OATS',\n    added: 'FIX.5.0SP2',\n    addedEP: '135',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'Cancel if not best',\n  },\n  {\n    name: 'StrictLimit',\n    id: '1031074',\n    value: 'Fb',\n    sort: 63,\n    group: 'FINRA OATS',\n    added: 'FIX.5.0SP2',\n    addedEP: '135',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'Strict limit',\n  },\n  {\n    name: 'IgnorePriceValidityChecks',\n    id: '1031075',\n    value: 'Fc',\n    sort: 64,\n    group: 'FINRA OATS',\n    added: 'FIX.5.0SP2',\n    addedEP: '135',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'Ignore price validity checks',\n  },\n  {\n    name: 'PegToLimitPrice',\n    id: '1031076',\n    value: 'Fd',\n    sort: 65,\n    group: 'FINRA OATS',\n    added: 'FIX.5.0SP2',\n    addedEP: '135',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'Peg to Limit Price',\n  },\n  {\n    name: 'WorkToTargetStrategy',\n    id: '1031077',\n    value: 'Fe',\n    sort: 66,\n    group: 'FINRA OATS',\n    added: 'FIX.5.0SP2',\n    addedEP: '135',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'Work to target strategy',\n  },\n  {\n    name: 'GOrderAndFCMAPIorFIX',\n    id: '1031078',\n    value: 'G',\n    sort: 0,\n    group: 'SHARED',\n    added: 'FIX.5.0SP2',\n    addedEP: '133',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '135',\n    tag: 1031,\n    type: 'MultipleStringValue',\n    codeSet: 'CustOrderHandlingInstCodeSet',\n    description: 'G Order(FINRA OATS), FCM API or FIX(FIA Execution Source)',\n  },\n  {\n    name: 'FINRAOATS',\n    id: '1032001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '135',\n    tag: 1032,\n    type: 'int',\n    codeSet: 'OrderHandlingInstSourceCodeSet',\n    description: 'FINRA OATS',\n  },\n  {\n    name: 'FIAExecutionSourceCode',\n    id: '1032002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '133',\n    tag: 1032,\n    type: 'int',\n    codeSet: 'OrderHandlingInstSourceCodeSet',\n    description: 'FIA Execution Source Code',\n  },\n  {\n    name: 'Agency',\n    id: '1033001',\n    value: 'A',\n    sort: 1,\n    group: 'FINRA OATS',\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '135',\n    tag: 1033,\n    type: 'String',\n    codeSet: 'DeskTypeCodeSet',\n    description: 'Agency',\n  },\n  {\n    name: 'Arbitrage',\n    id: '1033002',\n    value: 'AR',\n    sort: 2,\n    group: 'FINRA OATS',\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '135',\n    tag: 1033,\n    type: 'String',\n    codeSet: 'DeskTypeCodeSet',\n    description: 'Arbitrage',\n  },\n  {\n    name: 'BlockTrading',\n    id: '1033003',\n    value: 'B',\n    sort: 3,\n    group: 'FINRA OATS',\n    added: 'FIX.5.0SP2',\n    addedEP: '135',\n    tag: 1033,\n    type: 'String',\n    codeSet: 'DeskTypeCodeSet',\n    description: 'Block trading',\n  },\n  {\n    name: 'ConvertibleDesk',\n    id: '1033004',\n    value: 'C',\n    sort: 4,\n    group: 'FINRA OATS',\n    added: 'FIX.5.0SP2',\n    addedEP: '135',\n    tag: 1033,\n    type: 'String',\n    codeSet: 'DeskTypeCodeSet',\n    description: 'Convertible desk',\n  },\n  {\n    name: 'CentralRiskBooks',\n    id: '1033005',\n    value: 'CR',\n    sort: 5,\n    group: 'FINRA OATS',\n    added: 'FIX.5.0SP2',\n    addedEP: '135',\n    tag: 1033,\n    type: 'String',\n    codeSet: 'DeskTypeCodeSet',\n    description: 'Central risk books',\n  },\n  {\n    name: 'Derivatives',\n    id: '1033006',\n    value: 'D',\n    sort: 6,\n    group: 'FINRA OATS',\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '135',\n    tag: 1033,\n    type: 'String',\n    codeSet: 'DeskTypeCodeSet',\n    description: 'Derivatives',\n  },\n  {\n    name: 'EquityCapitalMarkets',\n    id: '1033007',\n    value: 'EC',\n    sort: 7,\n    group: 'FINRA OATS',\n    added: 'FIX.5.0SP2',\n    addedEP: '135',\n    tag: 1033,\n    type: 'String',\n    codeSet: 'DeskTypeCodeSet',\n    description: 'Equity capital markets',\n  },\n  {\n    name: 'International',\n    id: '1033008',\n    value: 'IN',\n    sort: 8,\n    group: 'FINRA OATS',\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '135',\n    tag: 1033,\n    type: 'String',\n    codeSet: 'DeskTypeCodeSet',\n    description: 'International',\n  },\n  {\n    name: 'Institutional',\n    id: '1033009',\n    value: 'IS',\n    sort: 9,\n    group: 'FINRA OATS',\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '135',\n    tag: 1033,\n    type: 'String',\n    codeSet: 'DeskTypeCodeSet',\n    description: 'Institutional',\n  },\n  {\n    name: 'Other',\n    id: '1033010',\n    value: 'O',\n    sort: 10,\n    group: 'FINRA OATS',\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '135',\n    tag: 1033,\n    type: 'String',\n    codeSet: 'DeskTypeCodeSet',\n    description: 'Other',\n  },\n  {\n    name: 'PreferredTrading',\n    id: '1033011',\n    value: 'PF',\n    sort: 11,\n    group: 'FINRA OATS',\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '135',\n    tag: 1033,\n    type: 'String',\n    codeSet: 'DeskTypeCodeSet',\n    description: 'Preferred trading',\n  },\n  {\n    name: 'Proprietary',\n    id: '1033012',\n    value: 'PR',\n    sort: 12,\n    group: 'FINRA OATS',\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '135',\n    tag: 1033,\n    type: 'String',\n    codeSet: 'DeskTypeCodeSet',\n    description: 'Proprietary',\n  },\n  {\n    name: 'ProgramTrading',\n    id: '1033013',\n    value: 'PT',\n    sort: 13,\n    group: 'FINRA OATS',\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '135',\n    tag: 1033,\n    type: 'String',\n    codeSet: 'DeskTypeCodeSet',\n    description: 'Program trading',\n  },\n  {\n    name: 'Sales',\n    id: '1033014',\n    value: 'S',\n    sort: 14,\n    group: 'FINRA OATS',\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '135',\n    tag: 1033,\n    type: 'String',\n    codeSet: 'DeskTypeCodeSet',\n    description: 'Sales',\n  },\n  {\n    name: 'Swaps',\n    id: '1033015',\n    value: 'SW',\n    sort: 15,\n    group: 'FINRA OATS',\n    added: 'FIX.5.0SP2',\n    addedEP: '135',\n    tag: 1033,\n    type: 'String',\n    codeSet: 'DeskTypeCodeSet',\n    description: 'Swaps',\n  },\n  {\n    name: 'TradingDeskSystem',\n    id: '1033016',\n    value: 'T',\n    sort: 16,\n    group: 'FINRA OATS',\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '135',\n    tag: 1033,\n    type: 'String',\n    codeSet: 'DeskTypeCodeSet',\n    description: 'Trading desk or system non-market maker',\n  },\n  {\n    name: 'Treasury',\n    id: '1033017',\n    value: 'TR',\n    sort: 17,\n    group: 'FINRA OATS',\n    added: 'FIX.5.0SP2',\n    addedEP: '135',\n    tag: 1033,\n    type: 'String',\n    codeSet: 'DeskTypeCodeSet',\n    description: 'Treasury',\n  },\n  {\n    name: 'FloorBroker',\n    id: '1033018',\n    value: 'FB',\n    sort: 18,\n    group: 'FINRA OATS',\n    added: 'FIX.Latest',\n    addedEP: '264',\n    tag: 1033,\n    type: 'String',\n    codeSet: 'DeskTypeCodeSet',\n    description: 'Floor Broker',\n  },\n  {\n    name: 'FINRAOATS',\n    id: '1034001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '135',\n    tag: 1034,\n    type: 'int',\n    codeSet: 'DeskTypeSourceCodeSet',\n    description: 'FINRA OATS',\n  },\n  {\n    name: 'Received',\n    id: '1036001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1036,\n    type: 'char',\n    codeSet: 'ExecAckStatusCodeSet',\n    description: 'Received, not yet processed',\n  },\n  {\n    name: 'Accepted',\n    id: '1036002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1036,\n    type: 'char',\n    codeSet: 'ExecAckStatusCodeSet',\n    description: 'Accepted',\n  },\n  {\n    name: 'DontKnow',\n    id: '1036003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    updated: 'FIX.Latest',\n    updatedEP: '271',\n    tag: 1036,\n    type: 'char',\n    codeSet: 'ExecAckStatusCodeSet',\n    description: \"Don't know / Rejected\",\n  },\n  {\n    name: 'SpecificDeposit',\n    id: '1043001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1043,\n    type: 'int',\n    codeSet: 'CollApplTypeCodeSet',\n    description: 'Specific Deposit',\n  },\n  {\n    name: 'General',\n    id: '1043002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1043,\n    type: 'int',\n    codeSet: 'CollApplTypeCodeSet',\n    description: 'General',\n  },\n  {\n    name: 'Divide',\n    id: '1046001',\n    value: 'D',\n    sort: 0,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1046,\n    type: 'char',\n    codeSet: 'UnderlyingFXRateCalcCodeSet',\n    description: 'Divide',\n  },\n  {\n    name: 'Multiply',\n    id: '1046002',\n    value: 'M',\n    sort: 1,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1046,\n    type: 'char',\n    codeSet: 'UnderlyingFXRateCalcCodeSet',\n    description: 'Multiply',\n  },\n  {\n    name: 'Open',\n    id: '1047001',\n    value: 'O',\n    sort: 1,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1047,\n    type: 'char',\n    codeSet: 'AllocPositionEffectCodeSet',\n    description: 'Open',\n  },\n  {\n    name: 'Close',\n    id: '1047002',\n    value: 'C',\n    sort: 2,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1047,\n    type: 'char',\n    codeSet: 'AllocPositionEffectCodeSet',\n    description: 'Close',\n  },\n  {\n    name: 'Rolled',\n    id: '1047003',\n    value: 'R',\n    sort: 3,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1047,\n    type: 'char',\n    codeSet: 'AllocPositionEffectCodeSet',\n    description: 'Rolled',\n  },\n  {\n    name: 'FIFO',\n    id: '1047004',\n    value: 'F',\n    sort: 4,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1047,\n    type: 'char',\n    codeSet: 'AllocPositionEffectCodeSet',\n    description: 'FIFO',\n  },\n  {\n    name: 'Agent',\n    id: '1048001',\n    value: 'A',\n    sort: 0,\n    added: 'FIX.5.0SP1',\n    addedEP: '95',\n    tag: 1048,\n    type: 'char',\n    codeSet: 'DealingCapacityCodeSet',\n    description: 'Agent',\n  },\n  {\n    name: 'Principal',\n    id: '1048002',\n    value: 'P',\n    sort: 1,\n    added: 'FIX.5.0SP1',\n    addedEP: '95',\n    tag: 1048,\n    type: 'char',\n    codeSet: 'DealingCapacityCodeSet',\n    description: 'Principal',\n  },\n  {\n    name: 'RisklessPrincipal',\n    id: '1048003',\n    value: 'R',\n    sort: 2,\n    added: 'FIX.5.0SP1',\n    addedEP: '95',\n    tag: 1048,\n    type: 'char',\n    codeSet: 'DealingCapacityCodeSet',\n    description: 'Riskless Principal',\n  },\n  {\n    name: 'ProRata',\n    id: '1049001',\n    value: 'P',\n    sort: 1,\n    added: 'FIX.4.4',\n    addedEP: '4',\n    tag: 1049,\n    type: 'char',\n    codeSet: 'InstrmtAssignmentMethodCodeSet',\n    description: 'Pro rata',\n  },\n  {\n    name: 'Random',\n    id: '1049002',\n    value: 'R',\n    sort: 2,\n    added: 'FIX.4.4',\n    addedEP: '4',\n    tag: 1049,\n    type: 'char',\n    codeSet: 'InstrmtAssignmentMethodCodeSet',\n    description: 'Random',\n  },\n  {\n    name: 'OrderInitiatorIsAggressor',\n    id: '1057001',\n    value: 'Y',\n    sort: 1,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1057,\n    type: 'Boolean',\n    codeSet: 'AggressorIndicatorCodeSet',\n    description: 'Order initiator is aggressor',\n  },\n  {\n    name: 'OrderInitiatorIsPassive',\n    id: '1057002',\n    value: 'N',\n    sort: 2,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1057,\n    type: 'Boolean',\n    codeSet: 'AggressorIndicatorCodeSet',\n    description: 'Order initiator is passive',\n  },\n  {\n    name: 'Indicative',\n    id: '1070001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.4',\n    addedEP: '32',\n    tag: 1070,\n    type: 'int',\n    codeSet: 'MDQuoteTypeCodeSet',\n    description: 'Indicative',\n  },\n  {\n    name: 'Tradeable',\n    id: '1070002',\n    value: '1',\n    sort: 3,\n    added: 'FIX.4.4',\n    addedEP: '32',\n    tag: 1070,\n    type: 'int',\n    codeSet: 'MDQuoteTypeCodeSet',\n    description: 'Tradeable',\n  },\n  {\n    name: 'RestrictedTradeable',\n    id: '1070003',\n    value: '2',\n    sort: 4,\n    added: 'FIX.4.4',\n    addedEP: '32',\n    tag: 1070,\n    type: 'int',\n    codeSet: 'MDQuoteTypeCodeSet',\n    description: 'Restricted Tradeable',\n  },\n  {\n    name: 'Counter',\n    id: '1070004',\n    value: '3',\n    sort: 5,\n    added: 'FIX.4.4',\n    addedEP: '32',\n    tag: 1070,\n    type: 'int',\n    codeSet: 'MDQuoteTypeCodeSet',\n    description: 'Counter',\n  },\n  {\n    name: 'IndicativeAndTradeable',\n    id: '1070005',\n    value: '4',\n    sort: 6,\n    added: 'FIX.4.4',\n    addedEP: '32',\n    tag: 1070,\n    type: 'int',\n    codeSet: 'MDQuoteTypeCodeSet',\n    description: 'Indicative and Tradeable',\n  },\n  {\n    name: 'SecondaryOrderID',\n    id: '1081001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '259',\n    tag: 1081,\n    type: 'char',\n    codeSet: 'RefOrderIDSourceCodeSet',\n    description:\n      'Secondary order ID\\n\\nCan be used to refer to an additional order identifier assigned by the party accepting an order, e.g. SecondaryOrderID(198).',\n  },\n  {\n    name: 'OrderID',\n    id: '1081002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '259',\n    tag: 1081,\n    type: 'char',\n    codeSet: 'RefOrderIDSourceCodeSet',\n    description:\n      'Order ID\\n\\nCan be used to refer to an order identifier assigned by the party accepting an order, e.g. OrderID(37).',\n  },\n  {\n    name: 'MDEntryID',\n    id: '1081003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '259',\n    tag: 1081,\n    type: 'char',\n    codeSet: 'RefOrderIDSourceCodeSet',\n    description:\n      'Market data entry ID\\n\\nCan be used to refer to a market data entry identifier provided with market data, e.g. MDEntryID(278).',\n  },\n  {\n    name: 'QuoteEntryID',\n    id: '1081004',\n    value: '3',\n    sort: 4,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '259',\n    tag: 1081,\n    type: 'char',\n    codeSet: 'RefOrderIDSourceCodeSet',\n    description:\n      'Quote entry ID\\n\\nCan be used to refer to a quote identifier provided with market data or quote, e.g. QuoteEntryID(299).',\n  },\n  {\n    name: 'OriginalOrderID',\n    id: '1081005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP1',\n    addedEP: '77',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '259',\n    tag: 1081,\n    type: 'char',\n    codeSet: 'RefOrderIDSourceCodeSet',\n    description:\n      'Original order ID\\n\\nCan be used to refer to an initial order identifier assigned by the party accepting an order, e.g. OrderID(37) that changed.',\n  },\n  {\n    name: 'QuoteID',\n    id: '1081006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '259',\n    tag: 1081,\n    type: 'char',\n    codeSet: 'RefOrderIDSourceCodeSet',\n    description:\n      'Quote ID\\n\\nCan be used to refer to a quote identifier assigned by the party issuing the quote, e.g. QuoteID(117).',\n  },\n  {\n    name: 'QuoteReqID',\n    id: '1081007',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '259',\n    tag: 1081,\n    type: 'char',\n    codeSet: 'RefOrderIDSourceCodeSet',\n    description:\n      'Quote request ID\\n\\nCan be used to refer to a quote identifier or quote request identifier assigned by the party issuing the request, e.g. QuoteReqID(131).',\n  },\n  {\n    name: 'PreviousOrderIdentifier',\n    id: '1081008',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '253',\n    tag: 1081,\n    type: 'char',\n    codeSet: 'RefOrderIDSourceCodeSet',\n    description:\n      'Previous order identifier\\n\\nCan be used when previously assigned (unique) system order identifier has changed.',\n  },\n  {\n    name: 'PreviousQuoteIdentifier',\n    id: '1081009',\n    value: '8',\n    sort: 8,\n    added: 'FIX.5.0SP2',\n    addedEP: '253',\n    tag: 1081,\n    type: 'char',\n    codeSet: 'RefOrderIDSourceCodeSet',\n    description:\n      'Previous quote identifier\\n\\nCan be used when previously assigned (unique) quote identifier has changed.',\n  },\n  {\n    name: 'ParentOrderIdentifier',\n    id: '1081010',\n    value: '9',\n    sort: 9,\n    added: 'FIX.5.0SP2',\n    addedEP: '253',\n    tag: 1081,\n    type: 'char',\n    codeSet: 'RefOrderIDSourceCodeSet',\n    description:\n      'Parent order identifier\\n\\nCan be used where orders are split into child orders and need to refer back to their parent order.',\n  },\n  {\n    name: 'ManualOrderIdentifier',\n    id: '1081011',\n    value: 'A',\n    sort: 10,\n    added: 'FIX.5.0SP2',\n    addedEP: '253',\n    tag: 1081,\n    type: 'char',\n    codeSet: 'RefOrderIDSourceCodeSet',\n    description:\n      'Manual order identifier\\n\\nCan be used to refer to a manually received order that is being replaced by an electronically received order.',\n  },\n  {\n    name: 'Immediate',\n    id: '1083001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1083,\n    type: 'char',\n    codeSet: 'DisplayWhenCodeSet',\n    description: 'Immediate (after each fill)',\n  },\n  {\n    name: 'Exhaust',\n    id: '1083002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1083,\n    type: 'char',\n    codeSet: 'DisplayWhenCodeSet',\n    description: 'Exhaust (when DisplayQty = 0)',\n  },\n  {\n    name: 'Initial',\n    id: '1084001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1084,\n    type: 'char',\n    codeSet: 'DisplayMethodCodeSet',\n    description: 'Initial (use original DisplayQty)',\n  },\n  {\n    name: 'New',\n    id: '1084002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1084,\n    type: 'char',\n    codeSet: 'DisplayMethodCodeSet',\n    description: 'New (use RefreshQty)',\n  },\n  {\n    name: 'Random',\n    id: '1084003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1084,\n    type: 'char',\n    codeSet: 'DisplayMethodCodeSet',\n    description: 'Random (randomize value)',\n  },\n  {\n    name: 'Undisclosed',\n    id: '1084004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP1',\n    addedEP: '78',\n    tag: 1084,\n    type: 'char',\n    codeSet: 'DisplayMethodCodeSet',\n    description: 'Undisclosed (invisible order)',\n  },\n  {\n    name: 'None',\n    id: '1092001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1092,\n    type: 'char',\n    codeSet: 'PriceProtectionScopeCodeSet',\n    description: 'None',\n  },\n  {\n    name: 'Local',\n    id: '1092002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1092,\n    type: 'char',\n    codeSet: 'PriceProtectionScopeCodeSet',\n    description: 'Local (Exchange, ECN, ATS)',\n  },\n  {\n    name: 'National',\n    id: '1092003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1092,\n    type: 'char',\n    codeSet: 'PriceProtectionScopeCodeSet',\n    description: 'National (Across all national markets)',\n  },\n  {\n    name: 'Global',\n    id: '1092004',\n    value: '3',\n    sort: 4,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1092,\n    type: 'char',\n    codeSet: 'PriceProtectionScopeCodeSet',\n    description: 'Global (Across all markets)',\n  },\n  {\n    name: 'OddLot',\n    id: '1093001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1093,\n    type: 'char',\n    codeSet: 'LotTypeCodeSet',\n    description: 'Odd Lot',\n  },\n  {\n    name: 'RoundLot',\n    id: '1093002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1093,\n    type: 'char',\n    codeSet: 'LotTypeCodeSet',\n    description: 'Round Lot',\n  },\n  {\n    name: 'BlockLot',\n    id: '1093003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1093,\n    type: 'char',\n    codeSet: 'LotTypeCodeSet',\n    description: 'Block Lot',\n  },\n  {\n    name: 'RoundLotBasedUpon',\n    id: '1093004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP1',\n    addedEP: '80',\n    tag: 1093,\n    type: 'char',\n    codeSet: 'LotTypeCodeSet',\n    description: 'Round lot based upon UnitOfMeasure(996)',\n  },\n  {\n    name: 'LastPeg',\n    id: '1094001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1094,\n    type: 'int',\n    codeSet: 'PegPriceTypeCodeSet',\n    description: 'Last peg (last sale)',\n  },\n  {\n    name: 'MidPricePeg',\n    id: '1094002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1094,\n    type: 'int',\n    codeSet: 'PegPriceTypeCodeSet',\n    description: 'Mid-price peg (midprice of inside quote)',\n  },\n  {\n    name: 'OpeningPeg',\n    id: '1094003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1094,\n    type: 'int',\n    codeSet: 'PegPriceTypeCodeSet',\n    description: 'Opening peg',\n  },\n  {\n    name: 'MarketPeg',\n    id: '1094004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1094,\n    type: 'int',\n    codeSet: 'PegPriceTypeCodeSet',\n    description: 'Market peg',\n  },\n  {\n    name: 'PrimaryPeg',\n    id: '1094005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1094,\n    type: 'int',\n    codeSet: 'PegPriceTypeCodeSet',\n    description: 'Primary peg (primary market - buy at bid or sell at offer)',\n  },\n  {\n    name: 'PegToVWAP',\n    id: '1094006',\n    value: '7',\n    sort: 7,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1094,\n    type: 'int',\n    codeSet: 'PegPriceTypeCodeSet',\n    description: 'Peg to VWAP',\n  },\n  {\n    name: 'TrailingStopPeg',\n    id: '1094007',\n    value: '8',\n    sort: 8,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1094,\n    type: 'int',\n    codeSet: 'PegPriceTypeCodeSet',\n    description: 'Trailing Stop Peg',\n  },\n  {\n    name: 'PegToLimitPrice',\n    id: '1094008',\n    value: '9',\n    sort: 9,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1094,\n    type: 'int',\n    codeSet: 'PegPriceTypeCodeSet',\n    description: 'Peg to Limit Price',\n  },\n  {\n    name: 'ShortSaleMinPricePeg',\n    id: '1094009',\n    value: '10',\n    sort: 10,\n    added: 'FIX.5.0SP2',\n    addedEP: '123',\n    tag: 1094,\n    type: 'int',\n    codeSet: 'PegPriceTypeCodeSet',\n    description:\n      'Short sale minimum price Peg\\n\\nShort sale minimum price Peg (published price that a short sell order must meet in order to comply with regulatory requirements, e.g. SEC uptick rules).',\n  },\n  {\n    name: 'PartialExecution',\n    id: '1100001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1100,\n    type: 'char',\n    codeSet: 'TriggerTypeCodeSet',\n    description: 'Partial Execution',\n  },\n  {\n    name: 'SpecifiedTradingSession',\n    id: '1100002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1100,\n    type: 'char',\n    codeSet: 'TriggerTypeCodeSet',\n    description: 'Specified Trading Session',\n  },\n  {\n    name: 'NextAuction',\n    id: '1100003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1100,\n    type: 'char',\n    codeSet: 'TriggerTypeCodeSet',\n    description: 'Next Auction',\n  },\n  {\n    name: 'PriceMovement',\n    id: '1100004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1100,\n    type: 'char',\n    codeSet: 'TriggerTypeCodeSet',\n    description: 'Price Movement',\n  },\n  {\n    name: 'OnOrderEntryOrModification',\n    id: '1100005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '100',\n    tag: 1100,\n    type: 'char',\n    codeSet: 'TriggerTypeCodeSet',\n    description: 'On Order Entry or order modification entry',\n  },\n  {\n    name: 'Activate',\n    id: '1101001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1101,\n    type: 'char',\n    codeSet: 'TriggerActionCodeSet',\n    description: 'Activate',\n  },\n  {\n    name: 'Modify',\n    id: '1101002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1101,\n    type: 'char',\n    codeSet: 'TriggerActionCodeSet',\n    description: 'Modify',\n  },\n  {\n    name: 'Cancel',\n    id: '1101003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1101,\n    type: 'char',\n    codeSet: 'TriggerActionCodeSet',\n    description: 'Cancel',\n  },\n  {\n    name: 'BestOffer',\n    id: '1107001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1107,\n    type: 'char',\n    codeSet: 'TriggerPriceTypeCodeSet',\n    description: 'Best Offer',\n  },\n  {\n    name: 'LastTrade',\n    id: '1107002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1107,\n    type: 'char',\n    codeSet: 'TriggerPriceTypeCodeSet',\n    description: 'Last Trade',\n  },\n  {\n    name: 'BestBid',\n    id: '1107003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1107,\n    type: 'char',\n    codeSet: 'TriggerPriceTypeCodeSet',\n    description: 'Best Bid',\n  },\n  {\n    name: 'BestBidOrLastTrade',\n    id: '1107004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1107,\n    type: 'char',\n    codeSet: 'TriggerPriceTypeCodeSet',\n    description: 'Best Bid or Last Trade',\n  },\n  {\n    name: 'BestOfferOrLastTrade',\n    id: '1107005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1107,\n    type: 'char',\n    codeSet: 'TriggerPriceTypeCodeSet',\n    description: 'Best Offer or Last Trade',\n  },\n  {\n    name: 'BestMid',\n    id: '1107006',\n    value: '6',\n    sort: 6,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1107,\n    type: 'char',\n    codeSet: 'TriggerPriceTypeCodeSet',\n    description: 'Best Mid',\n  },\n  {\n    name: 'None',\n    id: '1108001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1108,\n    type: 'char',\n    codeSet: 'TriggerPriceTypeScopeCodeSet',\n    description: 'None',\n  },\n  {\n    name: 'Local',\n    id: '1108002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1108,\n    type: 'char',\n    codeSet: 'TriggerPriceTypeScopeCodeSet',\n    description: 'Local (Exchange, ECN, ATS)',\n  },\n  {\n    name: 'National',\n    id: '1108003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1108,\n    type: 'char',\n    codeSet: 'TriggerPriceTypeScopeCodeSet',\n    description: 'National (Across all national markets)',\n  },\n  {\n    name: 'Global',\n    id: '1108004',\n    value: '3',\n    sort: 4,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1108,\n    type: 'char',\n    codeSet: 'TriggerPriceTypeScopeCodeSet',\n    description: 'Global (Across all markets)',\n  },\n  {\n    name: 'Up',\n    id: '1109001',\n    value: 'U',\n    sort: 1,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1109,\n    type: 'char',\n    codeSet: 'TriggerPriceDirectionCodeSet',\n    description:\n      'Trigger if the price of the specified type goes UP to or through the specified Trigger Price.',\n  },\n  {\n    name: 'Down',\n    id: '1109002',\n    value: 'D',\n    sort: 2,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1109,\n    type: 'char',\n    codeSet: 'TriggerPriceDirectionCodeSet',\n    description:\n      'Trigger if the price of the specified type goes DOWN to or through the specified Trigger Price.',\n  },\n  {\n    name: 'Market',\n    id: '1111001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.4',\n    addedEP: '35',\n    tag: 1111,\n    type: 'char',\n    codeSet: 'TriggerOrderTypeCodeSet',\n    description: 'Market',\n  },\n  {\n    name: 'Limit',\n    id: '1111002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.4',\n    addedEP: '35',\n    tag: 1111,\n    type: 'char',\n    codeSet: 'TriggerOrderTypeCodeSet',\n    description: 'Limit',\n  },\n  {\n    name: 'Order',\n    id: '1115001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1115,\n    type: 'char',\n    codeSet: 'OrderCategoryCodeSet',\n    description: 'Order',\n  },\n  {\n    name: 'Quote',\n    id: '1115002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1115,\n    type: 'char',\n    codeSet: 'OrderCategoryCodeSet',\n    description: 'Quote',\n  },\n  {\n    name: 'PrivatelyNegotiatedTrade',\n    id: '1115003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1115,\n    type: 'char',\n    codeSet: 'OrderCategoryCodeSet',\n    description: 'Privately Negotiated Trade',\n  },\n  {\n    name: 'MultilegOrder',\n    id: '1115004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1115,\n    type: 'char',\n    codeSet: 'OrderCategoryCodeSet',\n    description: 'Multileg order',\n  },\n  {\n    name: 'LinkedOrder',\n    id: '1115005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1115,\n    type: 'char',\n    codeSet: 'OrderCategoryCodeSet',\n    description: 'Linked order',\n  },\n  {\n    name: 'QuoteRequest',\n    id: '1115006',\n    value: '6',\n    sort: 6,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1115,\n    type: 'char',\n    codeSet: 'OrderCategoryCodeSet',\n    description: 'Quote Request',\n  },\n  {\n    name: 'ImpliedOrder',\n    id: '1115007',\n    value: '7',\n    sort: 7,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1115,\n    type: 'char',\n    codeSet: 'OrderCategoryCodeSet',\n    description: 'Implied Order',\n  },\n  {\n    name: 'CrossOrder',\n    id: '1115008',\n    value: '8',\n    sort: 8,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1115,\n    type: 'char',\n    codeSet: 'OrderCategoryCodeSet',\n    description: 'Cross Order',\n  },\n  {\n    name: 'StreamingPrice',\n    id: '1115009',\n    value: '9',\n    sort: 9,\n    added: 'FIX.5.0',\n    addedEP: '-1',\n    tag: 1115,\n    type: 'char',\n    codeSet: 'OrderCategoryCodeSet',\n    description: 'Streaming price (quote)',\n  },\n  {\n    name: 'InternalCrossOrder',\n    id: '1115010',\n    value: 'A',\n    sort: 10,\n    added: 'FIX.5.0SP2',\n    addedEP: '101',\n    tag: 1115,\n    type: 'char',\n    codeSet: 'OrderCategoryCodeSet',\n    description: 'Internal Cross Order',\n  },\n  {\n    name: 'TradeConfirmation',\n    id: '1123001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '136',\n    tag: 1123,\n    type: 'char',\n    codeSet: 'TradeHandlingInstrCodeSet',\n    description: 'Trade confirmation',\n  },\n  {\n    name: 'TwoPartyReport',\n    id: '1123002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '136',\n    tag: 1123,\n    type: 'char',\n    codeSet: 'TradeHandlingInstrCodeSet',\n    description: 'Two-party report',\n  },\n  {\n    name: 'OnePartyReportForMatching',\n    id: '1123003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '136',\n    tag: 1123,\n    type: 'char',\n    codeSet: 'TradeHandlingInstrCodeSet',\n    description: 'One-party report for matching',\n  },\n  {\n    name: 'OnePartyReportForPassThrough',\n    id: '1123004',\n    value: '3',\n    sort: 4,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '212',\n    tag: 1123,\n    type: 'char',\n    codeSet: 'TradeHandlingInstrCodeSet',\n    description:\n      'One-party report for pass through\\n\\nCan be used when one of the parties to the trade submits a report which then has to be approved or confirmed by the other (counter)party.',\n  },\n  {\n    name: 'AutomatedFloorOrderRouting',\n    id: '1123005',\n    value: '4',\n    sort: 5,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '136',\n    tag: 1123,\n    type: 'char',\n    codeSet: 'TradeHandlingInstrCodeSet',\n    description: 'Automated floor order routing',\n  },\n  {\n    name: 'TwoPartyReportForClaim',\n    id: '1123006',\n    value: '5',\n    sort: 6,\n    added: 'FIX.5.0',\n    addedEP: '55',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '136',\n    tag: 1123,\n    type: 'char',\n    codeSet: 'TradeHandlingInstrCodeSet',\n    description: 'Two-party report for claim',\n  },\n  {\n    name: 'OnePartyReport',\n    id: '1123007',\n    value: '6',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '136',\n    tag: 1123,\n    type: 'char',\n    codeSet: 'TradeHandlingInstrCodeSet',\n    description: 'One-party report',\n  },\n  {\n    name: 'ThirdPtyRptForPassThrough',\n    id: '1123008',\n    value: '7',\n    sort: 8,\n    added: 'FIX.5.0SP2',\n    addedEP: '212',\n    tag: 1123,\n    type: 'char',\n    codeSet: 'TradeHandlingInstrCodeSet',\n    description:\n      'Third-party report for pass through\\n\\nCan be used when RootParties component contains a service provider role who submits the trade report and is not necessarily also on one side of the trade.',\n  },\n  {\n    name: 'OnePartyReportAutoMatch',\n    id: '1123009',\n    value: '8',\n    sort: 8,\n    added: 'FIX.5.0SP2',\n    addedEP: '227',\n    tag: 1123,\n    type: 'char',\n    codeSet: 'TradeHandlingInstrCodeSet',\n    description:\n      'One-party report for auto-match\\n\\nIndicates that the submission is a transfer trade to a firm or account that is part of the same corporate entity and that once validated the transfer should be automatically accepted without confirmation.',\n  },\n  {\n    name: 'FIX27',\n    id: '1128001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1128,\n    type: 'String',\n    codeSet: 'ApplVerIDCodeSet',\n    description: 'FIX27',\n  },\n  {\n    name: 'FIX30',\n    id: '1128002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1128,\n    type: 'String',\n    codeSet: 'ApplVerIDCodeSet',\n    description: 'FIX30',\n  },\n  {\n    name: 'FIX40',\n    id: '1128003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1128,\n    type: 'String',\n    codeSet: 'ApplVerIDCodeSet',\n    description: 'FIX40',\n  },\n  {\n    name: 'FIX41',\n    id: '1128004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1128,\n    type: 'String',\n    codeSet: 'ApplVerIDCodeSet',\n    description: 'FIX41',\n  },\n  {\n    name: 'FIX42',\n    id: '1128005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1128,\n    type: 'String',\n    codeSet: 'ApplVerIDCodeSet',\n    description: 'FIX42',\n  },\n  {\n    name: 'FIX43',\n    id: '1128006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1128,\n    type: 'String',\n    codeSet: 'ApplVerIDCodeSet',\n    description: 'FIX43',\n  },\n  {\n    name: 'FIX44',\n    id: '1128007',\n    value: '6',\n    sort: 6,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1128,\n    type: 'String',\n    codeSet: 'ApplVerIDCodeSet',\n    description: 'FIX44',\n  },\n  {\n    name: 'FIX50',\n    id: '1128008',\n    value: '7',\n    sort: 7,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1128,\n    type: 'String',\n    codeSet: 'ApplVerIDCodeSet',\n    description: 'FIX50',\n  },\n  {\n    name: 'FIX50SP1',\n    id: '1128009',\n    value: '8',\n    sort: 8,\n    added: 'FIX.5.0',\n    addedEP: '-1',\n    tag: 1128,\n    type: 'String',\n    codeSet: 'ApplVerIDCodeSet',\n    description: 'FIX50SP1',\n  },\n  {\n    name: 'FIX50SP2',\n    id: '1128010',\n    value: '9',\n    sort: 9,\n    added: 'FIX.5.0SP1',\n    addedEP: '97',\n    tag: 1128,\n    type: 'String',\n    codeSet: 'ApplVerIDCodeSet',\n    description: 'FIX50SP2',\n  },\n  {\n    name: 'FIXLatest',\n    id: '1128011',\n    value: '10',\n    sort: 10,\n    added: 'FIX.Latest',\n    addedEP: '260',\n    tag: 1128,\n    type: 'String',\n    codeSet: 'ApplVerIDCodeSet',\n    description: 'FIXLatest',\n  },\n  {\n    name: 'BIC',\n    id: '1133001',\n    value: 'B',\n    sort: 1,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1133,\n    type: 'char',\n    codeSet: 'ExDestinationIDSourceCodeSet',\n    description: 'BIC (Bank Identification Code) (ISO 9362)',\n  },\n  {\n    name: 'GeneralIdentifier',\n    id: '1133002',\n    value: 'C',\n    sort: 2,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1133,\n    type: 'char',\n    codeSet: 'ExDestinationIDSourceCodeSet',\n    description: 'Generally accepted market participant identifier (e.g. NASD mnemonic)',\n  },\n  {\n    name: 'Proprietary',\n    id: '1133003',\n    value: 'D',\n    sort: 3,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1133,\n    type: 'char',\n    codeSet: 'ExDestinationIDSourceCodeSet',\n    description: 'Proprietary / Custom code',\n  },\n  {\n    name: 'ISOCountryCode',\n    id: '1133004',\n    value: 'E',\n    sort: 4,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1133,\n    type: 'char',\n    codeSet: 'ExDestinationIDSourceCodeSet',\n    description: 'ISO Country Code',\n  },\n  {\n    name: 'MIC',\n    id: '1133005',\n    value: 'G',\n    sort: 5,\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    tag: 1133,\n    type: 'char',\n    codeSet: 'ExDestinationIDSourceCodeSet',\n    description: 'MIC (ISO 10383 - Market Identifier Code)',\n  },\n  {\n    name: 'NotImplied',\n    id: '1144001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.5.0',\n    addedEP: '42',\n    tag: 1144,\n    type: 'int',\n    codeSet: 'ImpliedMarketIndicatorCodeSet',\n    description: 'Not implied',\n  },\n  {\n    name: 'ImpliedIn',\n    id: '1144002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.5.0',\n    addedEP: '42',\n    tag: 1144,\n    type: 'int',\n    codeSet: 'ImpliedMarketIndicatorCodeSet',\n    description:\n      'Implied-in - The existence of a multi-leg instrument is implied by the legs of that instrument',\n  },\n  {\n    name: 'ImpliedOut',\n    id: '1144003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.5.0',\n    addedEP: '42',\n    tag: 1144,\n    type: 'int',\n    codeSet: 'ImpliedMarketIndicatorCodeSet',\n    description:\n      'Implied-out - The existence of the underlying legs are implied by the multi-leg instrument',\n  },\n  {\n    name: 'BothImpliedInAndImpliedOut',\n    id: '1144004',\n    value: '3',\n    sort: 4,\n    added: 'FIX.5.0',\n    addedEP: '42',\n    tag: 1144,\n    type: 'int',\n    codeSet: 'ImpliedMarketIndicatorCodeSet',\n    description: 'Both Implied-in and Implied-out',\n  },\n  {\n    name: 'Preliminary',\n    id: '1159001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0',\n    addedEP: '44',\n    tag: 1159,\n    type: 'int',\n    codeSet: 'SettlObligModeCodeSet',\n    description: 'Preliminary',\n  },\n  {\n    name: 'Final',\n    id: '1159002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0',\n    addedEP: '44',\n    tag: 1159,\n    type: 'int',\n    codeSet: 'SettlObligModeCodeSet',\n    description: 'Final',\n  },\n  {\n    name: 'Cancel',\n    id: '1162001',\n    value: 'C',\n    sort: 1,\n    added: 'FIX.5.0',\n    addedEP: '44',\n    tag: 1162,\n    type: 'char',\n    codeSet: 'SettlObligTransTypeCodeSet',\n    description: 'Cancel',\n  },\n  {\n    name: 'New',\n    id: '1162002',\n    value: 'N',\n    sort: 2,\n    added: 'FIX.5.0',\n    addedEP: '44',\n    tag: 1162,\n    type: 'char',\n    codeSet: 'SettlObligTransTypeCodeSet',\n    description: 'New',\n  },\n  {\n    name: 'Replace',\n    id: '1162003',\n    value: 'R',\n    sort: 3,\n    added: 'FIX.5.0',\n    addedEP: '44',\n    tag: 1162,\n    type: 'char',\n    codeSet: 'SettlObligTransTypeCodeSet',\n    description: 'Replace',\n  },\n  {\n    name: 'Restate',\n    id: '1162004',\n    value: 'T',\n    sort: 4,\n    added: 'FIX.5.0',\n    addedEP: '44',\n    tag: 1162,\n    type: 'char',\n    codeSet: 'SettlObligTransTypeCodeSet',\n    description: 'Restate',\n  },\n  {\n    name: 'InstructionsOfBroker',\n    id: '1164001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0',\n    addedEP: '44',\n    tag: 1164,\n    type: 'char',\n    codeSet: 'SettlObligSourceCodeSet',\n    description: 'Instructions of Broker',\n  },\n  {\n    name: 'InstructionsForInstitution',\n    id: '1164002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0',\n    addedEP: '44',\n    tag: 1164,\n    type: 'char',\n    codeSet: 'SettlObligSourceCodeSet',\n    description: 'Instructions for Institution',\n  },\n  {\n    name: 'Investor',\n    id: '1164003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0',\n    addedEP: '44',\n    tag: 1164,\n    type: 'char',\n    codeSet: 'SettlObligSourceCodeSet',\n    description: 'Investor',\n  },\n  {\n    name: 'BuyersSettlementInstructions',\n    id: '1164004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '100',\n    tag: 1164,\n    type: 'char',\n    codeSet: 'SettlObligSourceCodeSet',\n    description: \"Buyer's settlement instructions\",\n  },\n  {\n    name: 'SellersSettlementInstructions',\n    id: '1164005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '100',\n    tag: 1164,\n    type: 'char',\n    codeSet: 'SettlObligSourceCodeSet',\n    description: \"Seller's settlement instructions\",\n  },\n  {\n    name: 'Accepted',\n    id: '1167001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.5.0',\n    addedEP: '45',\n    tag: 1167,\n    type: 'int',\n    codeSet: 'QuoteEntryStatusCodeSet',\n    description: 'Accepted',\n  },\n  {\n    name: 'Rejected',\n    id: '1167002',\n    value: '5',\n    sort: 2,\n    added: 'FIX.5.0',\n    addedEP: '45',\n    tag: 1167,\n    type: 'int',\n    codeSet: 'QuoteEntryStatusCodeSet',\n    description: 'Rejected',\n  },\n  {\n    name: 'RemovedFromMarket',\n    id: '1167003',\n    value: '6',\n    sort: 3,\n    added: 'FIX.5.0',\n    addedEP: '45',\n    tag: 1167,\n    type: 'int',\n    codeSet: 'QuoteEntryStatusCodeSet',\n    description: 'Removed from Market',\n  },\n  {\n    name: 'Expired',\n    id: '1167004',\n    value: '7',\n    sort: 4,\n    added: 'FIX.5.0',\n    addedEP: '45',\n    tag: 1167,\n    type: 'int',\n    codeSet: 'QuoteEntryStatusCodeSet',\n    description: 'Expired',\n  },\n  {\n    name: 'LockedMarketWarning',\n    id: '1167005',\n    value: '12',\n    sort: 5,\n    added: 'FIX.5.0',\n    addedEP: '45',\n    tag: 1167,\n    type: 'int',\n    codeSet: 'QuoteEntryStatusCodeSet',\n    description: 'Locked Market Warning',\n  },\n  {\n    name: 'CrossMarketWarning',\n    id: '1167006',\n    value: '13',\n    sort: 6,\n    added: 'FIX.5.0',\n    addedEP: '45',\n    tag: 1167,\n    type: 'int',\n    codeSet: 'QuoteEntryStatusCodeSet',\n    description: 'Cross Market Warning',\n  },\n  {\n    name: 'CanceledDueToLockMarket',\n    id: '1167007',\n    value: '14',\n    sort: 7,\n    added: 'FIX.5.0',\n    addedEP: '45',\n    tag: 1167,\n    type: 'int',\n    codeSet: 'QuoteEntryStatusCodeSet',\n    description: 'Canceled due to Lock Market',\n  },\n  {\n    name: 'CanceledDueToCrossMarket',\n    id: '1167008',\n    value: '15',\n    sort: 8,\n    added: 'FIX.5.0',\n    addedEP: '45',\n    tag: 1167,\n    type: 'int',\n    codeSet: 'QuoteEntryStatusCodeSet',\n    description: 'Canceled due to Cross Market',\n  },\n  {\n    name: 'Active',\n    id: '1167009',\n    value: '16',\n    sort: 9,\n    added: 'FIX.5.0',\n    addedEP: '45',\n    tag: 1167,\n    type: 'int',\n    codeSet: 'QuoteEntryStatusCodeSet',\n    description: 'Active',\n  },\n  {\n    name: 'PrivateQuote',\n    id: '1171001',\n    value: 'Y',\n    sort: 1,\n    added: 'FIX.5.0',\n    addedEP: '46',\n    tag: 1171,\n    type: 'Boolean',\n    codeSet: 'PrivateQuoteCodeSet',\n    description: 'Private Quote',\n  },\n  {\n    name: 'PublicQuote',\n    id: '1171002',\n    value: 'N',\n    sort: 2,\n    added: 'FIX.5.0',\n    addedEP: '46',\n    tag: 1171,\n    type: 'Boolean',\n    codeSet: 'PrivateQuoteCodeSet',\n    description: 'Public Quote',\n  },\n  {\n    name: 'AllMarketParticipants',\n    id: '1172001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0',\n    addedEP: '46',\n    tag: 1172,\n    type: 'int',\n    codeSet: 'RespondentTypeCodeSet',\n    description: 'All market participants',\n  },\n  {\n    name: 'SpecifiedMarketParticipants',\n    id: '1172002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0',\n    addedEP: '46',\n    tag: 1172,\n    type: 'int',\n    codeSet: 'RespondentTypeCodeSet',\n    description: 'Specified market participants',\n  },\n  {\n    name: 'AllMarketMakers',\n    id: '1172003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0',\n    addedEP: '46',\n    tag: 1172,\n    type: 'int',\n    codeSet: 'RespondentTypeCodeSet',\n    description: 'All Market Makers',\n  },\n  {\n    name: 'PrimaryMarketMaker',\n    id: '1172004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0',\n    addedEP: '46',\n    tag: 1172,\n    type: 'int',\n    codeSet: 'RespondentTypeCodeSet',\n    description: 'Primary Market Maker(s)',\n  },\n  {\n    name: 'OrderImbalance',\n    id: '1174001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0',\n    addedEP: '47',\n    tag: 1174,\n    type: 'int',\n    codeSet: 'SecurityTradingEventCodeSet',\n    description: 'Order imbalance, auction is extended',\n  },\n  {\n    name: 'TradingResumes',\n    id: '1174002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0',\n    addedEP: '47',\n    tag: 1174,\n    type: 'int',\n    codeSet: 'SecurityTradingEventCodeSet',\n    description: 'Trading resumes (after Halt)',\n  },\n  {\n    name: 'PriceVolatilityInterruption',\n    id: '1174003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0',\n    addedEP: '47',\n    tag: 1174,\n    type: 'int',\n    codeSet: 'SecurityTradingEventCodeSet',\n    description: 'Price Volatility Interruption',\n  },\n  {\n    name: 'ChangeOfTradingSession',\n    id: '1174004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0',\n    addedEP: '47',\n    tag: 1174,\n    type: 'int',\n    codeSet: 'SecurityTradingEventCodeSet',\n    description: 'Change of Trading Session',\n  },\n  {\n    name: 'ChangeOfTradingSubsession',\n    id: '1174005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0',\n    addedEP: '47',\n    tag: 1174,\n    type: 'int',\n    codeSet: 'SecurityTradingEventCodeSet',\n    description: 'Change of Trading Subsession',\n  },\n  {\n    name: 'ChangeOfSecurityTradingStatus',\n    id: '1174006',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0',\n    addedEP: '47',\n    updated: 'FIX.5.0SP1',\n    updatedEP: '95',\n    tag: 1174,\n    type: 'int',\n    codeSet: 'SecurityTradingEventCodeSet',\n    description: 'Change of Security Trading Status',\n  },\n  {\n    name: 'ChangeOfBookType',\n    id: '1174007',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0',\n    addedEP: '47',\n    tag: 1174,\n    type: 'int',\n    codeSet: 'SecurityTradingEventCodeSet',\n    description: 'Change of Book Type',\n  },\n  {\n    name: 'ChangeOfMarketDepth',\n    id: '1174008',\n    value: '8',\n    sort: 8,\n    added: 'FIX.5.0',\n    addedEP: '47',\n    tag: 1174,\n    type: 'int',\n    codeSet: 'SecurityTradingEventCodeSet',\n    description: 'Change of Market Depth',\n  },\n  {\n    name: 'CorporateAction',\n    id: '1174009',\n    value: '9',\n    sort: 9,\n    added: 'FIX.5.0SP2',\n    addedEP: '190',\n    tag: 1174,\n    type: 'int',\n    codeSet: 'SecurityTradingEventCodeSet',\n    description: 'Corporate action',\n  },\n  {\n    name: 'ExchangeLast',\n    id: '1176001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0',\n    addedEP: '47',\n    tag: 1176,\n    type: 'int',\n    codeSet: 'StatsTypeCodeSet',\n    description: 'Exchange Last',\n  },\n  {\n    name: 'High',\n    id: '1176002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0',\n    addedEP: '47',\n    tag: 1176,\n    type: 'int',\n    codeSet: 'StatsTypeCodeSet',\n    description: 'High / Low Price',\n  },\n  {\n    name: 'AveragePrice',\n    id: '1176003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0',\n    addedEP: '47',\n    tag: 1176,\n    type: 'int',\n    codeSet: 'StatsTypeCodeSet',\n    description: 'Average Price (VWAP, TWAP ... )',\n  },\n  {\n    name: 'Turnover',\n    id: '1176004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0',\n    addedEP: '47',\n    tag: 1176,\n    type: 'int',\n    codeSet: 'StatsTypeCodeSet',\n    description: 'Turnover (Price * Qty)',\n  },\n  {\n    name: 'Customer',\n    id: '1178001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0',\n    addedEP: '47',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '190',\n    tag: 1178,\n    type: 'int',\n    codeSet: 'MDSecSizeTypeCodeSet',\n    description: 'Customer\\n\\nQuantity of retail investors.',\n  },\n  {\n    name: 'CustomerProfessional',\n    id: '1178002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '190',\n    tag: 1178,\n    type: 'int',\n    codeSet: 'MDSecSizeTypeCodeSet',\n    description:\n      'Customer professional\\n\\nQuantity of high-volume investors acting similar to broker-dealers.',\n  },\n  {\n    name: 'DoNotTradeThrough',\n    id: '1178003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '190',\n    tag: 1178,\n    type: 'int',\n    codeSet: 'MDSecSizeTypeCodeSet',\n    description:\n      'Do not trade through\\n\\nQuantity that cannot trade through the away markets.',\n  },\n  {\n    name: 'CashSettlementRequired',\n    id: '1193001',\n    value: 'C',\n    sort: 1,\n    added: 'FIX.5.0',\n    addedEP: '52',\n    tag: 1193,\n    type: 'String',\n    codeSet: 'SettlMethodCodeSet',\n    description: 'Cash settlement required',\n  },\n  {\n    name: 'PhysicalSettlementRequired',\n    id: '1193002',\n    value: 'P',\n    sort: 2,\n    added: 'FIX.5.0',\n    addedEP: '52',\n    tag: 1193,\n    type: 'String',\n    codeSet: 'SettlMethodCodeSet',\n    description: 'Physical settlement required',\n  },\n  {\n    name: 'Election',\n    id: '1193003',\n    value: 'E',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 1193,\n    type: 'String',\n    codeSet: 'SettlMethodCodeSet',\n    description:\n      'Election at exercise\\n\\nThe settlement method will be elected at the time of contract exercise.',\n  },\n  {\n    name: 'European',\n    id: '1194001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.5.0',\n    addedEP: '52',\n    tag: 1194,\n    type: 'int',\n    codeSet: 'ExerciseStyleCodeSet',\n    description: 'European',\n  },\n  {\n    name: 'American',\n    id: '1194002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.5.0',\n    addedEP: '52',\n    tag: 1194,\n    type: 'int',\n    codeSet: 'ExerciseStyleCodeSet',\n    description: 'American',\n  },\n  {\n    name: 'Bermuda',\n    id: '1194003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.5.0',\n    addedEP: '52',\n    tag: 1194,\n    type: 'int',\n    codeSet: 'ExerciseStyleCodeSet',\n    description: 'Bermuda',\n  },\n  {\n    name: 'Other',\n    id: '1194004',\n    value: '99',\n    sort: 99,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1194,\n    type: 'int',\n    codeSet: 'ExerciseStyleCodeSet',\n    description: 'Other',\n  },\n  {\n    name: 'Standard',\n    id: '1196001',\n    value: 'STD',\n    sort: 1,\n    added: 'FIX.5.0',\n    addedEP: '52',\n    tag: 1196,\n    type: 'String',\n    codeSet: 'PriceQuoteMethodCodeSet',\n    description: 'Standard, money per unit of a physical',\n  },\n  {\n    name: 'Index',\n    id: '1196002',\n    value: 'INX',\n    sort: 2,\n    added: 'FIX.5.0',\n    addedEP: '52',\n    tag: 1196,\n    type: 'String',\n    codeSet: 'PriceQuoteMethodCodeSet',\n    description: 'Index',\n  },\n  {\n    name: 'InterestRateIndex',\n    id: '1196003',\n    value: 'INT',\n    sort: 3,\n    added: 'FIX.5.0',\n    addedEP: '52',\n    tag: 1196,\n    type: 'String',\n    codeSet: 'PriceQuoteMethodCodeSet',\n    description: 'Interest rate Index',\n  },\n  {\n    name: 'PercentOfPar',\n    id: '1196004',\n    value: 'PCTPAR',\n    sort: 4,\n    added: 'FIX.5.0SP1',\n    addedEP: '83',\n    tag: 1196,\n    type: 'String',\n    codeSet: 'PriceQuoteMethodCodeSet',\n    description: 'Percent of Par',\n  },\n  {\n    name: 'PremiumStyle',\n    id: '1197001',\n    value: 'EQTY',\n    sort: 1,\n    added: 'FIX.5.0',\n    addedEP: '52',\n    tag: 1197,\n    type: 'String',\n    codeSet: 'ValuationMethodCodeSet',\n    description: 'premium style',\n  },\n  {\n    name: 'FuturesStyleMarkToMarket',\n    id: '1197002',\n    value: 'FUT',\n    sort: 2,\n    added: 'FIX.5.0',\n    addedEP: '52',\n    tag: 1197,\n    type: 'String',\n    codeSet: 'ValuationMethodCodeSet',\n    description: 'futures style mark-to-market',\n  },\n  {\n    name: 'FuturesStyleWithAnAttachedCashAdjustment',\n    id: '1197003',\n    value: 'FUTDA',\n    sort: 3,\n    added: 'FIX.5.0',\n    addedEP: '52',\n    tag: 1197,\n    type: 'String',\n    codeSet: 'ValuationMethodCodeSet',\n    description: 'futures style with an attached cash adjustment',\n  },\n  {\n    name: 'CDSStyleCollateralization',\n    id: '1197004',\n    value: 'CDS',\n    sort: 4,\n    added: 'FIX.5.0SP1',\n    addedEP: '83',\n    tag: 1197,\n    type: 'String',\n    codeSet: 'ValuationMethodCodeSet',\n    description: 'CDS style collateralization of market to market and coupon',\n  },\n  {\n    name: 'CDSInDeliveryUseRecoveryRateToCalculate',\n    id: '1197005',\n    value: 'CDSD',\n    sort: 5,\n    added: 'FIX.5.0SP1',\n    addedEP: '83',\n    tag: 1197,\n    type: 'String',\n    codeSet: 'ValuationMethodCodeSet',\n    description: 'CDS in delivery - use recovery rate to calculate obligation',\n  },\n  {\n    name: 'PreListedOnly',\n    id: '1198001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.5.0',\n    addedEP: '52',\n    tag: 1198,\n    type: 'int',\n    codeSet: 'ListMethodCodeSet',\n    description: 'pre-listed only',\n  },\n  {\n    name: 'UserRequested',\n    id: '1198002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.5.0',\n    addedEP: '52',\n    tag: 1198,\n    type: 'int',\n    codeSet: 'ListMethodCodeSet',\n    description: 'user requested',\n  },\n  {\n    name: 'RegularTrading',\n    id: '1209001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.5.0',\n    addedEP: '52',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '138',\n    tag: 1209,\n    type: 'int',\n    codeSet: 'TickRuleTypeCodeSet',\n    description: 'Regular trading',\n  },\n  {\n    name: 'VariableCabinet',\n    id: '1209002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.5.0',\n    addedEP: '52',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '138',\n    tag: 1209,\n    type: 'int',\n    codeSet: 'TickRuleTypeCodeSet',\n    description: 'Variable cabinet',\n  },\n  {\n    name: 'FixedCabinet',\n    id: '1209003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.5.0',\n    addedEP: '52',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '138',\n    tag: 1209,\n    type: 'int',\n    codeSet: 'TickRuleTypeCodeSet',\n    description: 'Fixed cabinet',\n  },\n  {\n    name: 'TradedAsASpreadLeg',\n    id: '1209004',\n    value: '3',\n    sort: 4,\n    added: 'FIX.5.0',\n    addedEP: '52',\n    tag: 1209,\n    type: 'int',\n    codeSet: 'TickRuleTypeCodeSet',\n    description: 'Traded as a spread leg',\n  },\n  {\n    name: 'SettledAsASpreadLeg',\n    id: '1209005',\n    value: '4',\n    sort: 5,\n    added: 'FIX.5.0',\n    addedEP: '52',\n    deprecated: 'FIX.5.0SP2',\n    deprecatedEP: '138',\n    tag: 1209,\n    type: 'int',\n    codeSet: 'TickRuleTypeCodeSet',\n    description: 'Settled as a spread leg',\n  },\n  {\n    name: 'TradedAsSpread',\n    id: '1209006',\n    value: '5',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '138',\n    tag: 1209,\n    type: 'int',\n    codeSet: 'TickRuleTypeCodeSet',\n    description: 'Traded as spread\\n\\nBasis points spread',\n  },\n  {\n    name: 'Months',\n    id: '1302001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.5.0',\n    addedEP: '52',\n    tag: 1302,\n    type: 'int',\n    codeSet: 'MaturityMonthYearIncrementUnitsCodeSet',\n    description: 'Months',\n  },\n  {\n    name: 'Days',\n    id: '1302002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.5.0',\n    addedEP: '52',\n    tag: 1302,\n    type: 'int',\n    codeSet: 'MaturityMonthYearIncrementUnitsCodeSet',\n    description: 'Days',\n  },\n  {\n    name: 'Weeks',\n    id: '1302003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.5.0',\n    addedEP: '52',\n    tag: 1302,\n    type: 'int',\n    codeSet: 'MaturityMonthYearIncrementUnitsCodeSet',\n    description: 'Weeks',\n  },\n  {\n    name: 'Years',\n    id: '1302004',\n    value: '3',\n    sort: 4,\n    added: 'FIX.5.0',\n    addedEP: '52',\n    tag: 1302,\n    type: 'int',\n    codeSet: 'MaturityMonthYearIncrementUnitsCodeSet',\n    description: 'Years',\n  },\n  {\n    name: 'YearMonthOnly',\n    id: '1303001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.5.0',\n    addedEP: '52',\n    tag: 1303,\n    type: 'int',\n    codeSet: 'MaturityMonthYearFormatCodeSet',\n    description: 'YearMonth Only (default)',\n  },\n  {\n    name: 'YearMonthDay',\n    id: '1303002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.5.0',\n    addedEP: '52',\n    tag: 1303,\n    type: 'int',\n    codeSet: 'MaturityMonthYearFormatCodeSet',\n    description: 'YearMonthDay',\n  },\n  {\n    name: 'YearMonthWeek',\n    id: '1303003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.5.0',\n    addedEP: '52',\n    tag: 1303,\n    type: 'int',\n    codeSet: 'MaturityMonthYearFormatCodeSet',\n    description: 'YearMonthWeek',\n  },\n  {\n    name: 'Price',\n    id: '1306001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.5.0',\n    addedEP: '52',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '204',\n    tag: 1306,\n    type: 'int',\n    codeSet: 'PriceLimitTypeCodeSet',\n    description: 'Price (default)',\n  },\n  {\n    name: 'Ticks',\n    id: '1306002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.5.0',\n    addedEP: '52',\n    tag: 1306,\n    type: 'int',\n    codeSet: 'PriceLimitTypeCodeSet',\n    description: 'Ticks',\n  },\n  {\n    name: 'Percentage',\n    id: '1306003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.5.0',\n    addedEP: '52',\n    tag: 1306,\n    type: 'int',\n    codeSet: 'PriceLimitTypeCodeSet',\n    description: 'Percentage',\n  },\n  {\n    name: 'Add',\n    id: '1324001',\n    value: 'A',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '128',\n    tag: 1324,\n    type: 'char',\n    codeSet: 'ListUpdateActionCodeSet',\n    description: 'Add',\n  },\n  {\n    name: 'Delete',\n    id: '1324002',\n    value: 'D',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '128',\n    tag: 1324,\n    type: 'char',\n    codeSet: 'ListUpdateActionCodeSet',\n    description: 'Delete',\n  },\n  {\n    name: 'Modify',\n    id: '1324003',\n    value: 'M',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '128',\n    tag: 1324,\n    type: 'char',\n    codeSet: 'ListUpdateActionCodeSet',\n    description: 'Modify',\n  },\n  {\n    name: 'Snapshot',\n    id: '1324004',\n    value: 'S',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '128',\n    tag: 1324,\n    type: 'char',\n    codeSet: 'ListUpdateActionCodeSet',\n    description: 'Snapshot',\n  },\n  {\n    name: 'SessionActive',\n    id: '1409001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.5.0',\n    addedEP: '56',\n    tag: 1409,\n    type: 'int',\n    codeSet: 'SessionStatusCodeSet',\n    description: 'Session active',\n  },\n  {\n    name: 'SessionPasswordChanged',\n    id: '1409002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.5.0',\n    addedEP: '56',\n    tag: 1409,\n    type: 'int',\n    codeSet: 'SessionStatusCodeSet',\n    description: 'Session password changed',\n  },\n  {\n    name: 'SessionPasswordDueToExpire',\n    id: '1409003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.5.0',\n    addedEP: '56',\n    tag: 1409,\n    type: 'int',\n    codeSet: 'SessionStatusCodeSet',\n    description: 'Session password due to expire',\n  },\n  {\n    name: 'NewSessionPasswordDoesNotComplyWithPolicy',\n    id: '1409004',\n    value: '3',\n    sort: 4,\n    added: 'FIX.5.0',\n    addedEP: '56',\n    tag: 1409,\n    type: 'int',\n    codeSet: 'SessionStatusCodeSet',\n    description: 'New session password does not comply with policy',\n  },\n  {\n    name: 'SessionLogoutComplete',\n    id: '1409005',\n    value: '4',\n    sort: 5,\n    added: 'FIX.5.0',\n    addedEP: '56',\n    tag: 1409,\n    type: 'int',\n    codeSet: 'SessionStatusCodeSet',\n    description: 'Session logout complete',\n  },\n  {\n    name: 'InvalidUsernameOrPassword',\n    id: '1409006',\n    value: '5',\n    sort: 6,\n    added: 'FIX.5.0',\n    addedEP: '56',\n    tag: 1409,\n    type: 'int',\n    codeSet: 'SessionStatusCodeSet',\n    description: 'Invalid username or password',\n  },\n  {\n    name: 'AccountLocked',\n    id: '1409007',\n    value: '6',\n    sort: 7,\n    added: 'FIX.5.0',\n    addedEP: '56',\n    tag: 1409,\n    type: 'int',\n    codeSet: 'SessionStatusCodeSet',\n    description: 'Account locked',\n  },\n  {\n    name: 'LogonsAreNotAllowedAtThisTime',\n    id: '1409008',\n    value: '7',\n    sort: 8,\n    added: 'FIX.5.0',\n    addedEP: '56',\n    tag: 1409,\n    type: 'int',\n    codeSet: 'SessionStatusCodeSet',\n    description: 'Logons are not allowed at this time',\n  },\n  {\n    name: 'PasswordExpired',\n    id: '1409009',\n    value: '8',\n    sort: 9,\n    added: 'FIX.5.0',\n    addedEP: '56',\n    tag: 1409,\n    type: 'int',\n    codeSet: 'SessionStatusCodeSet',\n    description: 'Password expired',\n  },\n  {\n    name: 'ReceivedMsgSeqNumTooLow',\n    id: '1409010',\n    value: '9',\n    sort: 10,\n    added: 'FIX.5.0SP2',\n    addedEP: '124',\n    tag: 1409,\n    type: 'int',\n    codeSet: 'SessionStatusCodeSet',\n    description: 'Received MsgSeqNum(34) is too low.',\n  },\n  {\n    name: 'ReceivedNextExpectedMsgSeqNumTooHigh',\n    id: '1409011',\n    value: '10',\n    sort: 11,\n    added: 'FIX.5.0SP2',\n    addedEP: '124',\n    tag: 1409,\n    type: 'int',\n    codeSet: 'SessionStatusCodeSet',\n    description: 'Received NextExpectedMsgSeqNum(789) is too high.',\n  },\n  {\n    name: 'TradingResumes',\n    id: '1368001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.5.0',\n    addedEP: '58',\n    tag: 1368,\n    type: 'int',\n    codeSet: 'TradSesEventCodeSet',\n    description: 'Trading resumes (after Halt)',\n  },\n  {\n    name: 'ChangeOfTradingSession',\n    id: '1368002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.5.0',\n    addedEP: '58',\n    tag: 1368,\n    type: 'int',\n    codeSet: 'TradSesEventCodeSet',\n    description: 'Change of Trading Session',\n  },\n  {\n    name: 'ChangeOfTradingSubsession',\n    id: '1368003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.5.0',\n    addedEP: '58',\n    tag: 1368,\n    type: 'int',\n    codeSet: 'TradSesEventCodeSet',\n    description: 'Change of Trading Subsession',\n  },\n  {\n    name: 'ChangeOfTradingStatus',\n    id: '1368004',\n    value: '3',\n    sort: 4,\n    added: 'FIX.5.0',\n    addedEP: '58',\n    tag: 1368,\n    type: 'int',\n    codeSet: 'TradSesEventCodeSet',\n    description: 'Change of Trading Status',\n  },\n  {\n    name: 'SuspendOrders',\n    id: '1373001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0',\n    addedEP: '58',\n    tag: 1373,\n    type: 'int',\n    codeSet: 'MassActionTypeCodeSet',\n    description: 'Suspend orders',\n  },\n  {\n    name: 'ReleaseOrdersFromSuspension',\n    id: '1373002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0',\n    addedEP: '58',\n    tag: 1373,\n    type: 'int',\n    codeSet: 'MassActionTypeCodeSet',\n    description: 'Release orders from suspension',\n  },\n  {\n    name: 'CancelOrders',\n    id: '1373003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0',\n    addedEP: '58',\n    tag: 1373,\n    type: 'int',\n    codeSet: 'MassActionTypeCodeSet',\n    description: 'Cancel orders',\n  },\n  {\n    name: 'AllOrdersForASecurity',\n    id: '1374001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0',\n    addedEP: '58',\n    tag: 1374,\n    type: 'int',\n    codeSet: 'MassActionScopeCodeSet',\n    description: 'All orders for a security',\n  },\n  {\n    name: 'AllOrdersForAnUnderlyingSecurity',\n    id: '1374002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0',\n    addedEP: '58',\n    tag: 1374,\n    type: 'int',\n    codeSet: 'MassActionScopeCodeSet',\n    description: 'All orders for an underlying security',\n  },\n  {\n    name: 'AllOrdersForAProduct',\n    id: '1374003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0',\n    addedEP: '58',\n    updated: 'FIX.Latest',\n    updatedEP: '282',\n    tag: 1374,\n    type: 'int',\n    codeSet: 'MassActionScopeCodeSet',\n    description: 'All orders for a product',\n  },\n  {\n    name: 'AllOrdersForACFICode',\n    id: '1374004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0',\n    addedEP: '58',\n    updated: 'FIX.Latest',\n    updatedEP: '282',\n    tag: 1374,\n    type: 'int',\n    codeSet: 'MassActionScopeCodeSet',\n    description: 'All orders for a CFI Code',\n  },\n  {\n    name: 'AllOrdersForASecurityType',\n    id: '1374005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0',\n    addedEP: '58',\n    updated: 'FIX.Latest',\n    updatedEP: '282',\n    tag: 1374,\n    type: 'int',\n    codeSet: 'MassActionScopeCodeSet',\n    description: 'All orders for a security type',\n  },\n  {\n    name: 'AllOrdersForATradingSession',\n    id: '1374006',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0',\n    addedEP: '58',\n    tag: 1374,\n    type: 'int',\n    codeSet: 'MassActionScopeCodeSet',\n    description: 'All orders for a trading session',\n  },\n  {\n    name: 'AllOrders',\n    id: '1374007',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0',\n    addedEP: '58',\n    tag: 1374,\n    type: 'int',\n    codeSet: 'MassActionScopeCodeSet',\n    description: 'All orders',\n  },\n  {\n    name: 'AllOrdersForAMarket',\n    id: '1374008',\n    value: '8',\n    sort: 8,\n    added: 'FIX.5.0',\n    addedEP: '58',\n    updated: 'FIX.Latest',\n    updatedEP: '282',\n    tag: 1374,\n    type: 'int',\n    codeSet: 'MassActionScopeCodeSet',\n    description: 'All orders for a market',\n  },\n  {\n    name: 'AllOrdersForAMarketSegment',\n    id: '1374009',\n    value: '9',\n    sort: 9,\n    added: 'FIX.5.0',\n    addedEP: '58',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '204',\n    tag: 1374,\n    type: 'int',\n    codeSet: 'MassActionScopeCodeSet',\n    description: 'All orders for a market segment (or multiple segments)',\n  },\n  {\n    name: 'AllOrdersForASecurityGroup',\n    id: '1374010',\n    value: '10',\n    sort: 10,\n    added: 'FIX.5.0',\n    addedEP: '58',\n    updated: 'FIX.Latest',\n    updatedEP: '282',\n    tag: 1374,\n    type: 'int',\n    codeSet: 'MassActionScopeCodeSet',\n    description: 'All orders for a security group',\n  },\n  {\n    name: 'CancelForSecurityIssuer',\n    id: '1374011',\n    value: '11',\n    sort: 11,\n    added: 'FIX.5.0SP1',\n    addedEP: '85',\n    updated: 'FIX.Latest',\n    updatedEP: '282',\n    tag: 1374,\n    type: 'int',\n    codeSet: 'MassActionScopeCodeSet',\n    description: 'All orders for an issuer',\n  },\n  {\n    name: 'CancelForIssuerOfUnderlyingSecurity',\n    id: '1374012',\n    value: '12',\n    sort: 12,\n    added: 'FIX.5.0SP1',\n    addedEP: '85',\n    updated: 'FIX.Latest',\n    updatedEP: '282',\n    tag: 1374,\n    type: 'int',\n    codeSet: 'MassActionScopeCodeSet',\n    description: 'All orders for an issuer of underlying security',\n  },\n  {\n    name: 'Rejected',\n    id: '1375001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0',\n    addedEP: '58',\n    tag: 1375,\n    type: 'int',\n    codeSet: 'MassActionResponseCodeSet',\n    description: 'Rejected - See MassActionRejectReason(1376)',\n  },\n  {\n    name: 'Accepted',\n    id: '1375002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0',\n    addedEP: '58',\n    tag: 1375,\n    type: 'int',\n    codeSet: 'MassActionResponseCodeSet',\n    description: 'Accepted',\n  },\n  {\n    name: 'Completed',\n    id: '1375003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 1375,\n    type: 'int',\n    codeSet: 'MassActionResponseCodeSet',\n    description: 'Completed',\n  },\n  {\n    name: 'MassActionNotSupported',\n    id: '1376001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0',\n    addedEP: '58',\n    updated: 'FIX.Latest',\n    updatedEP: '282',\n    tag: 1376,\n    type: 'int',\n    codeSet: 'MassActionRejectReasonCodeSet',\n    description: 'Mass action not supported',\n  },\n  {\n    name: 'InvalidOrUnknownSecurity',\n    id: '1376002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0',\n    addedEP: '58',\n    tag: 1376,\n    type: 'int',\n    codeSet: 'MassActionRejectReasonCodeSet',\n    description: 'Invalid or unknown security',\n  },\n  {\n    name: 'InvalidOrUnknownUnderlyingSecurity',\n    id: '1376003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0',\n    addedEP: '58',\n    tag: 1376,\n    type: 'int',\n    codeSet: 'MassActionRejectReasonCodeSet',\n    description: 'Invalid or unknown underlying security',\n  },\n  {\n    name: 'InvalidOrUnknownProduct',\n    id: '1376004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0',\n    addedEP: '58',\n    updated: 'FIX.Latest',\n    updatedEP: '282',\n    tag: 1376,\n    type: 'int',\n    codeSet: 'MassActionRejectReasonCodeSet',\n    description: 'Invalid or unknown product',\n  },\n  {\n    name: 'InvalidOrUnknownCFICode',\n    id: '1376005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0',\n    addedEP: '58',\n    updated: 'FIX.Latest',\n    updatedEP: '282',\n    tag: 1376,\n    type: 'int',\n    codeSet: 'MassActionRejectReasonCodeSet',\n    description: 'Invalid or unknown CFI Code',\n  },\n  {\n    name: 'InvalidOrUnknownSecurityType',\n    id: '1376006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0',\n    addedEP: '58',\n    updated: 'FIX.Latest',\n    updatedEP: '282',\n    tag: 1376,\n    type: 'int',\n    codeSet: 'MassActionRejectReasonCodeSet',\n    description: 'Invalid or unknown security type',\n  },\n  {\n    name: 'InvalidOrUnknownTradingSession',\n    id: '1376007',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0',\n    addedEP: '58',\n    tag: 1376,\n    type: 'int',\n    codeSet: 'MassActionRejectReasonCodeSet',\n    description: 'Invalid or unknown trading session',\n  },\n  {\n    name: 'InvalidOrUnknownMarket',\n    id: '1376008',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0',\n    addedEP: '58',\n    updated: 'FIX.Latest',\n    updatedEP: '282',\n    tag: 1376,\n    type: 'int',\n    codeSet: 'MassActionRejectReasonCodeSet',\n    description: 'Invalid or unknown market',\n  },\n  {\n    name: 'InvalidOrUnknownMarketSegment',\n    id: '1376009',\n    value: '8',\n    sort: 8,\n    added: 'FIX.5.0',\n    addedEP: '58',\n    updated: 'FIX.Latest',\n    updatedEP: '282',\n    tag: 1376,\n    type: 'int',\n    codeSet: 'MassActionRejectReasonCodeSet',\n    description: 'Invalid or unknown market segment',\n  },\n  {\n    name: 'InvalidOrUnknownSecurityGroup',\n    id: '1376010',\n    value: '9',\n    sort: 9,\n    added: 'FIX.5.0',\n    addedEP: '58',\n    updated: 'FIX.Latest',\n    updatedEP: '282',\n    tag: 1376,\n    type: 'int',\n    codeSet: 'MassActionRejectReasonCodeSet',\n    description: 'Invalid or unknown security group',\n  },\n  {\n    name: 'InvalidOrUnknownSecurityIssuer',\n    id: '1376011',\n    value: '10',\n    sort: 10,\n    added: 'FIX.5.0SP1',\n    addedEP: '85',\n    updated: 'FIX.Latest',\n    updatedEP: '282',\n    tag: 1376,\n    type: 'int',\n    codeSet: 'MassActionRejectReasonCodeSet',\n    description: 'Invalid or unknown issuer',\n  },\n  {\n    name: 'InvalidOrUnknownIssuerOfUnderlyingSecurity',\n    id: '1376012',\n    value: '11',\n    sort: 11,\n    added: 'FIX.5.0SP1',\n    addedEP: '85',\n    updated: 'FIX.Latest',\n    updatedEP: '282',\n    tag: 1376,\n    type: 'int',\n    codeSet: 'MassActionRejectReasonCodeSet',\n    description: 'Invalid or unknown issuer of underlying security',\n  },\n  {\n    name: 'Other',\n    id: '1376013',\n    value: '99',\n    sort: 99,\n    added: 'FIX.5.0',\n    addedEP: '58',\n    tag: 1376,\n    type: 'int',\n    codeSet: 'MassActionRejectReasonCodeSet',\n    description: 'Other',\n  },\n  {\n    name: 'PredefinedMultilegSecurity',\n    id: '1377001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.5.0',\n    addedEP: '59',\n    tag: 1377,\n    type: 'int',\n    codeSet: 'MultilegModelCodeSet',\n    description: 'Predefined Multileg Security',\n  },\n  {\n    name: 'UserDefinedMultilegSecurity',\n    id: '1377002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.5.0',\n    addedEP: '59',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '195',\n    tag: 1377,\n    type: 'int',\n    codeSet: 'MultilegModelCodeSet',\n    description: 'User-defined Multileg Security',\n  },\n  {\n    name: 'UserDefined',\n    id: '1377003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.5.0',\n    addedEP: '59',\n    tag: 1377,\n    type: 'int',\n    codeSet: 'MultilegModelCodeSet',\n    description: 'User-defined, Non-Securitized, Multileg',\n  },\n  {\n    name: 'NetPrice',\n    id: '1378001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.5.0',\n    addedEP: '59',\n    tag: 1378,\n    type: 'int',\n    codeSet: 'MultilegPriceMethodCodeSet',\n    description: 'Net Price',\n  },\n  {\n    name: 'ReversedNetPrice',\n    id: '1378002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.5.0',\n    addedEP: '59',\n    tag: 1378,\n    type: 'int',\n    codeSet: 'MultilegPriceMethodCodeSet',\n    description: 'Reversed Net Price',\n  },\n  {\n    name: 'YieldDifference',\n    id: '1378003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.5.0',\n    addedEP: '59',\n    tag: 1378,\n    type: 'int',\n    codeSet: 'MultilegPriceMethodCodeSet',\n    description: 'Yield Difference',\n  },\n  {\n    name: 'Individual',\n    id: '1378004',\n    value: '3',\n    sort: 4,\n    added: 'FIX.5.0',\n    addedEP: '59',\n    tag: 1378,\n    type: 'int',\n    codeSet: 'MultilegPriceMethodCodeSet',\n    description: 'Individual',\n  },\n  {\n    name: 'ContractWeightedAveragePrice',\n    id: '1378005',\n    value: '4',\n    sort: 5,\n    added: 'FIX.5.0',\n    addedEP: '59',\n    tag: 1378,\n    type: 'int',\n    codeSet: 'MultilegPriceMethodCodeSet',\n    description: 'Contract Weighted Average Price',\n  },\n  {\n    name: 'MultipliedPrice',\n    id: '1378006',\n    value: '5',\n    sort: 6,\n    added: 'FIX.5.0',\n    addedEP: '59',\n    tag: 1378,\n    type: 'int',\n    codeSet: 'MultilegPriceMethodCodeSet',\n    description: 'Multiplied Price',\n  },\n  {\n    name: 'OneCancelsTheOther',\n    id: '1385001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0',\n    addedEP: '60',\n    tag: 1385,\n    type: 'int',\n    codeSet: 'ContingencyTypeCodeSet',\n    description: 'One Cancels the Other (OCO)',\n  },\n  {\n    name: 'OneTriggersTheOther',\n    id: '1385002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0',\n    addedEP: '60',\n    tag: 1385,\n    type: 'int',\n    codeSet: 'ContingencyTypeCodeSet',\n    description: 'One Triggers the Other (OTO)',\n  },\n  {\n    name: 'OneUpdatesTheOtherAbsolute',\n    id: '1385003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0',\n    addedEP: '60',\n    tag: 1385,\n    type: 'int',\n    codeSet: 'ContingencyTypeCodeSet',\n    description: 'One Updates the Other (OUO) - Absolute Quantity Reduction',\n  },\n  {\n    name: 'OneUpdatesTheOtherProportional',\n    id: '1385004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0',\n    addedEP: '60',\n    tag: 1385,\n    type: 'int',\n    codeSet: 'ContingencyTypeCodeSet',\n    description: 'One Updates the Other (OUO) - Proportional Quantity Reduction',\n  },\n  {\n    name: 'BidAndOffer',\n    id: '1385005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '100',\n    tag: 1385,\n    type: 'int',\n    codeSet: 'ContingencyTypeCodeSet',\n    description: 'Bid and Offer',\n  },\n  {\n    name: 'BidAndOfferOCO',\n    id: '1385006',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '100',\n    tag: 1385,\n    type: 'int',\n    codeSet: 'ContingencyTypeCodeSet',\n    description: 'Bid and Offer OCO',\n  },\n  {\n    name: 'BrokerCredit',\n    id: '1386001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.5.0',\n    addedEP: '60',\n    tag: 1386,\n    type: 'int',\n    codeSet: 'ListRejectReasonCodeSet',\n    description: 'Broker / Exchange option',\n  },\n  {\n    name: 'ExchangeClosed',\n    id: '1386002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0',\n    addedEP: '60',\n    tag: 1386,\n    type: 'int',\n    codeSet: 'ListRejectReasonCodeSet',\n    description: 'Exchange closed',\n  },\n  {\n    name: 'TooLateToEnter',\n    id: '1386003',\n    value: '4',\n    sort: 3,\n    added: 'FIX.5.0',\n    addedEP: '60',\n    tag: 1386,\n    type: 'int',\n    codeSet: 'ListRejectReasonCodeSet',\n    description: 'Too late to enter',\n  },\n  {\n    name: 'UnknownOrder',\n    id: '1386004',\n    value: '5',\n    sort: 4,\n    added: 'FIX.5.0',\n    addedEP: '60',\n    tag: 1386,\n    type: 'int',\n    codeSet: 'ListRejectReasonCodeSet',\n    description: 'Unknown order',\n  },\n  {\n    name: 'DuplicateOrder',\n    id: '1386005',\n    value: '6',\n    sort: 5,\n    added: 'FIX.5.0',\n    addedEP: '60',\n    tag: 1386,\n    type: 'int',\n    codeSet: 'ListRejectReasonCodeSet',\n    description: 'Duplicate Order (e.g. dupe ClOrdID)',\n  },\n  {\n    name: 'UnsupportedOrderCharacteristic',\n    id: '1386006',\n    value: '11',\n    sort: 6,\n    added: 'FIX.5.0',\n    addedEP: '60',\n    tag: 1386,\n    type: 'int',\n    codeSet: 'ListRejectReasonCodeSet',\n    description: 'Unsupported order characteristic',\n  },\n  {\n    name: 'Other',\n    id: '1386007',\n    value: '99',\n    sort: 7,\n    added: 'FIX.5.0',\n    addedEP: '60',\n    tag: 1386,\n    type: 'int',\n    codeSet: 'ListRejectReasonCodeSet',\n    description: 'Other',\n  },\n  {\n    name: 'DoNotPublishTrade',\n    id: '1390001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.5.0',\n    addedEP: '61',\n    tag: 1390,\n    type: 'int',\n    codeSet: 'TradePublishIndicatorCodeSet',\n    description: 'Do Not Publish Trade',\n  },\n  {\n    name: 'PublishTrade',\n    id: '1390002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.5.0',\n    addedEP: '61',\n    tag: 1390,\n    type: 'int',\n    codeSet: 'TradePublishIndicatorCodeSet',\n    description: 'Publish Trade',\n  },\n  {\n    name: 'DeferredPublication',\n    id: '1390003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.5.0',\n    addedEP: '61',\n    tag: 1390,\n    type: 'int',\n    codeSet: 'TradePublishIndicatorCodeSet',\n    description: 'Deferred Publication',\n  },\n  {\n    name: 'Published',\n    id: '1390004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '229',\n    tag: 1390,\n    type: 'int',\n    codeSet: 'TradePublishIndicatorCodeSet',\n    description:\n      'Published\\n\\nIndicates that the transaction has been published to the market.',\n  },\n  {\n    name: 'Retransmission',\n    id: '1347001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.5.0',\n    addedEP: '63',\n    tag: 1347,\n    type: 'int',\n    codeSet: 'ApplReqTypeCodeSet',\n    description: 'Retransmission of application messages for the specified Applications',\n  },\n  {\n    name: 'Subscription',\n    id: '1347002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.5.0',\n    addedEP: '63',\n    tag: 1347,\n    type: 'int',\n    codeSet: 'ApplReqTypeCodeSet',\n    description: 'Subscription to the specified Applications',\n  },\n  {\n    name: 'RequestLastSeqNum',\n    id: '1347003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.5.0',\n    addedEP: '63',\n    tag: 1347,\n    type: 'int',\n    codeSet: 'ApplReqTypeCodeSet',\n    description:\n      'Request for the last ApplLastSeqNum published for the specified Applications',\n  },\n  {\n    name: 'RequestApplications',\n    id: '1347004',\n    value: '3',\n    sort: 4,\n    added: 'FIX.5.0',\n    addedEP: '63',\n    tag: 1347,\n    type: 'int',\n    codeSet: 'ApplReqTypeCodeSet',\n    description: 'Request valid set of Applications',\n  },\n  {\n    name: 'Unsubscribe',\n    id: '1347005',\n    value: '4',\n    sort: 5,\n    added: 'FIX.5.0',\n    addedEP: '63',\n    tag: 1347,\n    type: 'int',\n    codeSet: 'ApplReqTypeCodeSet',\n    description: 'Unsubscribe to the specified Applications',\n  },\n  {\n    name: 'CancelRetransmission',\n    id: '1347006',\n    value: '5',\n    sort: 6,\n    added: 'FIX.5.0SP1',\n    addedEP: '78',\n    tag: 1347,\n    type: 'int',\n    codeSet: 'ApplReqTypeCodeSet',\n    description: 'Cancel retransmission',\n  },\n  {\n    name: 'CancelRetransmissionUnsubscribe',\n    id: '1347007',\n    value: '6',\n    sort: 7,\n    added: 'FIX.5.0SP1',\n    addedEP: '78',\n    tag: 1347,\n    type: 'int',\n    codeSet: 'ApplReqTypeCodeSet',\n    description: 'Cancel retransmission and unsubscribe to the specified applications',\n  },\n  {\n    name: 'RequestSuccessfullyProcessed',\n    id: '1348001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.5.0',\n    addedEP: '63',\n    tag: 1348,\n    type: 'int',\n    codeSet: 'ApplResponseTypeCodeSet',\n    description: 'Request successfully processed',\n  },\n  {\n    name: 'ApplicationDoesNotExist',\n    id: '1348002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.5.0',\n    addedEP: '63',\n    tag: 1348,\n    type: 'int',\n    codeSet: 'ApplResponseTypeCodeSet',\n    description: 'Application does not exist',\n  },\n  {\n    name: 'MessagesNotAvailable',\n    id: '1348003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.5.0',\n    addedEP: '63',\n    tag: 1348,\n    type: 'int',\n    codeSet: 'ApplResponseTypeCodeSet',\n    description: 'Messages not available',\n  },\n  {\n    name: 'ApplicationDoesNotExist',\n    id: '1354001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.5.0',\n    addedEP: '63',\n    tag: 1354,\n    type: 'int',\n    codeSet: 'ApplResponseErrorCodeSet',\n    description: 'Application does not exist',\n  },\n  {\n    name: 'MessagesRequestedAreNotAvailable',\n    id: '1354002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.5.0',\n    addedEP: '63',\n    tag: 1354,\n    type: 'int',\n    codeSet: 'ApplResponseErrorCodeSet',\n    description: 'Messages requested are not available',\n  },\n  {\n    name: 'UserNotAuthorizedForApplication',\n    id: '1354003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.5.0',\n    addedEP: '63',\n    tag: 1354,\n    type: 'int',\n    codeSet: 'ApplResponseErrorCodeSet',\n    description: 'User not authorized for application',\n  },\n  {\n    name: 'ApplSeqNumReset',\n    id: '1426001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0',\n    addedEP: '-1',\n    tag: 1426,\n    type: 'int',\n    codeSet: 'ApplReportTypeCodeSet',\n    description: 'Reset ApplSeqNum to new value specified in ApplNewSeqNum(1399)',\n  },\n  {\n    name: 'LastMessageSent',\n    id: '1426002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0',\n    addedEP: '-1',\n    tag: 1426,\n    type: 'int',\n    codeSet: 'ApplReportTypeCodeSet',\n    description:\n      'Reports that the last message has been sent for the ApplIDs Refer to RefApplLastSeqNum(1357) for the application sequence number of the last message.',\n  },\n  {\n    name: 'ApplicationAlive',\n    id: '1426003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0',\n    addedEP: '-1',\n    tag: 1426,\n    type: 'int',\n    codeSet: 'ApplReportTypeCodeSet',\n    description:\n      'Heartbeat message indicating that Application identified by RefApplID(1355) is still alive. Refer to RefApplLastSeqNum(1357) for the application sequence number of the previous message.',\n  },\n  {\n    name: 'ResendComplete',\n    id: '1426004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP1',\n    addedEP: '91',\n    tag: 1426,\n    type: 'int',\n    codeSet: 'ApplReportTypeCodeSet',\n    description: 'Application message re-send completed.',\n  },\n  {\n    name: 'Seconds',\n    id: '1429001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP1',\n    addedEP: '77',\n    tag: 1429,\n    type: 'int',\n    codeSet: 'OrderDelayUnitCodeSet',\n    description: 'Seconds (default if not specified)',\n  },\n  {\n    name: 'TenthsOfASecond',\n    id: '1429002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP1',\n    addedEP: '77',\n    tag: 1429,\n    type: 'int',\n    codeSet: 'OrderDelayUnitCodeSet',\n    description: 'Tenths of a second',\n  },\n  {\n    name: 'HundredthsOfASecond',\n    id: '1429003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP1',\n    addedEP: '77',\n    tag: 1429,\n    type: 'int',\n    codeSet: 'OrderDelayUnitCodeSet',\n    description: 'Hundredths of a second',\n  },\n  {\n    name: 'Milliseconds',\n    id: '1429004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP1',\n    addedEP: '77',\n    tag: 1429,\n    type: 'int',\n    codeSet: 'OrderDelayUnitCodeSet',\n    description: 'milliseconds',\n  },\n  {\n    name: 'Microseconds',\n    id: '1429005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP1',\n    addedEP: '77',\n    tag: 1429,\n    type: 'int',\n    codeSet: 'OrderDelayUnitCodeSet',\n    description: 'microseconds',\n  },\n  {\n    name: 'Nanoseconds',\n    id: '1429006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP1',\n    addedEP: '77',\n    tag: 1429,\n    type: 'int',\n    codeSet: 'OrderDelayUnitCodeSet',\n    description: 'nanoseconds',\n  },\n  {\n    name: 'Minutes',\n    id: '1429007',\n    value: '10',\n    sort: 10,\n    added: 'FIX.5.0SP1',\n    addedEP: '77',\n    tag: 1429,\n    type: 'int',\n    codeSet: 'OrderDelayUnitCodeSet',\n    description: 'minutes',\n  },\n  {\n    name: 'Hours',\n    id: '1429008',\n    value: '11',\n    sort: 11,\n    added: 'FIX.5.0SP1',\n    addedEP: '77',\n    tag: 1429,\n    type: 'int',\n    codeSet: 'OrderDelayUnitCodeSet',\n    description: 'hours',\n  },\n  {\n    name: 'Days',\n    id: '1429009',\n    value: '12',\n    sort: 12,\n    added: 'FIX.5.0SP1',\n    addedEP: '77',\n    tag: 1429,\n    type: 'int',\n    codeSet: 'OrderDelayUnitCodeSet',\n    description: 'days',\n  },\n  {\n    name: 'Weeks',\n    id: '1429010',\n    value: '13',\n    sort: 13,\n    added: 'FIX.5.0SP1',\n    addedEP: '77',\n    tag: 1429,\n    type: 'int',\n    codeSet: 'OrderDelayUnitCodeSet',\n    description: 'weeks',\n  },\n  {\n    name: 'Months',\n    id: '1429011',\n    value: '14',\n    sort: 14,\n    added: 'FIX.5.0SP1',\n    addedEP: '77',\n    tag: 1429,\n    type: 'int',\n    codeSet: 'OrderDelayUnitCodeSet',\n    description: 'months',\n  },\n  {\n    name: 'Years',\n    id: '1429012',\n    value: '15',\n    sort: 15,\n    added: 'FIX.5.0SP1',\n    addedEP: '77',\n    tag: 1429,\n    type: 'int',\n    codeSet: 'OrderDelayUnitCodeSet',\n    description: 'years',\n  },\n  {\n    name: 'Electronic',\n    id: '1430001',\n    value: 'E',\n    sort: 0,\n    added: 'FIX.5.0SP1',\n    addedEP: '77',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '141',\n    tag: 1430,\n    type: 'char',\n    codeSet: 'VenueTypeCodeSet',\n    description: 'Electronic exchange',\n  },\n  {\n    name: 'Pit',\n    id: '1430002',\n    value: 'P',\n    sort: 1,\n    added: 'FIX.5.0SP1',\n    addedEP: '77',\n    tag: 1430,\n    type: 'char',\n    codeSet: 'VenueTypeCodeSet',\n    description: 'Pit',\n  },\n  {\n    name: 'ExPit',\n    id: '1430003',\n    value: 'X',\n    sort: 2,\n    added: 'FIX.5.0SP1',\n    addedEP: '77',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '141',\n    tag: 1430,\n    type: 'char',\n    codeSet: 'VenueTypeCodeSet',\n    description: 'Ex-pit',\n  },\n  {\n    name: 'ClearingHouse',\n    id: '1430004',\n    value: 'C',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '141',\n    tag: 1430,\n    type: 'char',\n    codeSet: 'VenueTypeCodeSet',\n    description: 'Clearinghouse',\n  },\n  {\n    name: 'RegisteredMarket',\n    id: '1430005',\n    value: 'R',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1430,\n    type: 'char',\n    codeSet: 'VenueTypeCodeSet',\n    description:\n      'Registered market\\n\\nMarkets registered with regulators such as exchange, multilateral trading facility (MTF), swap execution facility (SEF). In the context of regulatory reporting (e.g. CFTC reporting), this is used for regulated markets, e.g. swap markets.',\n  },\n  {\n    name: 'OffMarket',\n    id: '1430006',\n    value: 'O',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1430,\n    type: 'char',\n    codeSet: 'VenueTypeCodeSet',\n    description:\n      'Off-market\\n\\nOff-book, off-facility. In the context of regulatory reporting (e.g. CFTC reporting) this identifies trades conducted away from a regulated market.',\n  },\n  {\n    name: 'CentralLimitOrderBook',\n    id: '1430007',\n    value: 'B',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '163',\n    tag: 1430,\n    type: 'char',\n    codeSet: 'VenueTypeCodeSet',\n    description: 'Central limit order book',\n  },\n  {\n    name: 'QuoteDrivenMarket',\n    id: '1430008',\n    value: 'Q',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '163',\n    tag: 1430,\n    type: 'char',\n    codeSet: 'VenueTypeCodeSet',\n    description: 'Quote driven market',\n  },\n  {\n    name: 'DarkOrderBook',\n    id: '1430009',\n    value: 'D',\n    sort: 8,\n    added: 'FIX.5.0SP2',\n    addedEP: '163',\n    tag: 1430,\n    type: 'char',\n    codeSet: 'VenueTypeCodeSet',\n    description: 'Dark order book',\n  },\n  {\n    name: 'AuctionDrivenMarket',\n    id: '1430010',\n    value: 'A',\n    sort: 9,\n    added: 'FIX.5.0SP2',\n    addedEP: '216',\n    tag: 1430,\n    type: 'char',\n    codeSet: 'VenueTypeCodeSet',\n    description:\n      'Auction driven market\\n\\nMarkets where matching occurs only in scheduled auctions.',\n  },\n  {\n    name: 'QuoteNegotiation',\n    id: '1430011',\n    value: 'N',\n    sort: 10,\n    added: 'FIX.5.0SP2',\n    addedEP: '216',\n    tag: 1430,\n    type: 'char',\n    codeSet: 'VenueTypeCodeSet',\n    description:\n      'Quote negotiation\\n\\nDiscretionary quoting on request or \"request for quote\" market.',\n  },\n  {\n    name: 'VoiceNegotiation',\n    id: '1430012',\n    value: 'V',\n    sort: 11,\n    added: 'FIX.5.0SP2',\n    addedEP: '228',\n    updated: 'FIX.Latest',\n    updatedEP: '271',\n    tag: 1430,\n    type: 'char',\n    codeSet: 'VenueTypeCodeSet',\n    description:\n      'Voice negotiation\\n\\nA trading system where transactions between members are arranged through voice negotiation.',\n  },\n  {\n    name: 'HybridMarket',\n    id: '1430013',\n    value: 'H',\n    sort: 12,\n    added: 'FIX.5.0SP2',\n    addedEP: '228',\n    updated: 'FIX.Latest',\n    updatedEP: '286',\n    tag: 1430,\n    type: 'char',\n    codeSet: 'VenueTypeCodeSet',\n    description:\n      'Hybrid market\\n\\nA hybrid system falling into two or more types of trading systems. In the context of ESMA reporting, this is for \"Hybrid system.\" In the context of FCA reporting, this is for \"Any other, including hybrid.\"',\n  },\n  {\n    name: 'OtherMarket',\n    id: '1430014',\n    value: 'z',\n    sort: 13,\n    added: 'FIX.Latest',\n    addedEP: '277',\n    updated: 'FIX.Latest',\n    updatedEP: '286',\n    tag: 1430,\n    type: 'char',\n    codeSet: 'VenueTypeCodeSet',\n    description:\n      'Other market (lowercase \"z\")\\n\\nA market that does not fall under any of the market types defined for VenueType(1430). In the context of ESMA reporting, this is for \"Any other, excluding hybrid.\"',\n  },\n  {\n    name: 'GTCFromPreviousDay',\n    id: '1431001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP1',\n    addedEP: '77',\n    tag: 1431,\n    type: 'int',\n    codeSet: 'RefOrdIDReasonCodeSet',\n    description: 'GTC from previous day',\n  },\n  {\n    name: 'PartialFillRemaining',\n    id: '1431002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP1',\n    addedEP: '77',\n    tag: 1431,\n    type: 'int',\n    codeSet: 'RefOrdIDReasonCodeSet',\n    description: 'Partial Fill Remaining',\n  },\n  {\n    name: 'OrderChanged',\n    id: '1431003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP1',\n    addedEP: '77',\n    tag: 1431,\n    type: 'int',\n    codeSet: 'RefOrdIDReasonCodeSet',\n    description: 'Order Changed',\n  },\n  {\n    name: 'MemberTradingForTheirOwnAccount',\n    id: '1432001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP1',\n    addedEP: '77',\n    tag: 1432,\n    type: 'int',\n    codeSet: 'OrigCustOrderCapacityCodeSet',\n    description: 'Member trading for their own account',\n  },\n  {\n    name: 'ClearingFirmTradingForItsProprietaryAccount',\n    id: '1432002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP1',\n    addedEP: '77',\n    tag: 1432,\n    type: 'int',\n    codeSet: 'OrigCustOrderCapacityCodeSet',\n    description: 'Clearing Firm trading for its proprietary account',\n  },\n  {\n    name: 'MemberTradingForAnotherMember',\n    id: '1432003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP1',\n    addedEP: '77',\n    tag: 1432,\n    type: 'int',\n    codeSet: 'OrigCustOrderCapacityCodeSet',\n    description: 'Member trading for another member',\n  },\n  {\n    name: 'AllOther',\n    id: '1432004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP1',\n    addedEP: '77',\n    tag: 1432,\n    type: 'int',\n    codeSet: 'OrigCustOrderCapacityCodeSet',\n    description: 'All other',\n  },\n  {\n    name: 'UtilityProvidedStandardModel',\n    id: '1434001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP1',\n    addedEP: '79',\n    tag: 1434,\n    type: 'int',\n    codeSet: 'ModelTypeCodeSet',\n    description: 'Utility provided standard model',\n  },\n  {\n    name: 'ProprietaryModel',\n    id: '1434002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP1',\n    addedEP: '79',\n    tag: 1434,\n    type: 'int',\n    codeSet: 'ModelTypeCodeSet',\n    description: 'Proprietary (user supplied) model',\n  },\n  {\n    name: 'Shares',\n    id: '1435001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP1',\n    addedEP: '80',\n    tag: 1435,\n    type: 'int',\n    codeSet: 'ContractMultiplierUnitCodeSet',\n    description: 'Shares',\n  },\n  {\n    name: 'Hours',\n    id: '1435002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP1',\n    addedEP: '80',\n    tag: 1435,\n    type: 'int',\n    codeSet: 'ContractMultiplierUnitCodeSet',\n    description: 'Hours',\n  },\n  {\n    name: 'Days',\n    id: '1435003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP1',\n    addedEP: '80',\n    tag: 1435,\n    type: 'int',\n    codeSet: 'ContractMultiplierUnitCodeSet',\n    description: 'Days',\n  },\n  {\n    name: 'NERCEasternOffPeak',\n    id: '1439001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP1',\n    addedEP: '80',\n    tag: 1439,\n    type: 'int',\n    codeSet: 'FlowScheduleTypeCodeSet',\n    description: 'NERC Eastern Off-Peak',\n  },\n  {\n    name: 'NERCWesternOffPeak',\n    id: '1439002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP1',\n    addedEP: '80',\n    tag: 1439,\n    type: 'int',\n    codeSet: 'FlowScheduleTypeCodeSet',\n    description: 'NERC Western Off-Peak',\n  },\n  {\n    name: 'NERCCalendarAllDaysInMonth',\n    id: '1439003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP1',\n    addedEP: '80',\n    tag: 1439,\n    type: 'int',\n    codeSet: 'FlowScheduleTypeCodeSet',\n    description: 'NERC Calendar-All Days in month',\n  },\n  {\n    name: 'NERCEasternPeak',\n    id: '1439004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP1',\n    addedEP: '80',\n    tag: 1439,\n    type: 'int',\n    codeSet: 'FlowScheduleTypeCodeSet',\n    description: 'NERC Eastern Peak',\n  },\n  {\n    name: 'NERCWesternPeak',\n    id: '1439005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP1',\n    addedEP: '80',\n    tag: 1439,\n    type: 'int',\n    codeSet: 'FlowScheduleTypeCodeSet',\n    description: 'NERC Western Peak',\n  },\n  {\n    name: 'AllTimes',\n    id: '1439006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '238',\n    tag: 1439,\n    type: 'int',\n    codeSet: 'FlowScheduleTypeCodeSet',\n    description: 'All times',\n  },\n  {\n    name: 'OnPeak',\n    id: '1439007',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '238',\n    tag: 1439,\n    type: 'int',\n    codeSet: 'FlowScheduleTypeCodeSet',\n    description: 'On peak',\n  },\n  {\n    name: 'OffPeak',\n    id: '1439008',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '238',\n    tag: 1439,\n    type: 'int',\n    codeSet: 'FlowScheduleTypeCodeSet',\n    description: 'Off peak',\n  },\n  {\n    name: 'Base',\n    id: '1439009',\n    value: '8',\n    sort: 8,\n    added: 'FIX.5.0SP2',\n    addedEP: '238',\n    tag: 1439,\n    type: 'int',\n    codeSet: 'FlowScheduleTypeCodeSet',\n    description: 'Base',\n  },\n  {\n    name: 'Block',\n    id: '1439010',\n    value: '9',\n    sort: 9,\n    added: 'FIX.5.0SP2',\n    addedEP: '238',\n    tag: 1439,\n    type: 'int',\n    codeSet: 'FlowScheduleTypeCodeSet',\n    description: 'Block',\n  },\n  {\n    name: 'Other',\n    id: '1439011',\n    value: '99',\n    sort: 99,\n    added: 'FIX.5.0SP2',\n    addedEP: '238',\n    tag: 1439,\n    type: 'int',\n    codeSet: 'FlowScheduleTypeCodeSet',\n    description: 'Other',\n  },\n  {\n    name: 'Bloomberg',\n    id: '1446001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP1',\n    addedEP: '82',\n    tag: 1446,\n    type: 'int',\n    codeSet: 'RateSourceCodeSet',\n    description: 'Bloomberg',\n  },\n  {\n    name: 'Reuters',\n    id: '1446002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP1',\n    addedEP: '82',\n    tag: 1446,\n    type: 'int',\n    codeSet: 'RateSourceCodeSet',\n    description: 'Reuters',\n  },\n  {\n    name: 'Telerate',\n    id: '1446003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP1',\n    addedEP: '82',\n    tag: 1446,\n    type: 'int',\n    codeSet: 'RateSourceCodeSet',\n    description: 'Telerate',\n  },\n  {\n    name: 'ISDARateOption',\n    id: '1446004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1446,\n    type: 'int',\n    codeSet: 'RateSourceCodeSet',\n    description:\n      'ISDA Settlement Rate Option\\n\\nThe source of the currency conversion as specified by the ISDA terms in Annex A to the 1998 FX and Currency Option Definitions. See http://www.fpml.org/coding-scheme/settlement-rate-option',\n  },\n  {\n    name: 'Other',\n    id: '1446005',\n    value: '99',\n    sort: 99,\n    added: 'FIX.5.0SP1',\n    addedEP: '82',\n    tag: 1446,\n    type: 'int',\n    codeSet: 'RateSourceCodeSet',\n    description: 'Other',\n  },\n  {\n    name: 'Primary',\n    id: '1447001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP1',\n    addedEP: '82',\n    tag: 1447,\n    type: 'int',\n    codeSet: 'RateSourceTypeCodeSet',\n    description: 'Primary',\n  },\n  {\n    name: 'Secondary',\n    id: '1447002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP1',\n    addedEP: '82',\n    tag: 1447,\n    type: 'int',\n    codeSet: 'RateSourceTypeCodeSet',\n    description: 'Secondary',\n  },\n  {\n    name: 'FullRestructuring',\n    id: '1449001',\n    value: 'FR',\n    sort: 0,\n    added: 'FIX.5.0SP1',\n    addedEP: '83',\n    tag: 1449,\n    type: 'String',\n    codeSet: 'RestructuringTypeCodeSet',\n    description: 'Full Restructuring',\n  },\n  {\n    name: 'ModifiedRestructuring',\n    id: '1449002',\n    value: 'MR',\n    sort: 1,\n    added: 'FIX.5.0SP1',\n    addedEP: '83',\n    tag: 1449,\n    type: 'String',\n    codeSet: 'RestructuringTypeCodeSet',\n    description: 'Modified Restructuring',\n  },\n  {\n    name: 'ModifiedModRestructuring',\n    id: '1449003',\n    value: 'MM',\n    sort: 2,\n    added: 'FIX.5.0SP1',\n    addedEP: '83',\n    tag: 1449,\n    type: 'String',\n    codeSet: 'RestructuringTypeCodeSet',\n    description: 'Modified Mod Restructuring',\n  },\n  {\n    name: 'NoRestructuringSpecified',\n    id: '1449004',\n    value: 'XR',\n    sort: 3,\n    added: 'FIX.5.0SP1',\n    addedEP: '83',\n    tag: 1449,\n    type: 'String',\n    codeSet: 'RestructuringTypeCodeSet',\n    description: 'No Restructuring specified',\n  },\n  {\n    name: 'SeniorSecured',\n    id: '1450001',\n    value: 'SD',\n    sort: 0,\n    added: 'FIX.5.0SP1',\n    addedEP: '83',\n    tag: 1450,\n    type: 'String',\n    codeSet: 'SeniorityCodeSet',\n    description: 'Senior Secured',\n  },\n  {\n    name: 'Senior',\n    id: '1450002',\n    value: 'SR',\n    sort: 1,\n    added: 'FIX.5.0SP1',\n    addedEP: '83',\n    tag: 1450,\n    type: 'String',\n    codeSet: 'SeniorityCodeSet',\n    description: 'Senior',\n  },\n  {\n    name: 'Subordinated',\n    id: '1450003',\n    value: 'SB',\n    sort: 2,\n    added: 'FIX.5.0SP1',\n    addedEP: '83',\n    tag: 1450,\n    type: 'String',\n    codeSet: 'SeniorityCodeSet',\n    description: 'Subordinated',\n  },\n  {\n    name: 'Junior',\n    id: '1450004',\n    value: 'JR',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '235',\n    tag: 1450,\n    type: 'String',\n    codeSet: 'SeniorityCodeSet',\n    description:\n      'Junior\\n\\nIn the context of MiFID II this value is used as identified in RTS 23 Annex I Table 3 Field 23 \"Seniority of the bond\".',\n  },\n  {\n    name: 'Mezzanine',\n    id: '1450005',\n    value: 'MZ',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '235',\n    tag: 1450,\n    type: 'String',\n    codeSet: 'SeniorityCodeSet',\n    description:\n      'Mezzanine\\n\\nIn the context of MiFID II this value is used as identified in RTS 23 Annex I Table 3 Field 23 \"Seniority of the bond\".',\n  },\n  {\n    name: 'SeniorNonPreferred',\n    id: '1450006',\n    value: 'SN',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '235',\n    tag: 1450,\n    type: 'String',\n    codeSet: 'SeniorityCodeSet',\n    description:\n      \"Senior Non-Preferred\\n\\nFor CDS reference obligations of non-preferred senior debt issued by European Financials that constitute a layer of debt ranking between the bank's normal senior debt but above the bank's normal tier 2 subordinated debt (reference: ISDA Credit Market Infrastructure Group).\",\n  },\n  {\n    name: 'IndustryClassification',\n    id: '1470001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP1',\n    addedEP: '87',\n    tag: 1470,\n    type: 'int',\n    codeSet: 'SecurityListTypeCodeSet',\n    description: 'Industry Classification',\n  },\n  {\n    name: 'TradingList',\n    id: '1470002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP1',\n    addedEP: '87',\n    tag: 1470,\n    type: 'int',\n    codeSet: 'SecurityListTypeCodeSet',\n    description: 'Trading List',\n  },\n  {\n    name: 'Market',\n    id: '1470003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP1',\n    addedEP: '87',\n    tag: 1470,\n    type: 'int',\n    codeSet: 'SecurityListTypeCodeSet',\n    description: 'Market / Market Segment List',\n  },\n  {\n    name: 'NewspaperList',\n    id: '1470004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP1',\n    addedEP: '87',\n    tag: 1470,\n    type: 'int',\n    codeSet: 'SecurityListTypeCodeSet',\n    description: 'Newspaper List',\n  },\n  {\n    name: 'ICB',\n    id: '1471001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP1',\n    addedEP: '87',\n    tag: 1471,\n    type: 'int',\n    codeSet: 'SecurityListTypeSourceCodeSet',\n    description:\n      'ICB (Industry Classification Benchmark) published by Dow Jones and FTSE - www.icbenchmark.com',\n  },\n  {\n    name: 'NAICS',\n    id: '1471002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP1',\n    addedEP: '87',\n    tag: 1471,\n    type: 'int',\n    codeSet: 'SecurityListTypeSourceCodeSet',\n    description:\n      'NAICS (North American Industry Classification System). Replaced SIC (Standard Industry Classification) www.census.gov/naics or www.naics.com.',\n  },\n  {\n    name: 'GICS',\n    id: '1471003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP1',\n    addedEP: '87',\n    tag: 1471,\n    type: 'int',\n    codeSet: 'SecurityListTypeSourceCodeSet',\n    description:\n      'GICS (Global Industry Classification Standard) published by Standards & Poor',\n  },\n  {\n    name: 'CompanyNews',\n    id: '1473001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP1',\n    addedEP: '90',\n    tag: 1473,\n    type: 'int',\n    codeSet: 'NewsCategoryCodeSet',\n    description: 'Company News',\n  },\n  {\n    name: 'MarketplaceNews',\n    id: '1473002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP1',\n    addedEP: '90',\n    tag: 1473,\n    type: 'int',\n    codeSet: 'NewsCategoryCodeSet',\n    description: 'Marketplace News',\n  },\n  {\n    name: 'FinancialMarketNews',\n    id: '1473003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP1',\n    addedEP: '90',\n    tag: 1473,\n    type: 'int',\n    codeSet: 'NewsCategoryCodeSet',\n    description: 'Financial Market News',\n  },\n  {\n    name: 'TechnicalNews',\n    id: '1473004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP1',\n    addedEP: '90',\n    tag: 1473,\n    type: 'int',\n    codeSet: 'NewsCategoryCodeSet',\n    description: 'Technical News',\n  },\n  {\n    name: 'OtherNews',\n    id: '1473005',\n    value: '99',\n    sort: 99,\n    added: 'FIX.5.0SP1',\n    addedEP: '90',\n    tag: 1473,\n    type: 'int',\n    codeSet: 'NewsCategoryCodeSet',\n    description: 'Other News',\n  },\n  {\n    name: 'Replacement',\n    id: '1477001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP1',\n    addedEP: '90',\n    tag: 1477,\n    type: 'int',\n    codeSet: 'NewsRefTypeCodeSet',\n    description: 'Replacement',\n  },\n  {\n    name: 'OtherLanguage',\n    id: '1477002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP1',\n    addedEP: '90',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '190',\n    tag: 1477,\n    type: 'int',\n    codeSet: 'NewsRefTypeCodeSet',\n    description: 'Other language',\n  },\n  {\n    name: 'Complimentary',\n    id: '1477003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP1',\n    addedEP: '90',\n    tag: 1477,\n    type: 'int',\n    codeSet: 'NewsRefTypeCodeSet',\n    description: 'Complimentary',\n  },\n  {\n    name: 'Withdrawal',\n    id: '1477004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '190',\n    tag: 1477,\n    type: 'int',\n    codeSet: 'NewsRefTypeCodeSet',\n    description:\n      'Withdrawal\\n\\nWithdrawal of the referenced news item, e.g. to correct an error.',\n  },\n  {\n    name: 'FixedStrike',\n    id: '1478001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP1',\n    addedEP: '92',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '169',\n    tag: 1478,\n    type: 'int',\n    codeSet: 'StrikePriceDeterminationMethodCodeSet',\n    description: 'Fixed strike (default if not specified)',\n  },\n  {\n    name: 'StrikeSetAtExpiration',\n    id: '1478002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP1',\n    addedEP: '92',\n    tag: 1478,\n    type: 'int',\n    codeSet: 'StrikePriceDeterminationMethodCodeSet',\n    description:\n      'Strike set at expiration to underlying or other value (lookback floating)',\n  },\n  {\n    name: 'StrikeSetToAverageAcrossLife',\n    id: '1478003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP1',\n    addedEP: '92',\n    tag: 1478,\n    type: 'int',\n    codeSet: 'StrikePriceDeterminationMethodCodeSet',\n    description:\n      'Strike set to average of underlying settlement price across the life of the option',\n  },\n  {\n    name: 'StrikeSetToOptimalValue',\n    id: '1478004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP1',\n    addedEP: '92',\n    tag: 1478,\n    type: 'int',\n    codeSet: 'StrikePriceDeterminationMethodCodeSet',\n    description: 'Strike set to optimal value',\n  },\n  {\n    name: 'LessThan',\n    id: '1479001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP1',\n    addedEP: '92',\n    tag: 1479,\n    type: 'int',\n    codeSet: 'StrikePriceBoundaryMethodCodeSet',\n    description: 'Less than underlying price is in-the-money (ITM)',\n  },\n  {\n    name: 'LessThanOrEqual',\n    id: '1479002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP1',\n    addedEP: '92',\n    tag: 1479,\n    type: 'int',\n    codeSet: 'StrikePriceBoundaryMethodCodeSet',\n    description: 'Less than or equal to the underlying price is in-the-money(ITM)',\n  },\n  {\n    name: 'Equal',\n    id: '1479003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP1',\n    addedEP: '92',\n    tag: 1479,\n    type: 'int',\n    codeSet: 'StrikePriceBoundaryMethodCodeSet',\n    description: 'Equal to the underlying price is in-the-money(ITM)',\n  },\n  {\n    name: 'GreaterThanOrEqual',\n    id: '1479004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP1',\n    addedEP: '92',\n    tag: 1479,\n    type: 'int',\n    codeSet: 'StrikePriceBoundaryMethodCodeSet',\n    description: 'Greater than or equal to underlying price is in-the-money(ITM)',\n  },\n  {\n    name: 'GreaterThan',\n    id: '1479005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP1',\n    addedEP: '92',\n    tag: 1479,\n    type: 'int',\n    codeSet: 'StrikePriceBoundaryMethodCodeSet',\n    description: 'Greater than underlying is in-the-money(ITM)',\n  },\n  {\n    name: 'Regular',\n    id: '1481001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP1',\n    addedEP: '92',\n    tag: 1481,\n    type: 'int',\n    codeSet: 'UnderlyingPriceDeterminationMethodCodeSet',\n    description: 'Regular',\n  },\n  {\n    name: 'SpecialReference',\n    id: '1481002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP1',\n    addedEP: '92',\n    tag: 1481,\n    type: 'int',\n    codeSet: 'UnderlyingPriceDeterminationMethodCodeSet',\n    description: 'Special reference',\n  },\n  {\n    name: 'OptimalValue',\n    id: '1481003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP1',\n    addedEP: '92',\n    tag: 1481,\n    type: 'int',\n    codeSet: 'UnderlyingPriceDeterminationMethodCodeSet',\n    description: 'Optimal value (Lookback)',\n  },\n  {\n    name: 'AverageValue',\n    id: '1481004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP1',\n    addedEP: '92',\n    tag: 1481,\n    type: 'int',\n    codeSet: 'UnderlyingPriceDeterminationMethodCodeSet',\n    description: 'Average value (Asian option)',\n  },\n  {\n    name: 'Vanilla',\n    id: '1482001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP1',\n    addedEP: '92',\n    tag: 1482,\n    type: 'int',\n    codeSet: 'OptPayoutTypeCodeSet',\n    description: 'Vanilla',\n  },\n  {\n    name: 'Capped',\n    id: '1482002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP1',\n    addedEP: '92',\n    tag: 1482,\n    type: 'int',\n    codeSet: 'OptPayoutTypeCodeSet',\n    description: 'Capped',\n  },\n  {\n    name: 'Binary',\n    id: '1482003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP1',\n    addedEP: '92',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '238',\n    tag: 1482,\n    type: 'int',\n    codeSet: 'OptPayoutTypeCodeSet',\n    description: 'Digital (Binary)',\n  },\n  {\n    name: 'Asian',\n    id: '1482004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '238',\n    tag: 1482,\n    type: 'int',\n    codeSet: 'OptPayoutTypeCodeSet',\n    description: 'Asian',\n  },\n  {\n    name: 'Barrier',\n    id: '1482005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '238',\n    tag: 1482,\n    type: 'int',\n    codeSet: 'OptPayoutTypeCodeSet',\n    description: 'Barrier',\n  },\n  {\n    name: 'DigitalBarrier',\n    id: '1482006',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '238',\n    tag: 1482,\n    type: 'int',\n    codeSet: 'OptPayoutTypeCodeSet',\n    description: 'Digital Barrier',\n  },\n  {\n    name: 'Lookback',\n    id: '1482007',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '238',\n    tag: 1482,\n    type: 'int',\n    codeSet: 'OptPayoutTypeCodeSet',\n    description: 'Lookback',\n  },\n  {\n    name: 'OtherPathDependent',\n    id: '1482008',\n    value: '8',\n    sort: 8,\n    added: 'FIX.5.0SP2',\n    addedEP: '238',\n    tag: 1482,\n    type: 'int',\n    codeSet: 'OptPayoutTypeCodeSet',\n    description: 'Other path dependent',\n  },\n  {\n    name: 'Other',\n    id: '1482009',\n    value: '99',\n    sort: 99,\n    added: 'FIX.5.0SP2',\n    addedEP: '238',\n    tag: 1482,\n    type: 'int',\n    codeSet: 'OptPayoutTypeCodeSet',\n    description: 'Other',\n  },\n  {\n    name: 'Capped',\n    id: '1484001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP1',\n    addedEP: '92',\n    tag: 1484,\n    type: 'int',\n    codeSet: 'ComplexEventTypeCodeSet',\n    description: 'Capped',\n  },\n  {\n    name: 'Trigger',\n    id: '1484002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP1',\n    addedEP: '92',\n    tag: 1484,\n    type: 'int',\n    codeSet: 'ComplexEventTypeCodeSet',\n    description: 'Trigger',\n  },\n  {\n    name: 'KnockInUp',\n    id: '1484003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP1',\n    addedEP: '92',\n    tag: 1484,\n    type: 'int',\n    codeSet: 'ComplexEventTypeCodeSet',\n    description: 'Knock-in up',\n  },\n  {\n    name: 'KnockInDown',\n    id: '1484004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP1',\n    addedEP: '92',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '169',\n    tag: 1484,\n    type: 'int',\n    codeSet: 'ComplexEventTypeCodeSet',\n    description: 'Knock-in down',\n  },\n  {\n    name: 'KnockOutUp',\n    id: '1484005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP1',\n    addedEP: '92',\n    tag: 1484,\n    type: 'int',\n    codeSet: 'ComplexEventTypeCodeSet',\n    description: 'Knock-out up',\n  },\n  {\n    name: 'KnockOutDown',\n    id: '1484006',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP1',\n    addedEP: '92',\n    tag: 1484,\n    type: 'int',\n    codeSet: 'ComplexEventTypeCodeSet',\n    description: 'Knock-out down',\n  },\n  {\n    name: 'Underlying',\n    id: '1484007',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0SP1',\n    addedEP: '92',\n    tag: 1484,\n    type: 'int',\n    codeSet: 'ComplexEventTypeCodeSet',\n    description: 'Underlying',\n  },\n  {\n    name: 'ResetBarrier',\n    id: '1484008',\n    value: '8',\n    sort: 8,\n    added: 'FIX.5.0SP1',\n    addedEP: '92',\n    tag: 1484,\n    type: 'int',\n    codeSet: 'ComplexEventTypeCodeSet',\n    description: 'Reset Barrier',\n  },\n  {\n    name: 'RollingBarrier',\n    id: '1484009',\n    value: '9',\n    sort: 9,\n    added: 'FIX.5.0SP1',\n    addedEP: '92',\n    tag: 1484,\n    type: 'int',\n    codeSet: 'ComplexEventTypeCodeSet',\n    description: 'Rolling Barrier',\n  },\n  {\n    name: 'OneTouch',\n    id: '1484010',\n    value: '10',\n    sort: 10,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 1484,\n    type: 'int',\n    codeSet: 'ComplexEventTypeCodeSet',\n    description: 'One-touch',\n  },\n  {\n    name: 'NoTouch',\n    id: '1484011',\n    value: '11',\n    sort: 11,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 1484,\n    type: 'int',\n    codeSet: 'ComplexEventTypeCodeSet',\n    description: 'No-touch',\n  },\n  {\n    name: 'DblOneTouch',\n    id: '1484012',\n    value: '12',\n    sort: 12,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 1484,\n    type: 'int',\n    codeSet: 'ComplexEventTypeCodeSet',\n    description: 'Double one-touch',\n  },\n  {\n    name: 'DblNoTouch',\n    id: '1484013',\n    value: '13',\n    sort: 13,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 1484,\n    type: 'int',\n    codeSet: 'ComplexEventTypeCodeSet',\n    description: 'Double no-touch',\n  },\n  {\n    name: 'FXComposite',\n    id: '1484014',\n    value: '14',\n    sort: 14,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 1484,\n    type: 'int',\n    codeSet: 'ComplexEventTypeCodeSet',\n    description: 'Foreign exchange composite',\n  },\n  {\n    name: 'FXQuanto',\n    id: '1484015',\n    value: '15',\n    sort: 15,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 1484,\n    type: 'int',\n    codeSet: 'ComplexEventTypeCodeSet',\n    description: 'Foreign exchange Quanto',\n  },\n  {\n    name: 'FXCrssCcy',\n    id: '1484016',\n    value: '16',\n    sort: 16,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 1484,\n    type: 'int',\n    codeSet: 'ComplexEventTypeCodeSet',\n    description: 'Foreign exchange cross currency',\n  },\n  {\n    name: 'StrkSpread',\n    id: '1484017',\n    value: '17',\n    sort: 17,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 1484,\n    type: 'int',\n    codeSet: 'ComplexEventTypeCodeSet',\n    description: 'Strike spread',\n  },\n  {\n    name: 'ClndrSpread',\n    id: '1484018',\n    value: '18',\n    sort: 18,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 1484,\n    type: 'int',\n    codeSet: 'ComplexEventTypeCodeSet',\n    description: 'Calendar spread',\n  },\n  {\n    name: 'PxObsvtn',\n    id: '1484019',\n    value: '19',\n    sort: 19,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 1484,\n    type: 'int',\n    codeSet: 'ComplexEventTypeCodeSet',\n    description: 'Price observation (Asian or Lookback)',\n  },\n  {\n    name: 'PassThrough',\n    id: '1484020',\n    value: '20',\n    sort: 20,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 1484,\n    type: 'int',\n    codeSet: 'ComplexEventTypeCodeSet',\n    description: 'Pass-through',\n  },\n  {\n    name: 'StrkSched',\n    id: '1484021',\n    value: '21',\n    sort: 21,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 1484,\n    type: 'int',\n    codeSet: 'ComplexEventTypeCodeSet',\n    description: 'Strike schedule',\n  },\n  {\n    name: 'EquityValuation',\n    id: '1484022',\n    value: '22',\n    sort: 22,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 1484,\n    type: 'int',\n    codeSet: 'ComplexEventTypeCodeSet',\n    description: 'Equity valuation',\n  },\n  {\n    name: 'DividendValuation',\n    id: '1484023',\n    value: '23',\n    sort: 23,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 1484,\n    type: 'int',\n    codeSet: 'ComplexEventTypeCodeSet',\n    description: 'Dividend valuation',\n  },\n  {\n    name: 'LessThanComplexEventPrice',\n    id: '1487001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP1',\n    addedEP: '92',\n    tag: 1487,\n    type: 'int',\n    codeSet: 'ComplexEventPriceBoundaryMethodCodeSet',\n    description: 'Less than ComplexEventPrice(1486)',\n  },\n  {\n    name: 'LessThanOrEqualToComplexEventPrice',\n    id: '1487002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP1',\n    addedEP: '92',\n    tag: 1487,\n    type: 'int',\n    codeSet: 'ComplexEventPriceBoundaryMethodCodeSet',\n    description: 'Less than or equal to ComplexEventPrice(1486)',\n  },\n  {\n    name: 'EqualToComplexEventPrice',\n    id: '1487003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP1',\n    addedEP: '92',\n    tag: 1487,\n    type: 'int',\n    codeSet: 'ComplexEventPriceBoundaryMethodCodeSet',\n    description: 'Equal to ComplexEventPrice(1486)',\n  },\n  {\n    name: 'GreaterThanOrEqualToComplexEventPrice',\n    id: '1487004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP1',\n    addedEP: '92',\n    tag: 1487,\n    type: 'int',\n    codeSet: 'ComplexEventPriceBoundaryMethodCodeSet',\n    description: 'Greater than or equal to ComplexEventPrice(1486)',\n  },\n  {\n    name: 'GreaterThanComplexEventPrice',\n    id: '1487005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP1',\n    addedEP: '92',\n    tag: 1487,\n    type: 'int',\n    codeSet: 'ComplexEventPriceBoundaryMethodCodeSet',\n    description: 'Greater than ComplexEventPrice(1486)',\n  },\n  {\n    name: 'Expiration',\n    id: '1489001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP1',\n    addedEP: '92',\n    tag: 1489,\n    type: 'int',\n    codeSet: 'ComplexEventPriceTimeTypeCodeSet',\n    description: 'Expiration',\n  },\n  {\n    name: 'Immediate',\n    id: '1489002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP1',\n    addedEP: '92',\n    tag: 1489,\n    type: 'int',\n    codeSet: 'ComplexEventPriceTimeTypeCodeSet',\n    description: 'Immediate (At Any Time)',\n  },\n  {\n    name: 'SpecifiedDate',\n    id: '1489003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP1',\n    addedEP: '92',\n    tag: 1489,\n    type: 'int',\n    codeSet: 'ComplexEventPriceTimeTypeCodeSet',\n    description: 'Specified Date/Time',\n  },\n  {\n    name: 'Close',\n    id: '1489004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 1489,\n    type: 'int',\n    codeSet: 'ComplexEventPriceTimeTypeCodeSet',\n    description: 'Close\\n\\nOfficial closing time of the exchange on valuation date.',\n  },\n  {\n    name: 'Open',\n    id: '1489005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 1489,\n    type: 'int',\n    codeSet: 'ComplexEventPriceTimeTypeCodeSet',\n    description: 'Open\\n\\nOfficial opening time of the exchange on valuation date.',\n  },\n  {\n    name: 'OfficialSettlPrice',\n    id: '1489006',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 1489,\n    type: 'int',\n    codeSet: 'ComplexEventPriceTimeTypeCodeSet',\n    description:\n      'Official settlement price\\n\\nOfficial settlement price determination time.',\n  },\n  {\n    name: 'DerivativesClose',\n    id: '1489007',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 1489,\n    type: 'int',\n    codeSet: 'ComplexEventPriceTimeTypeCodeSet',\n    description:\n      'Derivatives close\\n\\nOfficial closing time of the derivatives exchange.',\n  },\n  {\n    name: 'AsSpecifiedMasterConfirmation',\n    id: '1489008',\n    value: '8',\n    sort: 8,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 1489,\n    type: 'int',\n    codeSet: 'ComplexEventPriceTimeTypeCodeSet',\n    description: 'As specified in Master Confirmation',\n  },\n  {\n    name: 'And',\n    id: '1490001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP1',\n    addedEP: '92',\n    tag: 1490,\n    type: 'int',\n    codeSet: 'ComplexEventConditionCodeSet',\n    description: 'And',\n  },\n  {\n    name: 'Or',\n    id: '1490002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP1',\n    addedEP: '92',\n    tag: 1490,\n    type: 'int',\n    codeSet: 'ComplexEventConditionCodeSet',\n    description: 'Or',\n  },\n  {\n    name: 'StreamAssignmentForNewCustomer',\n    id: '1498001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP1',\n    addedEP: '93',\n    tag: 1498,\n    type: 'int',\n    codeSet: 'StreamAsgnReqTypeCodeSet',\n    description: 'Stream assignment for new customer(s)',\n  },\n  {\n    name: 'StreamAssignmentForExistingCustomer',\n    id: '1498002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP1',\n    addedEP: '93',\n    tag: 1498,\n    type: 'int',\n    codeSet: 'StreamAsgnReqTypeCodeSet',\n    description: 'Stream assignment for existing customer(s)',\n  },\n  {\n    name: 'UnknownClient',\n    id: '1502001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP1',\n    addedEP: '93',\n    tag: 1502,\n    type: 'int',\n    codeSet: 'StreamAsgnRejReasonCodeSet',\n    description: 'Unknown client',\n  },\n  {\n    name: 'ExceedsMaximumSize',\n    id: '1502002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP1',\n    addedEP: '93',\n    tag: 1502,\n    type: 'int',\n    codeSet: 'StreamAsgnRejReasonCodeSet',\n    description: 'Exceeds maximum size',\n  },\n  {\n    name: 'UnknownOrInvalidCurrencyPair',\n    id: '1502003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP1',\n    addedEP: '93',\n    tag: 1502,\n    type: 'int',\n    codeSet: 'StreamAsgnRejReasonCodeSet',\n    description: 'Unknown or Invalid currency pair',\n  },\n  {\n    name: 'NoAvailableStream',\n    id: '1502004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP1',\n    addedEP: '93',\n    tag: 1502,\n    type: 'int',\n    codeSet: 'StreamAsgnRejReasonCodeSet',\n    description: 'No available stream',\n  },\n  {\n    name: 'Other',\n    id: '1502005',\n    value: '99',\n    sort: 99,\n    added: 'FIX.5.0SP1',\n    addedEP: '93',\n    tag: 1502,\n    type: 'int',\n    codeSet: 'StreamAsgnRejReasonCodeSet',\n    description: 'Other',\n  },\n  {\n    name: 'AssignmentAccepted',\n    id: '1503001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP1',\n    addedEP: '93',\n    tag: 1503,\n    type: 'int',\n    codeSet: 'StreamAsgnAckTypeCodeSet',\n    description: 'Assignment Accepted',\n  },\n  {\n    name: 'AssignmentRejected',\n    id: '1503002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP1',\n    addedEP: '93',\n    tag: 1503,\n    type: 'int',\n    codeSet: 'StreamAsgnAckTypeCodeSet',\n    description: 'Assignment Rejected',\n  },\n  {\n    name: 'Assignment',\n    id: '1617001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP1',\n    addedEP: '93',\n    tag: 1617,\n    type: 'int',\n    codeSet: 'StreamAsgnTypeCodeSet',\n    description: 'Assignment',\n  },\n  {\n    name: 'Rejected',\n    id: '1617002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP1',\n    addedEP: '93',\n    tag: 1617,\n    type: 'int',\n    codeSet: 'StreamAsgnTypeCodeSet',\n    description: 'Rejected',\n  },\n  {\n    name: 'Terminate',\n    id: '1617003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP1',\n    addedEP: '93',\n    tag: 1617,\n    type: 'int',\n    codeSet: 'StreamAsgnTypeCodeSet',\n    description: 'Terminate/Unassign',\n  },\n  {\n    name: 'Match',\n    id: '1625001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '99',\n    tag: 1625,\n    type: 'int',\n    codeSet: 'MatchInstCodeSet',\n    description: 'Match',\n  },\n  {\n    name: 'DoNotMatch',\n    id: '1625002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '99',\n    tag: 1625,\n    type: 'int',\n    codeSet: 'MatchInstCodeSet',\n    description: 'Do Not Match',\n  },\n  {\n    name: 'ThisOrder',\n    id: '1628001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '100',\n    tag: 1628,\n    type: 'int',\n    codeSet: 'TriggerScopeCodeSet',\n    description: 'This order (default)',\n  },\n  {\n    name: 'OtherOrder',\n    id: '1628002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '100',\n    tag: 1628,\n    type: 'int',\n    codeSet: 'TriggerScopeCodeSet',\n    description: 'Other order (use RefID)',\n  },\n  {\n    name: 'AllOtherOrdersForGivenSecurity',\n    id: '1628003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '100',\n    tag: 1628,\n    type: 'int',\n    codeSet: 'TriggerScopeCodeSet',\n    description: 'All other orders for the given security',\n  },\n  {\n    name: 'AllOtherOrdersForGivenSecurityAndPrice',\n    id: '1628004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '100',\n    tag: 1628,\n    type: 'int',\n    codeSet: 'TriggerScopeCodeSet',\n    description: 'All other orders for the given security and price',\n  },\n  {\n    name: 'AllOtherOrdersForGivenSecurityAndSide',\n    id: '1628005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '100',\n    tag: 1628,\n    type: 'int',\n    codeSet: 'TriggerScopeCodeSet',\n    description: 'All other orders for the given security and side',\n  },\n  {\n    name: 'AllOtherOrdersForGivenSecurityPriceAndSide',\n    id: '1628006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '100',\n    tag: 1628,\n    type: 'int',\n    codeSet: 'TriggerScopeCodeSet',\n    description: 'All other orders for the given security, price and side',\n  },\n  {\n    name: 'CreditLimit',\n    id: '1631001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '100',\n    tag: 1631,\n    type: 'int',\n    codeSet: 'LimitAmtTypeCodeSet',\n    description: 'Credit limit',\n  },\n  {\n    name: 'GrossPositionLimit',\n    id: '1631002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '100',\n    tag: 1631,\n    type: 'int',\n    codeSet: 'LimitAmtTypeCodeSet',\n    description: 'Gross position limit',\n  },\n  {\n    name: 'NetPositionLimit',\n    id: '1631003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '100',\n    tag: 1631,\n    type: 'int',\n    codeSet: 'LimitAmtTypeCodeSet',\n    description: 'Net position limit',\n  },\n  {\n    name: 'RiskExposureLimit',\n    id: '1631004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '100',\n    tag: 1631,\n    type: 'int',\n    codeSet: 'LimitAmtTypeCodeSet',\n    description: 'Risk exposure limit',\n  },\n  {\n    name: 'LongPositionLimit',\n    id: '1631005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '100',\n    tag: 1631,\n    type: 'int',\n    codeSet: 'LimitAmtTypeCodeSet',\n    description: 'Long position limit',\n  },\n  {\n    name: 'ShortPositionLimit',\n    id: '1631006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '100',\n    tag: 1631,\n    type: 'int',\n    codeSet: 'LimitAmtTypeCodeSet',\n    description: 'Short position limit',\n  },\n  {\n    name: 'Summary',\n    id: '1637001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '102',\n    tag: 1637,\n    type: 'int',\n    codeSet: 'MarginReqmtInqQualifierCodeSet',\n    description: 'Summary',\n  },\n  {\n    name: 'Detail',\n    id: '1637002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '102',\n    tag: 1637,\n    type: 'int',\n    codeSet: 'MarginReqmtInqQualifierCodeSet',\n    description: 'Detail',\n  },\n  {\n    name: 'ExcessDeficit',\n    id: '1637003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '102',\n    tag: 1637,\n    type: 'int',\n    codeSet: 'MarginReqmtInqQualifierCodeSet',\n    description: 'Excess/Deficit',\n  },\n  {\n    name: 'NetPosition',\n    id: '1637004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '102',\n    tag: 1637,\n    type: 'int',\n    codeSet: 'MarginReqmtInqQualifierCodeSet',\n    description: 'Net Position',\n  },\n  {\n    name: 'Summary',\n    id: '1638001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '102',\n    tag: 1638,\n    type: 'int',\n    codeSet: 'MarginReqmtRptTypeCodeSet',\n    description: 'Summary',\n  },\n  {\n    name: 'Detail',\n    id: '1638002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '102',\n    tag: 1638,\n    type: 'int',\n    codeSet: 'MarginReqmtRptTypeCodeSet',\n    description: 'Detail',\n  },\n  {\n    name: 'ExcessDeficit',\n    id: '1638003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '102',\n    tag: 1638,\n    type: 'int',\n    codeSet: 'MarginReqmtRptTypeCodeSet',\n    description: 'Excess/Deficit',\n  },\n  {\n    name: 'Successful',\n    id: '1641001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '102',\n    tag: 1641,\n    type: 'int',\n    codeSet: 'MarginReqmtInqResultCodeSet',\n    description: 'Successful (default)',\n  },\n  {\n    name: 'InvalidOrUnknownInstrument',\n    id: '1641002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '102',\n    tag: 1641,\n    type: 'int',\n    codeSet: 'MarginReqmtInqResultCodeSet',\n    description: 'Invalid or unknown instrument',\n  },\n  {\n    name: 'InvalidOrUnknownMarginClass',\n    id: '1641003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '102',\n    tag: 1641,\n    type: 'int',\n    codeSet: 'MarginReqmtInqResultCodeSet',\n    description: 'Invalid or unknown margin class',\n  },\n  {\n    name: 'InvalidParties',\n    id: '1641004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '102',\n    tag: 1641,\n    type: 'int',\n    codeSet: 'MarginReqmtInqResultCodeSet',\n    description: 'Invalid Parties',\n  },\n  {\n    name: 'InvalidTransportTypeReq',\n    id: '1641005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '102',\n    tag: 1641,\n    type: 'int',\n    codeSet: 'MarginReqmtInqResultCodeSet',\n    description: 'Invalid Transport Type requested',\n  },\n  {\n    name: 'InvalidDestinationReq',\n    id: '1641006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '102',\n    tag: 1641,\n    type: 'int',\n    codeSet: 'MarginReqmtInqResultCodeSet',\n    description: 'Invalid Destination requested',\n  },\n  {\n    name: 'NoMarginReqFound',\n    id: '1641007',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '102',\n    tag: 1641,\n    type: 'int',\n    codeSet: 'MarginReqmtInqResultCodeSet',\n    description: 'No margin requirement found',\n  },\n  {\n    name: 'MarginReqInquiryQualifierNotSupported',\n    id: '1641008',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '102',\n    tag: 1641,\n    type: 'int',\n    codeSet: 'MarginReqmtInqResultCodeSet',\n    description: 'Margin requirement inquiry qualifier not supported',\n  },\n  {\n    name: 'UnauthorizedForMarginReqInquiry',\n    id: '1641009',\n    value: '8',\n    sort: 8,\n    added: 'FIX.5.0SP2',\n    addedEP: '102',\n    tag: 1641,\n    type: 'int',\n    codeSet: 'MarginReqmtInqResultCodeSet',\n    description: 'Unauthorized for margin requirement inquiry',\n  },\n  {\n    name: 'Other',\n    id: '1641010',\n    value: '99',\n    sort: 99,\n    added: 'FIX.5.0SP2',\n    addedEP: '102',\n    tag: 1641,\n    type: 'int',\n    codeSet: 'MarginReqmtInqResultCodeSet',\n    description: 'Other (further information in Text (58) field)',\n  },\n  {\n    name: 'AdditionalMargin',\n    id: '1644001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '102',\n    tag: 1644,\n    type: 'int',\n    codeSet: 'MarginAmtTypeCodeSet',\n    description:\n      'Additional Margin\\n\\nComponent of the total margin calculation which allows the CCP to include amounts generated outside of the Margin Deficit. Additional risk charges collected when a firm is placed on higher than normal surveillance.\\n\\nAdditional margin serves to cover the additional liquidation costs that potentially could be incurred. Such possible close-out costs could arise if, based on the current market value of a portfolio, the worst case loss were to occur within a 24-hour period. It is used for options (also options on futures) and non-spread futures positions, bonds and equity trades. For bonds and equity trades, the additional margin is calculated for security positions but not for the corresponding cash positions.',\n  },\n  {\n    name: 'AdjustedMargin',\n    id: '1644002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '102',\n    tag: 1644,\n    type: 'int',\n    codeSet: 'MarginAmtTypeCodeSet',\n    description:\n      'Adjusted Margin\\n\\nUnadjusted Margin can be modified to become an Adjusted Margin by assigning a specific collateral to it or by applying an exchange rate.',\n  },\n  {\n    name: 'UnadjustedMargin',\n    id: '1644003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '102',\n    tag: 1644,\n    type: 'int',\n    codeSet: 'MarginAmtTypeCodeSet',\n    description:\n      'Unadjusted Margin\\n\\nCalculated by adding up the options Premium Margin, the current Liquidating Margin, the Futures Spread Margin and the Additional Margin on account and currency level.',\n  },\n  {\n    name: 'BinaryAddOnAmount',\n    id: '1644004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '102',\n    tag: 1644,\n    type: 'int',\n    codeSet: 'MarginAmtTypeCodeSet',\n    description:\n      'Binary Add-On Amount\\n\\nRequirement generated from positions in Binary Options which are considered fully margined. Margin for an individual contract in this category represents the total amount that would be paid upon delivery of a contract should it expire in-the-money. This amount is included as a component of Additional Margin in the Total Margin calculation.',\n  },\n  {\n    name: 'CashBalanceAmount',\n    id: '1644005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '102',\n    tag: 1644,\n    type: 'int',\n    codeSet: 'MarginAmtTypeCodeSet',\n    description:\n      'Cash Balance Amount\\n\\nInformation about cash balance posted to the clearing house to cover the current margin requirement.',\n  },\n  {\n    name: 'ConcentrationMargin',\n    id: '1644006',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '102',\n    tag: 1644,\n    type: 'int',\n    codeSet: 'MarginAmtTypeCodeSet',\n    description:\n      'Concentration Margin\\n\\nReflects a riskier portfolio concentration when a set of closely related products is held.',\n  },\n  {\n    name: 'CoreMargin',\n    id: '1644007',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '102',\n    tag: 1644,\n    type: 'int',\n    codeSet: 'MarginAmtTypeCodeSet',\n    description:\n      'Core Margin\\n\\nSpecific basic requirement of a position. Core margin is equal to Initial Margin plus a percentage of the Variation Margin.',\n  },\n  {\n    name: 'DeliveryMargin',\n    id: '1644008',\n    value: '8',\n    sort: 8,\n    added: 'FIX.5.0SP2',\n    addedEP: '102',\n    tag: 1644,\n    type: 'int',\n    codeSet: 'MarginAmtTypeCodeSet',\n    description:\n      'Delivery Margin\\n\\nMargin amount calculated between the Last Trade Date or Options Exercise Date and the Delivery or Settlement Date. Can also represent a commodities or energy delivery.',\n  },\n  {\n    name: 'DiscretionaryMargin',\n    id: '1644009',\n    value: '9',\n    sort: 9,\n    added: 'FIX.5.0SP2',\n    addedEP: '102',\n    tag: 1644,\n    type: 'int',\n    codeSet: 'MarginAmtTypeCodeSet',\n    description:\n      'Discretionary Margin\\n\\nUnspecific margin amount added by the risk manager, also called Increase Coverage Amount.',\n  },\n  {\n    name: 'FuturesSpreadMargin',\n    id: '1644010',\n    value: '10',\n    sort: 10,\n    added: 'FIX.5.0SP2',\n    addedEP: '102',\n    tag: 1644,\n    type: 'int',\n    codeSet: 'MarginAmtTypeCodeSet',\n    description:\n      'Futures Spread Margin\\n\\nLong and short positions of futures with different expiration dates can be offset against each other and are called \u201Cspreads\u201D. The remaining risk stems from the difference in expiration dates which does not provide a perfect price correlation. The purpose of Futures Spread Margin is to cover this risk until the next trading day.\\n\\nThis kind of margin is levied in order to cover those risks associated with a futures spread which could arise between today and tomorrow.',\n  },\n  {\n    name: 'InitialMargin',\n    id: '1644011',\n    value: '11',\n    sort: 11,\n    added: 'FIX.5.0SP2',\n    addedEP: '102',\n    tag: 1644,\n    type: 'int',\n    codeSet: 'MarginAmtTypeCodeSet',\n    description: 'Initial Margin\\n\\nThe initial amount required to cover the position.',\n  },\n  {\n    name: 'LiquidatingMargin',\n    id: '1644012',\n    value: '12',\n    sort: 12,\n    added: 'FIX.5.0SP2',\n    addedEP: '102',\n    tag: 1644,\n    type: 'int',\n    codeSet: 'MarginAmtTypeCodeSet',\n    description:\n      'Liquidating Margin\\n\\nCalculated for cash, bond and equity positions and is equal to the profits and losses in such positions at the time of calculation. This margin protects the CCP if it is required to close out the position at the current/EOD price.\\n\\nThe liquidating margin (also called Current Liquidating Margin or Net Liquidating Margin) is paid by the buyer or the seller of the bonds. This margin covers losses that would occur if a position were to be liquidated today. The liquidating margin is adjusted daily similar to premium margin.',\n  },\n  {\n    name: 'MarginCallAmount',\n    id: '1644013',\n    value: '13',\n    sort: 13,\n    added: 'FIX.5.0SP2',\n    addedEP: '102',\n    tag: 1644,\n    type: 'int',\n    codeSet: 'MarginAmtTypeCodeSet',\n    description:\n      'Margin Call Amount\\n\\nIf the collateral that has been deposited is no longer sufficient, meaning a lack of coverage exists, then the market participant will be called upon to provide additional cash as collateral.',\n  },\n  {\n    name: 'MarginDeficitAmount',\n    id: '1644014',\n    value: '14',\n    sort: 14,\n    added: 'FIX.5.0SP2',\n    addedEP: '102',\n    tag: 1644,\n    type: 'int',\n    codeSet: 'MarginAmtTypeCodeSet',\n    description:\n      'Margin Deficit Amount (Shortfall)\\n\\nBase margin risk charge. This amount represents anticipated losses should the value of a portfolio (all positions in the account) fall below predefined level of Historical Value-at-Risk confidence. Also called Expected Shortfall Amount.',\n  },\n  {\n    name: 'MarginExcessAmount',\n    id: '1644015',\n    value: '15',\n    sort: 15,\n    added: 'FIX.5.0SP2',\n    addedEP: '102',\n    tag: 1644,\n    type: 'int',\n    codeSet: 'MarginAmtTypeCodeSet',\n    description:\n      \"Margin Excess Amount (Surplus)\\n\\nExcess long premium value which is generated when long premium value exceeds the sum of any short premium debit requirement and the account's risk charges. Also called Expected Surplus Amount or Margin Credit Amount.\",\n  },\n  {\n    name: 'OptionPremiumAmount',\n    id: '1644016',\n    value: '16',\n    sort: 16,\n    added: 'FIX.5.0SP2',\n    addedEP: '102',\n    tag: 1644,\n    type: 'int',\n    codeSet: 'MarginAmtTypeCodeSet',\n    description:\n      'Option Premium Amount\\n\\nPremium registered on the given trading date.\\n\\nThe amount of money that the options buyer must pay the options seller.',\n  },\n  {\n    name: 'PremiumMargin',\n    id: '1644017',\n    value: '17',\n    sort: 17,\n    added: 'FIX.5.0SP2',\n    addedEP: '102',\n    tag: 1644,\n    type: 'int',\n    codeSet: 'MarginAmtTypeCodeSet',\n    description:\n      'Premium Margin\\n\\nPremium margin must be deposited by the seller of a traditional options position. It remains effective until the exercise or expiration of the option, and covers the potential costs of a close-out (liquidation) of the position of the seller at the settlement price.',\n  },\n  {\n    name: 'ReserveMargin',\n    id: '1644018',\n    value: '18',\n    sort: 18,\n    added: 'FIX.5.0SP2',\n    addedEP: '102',\n    tag: 1644,\n    type: 'int',\n    codeSet: 'MarginAmtTypeCodeSet',\n    description:\n      'Reserve Margin\\n\\nReserve margin provides a way to reflect the inflated risk of a position. Reserve margin is equal to a percentage of the variation margin.',\n  },\n  {\n    name: 'SecurityCollateralAmount',\n    id: '1644019',\n    value: '19',\n    sort: 19,\n    added: 'FIX.5.0SP2',\n    addedEP: '102',\n    tag: 1644,\n    type: 'int',\n    codeSet: 'MarginAmtTypeCodeSet',\n    description:\n      'Security Collateral Amount\\n\\nInformation about the security collateral posted to the clearing house to cover the current margin requirement.',\n  },\n  {\n    name: 'StressTestAddOnAmount',\n    id: '1644020',\n    value: '20',\n    sort: 20,\n    added: 'FIX.5.0SP2',\n    addedEP: '102',\n    tag: 1644,\n    type: 'int',\n    codeSet: 'MarginAmtTypeCodeSet',\n    description:\n      'Stress Test Add-On Amount\\n\\nAmount in addition to Margin Deficit in the Risk component of the margin calculation. This charge is based on tests which incorporate changes to distributional and confidence level assumptions to evaluate exposure to security concentration and changes in dependence structure; a predetermined percentage of the calculated exposure is collateralized as this charge.',\n  },\n  {\n    name: 'SuperMargin',\n    id: '1644021',\n    value: '21',\n    sort: 21,\n    added: 'FIX.5.0SP2',\n    addedEP: '102',\n    tag: 1644,\n    type: 'int',\n    codeSet: 'MarginAmtTypeCodeSet',\n    description:\n      \"Super Margin\\n\\nAdditional risk charge applied to predetermined Cross-Margin accounts. The charge is based on the account's level of Margin Deficit. This amount is included as a component of Additional Margin in the Total Margin calculation.\",\n  },\n  {\n    name: 'TotalMargin',\n    id: '1644022',\n    value: '22',\n    sort: 22,\n    added: 'FIX.5.0SP2',\n    addedEP: '102',\n    tag: 1644,\n    type: 'int',\n    codeSet: 'MarginAmtTypeCodeSet',\n    description: 'Total Margin\\n\\nSum of all margin amounts at value date.',\n  },\n  {\n    name: 'VariationMargin',\n    id: '1644023',\n    value: '23',\n    sort: 23,\n    added: 'FIX.5.0SP2',\n    addedEP: '102',\n    tag: 1644,\n    type: 'int',\n    codeSet: 'MarginAmtTypeCodeSet',\n    description:\n      \"Variation Margin\\n\\nVariation margin (also called Contingent Variation Margin or Maintenance Margin) is the daily Profit and Loss (P&L) on Open Positions for the given trading date. The current price is compared to the previous day's price.\\n\\nVariation margin (a daily offsetting of profits and losses) occurs as a result of the mark-to-market procedure used for futures and options on futures.\",\n  },\n  {\n    name: 'SecondaryVariationMargin',\n    id: '1644024',\n    value: '24',\n    sort: 24,\n    added: 'FIX.5.0SP2',\n    addedEP: '102',\n    tag: 1644,\n    type: 'int',\n    codeSet: 'MarginAmtTypeCodeSet',\n    description:\n      'Secondary Variation Margin\\n\\nVariation margin on Option Positions that is calculated based on the market movement. This will be used by CCPs wanting to report the variation for Options and Futures separately.',\n  },\n  {\n    name: 'RolledUpMarginDeficit',\n    id: '1644025',\n    value: '25',\n    sort: 25,\n    added: 'FIX.5.0SP2',\n    addedEP: '117',\n    tag: 1644,\n    type: 'int',\n    codeSet: 'MarginAmtTypeCodeSet',\n    description: 'Rolled up margin deficit',\n  },\n  {\n    name: 'SpreadResponseMargin',\n    id: '1644026',\n    value: '26',\n    sort: 26,\n    added: 'FIX.5.0SP2',\n    addedEP: '162',\n    tag: 1644,\n    type: 'int',\n    codeSet: 'MarginAmtTypeCodeSet',\n    description:\n      'Spread response margin\\n\\nRisk factor component associated with spread moves, curve shape changes and recovery rates.',\n  },\n  {\n    name: 'SystemicRiskMargin',\n    id: '1644027',\n    value: '27',\n    sort: 27,\n    added: 'FIX.5.0SP2',\n    addedEP: '162',\n    tag: 1644,\n    type: 'int',\n    codeSet: 'MarginAmtTypeCodeSet',\n    description:\n      'Systemic risk margin\\n\\nRisk factor component to capture parallel shift of credit spreads.',\n  },\n  {\n    name: 'CurveRiskMargin',\n    id: '1644028',\n    value: '28',\n    sort: 28,\n    added: 'FIX.5.0SP2',\n    addedEP: '162',\n    tag: 1644,\n    type: 'int',\n    codeSet: 'MarginAmtTypeCodeSet',\n    description:\n      'Curve risk margin\\n\\nRisk factor captures curve shifts based on portfolio.',\n  },\n  {\n    name: 'IndexSpreadRiskMargin',\n    id: '1644029',\n    value: '29',\n    sort: 29,\n    added: 'FIX.5.0SP2',\n    addedEP: '162',\n    tag: 1644,\n    type: 'int',\n    codeSet: 'MarginAmtTypeCodeSet',\n    description:\n      'Index spread risk margin\\n\\nRisk factor component associated with risks due to widening/tightening spreads of CDS indices relative to each other.',\n  },\n  {\n    name: 'SectorRiskMargin',\n    id: '1644030',\n    value: '30',\n    sort: 30,\n    added: 'FIX.5.0SP2',\n    addedEP: '162',\n    tag: 1644,\n    type: 'int',\n    codeSet: 'MarginAmtTypeCodeSet',\n    description: 'Sector risk margin\\n\\nRisk factor component to capture sector risk.',\n  },\n  {\n    name: 'JumpToDefaultRiskMargin',\n    id: '1644031',\n    value: '31',\n    sort: 31,\n    added: 'FIX.5.0SP2',\n    addedEP: '162',\n    tag: 1644,\n    type: 'int',\n    codeSet: 'MarginAmtTypeCodeSet',\n    description:\n      'Jump-to-default risk margin\\n\\nRisk factor component to capture extreme widening of credit spreads of a reference entity. Also known as Idiosyncratic Risk.',\n  },\n  {\n    name: 'BasisRiskMargin',\n    id: '1644032',\n    value: '32',\n    sort: 32,\n    added: 'FIX.5.0SP2',\n    addedEP: '162',\n    tag: 1644,\n    type: 'int',\n    codeSet: 'MarginAmtTypeCodeSet',\n    description:\n      'Basis risk margin\\n\\nRisk factor component to capture basis risk between index and index constituent reference entities.',\n  },\n  {\n    name: 'InterestRateRiskMargin',\n    id: '1644033',\n    value: '33',\n    sort: 33,\n    added: 'FIX.5.0SP2',\n    addedEP: '162',\n    tag: 1644,\n    type: 'int',\n    codeSet: 'MarginAmtTypeCodeSet',\n    description:\n      'Interest rate risk margin\\n\\nRisk factor component associated with parallel shift movements in interest rates.',\n  },\n  {\n    name: 'JumpToHealthRiskMargin',\n    id: '1644034',\n    value: '34',\n    sort: 34,\n    added: 'FIX.5.0SP2',\n    addedEP: '162',\n    tag: 1644,\n    type: 'int',\n    codeSet: 'MarginAmtTypeCodeSet',\n    description:\n      'Jump-to-health risk margin\\n\\nRisk factor component to capture extreme narrowing of credit spreads of a reference entity. Also known as Idiosyncratic Risk.',\n  },\n  {\n    name: 'OtherRiskMargin',\n    id: '1644035',\n    value: '35',\n    sort: 35,\n    added: 'FIX.5.0SP2',\n    addedEP: '162',\n    tag: 1644,\n    type: 'int',\n    codeSet: 'MarginAmtTypeCodeSet',\n    description:\n      'Other risk margin\\n\\nAny other risk factors include in the Margin Model.',\n  },\n  {\n    name: 'HedgesForInstrument',\n    id: '1648001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '103',\n    tag: 1648,\n    type: 'int',\n    codeSet: 'RelatedInstrumentTypeCodeSet',\n    description: '\"hedges for\" instrument',\n  },\n  {\n    name: 'Underlier',\n    id: '1648002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '187',\n    tag: 1648,\n    type: 'int',\n    codeSet: 'RelatedInstrumentTypeCodeSet',\n    description: 'Underlier',\n  },\n  {\n    name: 'EquityEquivalent',\n    id: '1648003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '187',\n    tag: 1648,\n    type: 'int',\n    codeSet: 'RelatedInstrumentTypeCodeSet',\n    description: 'Equity equivalent',\n  },\n  {\n    name: 'NearestExchangeTradedContract',\n    id: '1648004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '187',\n    tag: 1648,\n    type: 'int',\n    codeSet: 'RelatedInstrumentTypeCodeSet',\n    description: 'Nearest exchange traded contract',\n  },\n  {\n    name: 'RetailEquivalent',\n    id: '1648005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '195',\n    tag: 1648,\n    type: 'int',\n    codeSet: 'RelatedInstrumentTypeCodeSet',\n    description: 'Retail equivalent of wholesale instrument\\n\\n',\n  },\n  {\n    name: 'Leg',\n    id: '1648006',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '201',\n    tag: 1648,\n    type: 'int',\n    codeSet: 'RelatedInstrumentTypeCodeSet',\n    description:\n      'Leg\\n\\nUsed to associate or link InstrumentLeg to Instrument in messages where there can be multiple instruments, such as in Email(35=C) and News(35=B) messages.',\n  },\n  {\n    name: 'NoParticipation',\n    id: '1655001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '104',\n    tag: 1655,\n    type: 'int',\n    codeSet: 'MarketMakerActivityCodeSet',\n    description: 'No participation',\n  },\n  {\n    name: 'BuyParticipation',\n    id: '1655002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '104',\n    tag: 1655,\n    type: 'int',\n    codeSet: 'MarketMakerActivityCodeSet',\n    description: 'Buy participation',\n  },\n  {\n    name: 'SellParticipation',\n    id: '1655003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '104',\n    tag: 1655,\n    type: 'int',\n    codeSet: 'MarketMakerActivityCodeSet',\n    description: 'Sell participation',\n  },\n  {\n    name: 'BothBuyAndSellParticipation',\n    id: '1655004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '104',\n    tag: 1655,\n    type: 'int',\n    codeSet: 'MarketMakerActivityCodeSet',\n    description: 'Both buy and sell participation',\n  },\n  {\n    name: 'ValidRequest',\n    id: '1511001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '105',\n    tag: 1511,\n    type: 'int',\n    codeSet: 'RequestResultCodeSet',\n    description: 'Valid request',\n  },\n  {\n    name: 'InvalidOrUnsupportedRequest',\n    id: '1511002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '105',\n    tag: 1511,\n    type: 'int',\n    codeSet: 'RequestResultCodeSet',\n    description: 'Invalid or unsupported request',\n  },\n  {\n    name: 'NoDataFound',\n    id: '1511003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '105',\n    tag: 1511,\n    type: 'int',\n    codeSet: 'RequestResultCodeSet',\n    description: 'No data found that match selection criteria',\n  },\n  {\n    name: 'NotAuthorized',\n    id: '1511004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '105',\n    tag: 1511,\n    type: 'int',\n    codeSet: 'RequestResultCodeSet',\n    description: 'Not authorized to retrieve data',\n  },\n  {\n    name: 'DataTemporarilyUnavailable',\n    id: '1511005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '105',\n    tag: 1511,\n    type: 'int',\n    codeSet: 'RequestResultCodeSet',\n    description: 'Data temporarily unavailable',\n  },\n  {\n    name: 'RequestForDataNotSupported',\n    id: '1511006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '105',\n    tag: 1511,\n    type: 'int',\n    codeSet: 'RequestResultCodeSet',\n    description: 'Request for data not supported',\n  },\n  {\n    name: 'Other',\n    id: '1511007',\n    value: '99',\n    sort: 99,\n    added: 'FIX.5.0SP2',\n    addedEP: '105',\n    tag: 1511,\n    type: 'int',\n    codeSet: 'RequestResultCodeSet',\n    description: 'Other (further information in RejectText (1328) field)',\n  },\n  {\n    name: 'IsAlso',\n    id: '1515001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '105',\n    tag: 1515,\n    type: 'int',\n    codeSet: 'PartyRelationshipCodeSet',\n    description: 'Is also',\n  },\n  {\n    name: 'ClearsFor',\n    id: '1515002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '105',\n    tag: 1515,\n    type: 'int',\n    codeSet: 'PartyRelationshipCodeSet',\n    description: 'Clears for',\n  },\n  {\n    name: 'ClearsThrough',\n    id: '1515003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '105',\n    tag: 1515,\n    type: 'int',\n    codeSet: 'PartyRelationshipCodeSet',\n    description: 'Clears through',\n  },\n  {\n    name: 'TradesFor',\n    id: '1515004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '105',\n    tag: 1515,\n    type: 'int',\n    codeSet: 'PartyRelationshipCodeSet',\n    description: 'Trades for',\n  },\n  {\n    name: 'TradesThrough',\n    id: '1515005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '105',\n    tag: 1515,\n    type: 'int',\n    codeSet: 'PartyRelationshipCodeSet',\n    description: 'Trades through',\n  },\n  {\n    name: 'Sponsors',\n    id: '1515006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '105',\n    tag: 1515,\n    type: 'int',\n    codeSet: 'PartyRelationshipCodeSet',\n    description: 'Sponsors',\n  },\n  {\n    name: 'SponsoredThrough',\n    id: '1515007',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '105',\n    tag: 1515,\n    type: 'int',\n    codeSet: 'PartyRelationshipCodeSet',\n    description: 'Sponsored through',\n  },\n  {\n    name: 'ProvidesGuaranteeFor',\n    id: '1515008',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '105',\n    tag: 1515,\n    type: 'int',\n    codeSet: 'PartyRelationshipCodeSet',\n    description: 'Provides guarantee for',\n  },\n  {\n    name: 'IsGuaranteedBy',\n    id: '1515009',\n    value: '8',\n    sort: 8,\n    added: 'FIX.5.0SP2',\n    addedEP: '105',\n    tag: 1515,\n    type: 'int',\n    codeSet: 'PartyRelationshipCodeSet',\n    description: 'Is guaranteed by',\n  },\n  {\n    name: 'MemberOf',\n    id: '1515010',\n    value: '9',\n    sort: 9,\n    added: 'FIX.5.0SP2',\n    addedEP: '105',\n    tag: 1515,\n    type: 'int',\n    codeSet: 'PartyRelationshipCodeSet',\n    description: 'Member of',\n  },\n  {\n    name: 'HasMembers',\n    id: '1515011',\n    value: '10',\n    sort: 10,\n    added: 'FIX.5.0SP2',\n    addedEP: '105',\n    tag: 1515,\n    type: 'int',\n    codeSet: 'PartyRelationshipCodeSet',\n    description: 'Has members',\n  },\n  {\n    name: 'ProvidesMarketplaceFor',\n    id: '1515012',\n    value: '11',\n    sort: 11,\n    added: 'FIX.5.0SP2',\n    addedEP: '105',\n    tag: 1515,\n    type: 'int',\n    codeSet: 'PartyRelationshipCodeSet',\n    description: 'Provides marketplace for',\n  },\n  {\n    name: 'ParticipantOfMarketplace',\n    id: '1515013',\n    value: '12',\n    sort: 12,\n    added: 'FIX.5.0SP2',\n    addedEP: '105',\n    tag: 1515,\n    type: 'int',\n    codeSet: 'PartyRelationshipCodeSet',\n    description: 'Participant of marketplace',\n  },\n  {\n    name: 'CarriesPositionsFor',\n    id: '1515014',\n    value: '13',\n    sort: 13,\n    added: 'FIX.5.0SP2',\n    addedEP: '105',\n    tag: 1515,\n    type: 'int',\n    codeSet: 'PartyRelationshipCodeSet',\n    description: 'Carries positions for',\n  },\n  {\n    name: 'PostsTradesTo',\n    id: '1515015',\n    value: '14',\n    sort: 14,\n    added: 'FIX.5.0SP2',\n    addedEP: '105',\n    tag: 1515,\n    type: 'int',\n    codeSet: 'PartyRelationshipCodeSet',\n    description: 'Posts trades to',\n  },\n  {\n    name: 'EntersTradesFor',\n    id: '1515016',\n    value: '15',\n    sort: 15,\n    added: 'FIX.5.0SP2',\n    addedEP: '105',\n    tag: 1515,\n    type: 'int',\n    codeSet: 'PartyRelationshipCodeSet',\n    description: 'Enters trades for',\n  },\n  {\n    name: 'EntersTradesThrough',\n    id: '1515017',\n    value: '16',\n    sort: 16,\n    added: 'FIX.5.0SP2',\n    addedEP: '105',\n    tag: 1515,\n    type: 'int',\n    codeSet: 'PartyRelationshipCodeSet',\n    description: 'Enters trades through',\n  },\n  {\n    name: 'ProvidesQuotesTo',\n    id: '1515018',\n    value: '17',\n    sort: 17,\n    added: 'FIX.5.0SP2',\n    addedEP: '105',\n    tag: 1515,\n    type: 'int',\n    codeSet: 'PartyRelationshipCodeSet',\n    description: 'Provides quotes to',\n  },\n  {\n    name: 'RequestsQuotesFrom',\n    id: '1515019',\n    value: '18',\n    sort: 18,\n    added: 'FIX.5.0SP2',\n    addedEP: '105',\n    tag: 1515,\n    type: 'int',\n    codeSet: 'PartyRelationshipCodeSet',\n    description: 'Requests quotes from',\n  },\n  {\n    name: 'InvestsFor',\n    id: '1515020',\n    value: '19',\n    sort: 19,\n    added: 'FIX.5.0SP2',\n    addedEP: '105',\n    tag: 1515,\n    type: 'int',\n    codeSet: 'PartyRelationshipCodeSet',\n    description: 'Invests for',\n  },\n  {\n    name: 'InvestsThrough',\n    id: '1515021',\n    value: '20',\n    sort: 20,\n    added: 'FIX.5.0SP2',\n    addedEP: '105',\n    tag: 1515,\n    type: 'int',\n    codeSet: 'PartyRelationshipCodeSet',\n    description: 'Invests through',\n  },\n  {\n    name: 'BrokersTradesFor',\n    id: '1515022',\n    value: '21',\n    sort: 21,\n    added: 'FIX.5.0SP2',\n    addedEP: '105',\n    tag: 1515,\n    type: 'int',\n    codeSet: 'PartyRelationshipCodeSet',\n    description: 'Brokers trades for',\n  },\n  {\n    name: 'BrokersTradesThrough',\n    id: '1515023',\n    value: '22',\n    sort: 22,\n    added: 'FIX.5.0SP2',\n    addedEP: '105',\n    tag: 1515,\n    type: 'int',\n    codeSet: 'PartyRelationshipCodeSet',\n    description: 'Brokers trades through',\n  },\n  {\n    name: 'ProvidesTradingServicesFor',\n    id: '1515024',\n    value: '23',\n    sort: 23,\n    added: 'FIX.5.0SP2',\n    addedEP: '105',\n    tag: 1515,\n    type: 'int',\n    codeSet: 'PartyRelationshipCodeSet',\n    description: 'Provides trading services for',\n  },\n  {\n    name: 'UsesTradingServicesOf',\n    id: '1515025',\n    value: '24',\n    sort: 24,\n    added: 'FIX.5.0SP2',\n    addedEP: '105',\n    tag: 1515,\n    type: 'int',\n    codeSet: 'PartyRelationshipCodeSet',\n    description: 'Uses trading services of',\n  },\n  {\n    name: 'ApprovesOf',\n    id: '1515026',\n    value: '25',\n    sort: 25,\n    added: 'FIX.5.0SP2',\n    addedEP: '105',\n    tag: 1515,\n    type: 'int',\n    codeSet: 'PartyRelationshipCodeSet',\n    description: 'Approves of',\n  },\n  {\n    name: 'ApprovedBy',\n    id: '1515027',\n    value: '26',\n    sort: 26,\n    added: 'FIX.5.0SP2',\n    addedEP: '105',\n    tag: 1515,\n    type: 'int',\n    codeSet: 'PartyRelationshipCodeSet',\n    description: 'Approved by',\n  },\n  {\n    name: 'ParentFirmFor',\n    id: '1515028',\n    value: '27',\n    sort: 27,\n    added: 'FIX.5.0SP2',\n    addedEP: '105',\n    tag: 1515,\n    type: 'int',\n    codeSet: 'PartyRelationshipCodeSet',\n    description: 'Parent firm for',\n  },\n  {\n    name: 'SubsidiaryOf',\n    id: '1515029',\n    value: '28',\n    sort: 28,\n    added: 'FIX.5.0SP2',\n    addedEP: '105',\n    tag: 1515,\n    type: 'int',\n    codeSet: 'PartyRelationshipCodeSet',\n    description: 'Subsidiary of',\n  },\n  {\n    name: 'RegulatoryOwnerOf',\n    id: '1515030',\n    value: '29',\n    sort: 29,\n    added: 'FIX.5.0SP2',\n    addedEP: '105',\n    tag: 1515,\n    type: 'int',\n    codeSet: 'PartyRelationshipCodeSet',\n    description: 'Regulatory owner of',\n  },\n  {\n    name: 'OwnedByRegulatory',\n    id: '1515031',\n    value: '30',\n    sort: 30,\n    added: 'FIX.5.0SP2',\n    addedEP: '105',\n    tag: 1515,\n    type: 'int',\n    codeSet: 'PartyRelationshipCodeSet',\n    description: 'Owned by (regulatory)',\n  },\n  {\n    name: 'Controls',\n    id: '1515032',\n    value: '31',\n    sort: 31,\n    added: 'FIX.5.0SP2',\n    addedEP: '105',\n    tag: 1515,\n    type: 'int',\n    codeSet: 'PartyRelationshipCodeSet',\n    description: 'Controls',\n  },\n  {\n    name: 'IsControlledBy',\n    id: '1515033',\n    value: '32',\n    sort: 32,\n    added: 'FIX.5.0SP2',\n    addedEP: '105',\n    tag: 1515,\n    type: 'int',\n    codeSet: 'PartyRelationshipCodeSet',\n    description: 'Is controlled by',\n  },\n  {\n    name: 'LegalOwnerOf',\n    id: '1515034',\n    value: '33',\n    sort: 33,\n    added: 'FIX.5.0SP2',\n    addedEP: '105',\n    tag: 1515,\n    type: 'int',\n    codeSet: 'PartyRelationshipCodeSet',\n    description: 'Legal / titled owner of',\n  },\n  {\n    name: 'OwnedByLegal',\n    id: '1515035',\n    value: '34',\n    sort: 34,\n    added: 'FIX.5.0SP2',\n    addedEP: '105',\n    tag: 1515,\n    type: 'int',\n    codeSet: 'PartyRelationshipCodeSet',\n    description: 'Owned by (legal / title)',\n  },\n  {\n    name: 'BeneficialOwnerOf',\n    id: '1515036',\n    value: '35',\n    sort: 35,\n    added: 'FIX.5.0SP2',\n    addedEP: '105',\n    tag: 1515,\n    type: 'int',\n    codeSet: 'PartyRelationshipCodeSet',\n    description: 'Beneficial owner of',\n  },\n  {\n    name: 'OwnedByBeneficial',\n    id: '1515037',\n    value: '36',\n    sort: 36,\n    added: 'FIX.5.0SP2',\n    addedEP: '105',\n    tag: 1515,\n    type: 'int',\n    codeSet: 'PartyRelationshipCodeSet',\n    description: 'Owned by (beneficial)',\n  },\n  {\n    name: 'SettlesFor',\n    id: '1515038',\n    value: '37',\n    sort: 37,\n    added: 'FIX.5.0SP2',\n    addedEP: '105',\n    tag: 1515,\n    type: 'int',\n    codeSet: 'PartyRelationshipCodeSet',\n    description: 'Settles for',\n  },\n  {\n    name: 'SettlesThrough',\n    id: '1515039',\n    value: '38',\n    sort: 38,\n    added: 'FIX.5.0SP2',\n    addedEP: '105',\n    tag: 1515,\n    type: 'int',\n    codeSet: 'PartyRelationshipCodeSet',\n    description: 'Settles through',\n  },\n  {\n    name: 'CreditLimit',\n    id: '1530001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    tag: 1530,\n    type: 'int',\n    codeSet: 'RiskLimitTypeCodeSet',\n    description:\n      'Credit limit\\n\\nThe credit limit provided by one party to another for trading.',\n  },\n  {\n    name: 'GrossLimit',\n    id: '1530002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '105',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '128',\n    tag: 1530,\n    type: 'int',\n    codeSet: 'RiskLimitTypeCodeSet',\n    description: 'Gross limit',\n  },\n  {\n    name: 'NetLimit',\n    id: '1530003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '105',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '128',\n    tag: 1530,\n    type: 'int',\n    codeSet: 'RiskLimitTypeCodeSet',\n    description: 'Net limit',\n  },\n  {\n    name: 'Exposure',\n    id: '1530004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '105',\n    tag: 1530,\n    type: 'int',\n    codeSet: 'RiskLimitTypeCodeSet',\n    description: 'Exposure',\n  },\n  {\n    name: 'LongLimit',\n    id: '1530005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '105',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '128',\n    tag: 1530,\n    type: 'int',\n    codeSet: 'RiskLimitTypeCodeSet',\n    description: 'Long limit',\n  },\n  {\n    name: 'ShortLimit',\n    id: '1530006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '105',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '128',\n    tag: 1530,\n    type: 'int',\n    codeSet: 'RiskLimitTypeCodeSet',\n    description: 'Short limit',\n  },\n  {\n    name: 'CashMargin',\n    id: '1530007',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '128',\n    tag: 1530,\n    type: 'int',\n    codeSet: 'RiskLimitTypeCodeSet',\n    description: 'Cash margin',\n  },\n  {\n    name: 'AdditionalMargin',\n    id: '1530008',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '128',\n    tag: 1530,\n    type: 'int',\n    codeSet: 'RiskLimitTypeCodeSet',\n    description: 'Additional margin',\n  },\n  {\n    name: 'TotalMargin',\n    id: '1530009',\n    value: '8',\n    sort: 8,\n    added: 'FIX.5.0SP2',\n    addedEP: '128',\n    tag: 1530,\n    type: 'int',\n    codeSet: 'RiskLimitTypeCodeSet',\n    description: 'Total margin',\n  },\n  {\n    name: 'LimitConsumed',\n    id: '1530010',\n    value: '9',\n    sort: 9,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    tag: 1530,\n    type: 'int',\n    codeSet: 'RiskLimitTypeCodeSet',\n    description: 'Limit consumed\\n\\nThe limit used in the recent transaction.',\n  },\n  {\n    name: 'ClipSize',\n    id: '1530011',\n    value: '10',\n    sort: 10,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '214',\n    tag: 1530,\n    type: 'int',\n    codeSet: 'RiskLimitTypeCodeSet',\n    description:\n      'Clip size/notional limit per time period\\n\\nThe total notional amount limit allowed to be executed within a defined period of time or velocity. The defined period of time may be specified by the RiskLimitVelocityPeriod(2336) and RiskLimitVelocityUnit(2337).',\n  },\n  {\n    name: 'MaxNotionalOrderSize',\n    id: '1530012',\n    value: '11',\n    sort: 11,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    tag: 1530,\n    type: 'int',\n    codeSet: 'RiskLimitTypeCodeSet',\n    description: 'Maximum notional order size',\n  },\n  {\n    name: 'DV01PV01Limit',\n    id: '1530013',\n    value: '12',\n    sort: 12,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    tag: 1530,\n    type: 'int',\n    codeSet: 'RiskLimitTypeCodeSet',\n    description:\n      'DV01/PV01 limit\\n\\nThe maximum dollar value change resulting from a move of 1 basis point in the yield curve. This limits the interest rate risk exposure. Also known as \"basis point value\" or BPV.',\n  },\n  {\n    name: 'CS01Limit',\n    id: '1530014',\n    value: '13',\n    sort: 13,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    tag: 1530,\n    type: 'int',\n    codeSet: 'RiskLimitTypeCodeSet',\n    description:\n      'CS01 limit\\n\\nCredit spread sensitivity. Represents the change in market value of a CDS for a one basis point change in the credit spread. This limits the credit risk exposure of a CDS. Also known as \"risky-DV01\".',\n  },\n  {\n    name: 'VolumeLimitPerTimePeriod',\n    id: '1530015',\n    value: '14',\n    sort: 14,\n    added: 'FIX.5.0SP2',\n    addedEP: '214',\n    tag: 1530,\n    type: 'int',\n    codeSet: 'RiskLimitTypeCodeSet',\n    description:\n      'Volume limit per time period\\n\\nThe total number of shares, bonds or contracts allowed to be executed within a defined period of time or velocity. The defined period of time may be specified by the RiskLimitVelocityPeriod(2336) and RiskLimitVelocityUnit(2337).',\n  },\n  {\n    name: 'VolFilledPctOrdVolTmPeriod',\n    id: '1530016',\n    value: '15',\n    sort: 15,\n    added: 'FIX.5.0SP2',\n    addedEP: '214',\n    tag: 1530,\n    type: 'int',\n    codeSet: 'RiskLimitTypeCodeSet',\n    description:\n      'Volume filled as percent of ordered volume per time period\\n\\nThe total number of shares, bonds or contracts executed as a percentage of the total ordered shares, contracts or notional amount for a specified security, instrument, symbol, or underlying, over a defined period of time or velocity. The defined period of time may be specified by the RiskLimitVelocityPeriod(2336) and RiskLimitVelocityUnit(2337).',\n  },\n  {\n    name: 'NotlFilledPctNotlTmPeriod',\n    id: '1530017',\n    value: '16',\n    sort: 16,\n    added: 'FIX.5.0SP2',\n    addedEP: '214',\n    tag: 1530,\n    type: 'int',\n    codeSet: 'RiskLimitTypeCodeSet',\n    description:\n      'Notional filled as percent of notional per time period\\n\\nThe total notional amount executed as a percentage of the total ordered shares, contracts or notional amount for a specified security, instrument, symbol, or underlying, over a defined period of time or velocity. The defined period of time may be specified by the RiskLimitVelocityPeriod(2336) and RiskLimitVelocityUnit(2337).',\n  },\n  {\n    name: 'TransactionExecutionLimitPerTimePeriod',\n    id: '1530018',\n    value: '17',\n    sort: 17,\n    added: 'FIX.5.0SP2',\n    addedEP: '214',\n    tag: 1530,\n    type: 'int',\n    codeSet: 'RiskLimitTypeCodeSet',\n    description:\n      'Transaction/execution limit per time period\\n\\nThe total number of transactions or execution fills allowed within a defined period of time or velocity. The defined period of time may be specified by the RiskLimitVelocityPeriod(2336) and RiskLimitVelocityUnit(2337).',\n  },\n  {\n    name: 'Include',\n    id: '1535001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '105',\n    tag: 1535,\n    type: 'int',\n    codeSet: 'InstrumentScopeOperatorCodeSet',\n    description: 'Include',\n  },\n  {\n    name: 'Exclude',\n    id: '1535002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '105',\n    tag: 1535,\n    type: 'int',\n    codeSet: 'InstrumentScopeOperatorCodeSet',\n    description: 'Exclude',\n  },\n  {\n    name: 'Active',\n    id: '1672001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '105',\n    tag: 1672,\n    type: 'int',\n    codeSet: 'PartyDetailStatusCodeSet',\n    description: 'Active (default if not specified)',\n  },\n  {\n    name: 'Suspended',\n    id: '1672002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '105',\n    tag: 1672,\n    type: 'int',\n    codeSet: 'PartyDetailStatusCodeSet',\n    description: 'Suspended',\n  },\n  {\n    name: 'Halted',\n    id: '1672003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    tag: 1672,\n    type: 'int',\n    codeSet: 'PartyDetailStatusCodeSet',\n    description: 'Halted',\n  },\n  {\n    name: 'FirmOrLegalEntity',\n    id: '1674001',\n    value: '23',\n    sort: 23,\n    group: 'For all firm / broker type party roles',\n    added: 'FIX.5.0SP2',\n    addedEP: '222',\n    tag: 1674,\n    type: 'int',\n    codeSet: 'PartyDetailRoleQualifierCodeSet',\n    description: 'Firm or legal entity',\n  },\n  {\n    name: 'Current',\n    id: '1674002',\n    value: '18',\n    sort: 18,\n    group: 'For all party roles',\n    added: 'FIX.5.0SP2',\n    addedEP: '213',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '223',\n    tag: 1674,\n    type: 'int',\n    codeSet: 'PartyDetailRoleQualifierCodeSet',\n    description:\n      'Current\\n\\nCan be used to convey an existing party identifier for the same party role in a single message.',\n  },\n  {\n    name: 'New',\n    id: '1674003',\n    value: '19',\n    sort: 19,\n    group: 'For all party roles',\n    added: 'FIX.5.0SP2',\n    addedEP: '213',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '223',\n    tag: 1674,\n    type: 'int',\n    codeSet: 'PartyDetailRoleQualifierCodeSet',\n    description:\n      'New\\n\\nCan be used to convey a future party identifier for the same party role in a single message.',\n  },\n  {\n    name: 'NaturalPerson',\n    id: '1674004',\n    value: '24',\n    sort: 24,\n    group: 'For all trader / customer type party roles',\n    added: 'FIX.5.0SP2',\n    addedEP: '222',\n    tag: 1674,\n    type: 'int',\n    codeSet: 'PartyDetailRoleQualifierCodeSet',\n    description: 'Natural person',\n  },\n  {\n    name: 'Agency',\n    id: '1674005',\n    value: '0',\n    sort: 0,\n    group: 'For party role 1 (Executing Firm)',\n    added: 'FIX.5.0SP2',\n    addedEP: '105',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '223',\n    tag: 1674,\n    type: 'int',\n    codeSet: 'PartyDetailRoleQualifierCodeSet',\n    description: 'Agency',\n  },\n  {\n    name: 'Principal',\n    id: '1674006',\n    value: '1',\n    sort: 1,\n    group: 'For party role 1 (Executing Firm)',\n    added: 'FIX.5.0SP2',\n    addedEP: '105',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '223',\n    tag: 1674,\n    type: 'int',\n    codeSet: 'PartyDetailRoleQualifierCodeSet',\n    description: 'Principal',\n  },\n  {\n    name: 'RisklessPrincipal',\n    id: '1674007',\n    value: '2',\n    sort: 2,\n    group: 'For party role 1 (Executing Firm)',\n    added: 'FIX.5.0SP2',\n    addedEP: '105',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '223',\n    tag: 1674,\n    type: 'int',\n    codeSet: 'PartyDetailRoleQualifierCodeSet',\n    description: 'Riskless principal',\n  },\n  {\n    name: 'ExchangeOrderSubmitter',\n    id: '1674008',\n    value: '30',\n    sort: 3,\n    group: 'For party role 1 (Executing Firm)',\n    added: 'FIX.Latest',\n    addedEP: '279',\n    tag: 1674,\n    type: 'int',\n    codeSet: 'PartyDetailRoleQualifierCodeSet',\n    description:\n      'Exchange order submitter\\n\\nUsed to identify original or initial exchange order submitting broker when party role \"1\" (Executing Firm) appears more than once.',\n  },\n  {\n    name: 'PrimaryTrdRepository',\n    id: '1674009',\n    value: '9',\n    sort: 9,\n    group: 'For party role 102 (Data repository)',\n    added: 'FIX.5.0SP2',\n    addedEP: '193',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '223',\n    tag: 1674,\n    type: 'int',\n    codeSet: 'PartyDetailRoleQualifierCodeSet',\n    description:\n      'Primary trade repository\\n\\nUsed to differentiate the principal trade repository from the Original or Additional trade repositories when there are multiple trade repositories being reported.',\n  },\n  {\n    name: 'OrigTrdRepository',\n    id: '1674010',\n    value: '10',\n    sort: 10,\n    group: 'For party role 102 (Data repository)',\n    added: 'FIX.5.0SP2',\n    addedEP: '193',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '223',\n    tag: 1674,\n    type: 'int',\n    codeSet: 'PartyDetailRoleQualifierCodeSet',\n    description:\n      'Original trade repository\\n\\nUsed to identify the trade repository to which the trade was originally reported if different from the current repository to which the trade is being reported.',\n  },\n  {\n    name: 'AddtnlIntlTrdRepository',\n    id: '1674011',\n    value: '11',\n    sort: 11,\n    group: 'For party role 102 (Data repository)',\n    added: 'FIX.5.0SP2',\n    addedEP: '193',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '223',\n    tag: 1674,\n    type: 'int',\n    codeSet: 'PartyDetailRoleQualifierCodeSet',\n    description:\n      'Additional international trade repository\\n\\nUsed with InternationalSwapIndicator(2526) to identify the trade repository that is in addition to the local swaps data repository as required by U.S. law.',\n  },\n  {\n    name: 'AddtnlDomesticTrdRepository',\n    id: '1674012',\n    value: '12',\n    sort: 12,\n    group: 'For party role 102 (Data repository)',\n    added: 'FIX.5.0SP2',\n    addedEP: '193',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '223',\n    tag: 1674,\n    type: 'int',\n    codeSet: 'PartyDetailRoleQualifierCodeSet',\n    description:\n      'Additional domestic trade repository\\n\\nUsed with MixedSwapIndicator(1929) to identify the trade repository that is in addition to the current trade repository when the assets in the swap are subject to two different domestic regulators.',\n  },\n  {\n    name: 'RegularTrader',\n    id: '1674013',\n    value: '25',\n    sort: 25,\n    group:\n      'For party role 11 (Order Origination Trader), 12 (Executing Trader), 36 (Entering Trader), 37 (Contra Trader)',\n    added: 'FIX.5.0SP2',\n    addedEP: '223',\n    tag: 1674,\n    type: 'int',\n    codeSet: 'PartyDetailRoleQualifierCodeSet',\n    description: 'Regular trader\\n\\nStandard trader profile.',\n  },\n  {\n    name: 'HeadTrader',\n    id: '1674014',\n    value: '26',\n    sort: 26,\n    group:\n      'For party role 11 (Order Origination Trader), 12 (Executing Trader), 36 (Entering Trader), 37 (Contra Trader)',\n    added: 'FIX.5.0SP2',\n    addedEP: '223',\n    tag: 1674,\n    type: 'int',\n    codeSet: 'PartyDetailRoleQualifierCodeSet',\n    description: 'Head trader\\n\\nSenior trader leading a group of regular traders.',\n  },\n  {\n    name: 'Supervisor',\n    id: '1674015',\n    value: '27',\n    sort: 27,\n    group:\n      'For party role 11 (Order Origination Trader), 12 (Executing Trader), 36 (Entering Trader), 37 (Contra Trader)',\n    added: 'FIX.5.0SP2',\n    addedEP: '223',\n    tag: 1674,\n    type: 'int',\n    codeSet: 'PartyDetailRoleQualifierCodeSet',\n    description:\n      'Supervisor\\n\\nAdministrative user that has only limited rights for normal trading but possibly special rights for emergency actions.',\n  },\n  {\n    name: 'Algorithm',\n    id: '1674016',\n    value: '22',\n    sort: 22,\n    group: 'For party role 12 (Executing trader) or 122 (Investment decision maker)',\n    added: 'FIX.5.0SP2',\n    addedEP: '222',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '223',\n    tag: 1674,\n    type: 'int',\n    codeSet: 'PartyDetailRoleQualifierCodeSet',\n    description: 'Algorithm',\n  },\n  {\n    name: 'RelatedExchange',\n    id: '1674017',\n    value: '13',\n    sort: 13,\n    group: 'For party role 22 (Exchange)',\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '223',\n    tag: 1674,\n    type: 'int',\n    codeSet: 'PartyDetailRoleQualifierCodeSet',\n    description: 'Related exchange',\n  },\n  {\n    name: 'OptionsExchange',\n    id: '1674018',\n    value: '14',\n    sort: 14,\n    group: 'For party role 22 (Exchange)',\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '223',\n    tag: 1674,\n    type: 'int',\n    codeSet: 'PartyDetailRoleQualifierCodeSet',\n    description: 'Options exchange',\n  },\n  {\n    name: 'SpecifiedExchange',\n    id: '1674019',\n    value: '15',\n    sort: 15,\n    group: 'For party role 22 (Exchange)',\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '223',\n    tag: 1674,\n    type: 'int',\n    codeSet: 'PartyDetailRoleQualifierCodeSet',\n    description: 'Specified exchange',\n  },\n  {\n    name: 'ConstituentExchange',\n    id: '1674020',\n    value: '16',\n    sort: 16,\n    group: 'For party role 22 (Exchange)',\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '223',\n    tag: 1674,\n    type: 'int',\n    codeSet: 'PartyDetailRoleQualifierCodeSet',\n    description: 'Constituent exchange\\n\\n',\n  },\n  {\n    name: 'Bank',\n    id: '1674021',\n    value: '7',\n    sort: 7,\n    group: 'For party role 29 (Intermediary), 32 (Beneficiary) and 107 (Correspondent)',\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '223',\n    tag: 1674,\n    type: 'int',\n    codeSet: 'PartyDetailRoleQualifierCodeSet',\n    description: 'Bank',\n  },\n  {\n    name: 'Hub',\n    id: '1674022',\n    value: '8',\n    sort: 8,\n    group: 'For party role 29 (Intermediary), 32 (Beneficiary) and 107 (Correspondent)',\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '223',\n    tag: 1674,\n    type: 'int',\n    codeSet: 'PartyDetailRoleQualifierCodeSet',\n    description:\n      'Hub\\n\\nIndicates that the Intermediary party is a hub system or service provider.',\n  },\n  {\n    name: 'TriParty',\n    id: '1674023',\n    value: '28',\n    sort: 28,\n    group: 'For party role 30 (Agent)',\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 1674,\n    type: 'int',\n    codeSet: 'PartyDetailRoleQualifierCodeSet',\n    description:\n      'Tri-party\\n\\nIn the context of EU SFTR reporting, identifies the third party, not necessarily the custodian, to which the reporting counterparty has outsourced the post-trade processing of an SFT (if applicable).',\n  },\n  {\n    name: 'Lender',\n    id: '1674024',\n    value: '29',\n    sort: 29,\n    group: 'For party role 30 (Agent)',\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 1674,\n    type: 'int',\n    codeSet: 'PartyDetailRoleQualifierCodeSet',\n    description:\n      'Lender\\n\\nIn the context of EU SFTR reporting, identifies the agent lender involved in the securities lending transaction.',\n  },\n  {\n    name: 'GeneralClearingMember',\n    id: '1674025',\n    value: '3',\n    sort: 3,\n    group: 'For party role 4 (Clearing Firm)',\n    added: 'FIX.5.0SP2',\n    addedEP: '105',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '223',\n    tag: 1674,\n    type: 'int',\n    codeSet: 'PartyDetailRoleQualifierCodeSet',\n    description: 'General clearing member',\n  },\n  {\n    name: 'IndividualClearingMember',\n    id: '1674026',\n    value: '4',\n    sort: 4,\n    group: 'For party role 4 (Clearing Firm)',\n    added: 'FIX.5.0SP2',\n    addedEP: '105',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '223',\n    tag: 1674,\n    type: 'int',\n    codeSet: 'PartyDetailRoleQualifierCodeSet',\n    description: 'Individual clearing member',\n  },\n  {\n    name: 'PreferredMarketMaker',\n    id: '1674027',\n    value: '5',\n    sort: 5,\n    group: 'For party role 66 (Market Maker)',\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '223',\n    tag: 1674,\n    type: 'int',\n    codeSet: 'PartyDetailRoleQualifierCodeSet',\n    description:\n      'Preferred market maker\\n\\nMarket maker getting a part of the matched quantity before primary or default market maker.',\n  },\n  {\n    name: 'DirectedMarketMaker',\n    id: '1674028',\n    value: '6',\n    sort: 6,\n    group: 'For party role 66 (Market Maker)',\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '223',\n    tag: 1674,\n    type: 'int',\n    codeSet: 'PartyDetailRoleQualifierCodeSet',\n    description:\n      'Directed market maker\\n\\nSingle market maker to handle the order provided.',\n  },\n  {\n    name: 'DesignatedSponsor',\n    id: '1674029',\n    value: '20',\n    sort: 20,\n    group: 'For party role 66 (Market Maker)',\n    added: 'FIX.5.0SP2',\n    addedEP: '219',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '223',\n    tag: 1674,\n    type: 'int',\n    codeSet: 'PartyDetailRoleQualifierCodeSet',\n    description:\n      'Designated sponsor\\n\\nMarket maker jointly providing liquidity for the same security with other market makers.',\n  },\n  {\n    name: 'Specialist',\n    id: '1674030',\n    value: '21',\n    sort: 21,\n    group: 'For party role 66 (Market Maker)',\n    added: 'FIX.5.0SP2',\n    addedEP: '219',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '223',\n    tag: 1674,\n    type: 'int',\n    codeSet: 'PartyDetailRoleQualifierCodeSet',\n    description:\n      'Specialist\\n\\nMarket maker being the only one providing liquidity for a security.',\n  },\n  {\n    name: 'ExemptFromTradeReporting',\n    id: '1674031',\n    value: '17',\n    sort: 17,\n    group: 'For party role 73 (Execution Venue)',\n    added: 'FIX.5.0SP2',\n    addedEP: '209',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '223',\n    tag: 1674,\n    type: 'int',\n    codeSet: 'PartyDetailRoleQualifierCodeSet',\n    description:\n      'Exempt from trade reporting\\n\\nIn the context of FINRA TRACE reporting requirements, this is used to indicate the ATS has been granted a regulatory exemption from reporting.',\n  },\n  {\n    name: 'Accepted',\n    id: '1523001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '107',\n    tag: 1523,\n    type: 'int',\n    codeSet: 'TrdAckStatusCodeSet',\n    description: 'Accepted',\n  },\n  {\n    name: 'Rejected',\n    id: '1523002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '107',\n    tag: 1523,\n    type: 'int',\n    codeSet: 'TrdAckStatusCodeSet',\n    description: 'Rejected',\n  },\n  {\n    name: 'Received',\n    id: '1523003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '107',\n    tag: 1523,\n    type: 'int',\n    codeSet: 'TrdAckStatusCodeSet',\n    description: 'Received',\n  },\n  {\n    name: 'Fee',\n    id: '1583001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '107',\n    tag: 1583,\n    type: 'int',\n    codeSet: 'SecurityClassificationReasonCodeSet',\n    description: 'Fee',\n  },\n  {\n    name: 'CreditControls',\n    id: '1583002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '107',\n    tag: 1583,\n    type: 'int',\n    codeSet: 'SecurityClassificationReasonCodeSet',\n    description: 'Credit Controls',\n  },\n  {\n    name: 'Margin',\n    id: '1583003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '107',\n    tag: 1583,\n    type: 'int',\n    codeSet: 'SecurityClassificationReasonCodeSet',\n    description: 'Margin',\n  },\n  {\n    name: 'EntitlementOrEligibility',\n    id: '1583004',\n    value: '3',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '107',\n    tag: 1583,\n    type: 'int',\n    codeSet: 'SecurityClassificationReasonCodeSet',\n    description: 'Entitlement / Eligibility',\n  },\n  {\n    name: 'MarketData',\n    id: '1583005',\n    value: '4',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '107',\n    tag: 1583,\n    type: 'int',\n    codeSet: 'SecurityClassificationReasonCodeSet',\n    description: 'Market Data',\n  },\n  {\n    name: 'AccountSelection',\n    id: '1583006',\n    value: '5',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '107',\n    tag: 1583,\n    type: 'int',\n    codeSet: 'SecurityClassificationReasonCodeSet',\n    description: 'Account Selection',\n  },\n  {\n    name: 'DeliveryProcess',\n    id: '1583007',\n    value: '6',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '107',\n    tag: 1583,\n    type: 'int',\n    codeSet: 'SecurityClassificationReasonCodeSet',\n    description: 'Delivery Process',\n  },\n  {\n    name: 'Sector',\n    id: '1583008',\n    value: '7',\n    sort: 8,\n    added: 'FIX.5.0SP2',\n    addedEP: '107',\n    tag: 1583,\n    type: 'int',\n    codeSet: 'SecurityClassificationReasonCodeSet',\n    description: 'Sector',\n  },\n  {\n    name: 'OptionsSettlement',\n    id: '1585001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '107',\n    tag: 1585,\n    type: 'int',\n    codeSet: 'PosAmtReasonCodeSet',\n    description: 'Options settlement',\n  },\n  {\n    name: 'PendingErosionAdjustment',\n    id: '1585002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '107',\n    tag: 1585,\n    type: 'int',\n    codeSet: 'PosAmtReasonCodeSet',\n    description: 'Pending erosion adjustment',\n  },\n  {\n    name: 'FinalErosionAdjustment',\n    id: '1585003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '107',\n    tag: 1585,\n    type: 'int',\n    codeSet: 'PosAmtReasonCodeSet',\n    description: 'Final erosion adjustment',\n  },\n  {\n    name: 'TearUpCouponAmount',\n    id: '1585004',\n    value: '3',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '107',\n    tag: 1585,\n    type: 'int',\n    codeSet: 'PosAmtReasonCodeSet',\n    description: 'Tear-up coupon amount',\n  },\n  {\n    name: 'PriceAlignmentInterest',\n    id: '1585005',\n    value: '4',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '107',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '141',\n    tag: 1585,\n    type: 'int',\n    codeSet: 'PosAmtReasonCodeSet',\n    description:\n      'Price alignment interest\\n\\nTo minimize the impact of daily cash variation margin payments on the pricing of interest rate swaps, the Clearing House will charge interest on cumulative variation margin received and pay interest on cumulative variation margin paid in respect of these instruments. This interest element is known as price alignment interest.',\n  },\n  {\n    name: 'DeliveryInvoiceCharges',\n    id: '1585006',\n    value: '5',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '107',\n    tag: 1585,\n    type: 'int',\n    codeSet: 'PosAmtReasonCodeSet',\n    description: 'Delivery invoice charges',\n  },\n  {\n    name: 'DeliveryStorageCharges',\n    id: '1585007',\n    value: '6',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '107',\n    tag: 1585,\n    type: 'int',\n    codeSet: 'PosAmtReasonCodeSet',\n    description: 'Delivery storage charges',\n  },\n  {\n    name: 'TradeClearingAtExecutionPrice',\n    id: '1598001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '111',\n    tag: 1598,\n    type: 'int',\n    codeSet: 'SideClearingTradePriceTypeCodeSet',\n    description: 'Trade Clearing at Execution Price',\n  },\n  {\n    name: 'TradeClearingAtAlternateClearingPrice',\n    id: '1598002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '111',\n    tag: 1598,\n    type: 'int',\n    codeSet: 'SideClearingTradePriceTypeCodeSet',\n    description: 'Trade Clearing at Alternate Clearing Price',\n  },\n  {\n    name: 'InvalidInstrumentRequested',\n    id: '1607001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '114',\n    tag: 1607,\n    type: 'int',\n    codeSet: 'SecurityRejectReasonCodeSet',\n    description: 'Invalid instrument requested',\n  },\n  {\n    name: 'InstrumentAlreadyExists',\n    id: '1607002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '114',\n    tag: 1607,\n    type: 'int',\n    codeSet: 'SecurityRejectReasonCodeSet',\n    description: 'Instrument already exists',\n  },\n  {\n    name: 'RequestTypeNotSupported',\n    id: '1607003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '114',\n    tag: 1607,\n    type: 'int',\n    codeSet: 'SecurityRejectReasonCodeSet',\n    description: 'Request type not supported',\n  },\n  {\n    name: 'SystemUnavailableForInstrumentCreation',\n    id: '1607004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '114',\n    tag: 1607,\n    type: 'int',\n    codeSet: 'SecurityRejectReasonCodeSet',\n    description: 'System unavailable for instrument creation',\n  },\n  {\n    name: 'IneligibleInstrumentGroup',\n    id: '1607005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '114',\n    tag: 1607,\n    type: 'int',\n    codeSet: 'SecurityRejectReasonCodeSet',\n    description: 'Ineligible instrument group',\n  },\n  {\n    name: 'InstrumentIDUnavailable',\n    id: '1607006',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '114',\n    tag: 1607,\n    type: 'int',\n    codeSet: 'SecurityRejectReasonCodeSet',\n    description: 'Instrument ID unavailable',\n  },\n  {\n    name: 'InvalidOrMissingDataOnOptionLeg',\n    id: '1607007',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '114',\n    tag: 1607,\n    type: 'int',\n    codeSet: 'SecurityRejectReasonCodeSet',\n    description: 'Invalid or missing data on option leg',\n  },\n  {\n    name: 'InvalidOrMissingDataOnFutureLeg',\n    id: '1607008',\n    value: '8',\n    sort: 8,\n    added: 'FIX.5.0SP2',\n    addedEP: '114',\n    tag: 1607,\n    type: 'int',\n    codeSet: 'SecurityRejectReasonCodeSet',\n    description: 'Invalid or missing data on future leg',\n  },\n  {\n    name: 'InvalidOrMissingDataOnFXLeg',\n    id: '1607009',\n    value: '10',\n    sort: 10,\n    added: 'FIX.5.0SP2',\n    addedEP: '114',\n    tag: 1607,\n    type: 'int',\n    codeSet: 'SecurityRejectReasonCodeSet',\n    description: 'Invalid or missing data on FX leg',\n  },\n  {\n    name: 'InvalidLegPriceSpecified',\n    id: '1607010',\n    value: '11',\n    sort: 11,\n    added: 'FIX.5.0SP2',\n    addedEP: '114',\n    tag: 1607,\n    type: 'int',\n    codeSet: 'SecurityRejectReasonCodeSet',\n    description: 'Invalid leg price specified',\n  },\n  {\n    name: 'InvalidInstrumentStructureSpecified',\n    id: '1607011',\n    value: '12',\n    sort: 12,\n    added: 'FIX.5.0SP2',\n    addedEP: '114',\n    tag: 1607,\n    type: 'int',\n    codeSet: 'SecurityRejectReasonCodeSet',\n    description: 'Invalid instrument structure specified',\n  },\n  {\n    name: 'ThrottleLimitNotExceededNotQueued',\n    id: '1609001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '116',\n    tag: 1609,\n    type: 'int',\n    codeSet: 'ThrottleStatusCodeSet',\n    description: 'Throttle limit not exceeded, not queued',\n  },\n  {\n    name: 'QueuedDueToThrottleLimitExceeded',\n    id: '1609002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '116',\n    tag: 1609,\n    type: 'int',\n    codeSet: 'ThrottleStatusCodeSet',\n    description: 'Queued due to throttle limit exceeded',\n  },\n  {\n    name: 'QueueInbound',\n    id: '1611001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '116',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '128',\n    tag: 1611,\n    type: 'int',\n    codeSet: 'ThrottleActionCodeSet',\n    description: 'Queue inbound',\n  },\n  {\n    name: 'QueueOutbound',\n    id: '1611002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '116',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '128',\n    tag: 1611,\n    type: 'int',\n    codeSet: 'ThrottleActionCodeSet',\n    description: 'Queue outbound',\n  },\n  {\n    name: 'Reject',\n    id: '1611003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '116',\n    tag: 1611,\n    type: 'int',\n    codeSet: 'ThrottleActionCodeSet',\n    description: 'Reject',\n  },\n  {\n    name: 'Disconnect',\n    id: '1611004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '116',\n    tag: 1611,\n    type: 'int',\n    codeSet: 'ThrottleActionCodeSet',\n    description: 'Disconnect',\n  },\n  {\n    name: 'Warning',\n    id: '1611005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '116',\n    tag: 1611,\n    type: 'int',\n    codeSet: 'ThrottleActionCodeSet',\n    description: 'Warning',\n  },\n  {\n    name: 'InboundRate',\n    id: '1612001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '116',\n    tag: 1612,\n    type: 'int',\n    codeSet: 'ThrottleTypeCodeSet',\n    description: 'Inbound Rate',\n  },\n  {\n    name: 'OutstandingRequests',\n    id: '1612002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '116',\n    tag: 1612,\n    type: 'int',\n    codeSet: 'ThrottleTypeCodeSet',\n    description: 'Outstanding Requests',\n  },\n  {\n    name: 'RejectIfThrottleLimitExceeded',\n    id: '1685001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '116',\n    tag: 1685,\n    type: 'int',\n    codeSet: 'ThrottleInstCodeSet',\n    description: 'Reject if throttle limit exceeded',\n  },\n  {\n    name: 'QueueIfThrottleLimitExceeded',\n    id: '1685002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '116',\n    tag: 1685,\n    type: 'int',\n    codeSet: 'ThrottleInstCodeSet',\n    description: 'Queue if throttle limit exceeded',\n  },\n  {\n    name: 'OutstandingRequestsUnchanged',\n    id: '1686001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '116',\n    tag: 1686,\n    type: 'int',\n    codeSet: 'ThrottleCountIndicatorCodeSet',\n    description: 'Outstanding requests unchanged',\n  },\n  {\n    name: 'OutstandingRequestsDecreased',\n    id: '1686002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '116',\n    tag: 1686,\n    type: 'int',\n    codeSet: 'ThrottleCountIndicatorCodeSet',\n    description: 'Outstanding requests decreased',\n  },\n  {\n    name: 'Rollup',\n    id: '1735001',\n    value: '0',\n    added: 'FIX.5.0SP2',\n    addedEP: '118',\n    tag: 1735,\n    type: 'int',\n    codeSet: 'AllocationRollupInstructionCodeSet',\n    description: 'Roll up',\n  },\n  {\n    name: 'DoNotRollUp',\n    id: '1735002',\n    value: '1',\n    added: 'FIX.5.0SP2',\n    addedEP: '118',\n    tag: 1735,\n    type: 'int',\n    codeSet: 'AllocationRollupInstructionCodeSet',\n    description: 'Do not roll up',\n  },\n  {\n    name: 'Completed',\n    id: '1738001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '118',\n    tag: 1738,\n    type: 'int',\n    codeSet: 'AllocReversalStatusCodeSet',\n    description: 'Completed',\n  },\n  {\n    name: 'Refused',\n    id: '1738002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '118',\n    tag: 1738,\n    type: 'int',\n    codeSet: 'AllocReversalStatusCodeSet',\n    description: 'Refused',\n  },\n  {\n    name: 'Cancelled',\n    id: '1738003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '118',\n    tag: 1738,\n    type: 'int',\n    codeSet: 'AllocReversalStatusCodeSet',\n    description: 'Cancelled',\n  },\n  {\n    name: 'Bond',\n    id: '1739001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '119',\n    tag: 1739,\n    type: 'String',\n    codeSet: 'ObligationTypeCodeSet',\n    description: 'Bond',\n  },\n  {\n    name: 'ConvertBond',\n    id: '1739002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '119',\n    tag: 1739,\n    type: 'String',\n    codeSet: 'ObligationTypeCodeSet',\n    description: 'Convertible bond',\n  },\n  {\n    name: 'Mortgage',\n    id: '1739003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '119',\n    tag: 1739,\n    type: 'String',\n    codeSet: 'ObligationTypeCodeSet',\n    description: 'Mortgage',\n  },\n  {\n    name: 'Loan',\n    id: '1739004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '119',\n    tag: 1739,\n    type: 'String',\n    codeSet: 'ObligationTypeCodeSet',\n    description: 'Loan',\n  },\n  {\n    name: 'PercentPar',\n    id: '1740001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '119',\n    tag: 1740,\n    type: 'int',\n    codeSet: 'TradePriceNegotiationMethodCodeSet',\n    description: 'Percent of par',\n  },\n  {\n    name: 'DealSpread',\n    id: '1740002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '119',\n    tag: 1740,\n    type: 'int',\n    codeSet: 'TradePriceNegotiationMethodCodeSet',\n    description: 'Deal spread',\n  },\n  {\n    name: 'UpfrontPnts',\n    id: '1740003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '119',\n    tag: 1740,\n    type: 'int',\n    codeSet: 'TradePriceNegotiationMethodCodeSet',\n    description: 'Upfront points',\n  },\n  {\n    name: 'UpfrontAmt',\n    id: '1740004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '119',\n    tag: 1740,\n    type: 'int',\n    codeSet: 'TradePriceNegotiationMethodCodeSet',\n    description: 'Upfront amount',\n  },\n  {\n    name: 'ParUpfrontAmt',\n    id: '1740005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '119',\n    tag: 1740,\n    type: 'int',\n    codeSet: 'TradePriceNegotiationMethodCodeSet',\n    description: 'Percent of par and upfront amount',\n  },\n  {\n    name: 'SpreadUpfrontAmt',\n    id: '1740006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '119',\n    tag: 1740,\n    type: 'int',\n    codeSet: 'TradePriceNegotiationMethodCodeSet',\n    description: 'Deal spread and upfront amount',\n  },\n  {\n    name: 'UpfrontPntsAmt',\n    id: '1740007',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '119',\n    tag: 1740,\n    type: 'int',\n    codeSet: 'TradePriceNegotiationMethodCodeSet',\n    description: 'Upfront points and upfront amount',\n  },\n  {\n    name: 'Percentage',\n    id: '1741001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '119',\n    tag: 1741,\n    type: 'int',\n    codeSet: 'UpfrontPriceTypeCodeSet',\n    description:\n      'Percentage (i.e. percent of par) (often called \"dollar price\" for fixed income)',\n  },\n  {\n    name: 'FixedAmount',\n    id: '1741002',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '119',\n    tag: 1741,\n    type: 'int',\n    codeSet: 'UpfrontPriceTypeCodeSet',\n    description: 'Fixed amount (absolute value)',\n  },\n  {\n    name: 'NoRestrictions',\n    id: '1687001',\n    value: '0',\n    added: 'FIX.5.0SP2',\n    addedEP: '120',\n    tag: 1687,\n    type: 'int',\n    codeSet: 'ShortSaleRestrictionCodeSet',\n    description: 'No restrictions',\n  },\n  {\n    name: 'SecurityNotShortable',\n    id: '1687002',\n    value: '1',\n    added: 'FIX.5.0SP2',\n    addedEP: '120',\n    tag: 1687,\n    type: 'int',\n    codeSet: 'ShortSaleRestrictionCodeSet',\n    description: 'Security is not shortable',\n  },\n  {\n    name: 'SecurityNotShortableAtOrBelowBestBid',\n    id: '1687003',\n    value: '2',\n    added: 'FIX.5.0SP2',\n    addedEP: '120',\n    tag: 1687,\n    type: 'int',\n    codeSet: 'ShortSaleRestrictionCodeSet',\n    description: 'Security not shortable at or below the best bid',\n  },\n  {\n    name: 'SecurityNotShortableWithoutPreBorrow',\n    id: '1687004',\n    value: '3',\n    added: 'FIX.5.0SP2',\n    addedEP: '164',\n    tag: 1687,\n    type: 'int',\n    codeSet: 'ShortSaleRestrictionCodeSet',\n    description: 'Security is not shortable without pre-borrow',\n  },\n  {\n    name: 'ExemptionReasonUnknown',\n    id: '1688001',\n    value: '0',\n    added: 'FIX.5.0SP2',\n    addedEP: '121',\n    tag: 1688,\n    type: 'int',\n    codeSet: 'ShortSaleExemptionReasonCodeSet',\n    description:\n      'Exemption reason unknown\\n\\nAn exemption reason not provided or received.',\n  },\n  {\n    name: 'IncomingSSE',\n    id: '1688002',\n    value: '1',\n    added: 'FIX.5.0SP2',\n    addedEP: '121',\n    tag: 1688,\n    type: 'int',\n    codeSet: 'ShortSaleExemptionReasonCodeSet',\n    description:\n      \"Income sell short exempt\\n\\nAgency broker has the customer's exemption reason, which is not explicitly provided to executing broker.\",\n  },\n  {\n    name: 'AboveNationalBestBid',\n    id: '1688003',\n    value: '2',\n    added: 'FIX.5.0SP2',\n    addedEP: '121',\n    tag: 1688,\n    type: 'int',\n    codeSet: 'ShortSaleExemptionReasonCodeSet',\n    description:\n      'Above national best bid (broker/dealer provision)\\n\\nBroker / dealer responsible for enforcing exemption rule has determined that the order is priced one or more ticks above the nation best bid of the security to be traded.',\n  },\n  {\n    name: 'DelayedDelivery',\n    id: '1688004',\n    value: '3',\n    added: 'FIX.5.0SP2',\n    addedEP: '121',\n    tag: 1688,\n    type: 'int',\n    codeSet: 'ShortSaleExemptionReasonCodeSet',\n    description:\n      'Delayed delivery\\n\\nThe broker-dealer has a reasonable basis to believe the seller owns the covered security (pursuant to Rule 200 in the U.S.), but is subject to restrictions on delivery, provided that the seller intends to deliver the security as soon as all restrictions on delivery have been removed.',\n  },\n  {\n    name: 'OddLot',\n    id: '1688005',\n    value: '4',\n    added: 'FIX.5.0SP2',\n    addedEP: '121',\n    tag: 1688,\n    type: 'int',\n    codeSet: 'ShortSaleExemptionReasonCodeSet',\n    description:\n      'Odd lot\\n\\nThe broker-dealer has a reasonable basis to believe the sale is by a market maker to offset customer odd-lot orders or to liquidate an odd-lot position that changes such broker\u2019s or dealer\u2019s position by no more than a unit of trading.',\n  },\n  {\n    name: 'DomesticArbitrage',\n    id: '1688006',\n    value: '5',\n    added: 'FIX.5.0SP2',\n    addedEP: '121',\n    tag: 1688,\n    type: 'int',\n    codeSet: 'ShortSaleExemptionReasonCodeSet',\n    description:\n      'Domestic arbitrage\\n\\nThe sale is connected to a bona-fide domestic arbitrage transaction.',\n  },\n  {\n    name: 'InternationalArbitrage',\n    id: '1688007',\n    value: '6',\n    added: 'FIX.5.0SP2',\n    addedEP: '121',\n    tag: 1688,\n    type: 'int',\n    codeSet: 'ShortSaleExemptionReasonCodeSet',\n    description:\n      'International arbitrage\\n\\nThe sale is connected to an international arbitrage transaction.',\n  },\n  {\n    name: 'UnderwriterOrSyndicateDistribution',\n    id: '1688008',\n    value: '7',\n    added: 'FIX.5.0SP2',\n    addedEP: '121',\n    tag: 1688,\n    type: 'int',\n    codeSet: 'ShortSaleExemptionReasonCodeSet',\n    description:\n      'Underwriter or syndicate distribution\\n\\nThe short sale is (i) by an underwriter or member of a syndicate or group participating in the distribution of a security in connection with an over-allotment of securities; or (ii) is for purposes of a lay-off sale by an underwriter or member of a syndicate or group in connection with a distribution of securities through a rights or standby underwriting commitment.',\n  },\n  {\n    name: 'RisklessPrincipal',\n    id: '1688009',\n    value: '8',\n    added: 'FIX.5.0SP2',\n    addedEP: '121',\n    tag: 1688,\n    type: 'int',\n    codeSet: 'ShortSaleExemptionReasonCodeSet',\n    description:\n      'Riskless principal\\n\\nThe short sale is by a broker or dealer effecting the execution of a customer purchase or the execution of a customer \u201Clong\u201D sale on a riskless principal basis.',\n  },\n  {\n    name: 'VWAP',\n    id: '1688010',\n    value: '9',\n    added: 'FIX.5.0SP2',\n    addedEP: '121',\n    tag: 1688,\n    type: 'int',\n    codeSet: 'ShortSaleExemptionReasonCodeSet',\n    description:\n      'VWAP\\n\\nThe short sale order is for the sale of a covered security at the volume weighted average price (VWAP) meeting certain criteria.',\n  },\n  {\n    name: 'NoApplRecoveryNeeded',\n    id: '1744001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '124',\n    tag: 1744,\n    type: 'int',\n    codeSet: 'ApplLevelRecoveryIndicatorCodeSet',\n    description: 'Application level recovery is not needed (default)',\n  },\n  {\n    name: 'ApplRecoveryNeeded',\n    id: '1744002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '124',\n    tag: 1744,\n    type: 'int',\n    codeSet: 'ApplLevelRecoveryIndicatorCodeSet',\n    description: 'Application level recovery is needed',\n  },\n  {\n    name: 'Definitions',\n    id: '1760001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '128',\n    tag: 1760,\n    type: 'int',\n    codeSet: 'RiskLimitRequestTypeCodeSet',\n    description: 'Definitions(Default)',\n  },\n  {\n    name: 'Utilization',\n    id: '1760002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '128',\n    tag: 1760,\n    type: 'int',\n    codeSet: 'RiskLimitRequestTypeCodeSet',\n    description: 'Utilization',\n  },\n  {\n    name: 'DefinitionsAndUtilizations',\n    id: '1760003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '128',\n    tag: 1760,\n    type: 'int',\n    codeSet: 'RiskLimitRequestTypeCodeSet',\n    description: 'Definitions and utilization',\n  },\n  {\n    name: 'Successful',\n    id: '1761001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '128',\n    tag: 1761,\n    type: 'int',\n    codeSet: 'RiskLimitRequestResultCodeSet',\n    description: 'Successful (default)',\n  },\n  {\n    name: 'InvalidParty',\n    id: '1761002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '128',\n    tag: 1761,\n    type: 'int',\n    codeSet: 'RiskLimitRequestResultCodeSet',\n    description: 'Invalid party(-ies)',\n  },\n  {\n    name: 'InvalidRelatedParty',\n    id: '1761003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '128',\n    tag: 1761,\n    type: 'int',\n    codeSet: 'RiskLimitRequestResultCodeSet',\n    description: 'Invalid related party(-ies)',\n  },\n  {\n    name: 'InvalidRiskLimitType',\n    id: '1761004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '128',\n    tag: 1761,\n    type: 'int',\n    codeSet: 'RiskLimitRequestResultCodeSet',\n    description: 'Invalid risk limit type(s)',\n  },\n  {\n    name: 'InvalidRiskLimitID',\n    id: '1761005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '128',\n    tag: 1761,\n    type: 'int',\n    codeSet: 'RiskLimitRequestResultCodeSet',\n    description: 'Invalid risk limit ID(s)',\n  },\n  {\n    name: 'InvalidRiskLimitAmount',\n    id: '1761006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '128',\n    tag: 1761,\n    type: 'int',\n    codeSet: 'RiskLimitRequestResultCodeSet',\n    description: 'Invalid risk limit amount(s)',\n  },\n  {\n    name: 'InvalidRiskWarningLevelAction',\n    id: '1761007',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '128',\n    tag: 1761,\n    type: 'int',\n    codeSet: 'RiskLimitRequestResultCodeSet',\n    description: 'Invalid risk/warning level action(s)',\n  },\n  {\n    name: 'InvalidRiskInstrumentScope',\n    id: '1761008',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '128',\n    tag: 1761,\n    type: 'int',\n    codeSet: 'RiskLimitRequestResultCodeSet',\n    description: 'Invalid risk instrument scope(s)',\n  },\n  {\n    name: 'RiskLimitActionsNotSupported',\n    id: '1761009',\n    value: '8',\n    sort: 8,\n    added: 'FIX.5.0SP2',\n    addedEP: '128',\n    tag: 1761,\n    type: 'int',\n    codeSet: 'RiskLimitRequestResultCodeSet',\n    description: 'Risk limit actions not supported',\n  },\n  {\n    name: 'WarningLevelsNotSupported',\n    id: '1761010',\n    value: '9',\n    sort: 9,\n    added: 'FIX.5.0SP2',\n    addedEP: '128',\n    tag: 1761,\n    type: 'int',\n    codeSet: 'RiskLimitRequestResultCodeSet',\n    description: 'Warning levels not supported',\n  },\n  {\n    name: 'WarningLevelActionsNotSupported',\n    id: '1761011',\n    value: '10',\n    sort: 10,\n    added: 'FIX.5.0SP2',\n    addedEP: '128',\n    tag: 1761,\n    type: 'int',\n    codeSet: 'RiskLimitRequestResultCodeSet',\n    description: 'Warning level actions not supported',\n  },\n  {\n    name: 'RiskInstrumentScopeNotSupported',\n    id: '1761012',\n    value: '11',\n    sort: 11,\n    added: 'FIX.5.0SP2',\n    addedEP: '128',\n    tag: 1761,\n    type: 'int',\n    codeSet: 'RiskLimitRequestResultCodeSet',\n    description: 'Risk instrument scope not supported',\n  },\n  {\n    name: 'RiskLimitNotApprovedForParty',\n    id: '1761013',\n    value: '12',\n    sort: 12,\n    added: 'FIX.5.0SP2',\n    addedEP: '128',\n    tag: 1761,\n    type: 'int',\n    codeSet: 'RiskLimitRequestResultCodeSet',\n    description: 'Risk limit not approved for party(-ies)',\n  },\n  {\n    name: 'RiskLimitAlreadyDefinedForParty',\n    id: '1761014',\n    value: '13',\n    sort: 13,\n    added: 'FIX.5.0SP2',\n    addedEP: '128',\n    tag: 1761,\n    type: 'int',\n    codeSet: 'RiskLimitRequestResultCodeSet',\n    description: 'Risk limit already defined for party(-ies)',\n  },\n  {\n    name: 'InstrumentNotApprovedForParty',\n    id: '1761015',\n    value: '14',\n    sort: 14,\n    added: 'FIX.5.0SP2',\n    addedEP: '128',\n    tag: 1761,\n    type: 'int',\n    codeSet: 'RiskLimitRequestResultCodeSet',\n    description: 'Instrument not approved for party(-ies)',\n  },\n  {\n    name: 'NotAuthorized',\n    id: '1761016',\n    value: '98',\n    sort: 98,\n    added: 'FIX.5.0SP2',\n    addedEP: '128',\n    tag: 1761,\n    type: 'int',\n    codeSet: 'RiskLimitRequestResultCodeSet',\n    description: 'Not authorized',\n  },\n  {\n    name: 'Other',\n    id: '1761017',\n    value: '99',\n    sort: 99,\n    added: 'FIX.5.0SP2',\n    addedEP: '128',\n    tag: 1761,\n    type: 'int',\n    codeSet: 'RiskLimitRequestResultCodeSet',\n    description: 'Other',\n  },\n  {\n    name: 'QueueInbound',\n    id: '1767001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    tag: 1767,\n    type: 'int',\n    codeSet: 'RiskLimitActionCodeSet',\n    description: 'Queue inbound',\n  },\n  {\n    name: 'QueueOutbound',\n    id: '1767002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    tag: 1767,\n    type: 'int',\n    codeSet: 'RiskLimitActionCodeSet',\n    description: 'Queue outbound',\n  },\n  {\n    name: 'Reject',\n    id: '1767003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    tag: 1767,\n    type: 'int',\n    codeSet: 'RiskLimitActionCodeSet',\n    description: 'Reject',\n  },\n  {\n    name: 'Disconnect',\n    id: '1767004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    tag: 1767,\n    type: 'int',\n    codeSet: 'RiskLimitActionCodeSet',\n    description: 'Disconnect',\n  },\n  {\n    name: 'Warning',\n    id: '1767005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    tag: 1767,\n    type: 'int',\n    codeSet: 'RiskLimitActionCodeSet',\n    description: 'Warning',\n  },\n  {\n    name: 'PingCreditCheckWithRevalidation',\n    id: '1767006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    tag: 1767,\n    type: 'int',\n    codeSet: 'RiskLimitActionCodeSet',\n    description:\n      'Ping credit check model with revalidation\\n\\nEach subsequent order, quote request or quote submission by the Credit\\n\\nUser must obtain pre-approval. Any open orders, quote requests or quotes are to be cancelled.',\n  },\n  {\n    name: 'PingCreditCheckNoRevalidation',\n    id: '1767007',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    tag: 1767,\n    type: 'int',\n    codeSet: 'RiskLimitActionCodeSet',\n    description:\n      'Ping credit check model without revalidation\\n\\nEach subsequent order, quote request or quote submission by the Credit\\n\\nUser must obtain pre-approval. Any open orders, quote requests or quotes will remain active.',\n  },\n  {\n    name: 'PushCreditCheckWithRevalidation',\n    id: '1767008',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    tag: 1767,\n    type: 'int',\n    codeSet: 'RiskLimitActionCodeSet',\n    description:\n      'Push credit check model with revalidation\\n\\nEach subsequent order, quote request or quote subnmission by the Credit\\n\\nUser must be checked against the limit amounts pushed to the trading platform. Any open orders, quote requests or quotes are\\n\\nto be cancelled.',\n  },\n  {\n    name: 'PushCreditCheckNoRevalidation',\n    id: '1767009',\n    value: '8',\n    sort: 8,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    tag: 1767,\n    type: 'int',\n    codeSet: 'RiskLimitActionCodeSet',\n    description:\n      'Push credit check model without revalidation\\n\\nEach subsequent order, quote request or quote subnmission by the Credit\\n\\nUser must be checked against the limit amounts pushed to the trading platform. Any open orders, quote requests or quotes will\\n\\nremain active.',\n  },\n  {\n    name: 'Suspend',\n    id: '1767010',\n    value: '9',\n    sort: 9,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    tag: 1767,\n    type: 'int',\n    codeSet: 'RiskLimitActionCodeSet',\n    description:\n      'Suspend\\n\\nSuspend the Credit User from trading once limit(s) is breached. This is\\n\\nconsidered a \"soft\" stop.',\n  },\n  {\n    name: 'HaltTrading',\n    id: '1767011',\n    value: '10',\n    sort: 10,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    tag: 1767,\n    type: 'int',\n    codeSet: 'RiskLimitActionCodeSet',\n    description:\n      'Halt trading\\n\\nHalt or stop the Credit User from trading once limit(s) is breached.\\n\\nThis is considered a \"hard\" stop and may require more involved actions to reinstate the Credit User\\'s ability\\n\\nto trade.',\n  },\n  {\n    name: 'Trade',\n    id: '1775001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '129',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '173',\n    tag: 1775,\n    type: 'int',\n    codeSet: 'EntitlementTypeCodeSet',\n    description: 'Trade',\n  },\n  {\n    name: 'MakeMarkets',\n    id: '1775002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '129',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '173',\n    tag: 1775,\n    type: 'int',\n    codeSet: 'EntitlementTypeCodeSet',\n    description: 'Make markets',\n  },\n  {\n    name: 'HoldPositions',\n    id: '1775003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '129',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '173',\n    tag: 1775,\n    type: 'int',\n    codeSet: 'EntitlementTypeCodeSet',\n    description: 'Hold positions',\n  },\n  {\n    name: 'PerformGiveUps',\n    id: '1775004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '129',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '173',\n    tag: 1775,\n    type: 'int',\n    codeSet: 'EntitlementTypeCodeSet',\n    description: 'Perform give-ups',\n  },\n  {\n    name: 'SubmitIOIs',\n    id: '1775005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '129',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '173',\n    tag: 1775,\n    type: 'int',\n    codeSet: 'EntitlementTypeCodeSet',\n    description: 'Submit Indications of Interest (IOIs)',\n  },\n  {\n    name: 'SubscribeMarketData',\n    id: '1775006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '129',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '173',\n    tag: 1775,\n    type: 'int',\n    codeSet: 'EntitlementTypeCodeSet',\n    description: 'Subscribe to market data',\n  },\n  {\n    name: 'ShortWithPreBorrow',\n    id: '1775007',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '164',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '173',\n    tag: 1775,\n    type: 'int',\n    codeSet: 'EntitlementTypeCodeSet',\n    description:\n      'Short with pre-borrow\\n\\nShort sell order is allowed with pre-borrowing.',\n  },\n  {\n    name: 'SubmitQuoteRequests',\n    id: '1775008',\n    value: '7',\n    sort: 8,\n    added: 'FIX.5.0SP2',\n    addedEP: '173',\n    tag: 1775,\n    type: 'int',\n    codeSet: 'EntitlementTypeCodeSet',\n    description:\n      'Submit quote requests\\n\\nEntitled to submit quote requests into the market in order to receive quotes from the market.',\n  },\n  {\n    name: 'RespondToQuoteRequests',\n    id: '1775009',\n    value: '8',\n    sort: 8,\n    added: 'FIX.5.0SP2',\n    addedEP: '173',\n    tag: 1775,\n    type: 'int',\n    codeSet: 'EntitlementTypeCodeSet',\n    description:\n      'Respond to quote requests\\n\\nEntitled to respond to quote requests from the market.',\n  },\n  {\n    name: 'Tenor',\n    id: '1779001',\n    value: '29',\n    sort: 29,\n    group: 'Pattern',\n    added: 'FIX.5.0SP2',\n    addedEP: '129',\n    tag: 1779,\n    type: 'int',\n    codeSet: 'EntitlementAttribDatatypeCodeSet',\n    description: 'Tenor',\n  },\n  {\n    name: 'Pattern',\n    id: '1779002',\n    value: '32',\n    sort: 32,\n    group: 'Pattern',\n    added: 'FIX.5.0SP2',\n    addedEP: '129',\n    tag: 1779,\n    type: 'int',\n    codeSet: 'EntitlementAttribDatatypeCodeSet',\n    description: 'Pattern',\n  },\n  {\n    name: 'Reserved100Plus',\n    id: '1779003',\n    value: '33',\n    sort: 33,\n    group: 'Pattern',\n    added: 'FIX.5.0SP2',\n    addedEP: '129',\n    tag: 1779,\n    type: 'int',\n    codeSet: 'EntitlementAttribDatatypeCodeSet',\n    description: 'Reserved100Plus',\n  },\n  {\n    name: 'Reserved1000Plus',\n    id: '1779004',\n    value: '34',\n    sort: 34,\n    group: 'Pattern',\n    added: 'FIX.5.0SP2',\n    addedEP: '129',\n    tag: 1779,\n    type: 'int',\n    codeSet: 'EntitlementAttribDatatypeCodeSet',\n    description: 'Reserved1000Plus',\n  },\n  {\n    name: 'Reserved4000Plus',\n    id: '1779005',\n    value: '35',\n    sort: 35,\n    group: 'Pattern',\n    added: 'FIX.5.0SP2',\n    addedEP: '129',\n    tag: 1779,\n    type: 'int',\n    codeSet: 'EntitlementAttribDatatypeCodeSet',\n    description: 'Reserved4000Plus',\n  },\n  {\n    name: 'String',\n    id: '1779006',\n    value: '14',\n    sort: 14,\n    group: 'String',\n    added: 'FIX.5.0SP2',\n    addedEP: '129',\n    tag: 1779,\n    type: 'int',\n    codeSet: 'EntitlementAttribDatatypeCodeSet',\n    description: 'String',\n  },\n  {\n    name: 'MultipleCharValue',\n    id: '1779007',\n    value: '15',\n    sort: 15,\n    group: 'String',\n    added: 'FIX.5.0SP2',\n    addedEP: '129',\n    tag: 1779,\n    type: 'int',\n    codeSet: 'EntitlementAttribDatatypeCodeSet',\n    description: 'MultipleCharValue',\n  },\n  {\n    name: 'Currency',\n    id: '1779008',\n    value: '16',\n    sort: 16,\n    group: 'String',\n    added: 'FIX.5.0SP2',\n    addedEP: '129',\n    tag: 1779,\n    type: 'int',\n    codeSet: 'EntitlementAttribDatatypeCodeSet',\n    description: 'Currency',\n  },\n  {\n    name: 'Exchange',\n    id: '1779009',\n    value: '17',\n    sort: 17,\n    group: 'String',\n    added: 'FIX.5.0SP2',\n    addedEP: '129',\n    tag: 1779,\n    type: 'int',\n    codeSet: 'EntitlementAttribDatatypeCodeSet',\n    description: 'Exchange',\n  },\n  {\n    name: 'MonthYear',\n    id: '1779010',\n    value: '18',\n    sort: 18,\n    group: 'String',\n    added: 'FIX.5.0SP2',\n    addedEP: '129',\n    tag: 1779,\n    type: 'int',\n    codeSet: 'EntitlementAttribDatatypeCodeSet',\n    description: 'MonthYear',\n  },\n  {\n    name: 'UTCTimestamp',\n    id: '1779011',\n    value: '19',\n    sort: 19,\n    group: 'String',\n    added: 'FIX.5.0SP2',\n    addedEP: '129',\n    tag: 1779,\n    type: 'int',\n    codeSet: 'EntitlementAttribDatatypeCodeSet',\n    description: 'UTCTimestamp',\n  },\n  {\n    name: 'UTCTimeOnly',\n    id: '1779012',\n    value: '20',\n    sort: 20,\n    group: 'String',\n    added: 'FIX.5.0SP2',\n    addedEP: '129',\n    tag: 1779,\n    type: 'int',\n    codeSet: 'EntitlementAttribDatatypeCodeSet',\n    description: 'UTCTimeOnly',\n  },\n  {\n    name: 'LocalMktDate',\n    id: '1779013',\n    value: '21',\n    sort: 21,\n    group: 'String',\n    added: 'FIX.5.0SP2',\n    addedEP: '129',\n    tag: 1779,\n    type: 'int',\n    codeSet: 'EntitlementAttribDatatypeCodeSet',\n    description: 'LocalMktDate',\n  },\n  {\n    name: 'UTCDateOnly',\n    id: '1779014',\n    value: '22',\n    sort: 22,\n    group: 'String',\n    added: 'FIX.5.0SP2',\n    addedEP: '129',\n    tag: 1779,\n    type: 'int',\n    codeSet: 'EntitlementAttribDatatypeCodeSet',\n    description: 'UTCDateOnly',\n  },\n  {\n    name: 'Data',\n    id: '1779015',\n    value: '23',\n    sort: 23,\n    group: 'String',\n    added: 'FIX.5.0SP2',\n    addedEP: '129',\n    updated: 'FIX.Latest',\n    updatedEP: '264',\n    tag: 1779,\n    type: 'int',\n    codeSet: 'EntitlementAttribDatatypeCodeSet',\n    description: 'data',\n  },\n  {\n    name: 'MultipleStringValue',\n    id: '1779016',\n    value: '24',\n    sort: 24,\n    group: 'String',\n    added: 'FIX.5.0SP2',\n    addedEP: '129',\n    tag: 1779,\n    type: 'int',\n    codeSet: 'EntitlementAttribDatatypeCodeSet',\n    description: 'MultipleStringValue',\n  },\n  {\n    name: 'Country',\n    id: '1779017',\n    value: '25',\n    sort: 25,\n    group: 'String',\n    added: 'FIX.5.0SP2',\n    addedEP: '129',\n    tag: 1779,\n    type: 'int',\n    codeSet: 'EntitlementAttribDatatypeCodeSet',\n    description: 'Country',\n  },\n  {\n    name: 'Language',\n    id: '1779018',\n    value: '26',\n    sort: 26,\n    group: 'String',\n    added: 'FIX.5.0SP2',\n    addedEP: '129',\n    tag: 1779,\n    type: 'int',\n    codeSet: 'EntitlementAttribDatatypeCodeSet',\n    description: 'Language',\n  },\n  {\n    name: 'TZTimeOnly',\n    id: '1779019',\n    value: '27',\n    sort: 27,\n    group: 'String',\n    added: 'FIX.5.0SP2',\n    addedEP: '129',\n    tag: 1779,\n    type: 'int',\n    codeSet: 'EntitlementAttribDatatypeCodeSet',\n    description: 'TZTimeOnly',\n  },\n  {\n    name: 'TZTimestamp',\n    id: '1779020',\n    value: '28',\n    sort: 28,\n    group: 'String',\n    added: 'FIX.5.0SP2',\n    addedEP: '129',\n    tag: 1779,\n    type: 'int',\n    codeSet: 'EntitlementAttribDatatypeCodeSet',\n    description: 'TZTimestamp',\n  },\n  {\n    name: 'XMLData',\n    id: '1779021',\n    value: '31',\n    sort: 31,\n    group: 'String',\n    added: 'FIX.5.0SP2',\n    addedEP: '129',\n    tag: 1779,\n    type: 'int',\n    codeSet: 'EntitlementAttribDatatypeCodeSet',\n    description: 'XMLData',\n  },\n  {\n    name: 'Char',\n    id: '1779022',\n    value: '12',\n    sort: 12,\n    group: 'char',\n    added: 'FIX.5.0SP2',\n    addedEP: '129',\n    updated: 'FIX.Latest',\n    updatedEP: '264',\n    tag: 1779,\n    type: 'int',\n    codeSet: 'EntitlementAttribDatatypeCodeSet',\n    description: 'char',\n  },\n  {\n    name: 'Boolean',\n    id: '1779023',\n    value: '13',\n    sort: 13,\n    group: 'char',\n    added: 'FIX.5.0SP2',\n    addedEP: '129',\n    tag: 1779,\n    type: 'int',\n    codeSet: 'EntitlementAttribDatatypeCodeSet',\n    description: 'Boolean',\n  },\n  {\n    name: 'Float',\n    id: '1779024',\n    value: '6',\n    sort: 6,\n    group: 'float',\n    added: 'FIX.5.0SP2',\n    addedEP: '129',\n    updated: 'FIX.Latest',\n    updatedEP: '264',\n    tag: 1779,\n    type: 'int',\n    codeSet: 'EntitlementAttribDatatypeCodeSet',\n    description: 'float',\n  },\n  {\n    name: 'Qty',\n    id: '1779025',\n    value: '7',\n    sort: 7,\n    group: 'float',\n    added: 'FIX.5.0SP2',\n    addedEP: '129',\n    tag: 1779,\n    type: 'int',\n    codeSet: 'EntitlementAttribDatatypeCodeSet',\n    description: 'Qty',\n  },\n  {\n    name: 'Price',\n    id: '1779026',\n    value: '8',\n    sort: 8,\n    group: 'float',\n    added: 'FIX.5.0SP2',\n    addedEP: '129',\n    tag: 1779,\n    type: 'int',\n    codeSet: 'EntitlementAttribDatatypeCodeSet',\n    description: 'Price',\n  },\n  {\n    name: 'PriceOffset',\n    id: '1779027',\n    value: '9',\n    sort: 9,\n    group: 'float',\n    added: 'FIX.5.0SP2',\n    addedEP: '129',\n    tag: 1779,\n    type: 'int',\n    codeSet: 'EntitlementAttribDatatypeCodeSet',\n    description: 'PriceOffset',\n  },\n  {\n    name: 'Amt',\n    id: '1779028',\n    value: '10',\n    sort: 10,\n    group: 'float',\n    added: 'FIX.5.0SP2',\n    addedEP: '129',\n    tag: 1779,\n    type: 'int',\n    codeSet: 'EntitlementAttribDatatypeCodeSet',\n    description: 'Amt',\n  },\n  {\n    name: 'Percentage',\n    id: '1779029',\n    value: '11',\n    sort: 11,\n    group: 'float',\n    added: 'FIX.5.0SP2',\n    addedEP: '129',\n    tag: 1779,\n    type: 'int',\n    codeSet: 'EntitlementAttribDatatypeCodeSet',\n    description: 'Percentage',\n  },\n  {\n    name: 'Int',\n    id: '1779030',\n    value: '1',\n    sort: 1,\n    group: 'int',\n    added: 'FIX.5.0SP2',\n    addedEP: '129',\n    updated: 'FIX.Latest',\n    updatedEP: '264',\n    tag: 1779,\n    type: 'int',\n    codeSet: 'EntitlementAttribDatatypeCodeSet',\n    description: 'int',\n  },\n  {\n    name: 'Length',\n    id: '1779031',\n    value: '2',\n    sort: 2,\n    group: 'int',\n    added: 'FIX.5.0SP2',\n    addedEP: '129',\n    tag: 1779,\n    type: 'int',\n    codeSet: 'EntitlementAttribDatatypeCodeSet',\n    description: 'Length',\n  },\n  {\n    name: 'NumInGroup',\n    id: '1779032',\n    value: '3',\n    sort: 3,\n    group: 'int',\n    added: 'FIX.5.0SP2',\n    addedEP: '129',\n    tag: 1779,\n    type: 'int',\n    codeSet: 'EntitlementAttribDatatypeCodeSet',\n    description: 'NumInGroup',\n  },\n  {\n    name: 'SeqNum',\n    id: '1779033',\n    value: '4',\n    sort: 4,\n    group: 'int',\n    added: 'FIX.5.0SP2',\n    addedEP: '129',\n    tag: 1779,\n    type: 'int',\n    codeSet: 'EntitlementAttribDatatypeCodeSet',\n    description: 'SeqNum',\n  },\n  {\n    name: 'TagNum',\n    id: '1779034',\n    value: '5',\n    sort: 5,\n    group: 'int',\n    added: 'FIX.5.0SP2',\n    addedEP: '129',\n    tag: 1779,\n    type: 'int',\n    codeSet: 'EntitlementAttribDatatypeCodeSet',\n    description: 'TagNum',\n  },\n  {\n    name: 'DayOfMonth',\n    id: '1779035',\n    value: '30',\n    sort: 30,\n    group: 'int',\n    added: 'FIX.5.0SP2',\n    addedEP: '129',\n    tag: 1779,\n    type: 'int',\n    codeSet: 'EntitlementAttribDatatypeCodeSet',\n    description: 'DayOfMonth',\n  },\n  {\n    name: 'Automatic',\n    id: '1785001',\n    value: '0',\n    added: 'FIX.5.0SP2',\n    addedEP: '130',\n    tag: 1785,\n    type: 'int',\n    codeSet: 'TradSesControlCodeSet',\n    description: 'Automatic (Default)',\n  },\n  {\n    name: 'Manual',\n    id: '1785002',\n    value: '1',\n    added: 'FIX.5.0SP2',\n    addedEP: '130',\n    tag: 1785,\n    type: 'int',\n    codeSet: 'TradSesControlCodeSet',\n    description: 'Manual',\n  },\n  {\n    name: 'NumberOfUnits',\n    id: '1786001',\n    value: '0',\n    added: 'FIX.5.0SP2',\n    addedEP: '130',\n    tag: 1786,\n    type: 'int',\n    codeSet: 'TradeVolTypeCodeSet',\n    description: 'Number of units (e.g. share, par, currency, contracts) (default)',\n  },\n  {\n    name: 'NumberOfRoundLots',\n    id: '1786002',\n    value: '1',\n    added: 'FIX.5.0SP2',\n    addedEP: '130',\n    tag: 1786,\n    type: 'int',\n    codeSet: 'TradeVolTypeCodeSet',\n    description: 'Number of round lots',\n  },\n  {\n    name: 'Added',\n    id: '1796001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 1796,\n    type: 'int',\n    codeSet: 'OrderEventTypeCodeSet',\n    description: 'Added (0=New)',\n  },\n  {\n    name: 'Modified',\n    id: '1796002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 1796,\n    type: 'int',\n    codeSet: 'OrderEventTypeCodeSet',\n    description: 'Modified (5=Replaced)',\n  },\n  {\n    name: 'Deleted',\n    id: '1796003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 1796,\n    type: 'int',\n    codeSet: 'OrderEventTypeCodeSet',\n    description: 'Deleted (4=Canceled)',\n  },\n  {\n    name: 'PartiallyFilled',\n    id: '1796004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 1796,\n    type: 'int',\n    codeSet: 'OrderEventTypeCodeSet',\n    description: 'Partially Filled (F=Trade)',\n  },\n  {\n    name: 'Filled',\n    id: '1796005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 1796,\n    type: 'int',\n    codeSet: 'OrderEventTypeCodeSet',\n    description: 'Filled (F=Trade)',\n  },\n  {\n    name: 'Suspended',\n    id: '1796006',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 1796,\n    type: 'int',\n    codeSet: 'OrderEventTypeCodeSet',\n    description: 'Suspended (9=Suspended)',\n  },\n  {\n    name: 'Released',\n    id: '1796007',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 1796,\n    type: 'int',\n    codeSet: 'OrderEventTypeCodeSet',\n    description: 'Released (N=Released)',\n  },\n  {\n    name: 'Restated',\n    id: '1796008',\n    value: '8',\n    sort: 8,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 1796,\n    type: 'int',\n    codeSet: 'OrderEventTypeCodeSet',\n    description: 'Restated (D=Restated)',\n  },\n  {\n    name: 'Locked',\n    id: '1796009',\n    value: '9',\n    sort: 9,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 1796,\n    type: 'int',\n    codeSet: 'OrderEventTypeCodeSet',\n    description: 'Locked (M=Locked)',\n  },\n  {\n    name: 'Triggered',\n    id: '1796010',\n    value: '10',\n    sort: 10,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '188',\n    tag: 1796,\n    type: 'int',\n    codeSet: 'OrderEventTypeCodeSet',\n    description: 'Triggered (L=Triggered or Activated by System)',\n  },\n  {\n    name: 'Activated',\n    id: '1796011',\n    value: '11',\n    sort: 11,\n    added: 'FIX.5.0SP2',\n    addedEP: '188',\n    tag: 1796,\n    type: 'int',\n    codeSet: 'OrderEventTypeCodeSet',\n    description: 'Activated (L=Triggered or Activated by System)',\n  },\n  {\n    name: 'AddOrderRequest',\n    id: '1798001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 1798,\n    type: 'int',\n    codeSet: 'OrderEventReasonCodeSet',\n    description: 'Add order request',\n  },\n  {\n    name: 'ModifyOrderRequest',\n    id: '1798002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 1798,\n    type: 'int',\n    codeSet: 'OrderEventReasonCodeSet',\n    description: 'Modify order request',\n  },\n  {\n    name: 'DeleteOrderRequest',\n    id: '1798003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 1798,\n    type: 'int',\n    codeSet: 'OrderEventReasonCodeSet',\n    description: 'Delete order request',\n  },\n  {\n    name: 'OrderEnteredOOB',\n    id: '1798004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 1798,\n    type: 'int',\n    codeSet: 'OrderEventReasonCodeSet',\n    description: 'Order entered out-of-band',\n  },\n  {\n    name: 'OrderModifiedOOB',\n    id: '1798005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 1798,\n    type: 'int',\n    codeSet: 'OrderEventReasonCodeSet',\n    description: 'Order modified out-of-band',\n  },\n  {\n    name: 'OrderDeletedOOB',\n    id: '1798006',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 1798,\n    type: 'int',\n    codeSet: 'OrderEventReasonCodeSet',\n    description: 'Order deleted out-of-band',\n  },\n  {\n    name: 'OrderActivatedOrTriggered',\n    id: '1798007',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 1798,\n    type: 'int',\n    codeSet: 'OrderEventReasonCodeSet',\n    description: 'Order activated or triggered',\n  },\n  {\n    name: 'OrderExpired',\n    id: '1798008',\n    value: '8',\n    sort: 8,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 1798,\n    type: 'int',\n    codeSet: 'OrderEventReasonCodeSet',\n    description: 'Order expired',\n  },\n  {\n    name: 'ReserveOrderRefreshed',\n    id: '1798009',\n    value: '9',\n    sort: 9,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 1798,\n    type: 'int',\n    codeSet: 'OrderEventReasonCodeSet',\n    description: 'Reserve order refreshed',\n  },\n  {\n    name: 'AwayMarketBetter',\n    id: '1798010',\n    value: '10',\n    sort: 10,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 1798,\n    type: 'int',\n    codeSet: 'OrderEventReasonCodeSet',\n    description: 'Away market better',\n  },\n  {\n    name: 'CorporateAction',\n    id: '1798011',\n    value: '11',\n    sort: 11,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 1798,\n    type: 'int',\n    codeSet: 'OrderEventReasonCodeSet',\n    description: 'Corporate action',\n  },\n  {\n    name: 'StartOfDay',\n    id: '1798012',\n    value: '12',\n    sort: 12,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 1798,\n    type: 'int',\n    codeSet: 'OrderEventReasonCodeSet',\n    description: 'Start of day',\n  },\n  {\n    name: 'EndOfDay',\n    id: '1798013',\n    value: '13',\n    sort: 13,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 1798,\n    type: 'int',\n    codeSet: 'OrderEventReasonCodeSet',\n    description: 'End of day',\n  },\n  {\n    name: 'None',\n    id: '1803001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '223',\n    tag: 1803,\n    type: 'int',\n    codeSet: 'AuctionTypeCodeSet',\n    description: 'None',\n  },\n  {\n    name: 'BlockOrderAuction',\n    id: '1803002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 1803,\n    type: 'int',\n    codeSet: 'AuctionTypeCodeSet',\n    description: 'Block order auction',\n  },\n  {\n    name: 'DirectedOrderAuction',\n    id: '1803003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 1803,\n    type: 'int',\n    codeSet: 'AuctionTypeCodeSet',\n    description: 'Directed order auction',\n  },\n  {\n    name: 'ExposureOrderAuction',\n    id: '1803004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 1803,\n    type: 'int',\n    codeSet: 'AuctionTypeCodeSet',\n    description: 'Exposure order auction',\n  },\n  {\n    name: 'FlashOrderAuction',\n    id: '1803005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 1803,\n    type: 'int',\n    codeSet: 'AuctionTypeCodeSet',\n    description: 'Flash order auction',\n  },\n  {\n    name: 'FacilitationOrderAuction',\n    id: '1803006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 1803,\n    type: 'int',\n    codeSet: 'AuctionTypeCodeSet',\n    description: 'Facilitation order auction',\n  },\n  {\n    name: 'SolicitationOrderAuction',\n    id: '1803007',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 1803,\n    type: 'int',\n    codeSet: 'AuctionTypeCodeSet',\n    description: 'Solicitation order auction',\n  },\n  {\n    name: 'PriceImprovementMechanism',\n    id: '1803008',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 1803,\n    type: 'int',\n    codeSet: 'AuctionTypeCodeSet',\n    description: 'Price improvement mechanism (PIM)',\n  },\n  {\n    name: 'DirectedOrderPriceImprovementMechanism',\n    id: '1803009',\n    value: '8',\n    sort: 8,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 1803,\n    type: 'int',\n    codeSet: 'AuctionTypeCodeSet',\n    description: 'Directed Order price improvement mechanism (PIM)',\n  },\n  {\n    name: 'AutomatedAuctionPermitted',\n    id: '1805001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '208',\n    tag: 1805,\n    type: 'int',\n    codeSet: 'AuctionInstructionCodeSet',\n    description: 'Automatic auction permitted (default)',\n  },\n  {\n    name: 'AutomatedAuctionNotPermitted',\n    id: '1805002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 1805,\n    type: 'int',\n    codeSet: 'AuctionInstructionCodeSet',\n    description: 'Automatic auction not permitted',\n  },\n  {\n    name: 'NotLocked',\n    id: '1807001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 1807,\n    type: 'int',\n    codeSet: 'LockTypeCodeSet',\n    description: 'Not locked',\n  },\n  {\n    name: 'AwayMarketNetter',\n    id: '1807002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 1807,\n    type: 'int',\n    codeSet: 'LockTypeCodeSet',\n    description: 'Away market better',\n  },\n  {\n    name: 'ThreeTickLocked',\n    id: '1807003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 1807,\n    type: 'int',\n    codeSet: 'LockTypeCodeSet',\n    description: 'Three tick locked',\n  },\n  {\n    name: 'LockedByMarketMaker',\n    id: '1807004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 1807,\n    type: 'int',\n    codeSet: 'LockTypeCodeSet',\n    description: 'Locked by market maker',\n  },\n  {\n    name: 'DirectedOrderLock',\n    id: '1807005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 1807,\n    type: 'int',\n    codeSet: 'LockTypeCodeSet',\n    description: 'Directed order lock',\n  },\n  {\n    name: 'MultilegLock',\n    id: '1807006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 1807,\n    type: 'int',\n    codeSet: 'LockTypeCodeSet',\n    description:\n      'Multileg lock\\n\\nLock in the context of multileg orders where legs are executed independently and the entire order is locked until matching information is available for all legs. A multileg order or quote must be matched in its entirety or not at all. For example, one of the legs may be a stock leg sent to a different execution venue that may or may not be able to fill it.',\n  },\n  {\n    name: 'MarketOrderLock',\n    id: '1807007',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 1807,\n    type: 'int',\n    codeSet: 'LockTypeCodeSet',\n    description: 'Market order lock',\n  },\n  {\n    name: 'PreAssignmentLock',\n    id: '1807008',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 1807,\n    type: 'int',\n    codeSet: 'LockTypeCodeSet',\n    description: 'Pre-assignment lock',\n  },\n  {\n    name: 'ISO',\n    id: '1810001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 1810,\n    type: 'int',\n    codeSet: 'ReleaseInstructionCodeSet',\n    description: 'Intermarket Sweep Order (ISO)',\n  },\n  {\n    name: 'NoAwayMarketBetterCheck',\n    id: '1810002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 1810,\n    type: 'int',\n    codeSet: 'ReleaseInstructionCodeSet',\n    description: 'No Away Market Better check',\n  },\n  {\n    name: 'Volume',\n    id: '1813001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 1813,\n    type: 'int',\n    codeSet: 'DisclosureTypeCodeSet',\n    description: 'Volume',\n  },\n  {\n    name: 'Price',\n    id: '1813002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 1813,\n    type: 'int',\n    codeSet: 'DisclosureTypeCodeSet',\n    description: 'Price',\n  },\n  {\n    name: 'Side',\n    id: '1813003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 1813,\n    type: 'int',\n    codeSet: 'DisclosureTypeCodeSet',\n    description: 'Side',\n  },\n  {\n    name: 'AON',\n    id: '1813004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 1813,\n    type: 'int',\n    codeSet: 'DisclosureTypeCodeSet',\n    description: 'AON',\n  },\n  {\n    name: 'General',\n    id: '1813005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 1813,\n    type: 'int',\n    codeSet: 'DisclosureTypeCodeSet',\n    description:\n      'General\\n\\nGeneral is used for bilateral agreed disclosure information type(s).',\n  },\n  {\n    name: 'ClearingAccount',\n    id: '1813006',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 1813,\n    type: 'int',\n    codeSet: 'DisclosureTypeCodeSet',\n    description: 'Clearing account',\n  },\n  {\n    name: 'CMTAAccount',\n    id: '1813007',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 1813,\n    type: 'int',\n    codeSet: 'DisclosureTypeCodeSet',\n    description: 'CMTA account',\n  },\n  {\n    name: 'No',\n    id: '1814001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 1814,\n    type: 'int',\n    codeSet: 'DisclosureInstructionCodeSet',\n    description: 'No',\n  },\n  {\n    name: 'Yes',\n    id: '1814002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 1814,\n    type: 'int',\n    codeSet: 'DisclosureInstructionCodeSet',\n    description: 'Yes',\n  },\n  {\n    name: 'UseDefaultSetting',\n    id: '1814003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 1814,\n    type: 'int',\n    codeSet: 'DisclosureInstructionCodeSet',\n    description: 'Use default setting',\n  },\n  {\n    name: 'Customer',\n    id: '1815001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 1815,\n    type: 'int',\n    codeSet: 'TradingCapacityCodeSet',\n    description: 'Customer',\n  },\n  {\n    name: 'CustomerProfessional',\n    id: '1815002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 1815,\n    type: 'int',\n    codeSet: 'TradingCapacityCodeSet',\n    description: 'Customer professional',\n  },\n  {\n    name: 'BrokerDealer',\n    id: '1815003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 1815,\n    type: 'int',\n    codeSet: 'TradingCapacityCodeSet',\n    description: 'Broker-dealer',\n  },\n  {\n    name: 'CustomerBrokerDealer',\n    id: '1815004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 1815,\n    type: 'int',\n    codeSet: 'TradingCapacityCodeSet',\n    description: 'Customer broker-dealer',\n  },\n  {\n    name: 'Principal',\n    id: '1815005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 1815,\n    type: 'int',\n    codeSet: 'TradingCapacityCodeSet',\n    description: 'Principal',\n  },\n  {\n    name: 'MarketMaker',\n    id: '1815006',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 1815,\n    type: 'int',\n    codeSet: 'TradingCapacityCodeSet',\n    description: 'Market maker',\n  },\n  {\n    name: 'AwayMarketMaker',\n    id: '1815007',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 1815,\n    type: 'int',\n    codeSet: 'TradingCapacityCodeSet',\n    description: 'Away market maker',\n  },\n  {\n    name: 'SystematicInternaliser',\n    id: '1815008',\n    value: '8',\n    sort: 8,\n    added: 'FIX.5.0SP2',\n    addedEP: '223',\n    tag: 1815,\n    type: 'int',\n    codeSet: 'TradingCapacityCodeSet',\n    description: 'Systematic internaliser',\n  },\n  {\n    name: 'Customer',\n    id: '1816001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 1816,\n    type: 'int',\n    codeSet: 'ClearingAccountTypeCodeSet',\n    description: 'Customer',\n  },\n  {\n    name: 'Firm',\n    id: '1816002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 1816,\n    type: 'int',\n    codeSet: 'ClearingAccountTypeCodeSet',\n    description: 'Firm',\n  },\n  {\n    name: 'MarketMaker',\n    id: '1816003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 1816,\n    type: 'int',\n    codeSet: 'ClearingAccountTypeCodeSet',\n    description: 'Market maker',\n  },\n  {\n    name: 'NBBid',\n    id: '1821001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 1821,\n    type: 'int',\n    codeSet: 'RelatedPriceSourceCodeSet',\n    description: 'NBB (National Best Bid)',\n  },\n  {\n    name: 'NBOffer',\n    id: '1821002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 1821,\n    type: 'int',\n    codeSet: 'RelatedPriceSourceCodeSet',\n    description: 'NBO (National Best Offer)',\n  },\n  {\n    name: 'Once',\n    id: '1822001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 1822,\n    type: 'int',\n    codeSet: 'MinQtyMethodCodeSet',\n    description: 'Once (applies only to first execution)',\n  },\n  {\n    name: 'Multiple',\n    id: '1822002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 1822,\n    type: 'int',\n    codeSet: 'MinQtyMethodCodeSet',\n    description: 'Multiple (applies to every execution)',\n  },\n  {\n    name: 'NotTriggered',\n    id: '1823001',\n    value: '0',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 1823,\n    type: 'int',\n    codeSet: 'TriggeredCodeSet',\n    description: 'Not triggered (default)',\n  },\n  {\n    name: 'Triggered',\n    id: '1823002',\n    value: '1',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '131',\n    tag: 1823,\n    type: 'int',\n    codeSet: 'TriggeredCodeSet',\n    description: 'Triggered',\n  },\n  {\n    name: 'StopOrderTriggered',\n    id: '1823003',\n    value: '2',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '188',\n    tag: 1823,\n    type: 'int',\n    codeSet: 'TriggeredCodeSet',\n    description: 'Stop order triggered',\n  },\n  {\n    name: 'OCOOrderTriggered',\n    id: '1823004',\n    value: '3',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '188',\n    tag: 1823,\n    type: 'int',\n    codeSet: 'TriggeredCodeSet',\n    description: 'One Cancels the Other (OCO) order triggered',\n  },\n  {\n    name: 'OTOOrderTriggered',\n    id: '1823005',\n    value: '4',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '188',\n    tag: 1823,\n    type: 'int',\n    codeSet: 'TriggeredCodeSet',\n    description: 'One Triggers the Other (OTO) order triggered',\n  },\n  {\n    name: 'OUOOrderTriggered',\n    id: '1823006',\n    value: '5',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '188',\n    tag: 1823,\n    type: 'int',\n    codeSet: 'TriggeredCodeSet',\n    description: 'One Updates the Other (OUO) order triggered',\n  },\n  {\n    name: 'Hour',\n    id: '1827001',\n    value: 'H',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '132',\n    tag: 1827,\n    type: 'String',\n    codeSet: 'EventTimeUnitCodeSet',\n    description: 'Hour',\n  },\n  {\n    name: 'Minute',\n    id: '1827002',\n    value: 'Min',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '132',\n    tag: 1827,\n    type: 'String',\n    codeSet: 'EventTimeUnitCodeSet',\n    description: 'Minute',\n  },\n  {\n    name: 'Second',\n    id: '1827003',\n    value: 'S',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '132',\n    tag: 1827,\n    type: 'String',\n    codeSet: 'EventTimeUnitCodeSet',\n    description: 'Second',\n  },\n  {\n    name: 'Day',\n    id: '1827004',\n    value: 'D',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '132',\n    tag: 1827,\n    type: 'String',\n    codeSet: 'EventTimeUnitCodeSet',\n    description: 'Day',\n  },\n  {\n    name: 'Week',\n    id: '1827005',\n    value: 'Wk',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '132',\n    tag: 1827,\n    type: 'String',\n    codeSet: 'EventTimeUnitCodeSet',\n    description: 'Week',\n  },\n  {\n    name: 'Month',\n    id: '1827006',\n    value: 'Mo',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '132',\n    tag: 1827,\n    type: 'String',\n    codeSet: 'EventTimeUnitCodeSet',\n    description: 'Month',\n  },\n  {\n    name: 'Year',\n    id: '1827007',\n    value: 'Yr',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '132',\n    tag: 1827,\n    type: 'String',\n    codeSet: 'EventTimeUnitCodeSet',\n    description: 'Year',\n  },\n  {\n    name: 'OrderReceivedFromCustomer',\n    id: '1724001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '135',\n    tag: 1724,\n    type: 'int',\n    codeSet: 'OrderOriginationCodeSet',\n    description: 'Order received from a customer',\n  },\n  {\n    name: 'OrderReceivedFromWithinFirm',\n    id: '1724002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '135',\n    tag: 1724,\n    type: 'int',\n    codeSet: 'OrderOriginationCodeSet',\n    description: 'Order received from within the firm',\n  },\n  {\n    name: 'OrderReceivedFromAnotherBrokerDealer',\n    id: '1724003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '135',\n    tag: 1724,\n    type: 'int',\n    codeSet: 'OrderOriginationCodeSet',\n    description: 'Order received from another broker-dealer',\n  },\n  {\n    name: 'OrderReceivedFromCustomerOrWithFirm',\n    id: '1724004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '135',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '256',\n    tag: 1724,\n    type: 'int',\n    codeSet: 'OrderOriginationCodeSet',\n    description: 'Order received from a customer or originated from within the firm',\n  },\n  {\n    name: 'OrderReceivedFromDirectAccessCustomer',\n    id: '1724005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '222',\n    tag: 1724,\n    type: 'int',\n    codeSet: 'OrderOriginationCodeSet',\n    description: 'Order received from a direct access or sponsored access customer',\n  },\n  {\n    name: 'OrderReceivedFromForeignDealerEquivalent',\n    id: '1724006',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '256',\n    tag: 1724,\n    type: 'int',\n    codeSet: 'OrderOriginationCodeSet',\n    description:\n      'Order received from a foreign dealer equivalent\\n\\nA foreign dealer equivalent is a person in the business of trading securities in a foreign jurisdiction in a manner analogous to an investment dealer and that is subject to the regulatory jurisdiction of a signatory to the International Organization of Securities Commissions\u2019 (IOSCO) Multilateral Memorandum of Understanding\\n\\nin that foreign jurisdiction.',\n  },\n  {\n    name: 'OrderReceivedFromExecutionOnlyService',\n    id: '1724007',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '256',\n    tag: 1724,\n    type: 'int',\n    codeSet: 'OrderOriginationCodeSet',\n    description:\n      'Order received from an execution-only service\\n\\nThe acceptance and execution of orders from customers for trades that the broker-dealer has not recommended and for which the broker-dealer takes no responsibility as to the appropriateness or suitability of orders accepted or account positions held.',\n  },\n  {\n    name: 'NotCleared',\n    id: '1832001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '140',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '196',\n    tag: 1832,\n    type: 'int',\n    codeSet: 'ClearedIndicatorCodeSet',\n    description:\n      'Not cleared\\n\\nTrade or position has not yet been submitted for clearing.',\n  },\n  {\n    name: 'Cleared',\n    id: '1832002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '140',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '196',\n    tag: 1832,\n    type: 'int',\n    codeSet: 'ClearedIndicatorCodeSet',\n    description: 'Cleared\\n\\nTrade or position has been successfully cleared.',\n  },\n  {\n    name: 'Submitted',\n    id: '1832003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '196',\n    tag: 1832,\n    type: 'int',\n    codeSet: 'ClearedIndicatorCodeSet',\n    description: 'Submitted\\n\\nTrade or position has been submitted for clearing.',\n  },\n  {\n    name: 'Rejected',\n    id: '1832004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '196',\n    tag: 1832,\n    type: 'int',\n    codeSet: 'ClearedIndicatorCodeSet',\n    description: 'Rejected\\n\\nTrade or position was rejected by clearing.',\n  },\n  {\n    name: 'TwoComponentIntercommoditySpread',\n    id: '1833001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '140',\n    tag: 1833,\n    type: 'int',\n    codeSet: 'ContractRefPosTypeCodeSet',\n    description: 'Two component intercommodity spread',\n  },\n  {\n    name: 'IndexOrBasket',\n    id: '1833002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '140',\n    tag: 1833,\n    type: 'int',\n    codeSet: 'ContractRefPosTypeCodeSet',\n    description: 'Index or basket',\n  },\n  {\n    name: 'TwoComponentLocationBasis',\n    id: '1833003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '140',\n    tag: 1833,\n    type: 'int',\n    codeSet: 'ContractRefPosTypeCodeSet',\n    description: 'Two component locational basis',\n  },\n  {\n    name: 'Other',\n    id: '1833004',\n    value: '99',\n    sort: 99,\n    added: 'FIX.5.0SP2',\n    addedEP: '140',\n    tag: 1833,\n    type: 'int',\n    codeSet: 'ContractRefPosTypeCodeSet',\n    description: 'Other',\n  },\n  {\n    name: 'Principal',\n    id: '1834001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '140',\n    tag: 1834,\n    type: 'int',\n    codeSet: 'PositionCapacityCodeSet',\n    description: 'Principal',\n  },\n  {\n    name: 'Agent',\n    id: '1834002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '140',\n    tag: 1834,\n    type: 'int',\n    codeSet: 'PositionCapacityCodeSet',\n    description: 'Agent',\n  },\n  {\n    name: 'Customer',\n    id: '1834003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '140',\n    tag: 1834,\n    type: 'int',\n    codeSet: 'PositionCapacityCodeSet',\n    description: 'Customer',\n  },\n  {\n    name: 'Counterparty',\n    id: '1834004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '140',\n    tag: 1834,\n    type: 'int',\n    codeSet: 'PositionCapacityCodeSet',\n    description: 'Counterparty',\n  },\n  {\n    name: 'SpecialCumDividend',\n    id: '1839001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '141',\n    tag: 1839,\n    type: 'int',\n    codeSet: 'TradePriceConditionCodeSet',\n    description: 'Special cum dividend (CD)',\n  },\n  {\n    name: 'SpecialCumRights',\n    id: '1839002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '141',\n    tag: 1839,\n    type: 'int',\n    codeSet: 'TradePriceConditionCodeSet',\n    description: 'Special cum rights (CR)',\n  },\n  {\n    name: 'SpecialExDividend',\n    id: '1839003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '141',\n    tag: 1839,\n    type: 'int',\n    codeSet: 'TradePriceConditionCodeSet',\n    description: 'Special ex dividend (XD)',\n  },\n  {\n    name: 'SpecialExRights',\n    id: '1839004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '141',\n    tag: 1839,\n    type: 'int',\n    codeSet: 'TradePriceConditionCodeSet',\n    description: 'Special ex rights (XR)',\n  },\n  {\n    name: 'SpecialCumCoupon',\n    id: '1839005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '141',\n    tag: 1839,\n    type: 'int',\n    codeSet: 'TradePriceConditionCodeSet',\n    description: 'Special cum coupon (CC)',\n  },\n  {\n    name: 'SpecialCumCapitalRepayments',\n    id: '1839006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '141',\n    tag: 1839,\n    type: 'int',\n    codeSet: 'TradePriceConditionCodeSet',\n    description: 'Special cum capital repayments (CP)',\n  },\n  {\n    name: 'SpecialExCoupon',\n    id: '1839007',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '141',\n    tag: 1839,\n    type: 'int',\n    codeSet: 'TradePriceConditionCodeSet',\n    description: 'Special ex coupon (XC)',\n  },\n  {\n    name: 'SpecialExCapitalRepayments',\n    id: '1839008',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '141',\n    tag: 1839,\n    type: 'int',\n    codeSet: 'TradePriceConditionCodeSet',\n    description: 'Special ex capital repayments (XP)',\n  },\n  {\n    name: 'CashSettlement',\n    id: '1839009',\n    value: '8',\n    sort: 8,\n    added: 'FIX.5.0SP2',\n    addedEP: '141',\n    tag: 1839,\n    type: 'int',\n    codeSet: 'TradePriceConditionCodeSet',\n    description: 'Cash settlement (CS)',\n  },\n  {\n    name: 'SpecialCumBonus',\n    id: '1839010',\n    value: '9',\n    sort: 9,\n    added: 'FIX.5.0SP2',\n    addedEP: '141',\n    tag: 1839,\n    type: 'int',\n    codeSet: 'TradePriceConditionCodeSet',\n    description: 'Special cum bonus (CB)',\n  },\n  {\n    name: 'SpecialPrice',\n    id: '1839011',\n    value: '10',\n    sort: 10,\n    added: 'FIX.5.0SP2',\n    addedEP: '141',\n    tag: 1839,\n    type: 'int',\n    codeSet: 'TradePriceConditionCodeSet',\n    description: 'Special price (SP)\\n\\nUsually net or all-in price.',\n  },\n  {\n    name: 'SpecialExBonus',\n    id: '1839012',\n    value: '11',\n    sort: 11,\n    added: 'FIX.5.0SP2',\n    addedEP: '141',\n    tag: 1839,\n    type: 'int',\n    codeSet: 'TradePriceConditionCodeSet',\n    description: 'Special ex bonus (XB)',\n  },\n  {\n    name: 'GuaranteedDelivery',\n    id: '1839013',\n    value: '12',\n    sort: 12,\n    added: 'FIX.5.0SP2',\n    addedEP: '141',\n    tag: 1839,\n    type: 'int',\n    codeSet: 'TradePriceConditionCodeSet',\n    description: 'Guaranteed delivery (GD)',\n  },\n  {\n    name: 'SpecialDividend',\n    id: '1839014',\n    value: '13',\n    sort: 13,\n    added: 'FIX.5.0SP2',\n    addedEP: '216',\n    tag: 1839,\n    type: 'int',\n    codeSet: 'TradePriceConditionCodeSet',\n    description:\n      'Special dividend\\n\\nDeviation from regular ex/cum treatment (without further specification) leading to price modification. To be used only if it is not clear whether it is a special cum or special ex dividend. For ESMA RTS 1, this is the \"SDIV\" flag.',\n  },\n  {\n    name: 'PriceImprovement',\n    id: '1839015',\n    value: '14',\n    sort: 14,\n    added: 'FIX.5.0SP2',\n    addedEP: '216',\n    tag: 1839,\n    type: 'int',\n    codeSet: 'TradePriceConditionCodeSet',\n    description:\n      'Price improvement\\n\\nThe price is better than a reference price. For example, this may be due to an offer by a systematic internaliser to always quote better prices than a public reference price. For ESMA RTS 1, this is the \"RPRI\" flag.',\n  },\n  {\n    name: 'NonPriceFormingTrade',\n    id: '1839016',\n    value: '15',\n    sort: 15,\n    added: 'FIX.5.0SP2',\n    addedEP: '216',\n    tag: 1839,\n    type: 'int',\n    codeSet: 'TradePriceConditionCodeSet',\n    description:\n      'Non-price forming trade\\n\\nIn the context of MiFID II, these are transactions which are exempted from the trading obligation (i.e. permitted to be transacted as an OTC transaction) and are deemed not to be contributing to the price discovery process. However, these transactions are not exempted from post trade transparency reporting and are required to be published by MiFID venues and \"approved publication arrangement\" (APAs) for market transparency purposes. The price from exempted transactions should be disregarded for the purposes of price discovery. For ESMA RTS 1 and RTS 2, this is the \"NPFT\" flag.',\n  },\n  {\n    name: 'TradeExemptedFromTradingObligation',\n    id: '1839017',\n    value: '16',\n    sort: 16,\n    added: 'FIX.5.0SP2',\n    addedEP: '216',\n    updated: 'FIX.Latest',\n    updatedEP: '277',\n    tag: 1839,\n    type: 'int',\n    codeSet: 'TradePriceConditionCodeSet',\n    description:\n      'Trade exempted from trading obligation\\n\\nPer MiFIR Article 23, these types of trades are not exempted from post-trade transparency if reported to a trading venue under MiFID II and deemed on exchange, however, they are ignored for price formation despite published by venue. For the UK implementation of MiFIR RTS 1, this is the \"TNCP\" flag.',\n  },\n  {\n    name: 'PricePending',\n    id: '1839018',\n    value: '17',\n    sort: 17,\n    added: 'FIX.5.0SP2',\n    addedEP: '228',\n    updated: 'FIX.Latest',\n    updatedEP: '277',\n    tag: 1839,\n    type: 'int',\n    codeSet: 'TradePriceConditionCodeSet',\n    description:\n      'Price or strike price is pending\\n\\nIn the context of MiFIR RTS 1, RTS 2, and RTS 22, this is the \"PNDG\" flag.',\n  },\n  {\n    name: 'PriceNotApplicable',\n    id: '1839019',\n    value: '18',\n    sort: 18,\n    added: 'FIX.5.0SP2',\n    addedEP: '228',\n    updated: 'FIX.Latest',\n    updatedEP: '277',\n    tag: 1839,\n    type: 'int',\n    codeSet: 'TradePriceConditionCodeSet',\n    description:\n      'Price is not applicable\\n\\nIn the context of MiFIR RTS 1, RTS 2, and RTS 22, this is the \"NOAP\" flag.',\n  },\n  {\n    name: 'PendingClear',\n    id: '1840001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '141',\n    tag: 1840,\n    type: 'int',\n    codeSet: 'TradeAllocStatusCodeSet',\n    description: 'Pending clear',\n  },\n  {\n    name: 'Claimed',\n    id: '1840002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '141',\n    tag: 1840,\n    type: 'int',\n    codeSet: 'TradeAllocStatusCodeSet',\n    description: 'Claimed',\n  },\n  {\n    name: 'Cleared',\n    id: '1840003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '141',\n    tag: 1840,\n    type: 'int',\n    codeSet: 'TradeAllocStatusCodeSet',\n    description: 'Cleared',\n  },\n  {\n    name: 'Rejected',\n    id: '1840004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '141',\n    tag: 1840,\n    type: 'int',\n    codeSet: 'TradeAllocStatusCodeSet',\n    description: 'Rejected',\n  },\n  {\n    name: 'ClearedQuantity',\n    id: '1842001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '141',\n    tag: 1842,\n    type: 'int',\n    codeSet: 'TradeQtyTypeCodeSet',\n    description: 'Cleared quantity',\n  },\n  {\n    name: 'LongSideClaimedQuantity',\n    id: '1842002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '141',\n    tag: 1842,\n    type: 'int',\n    codeSet: 'TradeQtyTypeCodeSet',\n    description: 'Long side claimed quantity',\n  },\n  {\n    name: 'ShortSideClaimedQuantity',\n    id: '1842003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '141',\n    tag: 1842,\n    type: 'int',\n    codeSet: 'TradeQtyTypeCodeSet',\n    description: 'Short side claimed quantity',\n  },\n  {\n    name: 'LongSideRejectedQuantity',\n    id: '1842004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '141',\n    tag: 1842,\n    type: 'int',\n    codeSet: 'TradeQtyTypeCodeSet',\n    description: 'Long side rejected quantity',\n  },\n  {\n    name: 'ShortSideRejectedQuantity',\n    id: '1842005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '141',\n    tag: 1842,\n    type: 'int',\n    codeSet: 'TradeQtyTypeCodeSet',\n    description: 'Short side rejected quantity',\n  },\n  {\n    name: 'PendingQuantity',\n    id: '1842006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '141',\n    tag: 1842,\n    type: 'int',\n    codeSet: 'TradeQtyTypeCodeSet',\n    description: 'Pending quantity',\n  },\n  {\n    name: 'TransactionQuantity',\n    id: '1842007',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '141',\n    tag: 1842,\n    type: 'int',\n    codeSet: 'TradeQtyTypeCodeSet',\n    description: 'Transaction quantity',\n  },\n  {\n    name: 'RemainingQuantity',\n    id: '1842008',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '141',\n    tag: 1842,\n    type: 'int',\n    codeSet: 'TradeQtyTypeCodeSet',\n    description:\n      'Remaining trade quantity\\n\\nUsed to indicate the remaining quantity of a trade after a give-up or posting action.',\n  },\n  {\n    name: 'PreviousRemainingQuantity',\n    id: '1842009',\n    value: '8',\n    sort: 8,\n    added: 'FIX.5.0SP2',\n    addedEP: '141',\n    tag: 1842,\n    type: 'int',\n    codeSet: 'TradeQtyTypeCodeSet',\n    description:\n      'Previous remaining trade quantity\\n\\nUsed to indicate the remaining quantity of a trade prior to a give-up or posting action.',\n  },\n  {\n    name: 'Add',\n    id: '1848001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '141',\n    tag: 1848,\n    type: 'int',\n    codeSet: 'TradeAllocGroupInstructionCodeSet',\n    description: 'Add to an existing allocation group if one exists.',\n  },\n  {\n    name: 'DoNotAdd',\n    id: '1848002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '141',\n    tag: 1848,\n    type: 'int',\n    codeSet: 'TradeAllocGroupInstructionCodeSet',\n    description: 'Do not add the trade to an allocation group.',\n  },\n  {\n    name: 'Offset',\n    id: '1849001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '141',\n    tag: 1849,\n    type: 'int',\n    codeSet: 'OffsetInstructionCodeSet',\n    description:\n      \"Offset\\n\\nA type of transaction where an executing firm gives up a trade as a result of an allocation. Or, in the case of a reversal of an allocation, the take-up (claiming) firm's transaction.\",\n  },\n  {\n    name: 'Onset',\n    id: '1849002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '141',\n    tag: 1849,\n    type: 'int',\n    codeSet: 'OffsetInstructionCodeSet',\n    description:\n      \"Onset\\n\\nA type of transaction where a take-up (claiming) firm takes up a trade as a result of an allocation. Or, in the case of a reversal of an allocation, the executing firm's transaction.\",\n  },\n  {\n    name: 'NonFIXSource',\n    id: '1857001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '142',\n    tag: 1857,\n    type: 'int',\n    codeSet: 'RelatedTradeIDSourceCodeSet',\n    description: 'Non-FIX source',\n  },\n  {\n    name: 'TradeID',\n    id: '1857002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '142',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '165',\n    tag: 1857,\n    type: 'int',\n    codeSet: 'RelatedTradeIDSourceCodeSet',\n    description: 'Trade ID',\n  },\n  {\n    name: 'SecondaryTradeID',\n    id: '1857003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '142',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '165',\n    tag: 1857,\n    type: 'int',\n    codeSet: 'RelatedTradeIDSourceCodeSet',\n    description: 'Secondary trade ID',\n  },\n  {\n    name: 'TradeReportID',\n    id: '1857004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '142',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '165',\n    tag: 1857,\n    type: 'int',\n    codeSet: 'RelatedTradeIDSourceCodeSet',\n    description: 'Trade report ID',\n  },\n  {\n    name: 'FirmTradeID',\n    id: '1857005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '142',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '165',\n    tag: 1857,\n    type: 'int',\n    codeSet: 'RelatedTradeIDSourceCodeSet',\n    description: 'Firm trade ID',\n  },\n  {\n    name: 'SecondaryFirmTradeID',\n    id: '1857006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '142',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '165',\n    tag: 1857,\n    type: 'int',\n    codeSet: 'RelatedTradeIDSourceCodeSet',\n    description: 'Secondary firm Trade ID',\n  },\n  {\n    name: 'RegulatoryTradeID',\n    id: '1857007',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '165',\n    tag: 1857,\n    type: 'int',\n    codeSet: 'RelatedTradeIDSourceCodeSet',\n    description: 'Regulatory trade ID',\n  },\n  {\n    name: 'PosMaintRptID',\n    id: '1863001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '142',\n    tag: 1863,\n    type: 'int',\n    codeSet: 'RelatedPositionIDSourceCodeSet',\n    description: 'Position maintenance report ID - PosMaintRptID(721)',\n  },\n  {\n    name: 'TransferID',\n    id: '1863002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '189',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '199',\n    tag: 1863,\n    type: 'int',\n    codeSet: 'RelatedPositionIDSourceCodeSet',\n    description: 'Position transfer ID - TransferID(2437)',\n  },\n  {\n    name: 'PositionEntityID',\n    id: '1863003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '199',\n    tag: 1863,\n    type: 'int',\n    codeSet: 'RelatedPositionIDSourceCodeSet',\n    description: 'Position entity ID - PositionID(2618)',\n  },\n  {\n    name: 'ReceivedNotYetProcessed',\n    id: '1865001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '143',\n    tag: 1865,\n    type: 'int',\n    codeSet: 'QuoteAckStatusCodeSet',\n    description: 'Received, not yet processed',\n  },\n  {\n    name: 'Accepted',\n    id: '1865002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '143',\n    tag: 1865,\n    type: 'int',\n    codeSet: 'QuoteAckStatusCodeSet',\n    description: 'Accepted',\n  },\n  {\n    name: 'Rejected',\n    id: '1865003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '143',\n    tag: 1865,\n    type: 'int',\n    codeSet: 'QuoteAckStatusCodeSet',\n    description: 'Rejected',\n  },\n  {\n    name: 'PriceCheck',\n    id: '1869001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '144',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '229',\n    tag: 1869,\n    type: 'int',\n    codeSet: 'ValueCheckTypeCodeSet',\n    description:\n      'Price check\\n\\nIn the context of ESMA RTS 6 Article 15(1)(a) investment firms are required to perform pre-trade controls using \"price collars, which automatically block or cancel orders that do not meet set price parameters, differentiating between different financial instruments, both on an order-by-order basis and over a specified period of time\".',\n  },\n  {\n    name: 'NotionalValueCheck',\n    id: '1869002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '144',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '229',\n    tag: 1869,\n    type: 'int',\n    codeSet: 'ValueCheckTypeCodeSet',\n    description:\n      'Notional value check\\n\\nIn the context of ESMA RTS 6 Article 15(1)(b) investment firms are required to perform pre-trade controls using \"maximum order values, which prevent orders with an uncommonly large order value from entering the order book\".',\n  },\n  {\n    name: 'QuantityCheck',\n    id: '1869003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '229',\n    tag: 1869,\n    type: 'int',\n    codeSet: 'ValueCheckTypeCodeSet',\n    description:\n      'Quantity check\\n\\nIn the context of ESMA RTS 6 Article 15(1)(c) investment firms are required to perform pre-trade controls using \"maximum order volumes, which prevent orders with an uncommonly large order quantity from entering the order book\".',\n  },\n  {\n    name: 'DoNotCheck',\n    id: '1870001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '144',\n    tag: 1870,\n    type: 'int',\n    codeSet: 'ValueCheckActionCodeSet',\n    description:\n      'Do not check\\n\\nChecks will not be done for the specified ValueCheckType(1869).',\n  },\n  {\n    name: 'Check',\n    id: '1870002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '144',\n    tag: 1870,\n    type: 'int',\n    codeSet: 'ValueCheckActionCodeSet',\n    description: 'Check\\n\\nChecks will be done for the specificed ValueCheckType(1869)',\n  },\n  {\n    name: 'BestEffort',\n    id: '1870003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '144',\n    tag: 1870,\n    type: 'int',\n    codeSet: 'ValueCheckActionCodeSet',\n    description:\n      'Best effort\\n\\nThe market may or may not check the specified ValueCheckType(1869) depending on availability of reference data.',\n  },\n  {\n    name: 'Successful',\n    id: '1877001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '146',\n    tag: 1877,\n    type: 'int',\n    codeSet: 'PartyDetailRequestResultCodeSet',\n    description: 'Successful (default)',\n  },\n  {\n    name: 'InvalidParty',\n    id: '1877002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '146',\n    tag: 1877,\n    type: 'int',\n    codeSet: 'PartyDetailRequestResultCodeSet',\n    description: 'Invalid party(-ies)',\n  },\n  {\n    name: 'InvalidRelatedParty',\n    id: '1877003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '146',\n    tag: 1877,\n    type: 'int',\n    codeSet: 'PartyDetailRequestResultCodeSet',\n    description: 'Invalid related party(-ies)',\n  },\n  {\n    name: 'InvalidPartyStatus',\n    id: '1877004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '146',\n    tag: 1877,\n    type: 'int',\n    codeSet: 'PartyDetailRequestResultCodeSet',\n    description: 'Invalid party status(es)',\n  },\n  {\n    name: 'NotAuthorized',\n    id: '1877005',\n    value: '98',\n    sort: 98,\n    added: 'FIX.5.0SP2',\n    addedEP: '146',\n    tag: 1877,\n    type: 'int',\n    codeSet: 'PartyDetailRequestResultCodeSet',\n    description: 'Not authorized',\n  },\n  {\n    name: 'Other',\n    id: '1877006',\n    value: '99',\n    sort: 99,\n    added: 'FIX.5.0SP2',\n    addedEP: '146',\n    tag: 1877,\n    type: 'int',\n    codeSet: 'PartyDetailRequestResultCodeSet',\n    description: 'Other',\n  },\n  {\n    name: 'Accepted',\n    id: '1878001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '146',\n    tag: 1878,\n    type: 'int',\n    codeSet: 'PartyDetailRequestStatusCodeSet',\n    description: 'Accepted',\n  },\n  {\n    name: 'AcceptedWithChanges',\n    id: '1878002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '146',\n    tag: 1878,\n    type: 'int',\n    codeSet: 'PartyDetailRequestStatusCodeSet',\n    description: 'Accepted with changes',\n  },\n  {\n    name: 'Rejected',\n    id: '1878003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '146',\n    tag: 1878,\n    type: 'int',\n    codeSet: 'PartyDetailRequestStatusCodeSet',\n    description: 'Rejected',\n  },\n  {\n    name: 'AcceptancePending',\n    id: '1878004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '146',\n    tag: 1878,\n    type: 'int',\n    codeSet: 'PartyDetailRequestStatusCodeSet',\n    description: 'Acceptance pending',\n  },\n  {\n    name: 'Accepted',\n    id: '1879001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '146',\n    tag: 1879,\n    type: 'int',\n    codeSet: 'PartyDetailDefinitionStatusCodeSet',\n    description: 'Accepted',\n  },\n  {\n    name: 'AcceptedWithChanges',\n    id: '1879002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '146',\n    tag: 1879,\n    type: 'int',\n    codeSet: 'PartyDetailDefinitionStatusCodeSet',\n    description: 'Accepted with changes',\n  },\n  {\n    name: 'Rejected',\n    id: '1879003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '146',\n    tag: 1879,\n    type: 'int',\n    codeSet: 'PartyDetailDefinitionStatusCodeSet',\n    description: 'Rejected',\n  },\n  {\n    name: 'Successful',\n    id: '1881001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '146',\n    tag: 1881,\n    type: 'int',\n    codeSet: 'EntitlementRequestResultCodeSet',\n    description: 'Successful (default)',\n  },\n  {\n    name: 'InvalidParty',\n    id: '1881002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '146',\n    tag: 1881,\n    type: 'int',\n    codeSet: 'EntitlementRequestResultCodeSet',\n    description: 'Invalid party(-ies)',\n  },\n  {\n    name: 'InvalidRelatedParty',\n    id: '1881003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '146',\n    tag: 1881,\n    type: 'int',\n    codeSet: 'EntitlementRequestResultCodeSet',\n    description: 'Invalid related party(-ies)',\n  },\n  {\n    name: 'InvalidEntitlementType',\n    id: '1881004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '146',\n    tag: 1881,\n    type: 'int',\n    codeSet: 'EntitlementRequestResultCodeSet',\n    description: 'Invalid entitlement type(s)',\n  },\n  {\n    name: 'InvalidEntitlementID',\n    id: '1881005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '146',\n    tag: 1881,\n    type: 'int',\n    codeSet: 'EntitlementRequestResultCodeSet',\n    description: 'Invalid entitlement ID(s) / ref ID(s)',\n  },\n  {\n    name: 'InvalidEntitlementAttribute',\n    id: '1881006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '146',\n    tag: 1881,\n    type: 'int',\n    codeSet: 'EntitlementRequestResultCodeSet',\n    description: 'Invalid entitlement attribute(s)',\n  },\n  {\n    name: 'InvalidInstrumentScope',\n    id: '1881007',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '146',\n    tag: 1881,\n    type: 'int',\n    codeSet: 'EntitlementRequestResultCodeSet',\n    description: 'Invalid instrument scope(s)',\n  },\n  {\n    name: 'InvalidMarketSegmentScope',\n    id: '1881008',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '146',\n    tag: 1881,\n    type: 'int',\n    codeSet: 'EntitlementRequestResultCodeSet',\n    description: 'Invalid market segment scope(s)',\n  },\n  {\n    name: 'InvalidStartDate',\n    id: '1881009',\n    value: '8',\n    sort: 8,\n    added: 'FIX.5.0SP2',\n    addedEP: '146',\n    tag: 1881,\n    type: 'int',\n    codeSet: 'EntitlementRequestResultCodeSet',\n    description: 'Invalid start date',\n  },\n  {\n    name: 'InvalidEndDate',\n    id: '1881010',\n    value: '9',\n    sort: 9,\n    added: 'FIX.5.0SP2',\n    addedEP: '146',\n    tag: 1881,\n    type: 'int',\n    codeSet: 'EntitlementRequestResultCodeSet',\n    description: 'Invalid end date',\n  },\n  {\n    name: 'InstrumentScopeNotSupported',\n    id: '1881011',\n    value: '10',\n    sort: 10,\n    added: 'FIX.5.0SP2',\n    addedEP: '146',\n    tag: 1881,\n    type: 'int',\n    codeSet: 'EntitlementRequestResultCodeSet',\n    description: 'Instrument scope not supported',\n  },\n  {\n    name: 'MarketSegmentScopeNotSupported',\n    id: '1881012',\n    value: '11',\n    sort: 11,\n    added: 'FIX.5.0SP2',\n    addedEP: '146',\n    tag: 1881,\n    type: 'int',\n    codeSet: 'EntitlementRequestResultCodeSet',\n    description: 'Market segment scope not supported',\n  },\n  {\n    name: 'EntitlementNotApprovedForParty',\n    id: '1881013',\n    value: '12',\n    sort: 12,\n    added: 'FIX.5.0SP2',\n    addedEP: '146',\n    tag: 1881,\n    type: 'int',\n    codeSet: 'EntitlementRequestResultCodeSet',\n    description: 'Entitlement not approved for party(-ies)',\n  },\n  {\n    name: 'EntitlementAlreadyDefinedForParty',\n    id: '1881014',\n    value: '13',\n    sort: 13,\n    added: 'FIX.5.0SP2',\n    addedEP: '146',\n    tag: 1881,\n    type: 'int',\n    codeSet: 'EntitlementRequestResultCodeSet',\n    description: 'Entitlement already defined for party(-ies)',\n  },\n  {\n    name: 'InstrumentNotApprovedForParty',\n    id: '1881015',\n    value: '14',\n    sort: 14,\n    added: 'FIX.5.0SP2',\n    addedEP: '146',\n    tag: 1881,\n    type: 'int',\n    codeSet: 'EntitlementRequestResultCodeSet',\n    description: 'Instrument not approved for party(-ies)',\n  },\n  {\n    name: 'NotAuthorized',\n    id: '1881016',\n    value: '98',\n    sort: 98,\n    added: 'FIX.5.0SP2',\n    addedEP: '146',\n    tag: 1881,\n    type: 'int',\n    codeSet: 'EntitlementRequestResultCodeSet',\n    description: 'Not authorized',\n  },\n  {\n    name: 'Other',\n    id: '1881017',\n    value: '99',\n    sort: 99,\n    added: 'FIX.5.0SP2',\n    addedEP: '146',\n    tag: 1881,\n    type: 'int',\n    codeSet: 'EntitlementRequestResultCodeSet',\n    description: 'Other',\n  },\n  {\n    name: 'Accepted',\n    id: '1883001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '173',\n    tag: 1883,\n    type: 'int',\n    codeSet: 'EntitlementStatusCodeSet',\n    description: 'Accepted',\n  },\n  {\n    name: 'AcceptedWithChanges',\n    id: '1883002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '173',\n    tag: 1883,\n    type: 'int',\n    codeSet: 'EntitlementStatusCodeSet',\n    description: 'Accepted with changes',\n  },\n  {\n    name: 'Rejected',\n    id: '1883003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '173',\n    tag: 1883,\n    type: 'int',\n    codeSet: 'EntitlementStatusCodeSet',\n    description: 'Rejected',\n  },\n  {\n    name: 'Pending',\n    id: '1883004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '173',\n    tag: 1883,\n    type: 'int',\n    codeSet: 'EntitlementStatusCodeSet',\n    description:\n      'Pending\\n\\nEntitlement definition request submitted that still requires an action to be taken (e.g. approval or setting up).',\n  },\n  {\n    name: 'Requested',\n    id: '1883005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '173',\n    tag: 1883,\n    type: 'int',\n    codeSet: 'EntitlementStatusCodeSet',\n    description: 'Requested\\n\\nEntitlement definition has been requested.',\n  },\n  {\n    name: 'Deferred',\n    id: '1883006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '183',\n    tag: 1883,\n    type: 'int',\n    codeSet: 'EntitlementStatusCodeSet',\n    description:\n      'Deferred\\n\\nEntitlement definition request is being postponed or delayed.',\n  },\n  {\n    name: 'ReceivedNotProcessed',\n    id: '1896001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '150',\n    tag: 1896,\n    type: 'int',\n    codeSet: 'TradeMatchAckStatusCodeSet',\n    description: 'Received, not yet processed',\n  },\n  {\n    name: 'Accepted',\n    id: '1896002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '150',\n    tag: 1896,\n    type: 'int',\n    codeSet: 'TradeMatchAckStatusCodeSet',\n    description: 'Accepted',\n  },\n  {\n    name: 'Rejected',\n    id: '1896003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '150',\n    tag: 1896,\n    type: 'int',\n    codeSet: 'TradeMatchAckStatusCodeSet',\n    description: 'Rejected',\n  },\n  {\n    name: 'Successful',\n    id: '1897001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '150',\n    tag: 1897,\n    type: 'int',\n    codeSet: 'TradeMatchRejectReasonCodeSet',\n    description: 'Successful',\n  },\n  {\n    name: 'InvalidPartyInformation',\n    id: '1897002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '150',\n    tag: 1897,\n    type: 'int',\n    codeSet: 'TradeMatchRejectReasonCodeSet',\n    description: 'Invalid party information',\n  },\n  {\n    name: 'UnknownInstrument',\n    id: '1897003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '150',\n    tag: 1897,\n    type: 'int',\n    codeSet: 'TradeMatchRejectReasonCodeSet',\n    description: 'Unknown instrument',\n  },\n  {\n    name: 'Unauthorized',\n    id: '1897004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '150',\n    tag: 1897,\n    type: 'int',\n    codeSet: 'TradeMatchRejectReasonCodeSet',\n    description: 'Not authorized to report trades',\n  },\n  {\n    name: 'InvalidTradeType',\n    id: '1897005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '150',\n    tag: 1897,\n    type: 'int',\n    codeSet: 'TradeMatchRejectReasonCodeSet',\n    description: 'Invalid trade type',\n  },\n  {\n    name: 'Other',\n    id: '1897006',\n    value: '99',\n    sort: 99,\n    added: 'FIX.5.0SP2',\n    addedEP: '150',\n    tag: 1897,\n    type: 'int',\n    codeSet: 'TradeMatchRejectReasonCodeSet',\n    description: 'Other',\n  },\n  {\n    name: 'Amount',\n    id: '1923001',\n    value: '0',\n    added: 'FIX.5.0SP2',\n    addedEP: '160',\n    tag: 1923,\n    type: 'int',\n    codeSet: 'PriceMovementTypeCodeSet',\n    description: 'Amount',\n  },\n  {\n    name: 'Percentage',\n    id: '1923002',\n    value: '1',\n    added: 'FIX.5.0SP2',\n    addedEP: '160',\n    tag: 1923,\n    type: 'int',\n    codeSet: 'PriceMovementTypeCodeSet',\n    description: 'Percentage',\n  },\n  {\n    name: 'InitialBlockTrade',\n    id: '1904001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1904,\n    type: 'int',\n    codeSet: 'RegulatoryTradeIDEventCodeSet',\n    description: 'Initial block trade\\n\\n',\n  },\n  {\n    name: 'Allocation',\n    id: '1904002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1904,\n    type: 'int',\n    codeSet: 'RegulatoryTradeIDEventCodeSet',\n    description:\n      'Allocation\\n\\nDetermination that the block trade will not be further allocated.',\n  },\n  {\n    name: 'Clearing',\n    id: '1904003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1904,\n    type: 'int',\n    codeSet: 'RegulatoryTradeIDEventCodeSet',\n    description: 'Clearing',\n  },\n  {\n    name: 'Compression',\n    id: '1904004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1904,\n    type: 'int',\n    codeSet: 'RegulatoryTradeIDEventCodeSet',\n    description: 'Compression',\n  },\n  {\n    name: 'Novation',\n    id: '1904005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1904,\n    type: 'int',\n    codeSet: 'RegulatoryTradeIDEventCodeSet',\n    description: 'Novation',\n  },\n  {\n    name: 'Termination',\n    id: '1904006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1904,\n    type: 'int',\n    codeSet: 'RegulatoryTradeIDEventCodeSet',\n    description: 'Termination',\n  },\n  {\n    name: 'PostTrdVal',\n    id: '1904007',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '179',\n    tag: 1904,\n    type: 'int',\n    codeSet: 'RegulatoryTradeIDEventCodeSet',\n    description: 'Post-trade valuation',\n  },\n  {\n    name: 'UniqueTransactionIdentifier',\n    id: '1905001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.Latest',\n    addedEP: '275',\n    tag: 1905,\n    type: 'String',\n    codeSet: 'RegulatoryTradeIDSourceCodeSet',\n    description: 'Unique Transaction Identifier (ISO 23897)',\n  },\n  {\n    name: 'Current',\n    id: '1906001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1906,\n    type: 'int',\n    codeSet: 'RegulatoryTradeIDTypeCodeSet',\n    description: 'Current\\n\\nThe default if not specified.',\n  },\n  {\n    name: 'Previous',\n    id: '1906002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1906,\n    type: 'int',\n    codeSet: 'RegulatoryTradeIDTypeCodeSet',\n    description:\n      \"Previous\\n\\nThe previous trade's identifier when reporting a cleared trade or novation of a previous trade.\",\n  },\n  {\n    name: 'Block',\n    id: '1906003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1906,\n    type: 'int',\n    codeSet: 'RegulatoryTradeIDTypeCodeSet',\n    description:\n      \"Block\\n\\nThe block trade's identifier when reporting an allocated subtrade.\",\n  },\n  {\n    name: 'Related',\n    id: '1906004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1906,\n    type: 'int',\n    codeSet: 'RegulatoryTradeIDTypeCodeSet',\n    description: 'Related\\n\\nThe related trade identifier when reporting a mixed swap.',\n  },\n  {\n    name: 'ClearedBlockTrade',\n    id: '1906005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '192',\n    tag: 1906,\n    type: 'int',\n    codeSet: 'RegulatoryTradeIDTypeCodeSet',\n    description:\n      'Cleared block trade\\n\\nAssigned by the CCP to a bunched order/trade when it needs to be cleared with the standby clearing firm prior to post-trade allocation.',\n  },\n  {\n    name: 'TradingVenueTransactionIdentifier',\n    id: '1906006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '222',\n    tag: 1906,\n    type: 'int',\n    codeSet: 'RegulatoryTradeIDTypeCodeSet',\n    description:\n      'Trading venue transaction identifier\\n\\nAssigned by the trading venue to a transaction. In the context of ESMA RTS 22 and RTS 24, this is an unique transaction identification \"number generated by trading venues and disseminated to both the buying and selling parties in accordance with Article 12 of [RTS 24 on the maintenance of relevant data relating to orders in financial instruments under Article 25 of Regulation 600/2014 EU].\" (quoted text from RTS 22). \"Uniqueness\" may be defined per relevant regulations.',\n  },\n  {\n    name: 'ReportTrackingNumber',\n    id: '1906007',\n    value: '6',\n    sort: 6,\n    added: 'FIX.Latest',\n    addedEP: '284',\n    tag: 1906,\n    type: 'int',\n    codeSet: 'RegulatoryTradeIDTypeCodeSet',\n    description:\n      'Report tracking number\\n\\nIn the context of EMIR Refit this is a \"unique code assigned to the execution of an order and common for a group of reports related to the same execution\" (see Q28 in https://www.esma.europa.eu/sites/default/files/library/esma74-362-2281_final_report_guidelines_emir_refit.pdf). Also referred to as the RTN.',\n  },\n  {\n    name: 'DoNotIntendToClear',\n    id: '1924001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1924,\n    type: 'int',\n    codeSet: 'ClearingIntentionCodeSet',\n    description: 'Do not intend to clear',\n  },\n  {\n    name: 'IntendToClear',\n    id: '1924002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1924,\n    type: 'int',\n    codeSet: 'ClearingIntentionCodeSet',\n    description: 'Intend to clear',\n  },\n  {\n    name: 'NonElectronic',\n    id: '1927001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1927,\n    type: 'int',\n    codeSet: 'ConfirmationMethodCodeSet',\n    description: 'Non-electronic',\n  },\n  {\n    name: 'Electronic',\n    id: '1927002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1927,\n    type: 'int',\n    codeSet: 'ConfirmationMethodCodeSet',\n    description: 'Electronic',\n  },\n  {\n    name: 'Unconfirmed',\n    id: '1927003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '179',\n    tag: 1927,\n    type: 'int',\n    codeSet: 'ConfirmationMethodCodeSet',\n    description: 'Unconfirmed',\n  },\n  {\n    name: 'NonElectronic',\n    id: '1931001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1931,\n    type: 'int',\n    codeSet: 'VerificationMethodCodeSet',\n    description: 'Non-electronic',\n  },\n  {\n    name: 'Electronic',\n    id: '1931002',\n    value: '1',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1931,\n    type: 'int',\n    codeSet: 'VerificationMethodCodeSet',\n    description: 'Electronic',\n  },\n  {\n    name: 'NoException',\n    id: '1932001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1932,\n    type: 'int',\n    codeSet: 'ClearingRequirementExceptionCodeSet',\n    description: 'No exception',\n  },\n  {\n    name: 'Exception',\n    id: '1932002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '177',\n    tag: 1932,\n    type: 'int',\n    codeSet: 'ClearingRequirementExceptionCodeSet',\n    description:\n      'Exception\\n\\nUsed to indicate an exception to a clearing requirement without elaborating on the type of exception.',\n  },\n  {\n    name: 'EndUserException',\n    id: '1932003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '177',\n    tag: 1932,\n    type: 'int',\n    codeSet: 'ClearingRequirementExceptionCodeSet',\n    description:\n      'End-user exception\\n\\nIn the US, see CFTC Final Rule on End-User Exception to Clearing Requirements for Swaps Fact Sheet http://www.cftc.gov/ucm/groups/public/@newsroom/documents/file/eue_factsheet_final.pdf',\n  },\n  {\n    name: 'InterAffiliateException',\n    id: '1932004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '177',\n    tag: 1932,\n    type: 'int',\n    codeSet: 'ClearingRequirementExceptionCodeSet',\n    description:\n      'Inter-affiliate exception\\n\\nIn the US, see CFTC Final Rule - Clearing Exemption for Swaps Between Certain Affiliated Entities http://www.cftc.gov//ucm/groups/public/@lrfederalregister/documents/file/2013-07970a.pdf',\n  },\n  {\n    name: 'TreasuryAffiliateException',\n    id: '1932005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '177',\n    tag: 1932,\n    type: 'int',\n    codeSet: 'ClearingRequirementExceptionCodeSet',\n    description:\n      'Treasury affiliate exception\\n\\nIn the US, see CFTC No Action Letter 13-22 No Action Relief from the Clearing Requirement for Swaps Entered into by Eligible Treasury Affiliates http://www.cftc.gov/ucm/groups/public/@lrlettergeneral/documents/letter/13-22.pdf',\n  },\n  {\n    name: 'CooperativeException',\n    id: '1932006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '177',\n    tag: 1932,\n    type: 'int',\n    codeSet: 'ClearingRequirementExceptionCodeSet',\n    description:\n      'Cooperative exception\\n\\nClearing exception for certain swaps entered into by cooperatives. In the US, see Regulation 50.51(a) Definition of Exempt Cooperative: https://www.federalregister.gov/articles/2013/08/22/2013-19945/clearing-exemption-for-certain-swaps-entered-into-by-cooperatives',\n  },\n  {\n    name: 'Pay',\n    id: '1933001',\n    value: 'PAY',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1933,\n    type: 'String',\n    codeSet: 'IRSDirectionCodeSet',\n    description: 'Principal is paying fixed rate\\n\\n',\n  },\n  {\n    name: 'Rcv',\n    id: '1933002',\n    value: 'RCV',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1933,\n    type: 'String',\n    codeSet: 'IRSDirectionCodeSet',\n    description: 'Principal is receiving fixed rate',\n  },\n  {\n    name: 'NA',\n    id: '1933003',\n    value: 'NA',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1933,\n    type: 'String',\n    codeSet: 'IRSDirectionCodeSet',\n    description: 'Swap is float/float or fixed/fixed',\n  },\n  {\n    name: 'RT',\n    id: '1934001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1934,\n    type: 'int',\n    codeSet: 'RegulatoryReportTypeCodeSet',\n    description:\n      'Real-time (RT)\\n\\nReport of data relating to a regulated transaction including price and volume that is to be disseminated publically. If dissemination is to be suppressed due to an end user exception or to local regulatory rules that allow suppression of certain types of transactions use TradePublishIndicator(1390)=0.',\n  },\n  {\n    name: 'PET',\n    id: '1934002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1934,\n    type: 'int',\n    codeSet: 'RegulatoryReportTypeCodeSet',\n    description:\n      'Primary economic terms (PET)\\n\\nReport to regulators of the full terms of a regulated transaction included in the legal confirmation.',\n  },\n  {\n    name: 'Snapshot',\n    id: '1934003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1934,\n    type: 'int',\n    codeSet: 'RegulatoryReportTypeCodeSet',\n    description:\n      'Snapshot\\n\\nPeriodic report of full primary economic terms data throughout the life cycle of a regulated transaction.',\n  },\n  {\n    name: 'Confirmation',\n    id: '1934004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1934,\n    type: 'int',\n    codeSet: 'RegulatoryReportTypeCodeSet',\n    description:\n      'Confirmation\\n\\nReport from a clearing organization of a cleared regulated transaction.',\n  },\n  {\n    name: 'RTPET',\n    id: '1934005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1934,\n    type: 'int',\n    codeSet: 'RegulatoryReportTypeCodeSet',\n    description:\n      'Combination of RT and PET\\n\\nA single report combining the requirements of both real-time and full primary economy terms of a regulated transaction.',\n  },\n  {\n    name: 'PETConfirmation',\n    id: '1934006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1934,\n    type: 'int',\n    codeSet: 'RegulatoryReportTypeCodeSet',\n    description:\n      'Combination of PET and confirmation\\n\\nA single report combining the requirements of both full primary economic terms of a regulated transaction report and confirmation.',\n  },\n  {\n    name: 'RTPETConfirmation',\n    id: '1934007',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1934,\n    type: 'int',\n    codeSet: 'RegulatoryReportTypeCodeSet',\n    description:\n      'Combination of RT, PET and confirmation\\n\\nA single report combining the requirements of real-time and full primary economic terms of a regulated transaction report, and confirmation.',\n  },\n  {\n    name: 'PostTrade',\n    id: '1934008',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1934,\n    type: 'int',\n    codeSet: 'RegulatoryReportTypeCodeSet',\n    description:\n      'Post-trade valuation\\n\\nPeriodic report of the ongoing mark-to-market value of a regulated transaction.',\n  },\n  {\n    name: 'Verification',\n    id: '1934009',\n    value: '8',\n    sort: 8,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1934,\n    type: 'int',\n    codeSet: 'RegulatoryReportTypeCodeSet',\n    description:\n      'Verification\\n\\nUsed by the trading counterparty to report its full primary economic terms of a regulated transaction separately to the repository.',\n  },\n  {\n    name: 'PstTrdEvnt',\n    id: '1934010',\n    value: '9',\n    sort: 9,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '187',\n    tag: 1934,\n    type: 'int',\n    codeSet: 'RegulatoryReportTypeCodeSet',\n    description:\n      'Post-trade event\\n\\nReport of a regulated transaction continuation event that does not fall within the requirements for real-time reporting.',\n  },\n  {\n    name: 'PstTrdEvntRTReportable',\n    id: '1934011',\n    value: '10',\n    sort: 10,\n    added: 'FIX.5.0SP2',\n    addedEP: '187',\n    tag: 1934,\n    type: 'int',\n    codeSet: 'RegulatoryReportTypeCodeSet',\n    description:\n      'Post trade event RT reportable\\n\\nReport of a regulated transaction continuation event that falls within the requirements for real-time reporting and public dissemination. If dissemination is to be suppressed due to an end user exception or to local regulatory rules that allow suppression of certain types of transactions, use TradePublishIndicator(1390) = 0 (Do not publish trade).',\n  },\n  {\n    name: 'LMTF',\n    id: '1934012',\n    value: '11',\n    sort: 11,\n    added: 'FIX.5.0SP2',\n    addedEP: '216',\n    tag: 1934,\n    type: 'int',\n    codeSet: 'RegulatoryReportTypeCodeSet',\n    description:\n      'Limited Details Trade\\n\\nDesignates a trade in instruments specified in ESMA RTS 2 Article 11 (1)(a)(i) for immediate publication of all details except the quantity. This is ESMA RTS 2 deferral flag \"LMTF\".',\n  },\n  {\n    name: 'DATF',\n    id: '1934013',\n    value: '12',\n    sort: 12,\n    added: 'FIX.5.0SP2',\n    addedEP: '216',\n    tag: 1934,\n    type: 'int',\n    codeSet: 'RegulatoryReportTypeCodeSet',\n    description:\n      'Daily Aggregated Trade\\n\\nDesignates a trade in instruments specified in ESMA RTS 2 Article 11 (1)(a)(ii) for aggregated publication of at least 5 transactions before 9:00 a.m. local time next day. This is ESMA RTS 2 deferral flag \"DATF\".',\n  },\n  {\n    name: 'VOLO',\n    id: '1934014',\n    value: '13',\n    sort: 13,\n    added: 'FIX.5.0SP2',\n    addedEP: '216',\n    tag: 1934,\n    type: 'int',\n    codeSet: 'RegulatoryReportTypeCodeSet',\n    description:\n      'Volume Omission Trade\\n\\nDesignates a trade in instruments specified in ESMA RTS 2 Article 11 (1)(b) for immediate publication of all details except the quantity. This is ESMA RTS 2 deferral flag \"VOLO\".',\n  },\n  {\n    name: 'FWAF',\n    id: '1934015',\n    value: '14',\n    sort: 14,\n    added: 'FIX.5.0SP2',\n    addedEP: '216',\n    tag: 1934,\n    type: 'int',\n    codeSet: 'RegulatoryReportTypeCodeSet',\n    description:\n      'Four Weeks Aggregation Trade\\n\\nDesignates a trade in instruments specified in ESMA RTS 2 Article 11 (1)(c) (non-sovereign debt only) for aggregated publication of transactions executed over the course of one calendar week before 9:00 a.m. local time following Tuesday. This is ESMA RTS 2 deferral flag \"FWAF\".',\n  },\n  {\n    name: 'IDAF',\n    id: '1934016',\n    value: '15',\n    sort: 15,\n    added: 'FIX.5.0SP2',\n    addedEP: '216',\n    tag: 1934,\n    type: 'int',\n    codeSet: 'RegulatoryReportTypeCodeSet',\n    description:\n      'Indefinite Aggregation Trade\\n\\nDesignates a trade in instruments specified in ESMA RTS 2 Article 11 (1)(d) (sovereign debt only) for aggregated publication of transactions executed over the course of one calendar week before 9:00 a.m. local time following Tuesday. This is ESMA RTS 2 deferral flag \"IDAF\".',\n  },\n  {\n    name: 'VOLW',\n    id: '1934017',\n    value: '16',\n    sort: 16,\n    added: 'FIX.5.0SP2',\n    addedEP: '216',\n    tag: 1934,\n    type: 'int',\n    codeSet: 'RegulatoryReportTypeCodeSet',\n    description:\n      'Volume Omission Trade Eligible for Subsequent Aggregated Enrichment\\n\\nDesignates a trade in instruments specified in ESMA RTS 2 Article 11 (1)(b) and (d) consecutively (sovereign debt only) for immediate publication of all details except the quantity. This is ESMA RTS 2 deferral flag \"VOLW\".',\n  },\n  {\n    name: 'FULF',\n    id: '1934018',\n    value: '17',\n    sort: 17,\n    added: 'FIX.5.0SP2',\n    addedEP: '216',\n    tag: 1934,\n    type: 'int',\n    codeSet: 'RegulatoryReportTypeCodeSet',\n    description:\n      'Full Details Trade of \"Limited Details Trade\"\\n\\nFull details of a previously reported \"limited details trade (LMTF)\". Designates a trade in instruments specified in ESMA RTS 2 Article 11 (1)(a)(i) which is a follow-up publication of all details before 7pm local time on the second day after initial publication. This is ESMA RTS deferral flag \"FULF\".',\n  },\n  {\n    name: 'FULA',\n    id: '1934019',\n    value: '18',\n    sort: 18,\n    added: 'FIX.5.0SP2',\n    addedEP: '216',\n    tag: 1934,\n    type: 'int',\n    codeSet: 'RegulatoryReportTypeCodeSet',\n    description:\n      'Full Details of \"Daily Aggregated Trade\"\\n\\nFull details of a previously reported \"daily aggregated trade (DATF)\". Designates a trade in instruments specified in RTS 2 Article 11 (1)(a)(ii) which is a follow-up publication of the individual transaction with full details before 7pm local time on the second day after initial publication. This is ESMA RTS 2 deferral flag \"FULA\".',\n  },\n  {\n    name: 'FULV',\n    id: '1934020',\n    value: '19',\n    sort: 19,\n    added: 'FIX.5.0SP2',\n    addedEP: '216',\n    tag: 1934,\n    type: 'int',\n    codeSet: 'RegulatoryReportTypeCodeSet',\n    description:\n      'Full Details of \"Volume Omission Trade\"\\n\\nFull details of a previously reported \"volume omission trade (VOLO)\". Designates a trade in instruments specified in ESMA RTS 2 Article 11 (1)(b) which is a follow-up publication of all details before 9 am local time four weeks after initial publication. This is ESMA RTS 2 deferral flag \"FULV\".',\n  },\n  {\n    name: 'FULJ',\n    id: '1934021',\n    value: '20',\n    sort: 20,\n    added: 'FIX.5.0SP2',\n    addedEP: '216',\n    tag: 1934,\n    type: 'int',\n    codeSet: 'RegulatoryReportTypeCodeSet',\n    description:\n      'Full Details of \"Four Weeks Aggregation Trade\"\\n\\nFull details of a previously reported \"four weeks aggregation trade (FWAF)\". Designates a trade in instruments specified in ESMA RTS 2 Article 11 (1)(c) (non-sovereign debt only) which is a follow-up publication of the individual transaction with full details before 9 am local time four weeks after initial publication. This is ESMA RTS 2 deferral flag \"FULJ\".',\n  },\n  {\n    name: 'COAF',\n    id: '1934022',\n    value: '21',\n    sort: 21,\n    added: 'FIX.5.0SP2',\n    addedEP: '216',\n    tag: 1934,\n    type: 'int',\n    codeSet: 'RegulatoryReportTypeCodeSet',\n    description:\n      'Full Details in Aggregated Form of \"Volume Omission Trade Eligible for Subsequent Aggregated Enrichment\"\\n\\nFull details of a previously reported \"volume omission trade eligible for subsequent aggregated enrichment (VOLW)\". Designates a trade report in instruments specified in ESMA RTS 2 Article 11(1)(b) and (d) consecutively which is an aggregated publication of transactions executed over the course of one calendar week before 9:00 a.m. CET local time the following Tuesday four weeks after initial publication. This is ESMA RTS 2 deferral flag \"COAF\".',\n  },\n  {\n    name: 'Order',\n    id: '1934023',\n    value: '22',\n    sort: 22,\n    added: 'FIX.5.0SP2',\n    addedEP: '253',\n    tag: 1934,\n    type: 'int',\n    codeSet: 'RegulatoryReportTypeCodeSet',\n    description:\n      'Order\\n\\nReport for order handling events to enter, change or delete orders. In the context of US CAT this is used for the event types MENO, MEOM, MEOJ, and MEOC.',\n  },\n  {\n    name: 'ChildOrder',\n    id: '1934024',\n    value: '23',\n    sort: 23,\n    added: 'FIX.5.0SP2',\n    addedEP: '253',\n    tag: 1934,\n    type: 'int',\n    codeSet: 'RegulatoryReportTypeCodeSet',\n    description:\n      'Child order\\n\\nReport for child order handling events to enter, change or delete child orders. Child orders are created when a (parent) order is split into multiple (child) orders. In the context of US CAT this is used for the event types MECO, MECOM, and MECOC.',\n  },\n  {\n    name: 'OrderRoute',\n    id: '1934025',\n    value: '24',\n    sort: 24,\n    added: 'FIX.5.0SP2',\n    addedEP: '253',\n    tag: 1934,\n    type: 'int',\n    codeSet: 'RegulatoryReportTypeCodeSet',\n    description:\n      'Order route\\n\\nReported when an order is routed between market participants and/or execution venues such as an exchange. In the context of US CAT this is used for the event types MEOR, MEOA and MEIR.',\n  },\n  {\n    name: 'Trade',\n    id: '1934026',\n    value: '25',\n    sort: 25,\n    added: 'FIX.5.0SP2',\n    addedEP: '253',\n    tag: 1934,\n    type: 'int',\n    codeSet: 'RegulatoryReportTypeCodeSet',\n    description:\n      'Trade\\n\\nReport for trade handling events to enter, change or delete trades. In the context of US CAT this is used for the event types MEOT, MEOF and MEFA.',\n  },\n  {\n    name: 'Quote',\n    id: '1934027',\n    value: '26',\n    sort: 26,\n    added: 'FIX.5.0SP2',\n    addedEP: '253',\n    tag: 1934,\n    type: 'int',\n    codeSet: 'RegulatoryReportTypeCodeSet',\n    description:\n      'Quote\\n\\nReport for quote handling events to enter, change or delete quotes. In the context of US CAT this is used for the event types MENQ, MEQR, and MEQC.',\n  },\n  {\n    name: 'Supplement',\n    id: '1934028',\n    value: '27',\n    sort: 27,\n    added: 'FIX.5.0SP2',\n    addedEP: '253',\n    tag: 1934,\n    type: 'int',\n    codeSet: 'RegulatoryReportTypeCodeSet',\n    description:\n      'Supplement\\n\\nReported when an order, quote or trade report is split across multiple messages. The recipient must be able to create the full report by combining the initial and supplement reports. In the context of US CAT this is used for the event types MENOS, MEOMS and MEOTS.',\n  },\n  {\n    name: 'NewTransaction',\n    id: '1934029',\n    value: '28',\n    sort: 28,\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 1934,\n    type: 'int',\n    codeSet: 'RegulatoryReportTypeCodeSet',\n    description:\n      'New transaction\\n\\nIn the context of EU SFTR reporting this corresponds to \"action type\" \"NEWT\".',\n  },\n  {\n    name: 'TransactionCorrection',\n    id: '1934030',\n    value: '29',\n    sort: 29,\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 1934,\n    type: 'int',\n    codeSet: 'RegulatoryReportTypeCodeSet',\n    description:\n      'Transaction correction\\n\\nIn the context of EU SFTR reporting this corresponds to \"action type\" \"CORR\".',\n  },\n  {\n    name: 'TransactionModification',\n    id: '1934031',\n    value: '30',\n    sort: 30,\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 1934,\n    type: 'int',\n    codeSet: 'RegulatoryReportTypeCodeSet',\n    description:\n      'Transaction modification\\n\\nIn the context of EU SFTR reporting this corresponds to \"action type\" \"MODI\".',\n  },\n  {\n    name: 'CollateralUpdate',\n    id: '1934032',\n    value: '31',\n    sort: 31,\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 1934,\n    type: 'int',\n    codeSet: 'RegulatoryReportTypeCodeSet',\n    description:\n      'Collateral update\\n\\nIn the context of EU SFTR reporting this corresponds to \"action type\" \"COLU\" if CollStatus(910)=3 (Assigned (Accepted)), or \"REUU\" if CollStatus(910)=5 (Reused).',\n  },\n  {\n    name: 'MarginUpdate',\n    id: '1934033',\n    value: '32',\n    sort: 32,\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 1934,\n    type: 'int',\n    codeSet: 'RegulatoryReportTypeCodeSet',\n    description:\n      'Margin update\\n\\nIn the context of EU SFTR reporting this corresponds to \"action type\" \"MARU\".',\n  },\n  {\n    name: 'TransactionReportedInError',\n    id: '1934034',\n    value: '33',\n    sort: 33,\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 1934,\n    type: 'int',\n    codeSet: 'RegulatoryReportTypeCodeSet',\n    description:\n      'Transaction reported in error\\n\\nIn the context of EU SFTR reporting this corresponds to \"action type\" \"EROR\".',\n  },\n  {\n    name: 'TerminationEarlyTermination',\n    id: '1934035',\n    value: '34',\n    sort: 34,\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 1934,\n    type: 'int',\n    codeSet: 'RegulatoryReportTypeCodeSet',\n    description:\n      'Termination / Early termination\\n\\nIn the context of EU SFTR reporting this corresponds to \"action type\" \"ETRM\".',\n  },\n  {\n    name: 'Uncollateralized',\n    id: '1936001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1936,\n    type: 'int',\n    codeSet: 'TradeCollateralizationCodeSet',\n    description: 'Uncollateralized',\n  },\n  {\n    name: 'PartiallyCollateralized',\n    id: '1936002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1936,\n    type: 'int',\n    codeSet: 'TradeCollateralizationCodeSet',\n    description: 'Partially collateralized',\n  },\n  {\n    name: 'OneWayCollaterallization',\n    id: '1936003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1936,\n    type: 'int',\n    codeSet: 'TradeCollateralizationCodeSet',\n    description: 'One-way collaterallization',\n  },\n  {\n    name: 'FullyCollateralized',\n    id: '1936004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1936,\n    type: 'int',\n    codeSet: 'TradeCollateralizationCodeSet',\n    description: 'Fully collateralized',\n  },\n  {\n    name: 'NetExposure',\n    id: '1936005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 1936,\n    type: 'int',\n    codeSet: 'TradeCollateralizationCodeSet',\n    description:\n      'Net exposure\\n\\nIndication of whether the collateral has been provided for a net exposure, rather than for a single transaction.',\n  },\n  {\n    name: 'Novation',\n    id: '1937001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1937,\n    type: 'int',\n    codeSet: 'TradeContinuationCodeSet',\n    description: 'Novation',\n  },\n  {\n    name: 'PartialNovation',\n    id: '1937002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1937,\n    type: 'int',\n    codeSet: 'TradeContinuationCodeSet',\n    description: 'Partial novation',\n  },\n  {\n    name: 'TradeUnwind',\n    id: '1937003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '179',\n    tag: 1937,\n    type: 'int',\n    codeSet: 'TradeContinuationCodeSet',\n    description: 'Trade unwind\\n\\n\"Trade\" includes \"Swaps\".',\n  },\n  {\n    name: 'PartialTradeUnwind',\n    id: '1937004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '179',\n    tag: 1937,\n    type: 'int',\n    codeSet: 'TradeContinuationCodeSet',\n    description: 'Partial trade unwind\\n\\n\"Trade\" includes \"Swaps\".',\n  },\n  {\n    name: 'Exercise',\n    id: '1937005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1937,\n    type: 'int',\n    codeSet: 'TradeContinuationCodeSet',\n    description: 'Exercise',\n  },\n  {\n    name: 'Netting',\n    id: '1937006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '179',\n    tag: 1937,\n    type: 'int',\n    codeSet: 'TradeContinuationCodeSet',\n    description:\n      'Compression/Netting\\n\\nCompression (used for OTC derivative trades) and Netting (used for Futures trades) are essentially the same business process, i.e. rolling up closely related contracts into a single trade or position.',\n  },\n  {\n    name: 'FullNetting',\n    id: '1937007',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1937,\n    type: 'int',\n    codeSet: 'TradeContinuationCodeSet',\n    description: 'Full netting',\n  },\n  {\n    name: 'PartialNetting',\n    id: '1937008',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1937,\n    type: 'int',\n    codeSet: 'TradeContinuationCodeSet',\n    description: 'Partial netting',\n  },\n  {\n    name: 'Amendment',\n    id: '1937009',\n    value: '8',\n    sort: 8,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '193',\n    tag: 1937,\n    type: 'int',\n    codeSet: 'TradeContinuationCodeSet',\n    description:\n      'Amendment\\n\\nBased on mutual agreement between the counterparties, used to change the original or previously amended contract terms reported to a trade repository.',\n  },\n  {\n    name: 'Increase',\n    id: '1937010',\n    value: '9',\n    sort: 9,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1937,\n    type: 'int',\n    codeSet: 'TradeContinuationCodeSet',\n    description: 'Increase',\n  },\n  {\n    name: 'CreditEvent',\n    id: '1937011',\n    value: '10',\n    sort: 10,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1937,\n    type: 'int',\n    codeSet: 'TradeContinuationCodeSet',\n    description: 'Credit event',\n  },\n  {\n    name: 'StrategicRestructuring',\n    id: '1937012',\n    value: '11',\n    sort: 11,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1937,\n    type: 'int',\n    codeSet: 'TradeContinuationCodeSet',\n    description: 'Strategic restructuring',\n  },\n  {\n    name: 'SuccessionEventReorganization',\n    id: '1937013',\n    value: '12',\n    sort: 12,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1937,\n    type: 'int',\n    codeSet: 'TradeContinuationCodeSet',\n    description: 'Succession event reorganization',\n  },\n  {\n    name: 'SuccessionEventRenaming',\n    id: '1937014',\n    value: '13',\n    sort: 13,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1937,\n    type: 'int',\n    codeSet: 'TradeContinuationCodeSet',\n    description: 'Succession event renaming',\n  },\n  {\n    name: 'Porting',\n    id: '1937015',\n    value: '14',\n    sort: 14,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1937,\n    type: 'int',\n    codeSet: 'TradeContinuationCodeSet',\n    description: 'Porting',\n  },\n  {\n    name: 'Withdrawl',\n    id: '1937016',\n    value: '15',\n    sort: 15,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1937,\n    type: 'int',\n    codeSet: 'TradeContinuationCodeSet',\n    description:\n      'Withdrawal\\n\\nOne party withdrew from the trade prior to confirmation or clearing. Can be used with TradeReportTransType(487)=1 (Cancel).',\n  },\n  {\n    name: 'Void',\n    id: '1937017',\n    value: '16',\n    sort: 16,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1937,\n    type: 'int',\n    codeSet: 'TradeContinuationCodeSet',\n    description:\n      'Void\\n\\nTrade is to be ended after clearing. Can be used with TradeReportTransType(487)=1 (Cancel).',\n  },\n  {\n    name: 'AccountTransfer',\n    id: '1937018',\n    value: '17',\n    sort: 17,\n    added: 'FIX.5.0SP2',\n    addedEP: '179',\n    tag: 1937,\n    type: 'int',\n    codeSet: 'TradeContinuationCodeSet',\n    description: 'Account transfer',\n  },\n  {\n    name: 'GiveUp',\n    id: '1937019',\n    value: '18',\n    sort: 18,\n    added: 'FIX.5.0SP2',\n    addedEP: '179',\n    tag: 1937,\n    type: 'int',\n    codeSet: 'TradeContinuationCodeSet',\n    description: 'Give up',\n  },\n  {\n    name: 'TakeUp',\n    id: '1937020',\n    value: '19',\n    sort: 19,\n    added: 'FIX.5.0SP2',\n    addedEP: '179',\n    tag: 1937,\n    type: 'int',\n    codeSet: 'TradeContinuationCodeSet',\n    description: 'TakeUp',\n  },\n  {\n    name: 'AveragePricing',\n    id: '1937021',\n    value: '20',\n    sort: 20,\n    added: 'FIX.5.0SP2',\n    addedEP: '179',\n    tag: 1937,\n    type: 'int',\n    codeSet: 'TradeContinuationCodeSet',\n    description: 'Average pricing',\n  },\n  {\n    name: 'Reversal',\n    id: '1937022',\n    value: '21',\n    sort: 21,\n    added: 'FIX.5.0SP2',\n    addedEP: '179',\n    tag: 1937,\n    type: 'int',\n    codeSet: 'TradeContinuationCodeSet',\n    description: 'Reversal',\n  },\n  {\n    name: 'AllocTrdPosting',\n    id: '1937023',\n    value: '22',\n    sort: 22,\n    added: 'FIX.5.0SP2',\n    addedEP: '179',\n    tag: 1937,\n    type: 'int',\n    codeSet: 'TradeContinuationCodeSet',\n    description: 'Allocation/Trade posting',\n  },\n  {\n    name: 'Cascade',\n    id: '1937024',\n    value: '23',\n    sort: 23,\n    added: 'FIX.5.0SP2',\n    addedEP: '179',\n    tag: 1937,\n    type: 'int',\n    codeSet: 'TradeContinuationCodeSet',\n    description:\n      'Cascade\\n\\nThe breakdown of a contract position to a more granular level, e.g. from a yearly position to monthly positions.',\n  },\n  {\n    name: 'Delivery',\n    id: '1937025',\n    value: '24',\n    sort: 24,\n    added: 'FIX.5.0SP2',\n    addedEP: '179',\n    tag: 1937,\n    type: 'int',\n    codeSet: 'TradeContinuationCodeSet',\n    description: 'Delivery',\n  },\n  {\n    name: 'OptionAsgn',\n    id: '1937026',\n    value: '25',\n    sort: 25,\n    added: 'FIX.5.0SP2',\n    addedEP: '179',\n    tag: 1937,\n    type: 'int',\n    codeSet: 'TradeContinuationCodeSet',\n    description: 'Option assignment',\n  },\n  {\n    name: 'Expiration',\n    id: '1937027',\n    value: '26',\n    sort: 26,\n    added: 'FIX.5.0SP2',\n    addedEP: '179',\n    tag: 1937,\n    type: 'int',\n    codeSet: 'TradeContinuationCodeSet',\n    description: 'Expiration',\n  },\n  {\n    name: 'Maturity',\n    id: '1937028',\n    value: '27',\n    sort: 27,\n    added: 'FIX.5.0SP2',\n    addedEP: '179',\n    tag: 1937,\n    type: 'int',\n    codeSet: 'TradeContinuationCodeSet',\n    description: 'Maturity',\n  },\n  {\n    name: 'EqualPosAdj',\n    id: '1937029',\n    value: '28',\n    sort: 28,\n    added: 'FIX.5.0SP2',\n    addedEP: '179',\n    tag: 1937,\n    type: 'int',\n    codeSet: 'TradeContinuationCodeSet',\n    description: 'Equal position adjustment',\n  },\n  {\n    name: 'UnequalPosAdj',\n    id: '1937030',\n    value: '29',\n    sort: 29,\n    added: 'FIX.5.0SP2',\n    addedEP: '179',\n    tag: 1937,\n    type: 'int',\n    codeSet: 'TradeContinuationCodeSet',\n    description:\n      'Unequal position adjustment\\n\\nAn adjustment to either the long or short position quantity but not both.',\n  },\n  {\n    name: 'Correction',\n    id: '1937031',\n    value: '30',\n    sort: 30,\n    added: 'FIX.5.0SP2',\n    addedEP: '193',\n    tag: 1937,\n    type: 'int',\n    codeSet: 'TradeContinuationCodeSet',\n    description:\n      'Correction\\n\\nUsed to correct an error in the contract terms of a previously submitted report to a trade repository.',\n  },\n  {\n    name: 'EarlyTermination',\n    id: '1937032',\n    value: '31',\n    sort: 31,\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 1937,\n    type: 'int',\n    codeSet: 'TradeContinuationCodeSet',\n    description:\n      'Early termination\\n\\nThe transaction/contract has closed before its natural end (maturity date or end date).',\n  },\n  {\n    name: 'Rerate',\n    id: '1937033',\n    value: '32',\n    sort: 32,\n    added: 'FIX.5.0SP2',\n    addedEP: '258',\n    tag: 1937,\n    type: 'int',\n    codeSet: 'TradeContinuationCodeSet',\n    description:\n      'Rerate\\n\\nChange in the repo rate of an open repo contract due to shift in the market conditions.',\n  },\n  {\n    name: 'Other',\n    id: '1937034',\n    value: '99',\n    sort: 99,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '179',\n    tag: 1937,\n    type: 'int',\n    codeSet: 'TradeContinuationCodeSet',\n    description:\n      'Other price-forming continuation data\\n\\nOther price-forming continuation data or lifecycle event. Include description of type in TradeContinuationText(2374).',\n  },\n  {\n    name: 'InterestRate',\n    id: '1938001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1938,\n    type: 'int',\n    codeSet: 'AssetClassCodeSet',\n    description: 'Interest rate',\n  },\n  {\n    name: 'Currency',\n    id: '1938002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1938,\n    type: 'int',\n    codeSet: 'AssetClassCodeSet',\n    description: 'Currency',\n  },\n  {\n    name: 'Credit',\n    id: '1938003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1938,\n    type: 'int',\n    codeSet: 'AssetClassCodeSet',\n    description: 'Credit',\n  },\n  {\n    name: 'Equity',\n    id: '1938004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1938,\n    type: 'int',\n    codeSet: 'AssetClassCodeSet',\n    description: 'Equity',\n  },\n  {\n    name: 'Commodity',\n    id: '1938005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1938,\n    type: 'int',\n    codeSet: 'AssetClassCodeSet',\n    description: 'Commodity',\n  },\n  {\n    name: 'Other',\n    id: '1938006',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '179',\n    tag: 1938,\n    type: 'int',\n    codeSet: 'AssetClassCodeSet',\n    description: 'Other',\n  },\n  {\n    name: 'Cash',\n    id: '1938007',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '192',\n    tag: 1938,\n    type: 'int',\n    codeSet: 'AssetClassCodeSet',\n    description: 'Cash',\n  },\n  {\n    name: 'Debt',\n    id: '1938008',\n    value: '8',\n    sort: 8,\n    added: 'FIX.5.0SP2',\n    addedEP: '192',\n    tag: 1938,\n    type: 'int',\n    codeSet: 'AssetClassCodeSet',\n    description: 'Debt',\n  },\n  {\n    name: 'Fund',\n    id: '1938009',\n    value: '9',\n    sort: 9,\n    added: 'FIX.5.0SP2',\n    addedEP: '192',\n    tag: 1938,\n    type: 'int',\n    codeSet: 'AssetClassCodeSet',\n    description:\n      'Fund\\n\\nSuch as mutual fund, collective investment vehicle, investment program, specialized account program.',\n  },\n  {\n    name: 'LoanFacility',\n    id: '1938010',\n    value: '10',\n    sort: 10,\n    added: 'FIX.5.0SP2',\n    addedEP: '192',\n    tag: 1938,\n    type: 'int',\n    codeSet: 'AssetClassCodeSet',\n    description: 'Loan facility',\n  },\n  {\n    name: 'Index',\n    id: '1938011',\n    value: '11',\n    sort: 11,\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 1938,\n    type: 'int',\n    codeSet: 'AssetClassCodeSet',\n    description:\n      'Index\\n\\nA main index identified as a security type, for example under EU SFTR reporting.',\n  },\n  {\n    name: 'Metals',\n    id: '1939001',\n    value: '13',\n    sort: 13,\n    group: 'Commodity',\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1939,\n    type: 'int',\n    codeSet: 'AssetSubClassCodeSet',\n    description: 'Metals',\n  },\n  {\n    name: 'Bullion',\n    id: '1939002',\n    value: '14',\n    sort: 14,\n    group: 'Commodity',\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1939,\n    type: 'int',\n    codeSet: 'AssetSubClassCodeSet',\n    description: 'Bullion',\n  },\n  {\n    name: 'Energy',\n    id: '1939003',\n    value: '15',\n    sort: 15,\n    group: 'Commodity',\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1939,\n    type: 'int',\n    codeSet: 'AssetSubClassCodeSet',\n    description: 'Energy',\n  },\n  {\n    name: 'CommodityIndex',\n    id: '1939004',\n    value: '16',\n    sort: 16,\n    group: 'Commodity',\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1939,\n    type: 'int',\n    codeSet: 'AssetSubClassCodeSet',\n    description: 'Commodity index',\n  },\n  {\n    name: 'Agricultural',\n    id: '1939005',\n    value: '17',\n    sort: 17,\n    group: 'Commodity',\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1939,\n    type: 'int',\n    codeSet: 'AssetSubClassCodeSet',\n    description: 'Agricultural',\n  },\n  {\n    name: 'Environmental',\n    id: '1939006',\n    value: '18',\n    sort: 18,\n    group: 'Commodity',\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1939,\n    type: 'int',\n    codeSet: 'AssetSubClassCodeSet',\n    description: 'Environmental',\n  },\n  {\n    name: 'Freight',\n    id: '1939007',\n    value: '19',\n    sort: 19,\n    group: 'Commodity',\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1939,\n    type: 'int',\n    codeSet: 'AssetSubClassCodeSet',\n    description: 'Freight',\n  },\n  {\n    name: 'Fertilizer',\n    id: '1939008',\n    value: '41',\n    sort: 41,\n    group: 'Commodity',\n    added: 'FIX.5.0SP2',\n    addedEP: '235',\n    tag: 1939,\n    type: 'int',\n    codeSet: 'AssetSubClassCodeSet',\n    description: 'Fertilizer',\n  },\n  {\n    name: 'IndustrialProduct',\n    id: '1939009',\n    value: '42',\n    sort: 42,\n    group: 'Commodity',\n    added: 'FIX.5.0SP2',\n    addedEP: '235',\n    tag: 1939,\n    type: 'int',\n    codeSet: 'AssetSubClassCodeSet',\n    description: 'Industrial product',\n  },\n  {\n    name: 'Inflation',\n    id: '1939010',\n    value: '43',\n    sort: 43,\n    group: 'Commodity',\n    added: 'FIX.5.0SP2',\n    addedEP: '235',\n    tag: 1939,\n    type: 'int',\n    codeSet: 'AssetSubClassCodeSet',\n    description: 'Inflation',\n  },\n  {\n    name: 'Paper',\n    id: '1939011',\n    value: '44',\n    sort: 44,\n    group: 'Commodity',\n    added: 'FIX.5.0SP2',\n    addedEP: '235',\n    tag: 1939,\n    type: 'int',\n    codeSet: 'AssetSubClassCodeSet',\n    description: 'Paper',\n  },\n  {\n    name: 'Polypropylene',\n    id: '1939012',\n    value: '45',\n    sort: 45,\n    group: 'Commodity',\n    added: 'FIX.5.0SP2',\n    addedEP: '235',\n    tag: 1939,\n    type: 'int',\n    codeSet: 'AssetSubClassCodeSet',\n    description: 'Polypropylene',\n  },\n  {\n    name: 'OfficialEconomicStatistics',\n    id: '1939013',\n    value: '46',\n    sort: 46,\n    group: 'Commodity',\n    added: 'FIX.5.0SP2',\n    addedEP: '235',\n    tag: 1939,\n    type: 'int',\n    codeSet: 'AssetSubClassCodeSet',\n    description: 'Official economic statistics',\n  },\n  {\n    name: 'SingleName',\n    id: '1939014',\n    value: '4',\n    sort: 4,\n    group: 'Credit',\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1939,\n    type: 'int',\n    codeSet: 'AssetSubClassCodeSet',\n    description: 'Single name',\n  },\n  {\n    name: 'CreditIndex',\n    id: '1939015',\n    value: '5',\n    sort: 5,\n    group: 'Credit',\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1939,\n    type: 'int',\n    codeSet: 'AssetSubClassCodeSet',\n    description: 'Credit index',\n  },\n  {\n    name: 'IndexTranche',\n    id: '1939016',\n    value: '6',\n    sort: 6,\n    group: 'Credit',\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1939,\n    type: 'int',\n    codeSet: 'AssetSubClassCodeSet',\n    description: 'Index tranche',\n  },\n  {\n    name: 'CreditBasket',\n    id: '1939017',\n    value: '7',\n    sort: 7,\n    group: 'Credit',\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1939,\n    type: 'int',\n    codeSet: 'AssetSubClassCodeSet',\n    description: 'Credit basket',\n  },\n  {\n    name: 'Basket',\n    id: '1939018',\n    value: '3',\n    sort: 3,\n    group: 'Currency',\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1939,\n    type: 'int',\n    codeSet: 'AssetSubClassCodeSet',\n    description: 'Basket [for multi-currency]',\n  },\n  {\n    name: 'FXCrossRates',\n    id: '1939019',\n    value: '38',\n    sort: 38,\n    group: 'Currency',\n    added: 'FIX.5.0SP2',\n    addedEP: '235',\n    tag: 1939,\n    type: 'int',\n    codeSet: 'AssetSubClassCodeSet',\n    description: 'FX cross rates',\n  },\n  {\n    name: 'FXEmergingMarkets',\n    id: '1939020',\n    value: '39',\n    sort: 39,\n    group: 'Currency',\n    added: 'FIX.5.0SP2',\n    addedEP: '235',\n    tag: 1939,\n    type: 'int',\n    codeSet: 'AssetSubClassCodeSet',\n    description: 'FX emerging markets',\n  },\n  {\n    name: 'FXMajors',\n    id: '1939021',\n    value: '40',\n    sort: 40,\n    group: 'Currency',\n    added: 'FIX.5.0SP2',\n    addedEP: '235',\n    tag: 1939,\n    type: 'int',\n    codeSet: 'AssetSubClassCodeSet',\n    description: 'FX Majors',\n  },\n  {\n    name: 'Government',\n    id: '1939022',\n    value: '20',\n    sort: 20,\n    group: 'Debt',\n    added: 'FIX.5.0SP2',\n    addedEP: '192',\n    tag: 1939,\n    type: 'int',\n    codeSet: 'AssetSubClassCodeSet',\n    description: 'Government',\n  },\n  {\n    name: 'Agency',\n    id: '1939023',\n    value: '21',\n    sort: 21,\n    group: 'Debt',\n    added: 'FIX.5.0SP2',\n    addedEP: '192',\n    tag: 1939,\n    type: 'int',\n    codeSet: 'AssetSubClassCodeSet',\n    description: 'Agency',\n  },\n  {\n    name: 'Corporate',\n    id: '1939024',\n    value: '22',\n    sort: 22,\n    group: 'Debt',\n    added: 'FIX.5.0SP2',\n    addedEP: '192',\n    tag: 1939,\n    type: 'int',\n    codeSet: 'AssetSubClassCodeSet',\n    description: 'Corporate',\n  },\n  {\n    name: 'Financing',\n    id: '1939025',\n    value: '23',\n    sort: 23,\n    group: 'Debt',\n    added: 'FIX.5.0SP2',\n    addedEP: '192',\n    tag: 1939,\n    type: 'int',\n    codeSet: 'AssetSubClassCodeSet',\n    description: 'Financing',\n  },\n  {\n    name: 'MoneyMarket',\n    id: '1939026',\n    value: '24',\n    sort: 24,\n    group: 'Debt',\n    added: 'FIX.5.0SP2',\n    addedEP: '192',\n    tag: 1939,\n    type: 'int',\n    codeSet: 'AssetSubClassCodeSet',\n    description: 'Money market',\n  },\n  {\n    name: 'Mortgage',\n    id: '1939027',\n    value: '25',\n    sort: 25,\n    group: 'Debt',\n    added: 'FIX.5.0SP2',\n    addedEP: '192',\n    tag: 1939,\n    type: 'int',\n    codeSet: 'AssetSubClassCodeSet',\n    description: 'Mortgage',\n  },\n  {\n    name: 'Municipal',\n    id: '1939028',\n    value: '26',\n    sort: 26,\n    group: 'Debt',\n    added: 'FIX.5.0SP2',\n    addedEP: '192',\n    tag: 1939,\n    type: 'int',\n    codeSet: 'AssetSubClassCodeSet',\n    description: 'Municipal',\n  },\n  {\n    name: 'Common',\n    id: '1939029',\n    value: '9',\n    sort: 9,\n    group: 'Equity',\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1939,\n    type: 'int',\n    codeSet: 'AssetSubClassCodeSet',\n    description: 'Common',\n  },\n  {\n    name: 'Preferred',\n    id: '1939030',\n    value: '10',\n    sort: 10,\n    group: 'Equity',\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1939,\n    type: 'int',\n    codeSet: 'AssetSubClassCodeSet',\n    description: 'Preferred',\n  },\n  {\n    name: 'EquityIndex',\n    id: '1939031',\n    value: '11',\n    sort: 11,\n    group: 'Equity',\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1939,\n    type: 'int',\n    codeSet: 'AssetSubClassCodeSet',\n    description: 'Equity index',\n  },\n  {\n    name: 'EquityBasket',\n    id: '1939032',\n    value: '12',\n    sort: 12,\n    group: 'Equity',\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1939,\n    type: 'int',\n    codeSet: 'AssetSubClassCodeSet',\n    description: 'Equity basket',\n  },\n  {\n    name: 'DividendIndex',\n    id: '1939033',\n    value: '34',\n    sort: 34,\n    group: 'Equity',\n    added: 'FIX.5.0SP2',\n    addedEP: '235',\n    tag: 1939,\n    type: 'int',\n    codeSet: 'AssetSubClassCodeSet',\n    description: 'Dividend index',\n  },\n  {\n    name: 'StockDividend',\n    id: '1939034',\n    value: '35',\n    sort: 35,\n    group: 'Equity',\n    added: 'FIX.5.0SP2',\n    addedEP: '235',\n    tag: 1939,\n    type: 'int',\n    codeSet: 'AssetSubClassCodeSet',\n    description: 'Stock dividend',\n  },\n  {\n    name: 'ExchangeTradedFund',\n    id: '1939035',\n    value: '36',\n    sort: 36,\n    group: 'Equity',\n    added: 'FIX.5.0SP2',\n    addedEP: '235',\n    tag: 1939,\n    type: 'int',\n    codeSet: 'AssetSubClassCodeSet',\n    description: 'Exchange traded fund',\n  },\n  {\n    name: 'VolatilityIndex',\n    id: '1939036',\n    value: '37',\n    sort: 37,\n    group: 'Equity',\n    added: 'FIX.5.0SP2',\n    addedEP: '235',\n    tag: 1939,\n    type: 'int',\n    codeSet: 'AssetSubClassCodeSet',\n    description: 'Volatility index',\n  },\n  {\n    name: 'MutualFund',\n    id: '1939037',\n    value: '27',\n    sort: 27,\n    group: 'Fund',\n    added: 'FIX.5.0SP2',\n    addedEP: '192',\n    tag: 1939,\n    type: 'int',\n    codeSet: 'AssetSubClassCodeSet',\n    description: 'Mutual fund',\n  },\n  {\n    name: 'CollectiveInvestmentVehicle',\n    id: '1939038',\n    value: '28',\n    sort: 28,\n    group: 'Fund',\n    added: 'FIX.5.0SP2',\n    addedEP: '192',\n    tag: 1939,\n    type: 'int',\n    codeSet: 'AssetSubClassCodeSet',\n    description: 'Collective investment vehicle',\n  },\n  {\n    name: 'InvestmentProgram',\n    id: '1939039',\n    value: '29',\n    sort: 29,\n    group: 'Fund',\n    added: 'FIX.5.0SP2',\n    addedEP: '192',\n    tag: 1939,\n    type: 'int',\n    codeSet: 'AssetSubClassCodeSet',\n    description: 'Investment program\\n\\nA generalized fund for major investors.',\n  },\n  {\n    name: 'SpecializedAccountProgram',\n    id: '1939040',\n    value: '30',\n    sort: 30,\n    group: 'Fund',\n    added: 'FIX.5.0SP2',\n    addedEP: '192',\n    tag: 1939,\n    type: 'int',\n    codeSet: 'AssetSubClassCodeSet',\n    description:\n      'Specialized account program\\n\\nA specialized fund setup for a particular account or group of accounts.',\n  },\n  {\n    name: 'SingleCurrency',\n    id: '1939041',\n    value: '1',\n    sort: 1,\n    group: 'Interest Rate',\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1939,\n    type: 'int',\n    codeSet: 'AssetSubClassCodeSet',\n    description: 'Single currency',\n  },\n  {\n    name: 'CrossCurrency',\n    id: '1939042',\n    value: '2',\n    sort: 2,\n    group: 'Interest Rate',\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1939,\n    type: 'int',\n    codeSet: 'AssetSubClassCodeSet',\n    description: 'Cross currency',\n  },\n  {\n    name: 'TermLoan',\n    id: '1939043',\n    value: '31',\n    sort: 31,\n    group: 'Loan Facility',\n    added: 'FIX.5.0SP2',\n    addedEP: '192',\n    tag: 1939,\n    type: 'int',\n    codeSet: 'AssetSubClassCodeSet',\n    description: 'Term loan',\n  },\n  {\n    name: 'BridgeLoan',\n    id: '1939044',\n    value: '32',\n    sort: 32,\n    group: 'Loan Facility',\n    added: 'FIX.5.0SP2',\n    addedEP: '192',\n    tag: 1939,\n    type: 'int',\n    codeSet: 'AssetSubClassCodeSet',\n    description: 'Bridge loan',\n  },\n  {\n    name: 'LetterOfCredit',\n    id: '1939045',\n    value: '33',\n    sort: 33,\n    group: 'Loan Facility',\n    added: 'FIX.5.0SP2',\n    addedEP: '192',\n    tag: 1939,\n    type: 'int',\n    codeSet: 'AssetSubClassCodeSet',\n    description: 'Letter of credit',\n  },\n  {\n    name: 'Exotic',\n    id: '1939046',\n    value: '8',\n    sort: 8,\n    group: 'Other',\n    added: 'FIX.5.0SP2',\n    addedEP: '179',\n    tag: 1939,\n    type: 'int',\n    codeSet: 'AssetSubClassCodeSet',\n    description: 'Exotic',\n  },\n  {\n    name: 'OtherC10',\n    id: '1939047',\n    value: '47',\n    sort: 47,\n    group: 'Other',\n    added: 'FIX.5.0SP2',\n    addedEP: '235',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '253',\n    tag: 1939,\n    type: 'int',\n    codeSet: 'AssetSubClassCodeSet',\n    description:\n      \"Other C10\\n\\nDefined under MiFID II (Directive 2014/65/EU) Section C(10) of Annex I and paraphrased in ESMA RTS 2 Annex III Section 10, \\\"Other C10\\\" is a financial instrument \\\"which is not a 'Freight derivative', any of the following interest rate derivatives sub-asset classes: 'Inflation multi-currency swap or cross-currency swap', a 'Future/forward on inflation multi-currency swaps or cross-currency swaps', an 'Inflation single currency swap', a 'Future/forward on inflation single currency swap' and any of the following equity derivatives sub-asset classes: a 'Volatility index option', a 'Volatility index future/forward', a swap with parameter return variance, a swap with parameter return volatility, a portfolio swap with parameter return variance, a portfolio swap with parameter return volatility\\\".\",\n  },\n  {\n    name: 'Other',\n    id: '1939048',\n    value: '48',\n    sort: 48,\n    group: 'Other',\n    added: 'FIX.5.0SP2',\n    addedEP: '235',\n    tag: 1939,\n    type: 'int',\n    codeSet: 'AssetSubClassCodeSet',\n    description: 'Other\\n\\nMay be used with any AssetClass(1938) values.',\n  },\n  {\n    name: 'BasisSwap',\n    id: '1941001',\n    value: 'BS',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1941,\n    type: 'String',\n    codeSet: 'SwapClassCodeSet',\n    description: 'Basis swap',\n  },\n  {\n    name: 'IndexSwap',\n    id: '1941002',\n    value: 'IX',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1941,\n    type: 'String',\n    codeSet: 'SwapClassCodeSet',\n    description: 'Index swap',\n  },\n  {\n    name: 'BroadBasedSecuritySwap',\n    id: '1941003',\n    value: 'BB',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1941,\n    type: 'String',\n    codeSet: 'SwapClassCodeSet',\n    description: 'Broad-based security swap',\n  },\n  {\n    name: 'BasketSwap',\n    id: '1941004',\n    value: 'SK',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1941,\n    type: 'String',\n    codeSet: 'SwapClassCodeSet',\n    description: 'Basket swap',\n  },\n  {\n    name: 'Zero',\n    id: '1946001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1946,\n    type: 'int',\n    codeSet: 'CouponTypeCodeSet',\n    description: 'Zero',\n  },\n  {\n    name: 'FixedRate',\n    id: '1946002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1946,\n    type: 'int',\n    codeSet: 'CouponTypeCodeSet',\n    description: 'Fixed rate',\n  },\n  {\n    name: 'FloatingRate',\n    id: '1946003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1946,\n    type: 'int',\n    codeSet: 'CouponTypeCodeSet',\n    description: 'Floating rate',\n  },\n  {\n    name: 'Structured',\n    id: '1946004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1946,\n    type: 'int',\n    codeSet: 'CouponTypeCodeSet',\n    description: 'Structured',\n  },\n  {\n    name: 'Day',\n    id: '1949001',\n    value: 'D',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1949,\n    type: 'String',\n    codeSet: 'CouponFrequencyUnitCodeSet',\n    description: 'Day',\n  },\n  {\n    name: 'Week',\n    id: '1949002',\n    value: 'Wk',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1949,\n    type: 'String',\n    codeSet: 'CouponFrequencyUnitCodeSet',\n    description: 'Week',\n  },\n  {\n    name: 'Month',\n    id: '1949003',\n    value: 'Mo',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1949,\n    type: 'String',\n    codeSet: 'CouponFrequencyUnitCodeSet',\n    description: 'Month',\n  },\n  {\n    name: 'Year',\n    id: '1949004',\n    value: 'Yr',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1949,\n    type: 'String',\n    codeSet: 'CouponFrequencyUnitCodeSet',\n    description: 'Year',\n  },\n  {\n    name: 'Hour',\n    id: '1949005',\n    value: 'H',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 1949,\n    type: 'String',\n    codeSet: 'CouponFrequencyUnitCodeSet',\n    description: 'Hour',\n  },\n  {\n    name: 'Minute',\n    id: '1949006',\n    value: 'Min',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 1949,\n    type: 'String',\n    codeSet: 'CouponFrequencyUnitCodeSet',\n    description: 'Minute',\n  },\n  {\n    name: 'Second',\n    id: '1949007',\n    value: 'S',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 1949,\n    type: 'String',\n    codeSet: 'CouponFrequencyUnitCodeSet',\n    description: 'Second',\n  },\n  {\n    name: 'Term',\n    id: '1949008',\n    value: 'T',\n    sort: 8,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 1949,\n    type: 'String',\n    codeSet: 'CouponFrequencyUnitCodeSet',\n    description: 'Term',\n  },\n  {\n    name: 'OneOne',\n    id: '1950001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '200',\n    tag: 1950,\n    type: 'int',\n    codeSet: 'CouponDayCountCodeSet',\n    description:\n      '1/1\\n\\nIf parties specify the Day Count Fraction to be 1/1 then in calculating the applicable amount, 1 is simply input into the calculation as the relevant Day Count Fraction. See also 2006 ISDA Definitions, Section 4.16. Day Count Fraction, paragraph (a).',\n  },\n  {\n    name: 'ThirtyThreeSixtyUS',\n    id: '1950002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    updated: 'FIX.Latest',\n    updatedEP: '266',\n    tag: 1950,\n    type: 'int',\n    codeSet: 'CouponDayCountCodeSet',\n    description: \"30/360 (30U/360 or Bond Basis)\\n\\nSee also ISO 15022 MICO code 'A001'.\",\n  },\n  {\n    name: 'ThirtyThreeSixtySIA',\n    id: '1950003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1950,\n    type: 'int',\n    codeSet: 'CouponDayCountCodeSet',\n    description:\n      '30/360 (SIA)\\n\\nA variant of \"30/360\" - when Date1 and Date2 are both Feb. 28th or 29th convert them to 30th using the same logic in the conversion of 31st to 30th.',\n  },\n  {\n    name: 'ThirtyThreeSixtyM',\n    id: '1950004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1950,\n    type: 'int',\n    codeSet: 'CouponDayCountCodeSet',\n    description:\n      '30/360M\\n\\nCommonly used day count convention for US mortgage backed securities. Feb 28th (or 29th in a leap year) is always considered as a 30th for a start date. As a comparison, in the regular 30/360 day count as used by most US agency and corporate bonds, a start date of Feb 28th (or 29th in a leap year) is still considered as the 28th (or 29th) day of a month of 30 days.',\n  },\n  {\n    name: 'ThirtyEThreeSixty',\n    id: '1950005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '254',\n    tag: 1950,\n    type: 'int',\n    codeSet: 'CouponDayCountCodeSet',\n    description: \"30E/360 (Eurobond Basis)\\n\\nSee also ISO 15022 MICO code 'A007'.\",\n  },\n  {\n    name: 'ThirtyEThreeSixtyISDA',\n    id: '1950006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '200',\n    tag: 1950,\n    type: 'int',\n    codeSet: 'CouponDayCountCodeSet',\n    description:\n      '30E/360 (ISDA)\\n\\nDate adjustment rules are: (1) if Date1 is the last day of the month, then change Date1 to 30; (2) if D2 is the last day of the month (unless Date2 is the maturity date and Date2 is in February), then change Date2 to 30. See also 2006 ISDA Definitions, Section 4.16. Day Count Fraction, paragraph (h).',\n  },\n  {\n    name: 'ActThreeSixty',\n    id: '1950007',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '254',\n    tag: 1950,\n    type: 'int',\n    codeSet: 'CouponDayCountCodeSet',\n    description: \"Act/360\\n\\nSee also ISO 15022 MICO code 'A004'.\",\n  },\n  {\n    name: 'ActThreeSixtyFiveFixed',\n    id: '1950008',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '254',\n    tag: 1950,\n    type: 'int',\n    codeSet: 'CouponDayCountCodeSet',\n    description: \"Act/365 (FIXED)\\n\\nSee also ISO 15022 MICO code 'A005'.\",\n  },\n  {\n    name: 'ActActAFB',\n    id: '1950009',\n    value: '8',\n    sort: 8,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '254',\n    tag: 1950,\n    type: 'int',\n    codeSet: 'CouponDayCountCodeSet',\n    description: \"Act/Act (AFB)\\n\\nSee also ISO 15022 MICO code 'A010'.\",\n  },\n  {\n    name: 'ActActICMA',\n    id: '1950010',\n    value: '9',\n    sort: 9,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '254',\n    tag: 1950,\n    type: 'int',\n    codeSet: 'CouponDayCountCodeSet',\n    description: \"Act/Act (ICMA)\\n\\nSee also ISO 15022 MICO code 'A006'.\",\n  },\n  {\n    name: 'ActActISMAUltimo',\n    id: '1950011',\n    value: '10',\n    sort: 10,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '254',\n    tag: 1950,\n    type: 'int',\n    codeSet: 'CouponDayCountCodeSet',\n    description:\n      'Act/Act (ICMA Ultimo)\\n\\nThe Act/Act (ICMA Ultimo) differs from Act/Act (ICMA) method only that it assumes that regular coupons always fall on the last day of the month.',\n  },\n  {\n    name: 'ActActISDA',\n    id: '1950012',\n    value: '11',\n    sort: 11,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '254',\n    tag: 1950,\n    type: 'int',\n    codeSet: 'CouponDayCountCodeSet',\n    description: \"Act/Act (ISDA)\\n\\nSee also ISO 15022 MICO code 'A008'.\",\n  },\n  {\n    name: 'BusTwoFiftyTwo',\n    id: '1950013',\n    value: '12',\n    sort: 12,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '200',\n    tag: 1950,\n    type: 'int',\n    codeSet: 'CouponDayCountCodeSet',\n    description:\n      'BUS/252\\n\\nUsed for Brazilian Real swaps, which is based on business days instead of calendar days. The number of business days divided by 252.',\n  },\n  {\n    name: 'ThirtyEPlusThreeSixty',\n    id: '1950014',\n    value: '13',\n    sort: 13,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1950,\n    type: 'int',\n    codeSet: 'CouponDayCountCodeSet',\n    description:\n      '30E+/360\\n\\nVariation on 30E/360. Date adjustment rules: (1) If Date1 falls on the 31st, then change it to the 30th; (2) If Date2 falls on the 31st, then change it to 1 and increase Month2 by one, i.e. next month.',\n  },\n  {\n    name: 'ActThreeSixtyFiveL',\n    id: '1950015',\n    value: '14',\n    sort: 14,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '254',\n    tag: 1950,\n    type: 'int',\n    codeSet: 'CouponDayCountCodeSet',\n    description: \"Act/365L\\n\\nSee also ISO 15022 MICO code 'A009'.\",\n  },\n  {\n    name: 'NLThreeSixtyFive',\n    id: '1950016',\n    value: '15',\n    sort: 15,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '254',\n    tag: 1950,\n    type: 'int',\n    codeSet: 'CouponDayCountCodeSet',\n    description: \"NL365\\n\\nSee also ISO 15022 MICO code 'A014'.\",\n  },\n  {\n    name: 'NLThreeSixty',\n    id: '1950017',\n    value: '16',\n    sort: 16,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1950,\n    type: 'int',\n    codeSet: 'CouponDayCountCodeSet',\n    description:\n      'NL360\\n\\nThis is the same as Act/360, with the exception of leap days (29th February) which are ignored.',\n  },\n  {\n    name: 'Act364',\n    id: '1950018',\n    value: '17',\n    sort: 17,\n    added: 'FIX.5.0SP2',\n    addedEP: '200',\n    tag: 1950,\n    type: 'int',\n    codeSet: 'CouponDayCountCodeSet',\n    description:\n      'Act/364\\n\\nThe actual number of days between Date1 and Date2, divided by 364.',\n  },\n  {\n    name: 'ThirtyThreeSixtyFive',\n    id: '1950019',\n    value: '18',\n    sort: 18,\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 1950,\n    type: 'int',\n    codeSet: 'CouponDayCountCodeSet',\n    description:\n      \"30/365\\n\\nInterest is calculated based on a 30-day month in a way similar to the 30/360 (basic rule) and a 365-day year. Accrued interest to a value date on the last day of a month shall be the same as to the 30th calendar day of the same month, except for February. This means that a 31 is assumed to be a 30 and the 28 February (or 29 February for a leap year) is assumed to be a 28 (or 29). See also ISO 15022 MICO code 'A002'.\",\n  },\n  {\n    name: 'ThirtyActual',\n    id: '1950020',\n    value: '19',\n    sort: 19,\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 1950,\n    type: 'int',\n    codeSet: 'CouponDayCountCodeSet',\n    description:\n      \"30/Actual\\n\\nInterest is calculated based on a 30-day month in a way similar to the 30/360 (basic rule) and the assumed number of days in a year in a way similar to the Actual/Actual (ICMA). Accrued interest to a value date on the last day of a month shall be the same as to the 30th calendar day of the same month, except for February. This means that a 31 is assumed to be a 30 and the 28 February (or 29 February for a leap year) is assumed to be a 28 (or 29). The assumed number of days in a year is computed as the actual number of days in the coupon period multiplied by the number of interest payments in the year. See also ISO 15022 MICO code 'A003'.\",\n  },\n  {\n    name: 'ThirtyThreeSixtyICMA',\n    id: '1950021',\n    value: '20',\n    sort: 20,\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 1950,\n    type: 'int',\n    codeSet: 'CouponDayCountCodeSet',\n    description:\n      \"30/360 (ICMA or basis rule)\\n\\nInterest is calculated based on a 30-day month and a 360-day year. Accrued interest to a value date on the last day of a month shall be the same as to the 30 calendar day of the same month, except for February. This means that a 31 is assumed to be a 30 and the 28 February (or 29 February for a leap year) is assumed to be a 28 (or 29). It is the most commonly used 30/360 method for non-US straight and convertible bonds issued before 1 January 1999. See also ISO 15022 MICO code 'A011'.\",\n  },\n  {\n    name: 'ThirtyETwoThreeSixty',\n    id: '1950022',\n    value: '21',\n    sort: 21,\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 1950,\n    type: 'int',\n    codeSet: 'CouponDayCountCodeSet',\n    description:\n      \"30E2/360 (Eurobond basis model two)\\n\\nInterest is calculated based on a 30-day month and a 360-day year. Accrued interest to a value date on the last day of a month shall be the same as to the 30th calendar day of the same month, except for the last day of February whose day of the month value shall be adapted to the value of the first day of the interest period if the latter is higher and if the period is one of a regular schedule. This means that a 31 is assumed to be a 30 and the 28 February of a non-leap year is assumed to be equivalent to a 29 February when the first day of the interest period is a 29, or to a 30 February when the first day of the interest period is a 30 or a 31. The 29 February of a leap year is assumed to be equivalent to a 30 February when the first day of the interest period is a 30 or a 31. Similarly, if the coupon period starts on the last day of February, it is assumed to produce only one day of interest in February as if it was starting on a 30 February when the end of the period is a 30 or a 31, or two days of interest in February when the end of the period is a 29, or three days of interest in February when it is the 28 February of a non-leap year and the end of the period is before the 29. See also ISO 15022 MICO code 'A012'.\",\n  },\n  {\n    name: 'ThirtyEThreeThreeSixty',\n    id: '1950023',\n    value: '22',\n    sort: 22,\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 1950,\n    type: 'int',\n    codeSet: 'CouponDayCountCodeSet',\n    description:\n      \"30E3/360 (Eurobond basis model three)\\n\\nInterest is calculated based on a 30-day month and a 360-day year. Accrued interest to a value date on the last day of a month shall be the same as to the 30th calendar day of the same month. This means that a 31 is assumed to be a 30 and the 28 February (or 29 February for a leap year) is assumed to be equivalent to a 30 February. It is a variation of the 30E/360 (or Eurobond basis) method where the last day of February is always assumed to be a 30, even if it is the last day of the maturity coupon period. See also ISO 15022 MICO code 'A013'.\",\n  },\n  {\n    name: 'Other',\n    id: '1950024',\n    value: '99',\n    sort: 99,\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 1950,\n    type: 'int',\n    codeSet: 'CouponDayCountCodeSet',\n    description:\n      \"Other\\n\\nFor other day count method. See also ISO 15022 MICO code 'OTHR'.\",\n  },\n  {\n    name: 'Unknown',\n    id: '1954001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1954,\n    type: 'int',\n    codeSet: 'LienSeniorityCodeSet',\n    description: 'Unknown',\n  },\n  {\n    name: 'FirstLien',\n    id: '1954002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1954,\n    type: 'int',\n    codeSet: 'LienSeniorityCodeSet',\n    description: 'First lien',\n  },\n  {\n    name: 'SecondLien',\n    id: '1954003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1954,\n    type: 'int',\n    codeSet: 'LienSeniorityCodeSet',\n    description: 'Second lien',\n  },\n  {\n    name: 'ThirdLien',\n    id: '1954004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1954,\n    type: 'int',\n    codeSet: 'LienSeniorityCodeSet',\n    description: 'Third lien',\n  },\n  {\n    name: 'BridgeLoan',\n    id: '1955001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1955,\n    type: 'int',\n    codeSet: 'LoanFacilityCodeSet',\n    description: 'Bridge loan',\n  },\n  {\n    name: 'LetterOfCredit',\n    id: '1955002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1955,\n    type: 'int',\n    codeSet: 'LoanFacilityCodeSet',\n    description: 'Letter of credit',\n  },\n  {\n    name: 'RevolvingLoan',\n    id: '1955003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1955,\n    type: 'int',\n    codeSet: 'LoanFacilityCodeSet',\n    description: 'Revolving loan',\n  },\n  {\n    name: 'SwinglineFunding',\n    id: '1955004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1955,\n    type: 'int',\n    codeSet: 'LoanFacilityCodeSet',\n    description: 'Swingline funding',\n  },\n  {\n    name: 'TermLoan',\n    id: '1955005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1955,\n    type: 'int',\n    codeSet: 'LoanFacilityCodeSet',\n    description: 'Term loan',\n  },\n  {\n    name: 'TradeClaim',\n    id: '1955006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1955,\n    type: 'int',\n    codeSet: 'LoanFacilityCodeSet',\n    description: 'Trade claim',\n  },\n  {\n    name: 'Asian',\n    id: '1956001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1956,\n    type: 'int',\n    codeSet: 'ReferenceEntityTypeCodeSet',\n    description: 'Asian',\n  },\n  {\n    name: 'AustralianNewZealand',\n    id: '1956002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1956,\n    type: 'int',\n    codeSet: 'ReferenceEntityTypeCodeSet',\n    description: 'Australian and New Zealand',\n  },\n  {\n    name: 'EuropeanEmergingMarkets',\n    id: '1956003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1956,\n    type: 'int',\n    codeSet: 'ReferenceEntityTypeCodeSet',\n    description: 'European emerging markets',\n  },\n  {\n    name: 'Japanese',\n    id: '1956004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1956,\n    type: 'int',\n    codeSet: 'ReferenceEntityTypeCodeSet',\n    description: 'Japanese',\n  },\n  {\n    name: 'NorthAmericanHighYield',\n    id: '1956005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1956,\n    type: 'int',\n    codeSet: 'ReferenceEntityTypeCodeSet',\n    description: 'North American high yield',\n  },\n  {\n    name: 'NorthAmericanInsurance',\n    id: '1956006',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1956,\n    type: 'int',\n    codeSet: 'ReferenceEntityTypeCodeSet',\n    description: 'North American insurance',\n  },\n  {\n    name: 'NorthAmericanInvestmentGrade',\n    id: '1956007',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1956,\n    type: 'int',\n    codeSet: 'ReferenceEntityTypeCodeSet',\n    description: 'North American investment grade',\n  },\n  {\n    name: 'Singaporean',\n    id: '1956008',\n    value: '8',\n    sort: 8,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1956,\n    type: 'int',\n    codeSet: 'ReferenceEntityTypeCodeSet',\n    description: 'Singaporean',\n  },\n  {\n    name: 'WesternEuropean',\n    id: '1956009',\n    value: '9',\n    sort: 9,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1956,\n    type: 'int',\n    codeSet: 'ReferenceEntityTypeCodeSet',\n    description: 'Western European',\n  },\n  {\n    name: 'WesternEuropeanInsurance',\n    id: '1956010',\n    value: '10',\n    sort: 10,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1956,\n    type: 'int',\n    codeSet: 'ReferenceEntityTypeCodeSet',\n    description: 'Western European insurance',\n  },\n  {\n    name: 'BlockToBeAllocated',\n    id: '1980001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1980,\n    type: 'int',\n    codeSet: 'BlockTrdAllocIndicatorCodeSet',\n    description: 'Block to be allocated',\n  },\n  {\n    name: 'BlockNotToBeAllocated',\n    id: '1980002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1980,\n    type: 'int',\n    codeSet: 'BlockTrdAllocIndicatorCodeSet',\n    description: 'Block not to be allocated',\n  },\n  {\n    name: 'AllocatedTrade',\n    id: '1980003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 1980,\n    type: 'int',\n    codeSet: 'BlockTrdAllocIndicatorCodeSet',\n    description: 'Allocated trade\\n\\nA sub-trade of a block trade.',\n  },\n  {\n    name: 'Bond',\n    id: '2012001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 2012,\n    type: 'String',\n    codeSet: 'UnderlyingObligationTypeCodeSet',\n    description: 'Bond',\n  },\n  {\n    name: 'ConvertibleBond',\n    id: '2012002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 2012,\n    type: 'String',\n    codeSet: 'UnderlyingObligationTypeCodeSet',\n    description: 'Convertible bond',\n  },\n  {\n    name: 'Mortgage',\n    id: '2012003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 2012,\n    type: 'String',\n    codeSet: 'UnderlyingObligationTypeCodeSet',\n    description: 'Mortgage',\n  },\n  {\n    name: 'Loan',\n    id: '2012004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 2012,\n    type: 'String',\n    codeSet: 'UnderlyingObligationTypeCodeSet',\n    description: 'Loan',\n  },\n  {\n    name: 'Bid',\n    id: '40027001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40027,\n    type: 'int',\n    codeSet: 'CashSettlQuoteMethodCodeSet',\n    description: 'Bid',\n  },\n  {\n    name: 'Mid',\n    id: '40027002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40027,\n    type: 'int',\n    codeSet: 'CashSettlQuoteMethodCodeSet',\n    description: 'Mid',\n  },\n  {\n    name: 'Offer',\n    id: '40027003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40027,\n    type: 'int',\n    codeSet: 'CashSettlQuoteMethodCodeSet',\n    description: 'Offer',\n  },\n  {\n    name: 'Market',\n    id: '40038001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40038,\n    type: 'int',\n    codeSet: 'CashSettlValuationMethodCodeSet',\n    description: 'Market',\n  },\n  {\n    name: 'Highest',\n    id: '40038002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40038,\n    type: 'int',\n    codeSet: 'CashSettlValuationMethodCodeSet',\n    description: 'Highest',\n  },\n  {\n    name: 'AverageMarket',\n    id: '40038003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40038,\n    type: 'int',\n    codeSet: 'CashSettlValuationMethodCodeSet',\n    description: 'Average market',\n  },\n  {\n    name: 'AverageHighest',\n    id: '40038004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40038,\n    type: 'int',\n    codeSet: 'CashSettlValuationMethodCodeSet',\n    description: 'Average highest',\n  },\n  {\n    name: 'BlendedMarket',\n    id: '40038005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40038,\n    type: 'int',\n    codeSet: 'CashSettlValuationMethodCodeSet',\n    description: 'Blended market',\n  },\n  {\n    name: 'BlendedHighest',\n    id: '40038006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40038,\n    type: 'int',\n    codeSet: 'CashSettlValuationMethodCodeSet',\n    description: 'Blended highest',\n  },\n  {\n    name: 'AverageBlendedMarket',\n    id: '40038007',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40038,\n    type: 'int',\n    codeSet: 'CashSettlValuationMethodCodeSet',\n    description: 'Average blended market',\n  },\n  {\n    name: 'AverageBlendedHighest',\n    id: '40038008',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40038,\n    type: 'int',\n    codeSet: 'CashSettlValuationMethodCodeSet',\n    description: 'Average blended highest',\n  },\n  {\n    name: 'PaymentCashSettlement',\n    id: '40050001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40050,\n    type: 'int',\n    codeSet: 'StreamTypeCodeSet',\n    description: 'Payment / cash settlement',\n  },\n  {\n    name: 'PhysicalDelivery',\n    id: '40050002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40050,\n    type: 'int',\n    codeSet: 'StreamTypeCodeSet',\n    description: 'Physical delivery',\n  },\n  {\n    name: 'MandatoryEarlyTermination',\n    id: '40091001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40091,\n    type: 'int',\n    codeSet: 'ProvisionTypeCodeSet',\n    description: 'Mandatory early termination',\n  },\n  {\n    name: 'OptionalEarlyTermination',\n    id: '40091002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40091,\n    type: 'int',\n    codeSet: 'ProvisionTypeCodeSet',\n    description: 'Optional early termination',\n  },\n  {\n    name: 'Cancelable',\n    id: '40091003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40091,\n    type: 'int',\n    codeSet: 'ProvisionTypeCodeSet',\n    description: 'Cancelable',\n  },\n  {\n    name: 'Extendable',\n    id: '40091004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '254',\n    tag: 40091,\n    type: 'int',\n    codeSet: 'ProvisionTypeCodeSet',\n    description:\n      'Extendable\\n\\nThe contract can be extended by either party usually with a specific time notice prior to the expiry date. In the context of EU SFTR reporting this corresponds to \"termination optionality\" code \"ETSB\".',\n  },\n  {\n    name: 'MutualEarlyTermination',\n    id: '40091005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 40091,\n    type: 'int',\n    codeSet: 'ProvisionTypeCodeSet',\n    description: 'Mutual early termination',\n  },\n  {\n    name: 'Evergreen',\n    id: '40091006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 40091,\n    type: 'int',\n    codeSet: 'ProvisionTypeCodeSet',\n    description:\n      'Evergreen\\n\\nThe contract automatically renews after the expiry date until one party gives the other notice to terminate. In the context of EU SFTR reporting this corresponds to \"termination optionality\" code \"EGRN\".',\n  },\n  {\n    name: 'Callable',\n    id: '40091007',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 40091,\n    type: 'int',\n    codeSet: 'ProvisionTypeCodeSet',\n    description: 'Callable\\n\\nContract is callable.',\n  },\n  {\n    name: 'Puttable',\n    id: '40091008',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 40091,\n    type: 'int',\n    codeSet: 'ProvisionTypeCodeSet',\n    description: 'Puttable\\n\\nContract is puttable.',\n  },\n  {\n    name: 'Day',\n    id: '40097001',\n    value: 'D',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40097,\n    type: 'String',\n    codeSet: 'ProvisionDateTenorUnitCodeSet',\n    description: 'Day',\n  },\n  {\n    name: 'Week',\n    id: '40097002',\n    value: 'Wk',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40097,\n    type: 'String',\n    codeSet: 'ProvisionDateTenorUnitCodeSet',\n    description: 'Week',\n  },\n  {\n    name: 'Month',\n    id: '40097003',\n    value: 'Mo',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40097,\n    type: 'String',\n    codeSet: 'ProvisionDateTenorUnitCodeSet',\n    description: 'Month',\n  },\n  {\n    name: 'Year',\n    id: '40097004',\n    value: 'Yr',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40097,\n    type: 'String',\n    codeSet: 'ProvisionDateTenorUnitCodeSet',\n    description: 'Year',\n  },\n  {\n    name: 'ExercisingParty',\n    id: '40098001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40098,\n    type: 'int',\n    codeSet: 'ProvisionCalculationAgentCodeSet',\n    description: 'Exercising party',\n  },\n  {\n    name: 'NonExercisingParty',\n    id: '40098002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40098,\n    type: 'int',\n    codeSet: 'ProvisionCalculationAgentCodeSet',\n    description: 'Non-exercising party',\n  },\n  {\n    name: 'MasterAgreeent',\n    id: '40098003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40098,\n    type: 'int',\n    codeSet: 'ProvisionCalculationAgentCodeSet',\n    description: 'As specified in the master agreement',\n  },\n  {\n    name: 'Supplement',\n    id: '40098004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40098,\n    type: 'int',\n    codeSet: 'ProvisionCalculationAgentCodeSet',\n    description: 'As specified in the standard terms supplement',\n  },\n  {\n    name: 'Buy',\n    id: '40099001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40099,\n    type: 'int',\n    codeSet: 'ProvisionOptionSinglePartyBuyerSideCodeSet',\n    description: 'Buy',\n  },\n  {\n    name: 'Sell',\n    id: '40099002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40099,\n    type: 'int',\n    codeSet: 'ProvisionOptionSinglePartyBuyerSideCodeSet',\n    description: 'Sell',\n  },\n  {\n    name: 'CashPrice',\n    id: '40108001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40108,\n    type: 'int',\n    codeSet: 'ProvisionCashSettlMethodCodeSet',\n    description: 'Cash price',\n  },\n  {\n    name: 'CashPriceAlternate',\n    id: '40108002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40108,\n    type: 'int',\n    codeSet: 'ProvisionCashSettlMethodCodeSet',\n    description: 'Cash price alternate',\n  },\n  {\n    name: 'ParYieldCurveAdjusted',\n    id: '40108003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40108,\n    type: 'int',\n    codeSet: 'ProvisionCashSettlMethodCodeSet',\n    description: 'Par yield curve adjusted',\n  },\n  {\n    name: 'ZeroCouponYieldCurveAdjusted',\n    id: '40108004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40108,\n    type: 'int',\n    codeSet: 'ProvisionCashSettlMethodCodeSet',\n    description: 'Zero coupon yield curve adjusted',\n  },\n  {\n    name: 'ParYieldCurveUnadjusted',\n    id: '40108005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40108,\n    type: 'int',\n    codeSet: 'ProvisionCashSettlMethodCodeSet',\n    description: 'Par yield curve unadjusted',\n  },\n  {\n    name: 'CrossCurrency',\n    id: '40108006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40108,\n    type: 'int',\n    codeSet: 'ProvisionCashSettlMethodCodeSet',\n    description: 'Cross currency',\n  },\n  {\n    name: 'CollateralizedPrice',\n    id: '40108007',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40108,\n    type: 'int',\n    codeSet: 'ProvisionCashSettlMethodCodeSet',\n    description: 'Collateralized price',\n  },\n  {\n    name: 'Bid',\n    id: '40111001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40111,\n    type: 'int',\n    codeSet: 'ProvisionCashSettlQuoteTypeCodeSet',\n    description: 'Bid',\n  },\n  {\n    name: 'Mid',\n    id: '40111002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40111,\n    type: 'int',\n    codeSet: 'ProvisionCashSettlQuoteTypeCodeSet',\n    description: 'Mid',\n  },\n  {\n    name: 'Offer',\n    id: '40111003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40111,\n    type: 'int',\n    codeSet: 'ProvisionCashSettlQuoteTypeCodeSet',\n    description: 'Offer',\n  },\n  {\n    name: 'ExercisingPartyPays',\n    id: '40111004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40111,\n    type: 'int',\n    codeSet: 'ProvisionCashSettlQuoteTypeCodeSet',\n    description:\n      'Exercising party pays\\n\\nSee 2000 ISDA Definitions, Section 17.2, Certain Definitions Relating to Cash Settlement, paragraph (j) for definition of \"exercising party pays\".',\n  },\n  {\n    name: 'Day',\n    id: '40126001',\n    value: 'D',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40126,\n    type: 'String',\n    codeSet: 'ProvisionOptionExerciseEarliestDateOffsetUnitCodeSet',\n    description: 'Day',\n  },\n  {\n    name: 'Week',\n    id: '40126002',\n    value: 'Wk',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40126,\n    type: 'String',\n    codeSet: 'ProvisionOptionExerciseEarliestDateOffsetUnitCodeSet',\n    description: 'Week',\n  },\n  {\n    name: 'Month',\n    id: '40126003',\n    value: 'Mo',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40126,\n    type: 'String',\n    codeSet: 'ProvisionOptionExerciseEarliestDateOffsetUnitCodeSet',\n    description: 'Month',\n  },\n  {\n    name: 'Year',\n    id: '40126004',\n    value: 'Yr',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40126,\n    type: 'String',\n    codeSet: 'ProvisionOptionExerciseEarliestDateOffsetUnitCodeSet',\n    description: 'Year',\n  },\n  {\n    name: 'Unadjusted',\n    id: '40144001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40144,\n    type: 'int',\n    codeSet: 'ProvisionOptionExerciseFixedDateTypeCodeSet',\n    description: 'Unadjusted',\n  },\n  {\n    name: 'Adjusted',\n    id: '40144002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40144,\n    type: 'int',\n    codeSet: 'ProvisionOptionExerciseFixedDateTypeCodeSet',\n    description: 'Adjusted',\n  },\n  {\n    name: 'Unadjusted',\n    id: '40173001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40173,\n    type: 'int',\n    codeSet: 'ProvisionCashSettlPaymentDateTypeCodeSet',\n    description: 'Unadjusted',\n  },\n  {\n    name: 'Adjusted',\n    id: '40173002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40173,\n    type: 'int',\n    codeSet: 'ProvisionCashSettlPaymentDateTypeCodeSet',\n    description: 'Adjusted',\n  },\n  {\n    name: 'Day',\n    id: '40196001',\n    value: 'D',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40196,\n    type: 'String',\n    codeSet: 'ProtectionTermEventUnitCodeSet',\n    description: 'Day',\n  },\n  {\n    name: 'Week',\n    id: '40196002',\n    value: 'Wk',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40196,\n    type: 'String',\n    codeSet: 'ProtectionTermEventUnitCodeSet',\n    description: 'Week',\n  },\n  {\n    name: 'Month',\n    id: '40196003',\n    value: 'Mo',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40196,\n    type: 'String',\n    codeSet: 'ProtectionTermEventUnitCodeSet',\n    description: 'Month',\n  },\n  {\n    name: 'Year',\n    id: '40196004',\n    value: 'Yr',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40196,\n    type: 'String',\n    codeSet: 'ProtectionTermEventUnitCodeSet',\n    description: 'Year',\n  },\n  {\n    name: 'Business',\n    id: '40197001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40197,\n    type: 'int',\n    codeSet: 'ProtectionTermEventDayTypeCodeSet',\n    description: 'Business',\n  },\n  {\n    name: 'Calendar',\n    id: '40197002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40197,\n    type: 'int',\n    codeSet: 'ProtectionTermEventDayTypeCodeSet',\n    description: 'Calendar',\n  },\n  {\n    name: 'CommodityBusiness',\n    id: '40197003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40197,\n    type: 'int',\n    codeSet: 'ProtectionTermEventDayTypeCodeSet',\n    description: 'Commodity business',\n  },\n  {\n    name: 'CurrencyBusiness',\n    id: '40197004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40197,\n    type: 'int',\n    codeSet: 'ProtectionTermEventDayTypeCodeSet',\n    description: 'Currency business',\n  },\n  {\n    name: 'ExchangeBusiness',\n    id: '40197005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40197,\n    type: 'int',\n    codeSet: 'ProtectionTermEventDayTypeCodeSet',\n    description: 'Exchange business',\n  },\n  {\n    name: 'ScheduledTradingDay',\n    id: '40197006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40197,\n    type: 'int',\n    codeSet: 'ProtectionTermEventDayTypeCodeSet',\n    description: 'Scheduled trading day',\n  },\n  {\n    name: 'RestructuringMultipleHoldingObligations',\n    id: '40200001',\n    value: 'H',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40200,\n    type: 'char',\n    codeSet: 'ProtectionTermEventQualifierCodeSet',\n    description:\n      'Retructuring - multiple holding obligations\\n\\nIn relation to a restructuring credit event, unless multiple holder obligation is not specified restructurings are limited to multiple holder obligations. A multiple holder obligation means an obligation that is held by more than three holders that are not affiliates of each other and where at least two thirds of the holders must agree to the event that constitutes the restructuring credit event. ISDA 2003 Term: Multiple Holder Obligation.',\n  },\n  {\n    name: 'RestructuringMultipleCreditEventNotices',\n    id: '40200002',\n    value: 'E',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40200,\n    type: 'char',\n    codeSet: 'ProtectionTermEventQualifierCodeSet',\n    description:\n      \"Restructuring - multiple credit event notices\\n\\nPresence of this element and value set to 'true' indicates that Section 3.9 of the 2003 Credit Derivatives Definitions shall apply. Absence of this element indicates that Section 3.9 shall not apply. NOTE: Not allowed under ISDA Credit 1999.\",\n  },\n  {\n    name: 'FloatingRateInterestShortfall',\n    id: '40200003',\n    value: 'C',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40200,\n    type: 'char',\n    codeSet: 'ProtectionTermEventQualifierCodeSet',\n    description: 'Floating rate interest shortfall\\n\\nIndicates compounding.',\n  },\n  {\n    name: 'Brokerage',\n    id: '40213001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40213,\n    type: 'int',\n    codeSet: 'PaymentTypeCodeSet',\n    description: 'Brokerage',\n  },\n  {\n    name: 'UpfrontFee',\n    id: '40213002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40213,\n    type: 'int',\n    codeSet: 'PaymentTypeCodeSet',\n    description: 'Upfront fee',\n  },\n  {\n    name: 'IndependentAmountCollateral',\n    id: '40213003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40213,\n    type: 'int',\n    codeSet: 'PaymentTypeCodeSet',\n    description: 'Independent amount / collateral',\n  },\n  {\n    name: 'PrincipalExchange',\n    id: '40213004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40213,\n    type: 'int',\n    codeSet: 'PaymentTypeCodeSet',\n    description: 'Principal exchange',\n  },\n  {\n    name: 'NovationTermination',\n    id: '40213005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40213,\n    type: 'int',\n    codeSet: 'PaymentTypeCodeSet',\n    description: 'Novation / termination',\n  },\n  {\n    name: 'EarlyTerminationProvision',\n    id: '40213006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40213,\n    type: 'int',\n    codeSet: 'PaymentTypeCodeSet',\n    description: 'Early termination provision',\n  },\n  {\n    name: 'CancelableProvision',\n    id: '40213007',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '203',\n    tag: 40213,\n    type: 'int',\n    codeSet: 'PaymentTypeCodeSet',\n    description: 'Cancelable provision',\n  },\n  {\n    name: 'ExtendibleProvision',\n    id: '40213008',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40213,\n    type: 'int',\n    codeSet: 'PaymentTypeCodeSet',\n    description: 'Extendible provision',\n  },\n  {\n    name: 'CapRateProvision',\n    id: '40213009',\n    value: '8',\n    sort: 8,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40213,\n    type: 'int',\n    codeSet: 'PaymentTypeCodeSet',\n    description: 'Cap rate provision',\n  },\n  {\n    name: 'FloorRateProvision',\n    id: '40213010',\n    value: '9',\n    sort: 9,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40213,\n    type: 'int',\n    codeSet: 'PaymentTypeCodeSet',\n    description: 'Floor rate provision',\n  },\n  {\n    name: 'OptionPremium',\n    id: '40213011',\n    value: '10',\n    sort: 10,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40213,\n    type: 'int',\n    codeSet: 'PaymentTypeCodeSet',\n    description: 'Option premium',\n  },\n  {\n    name: 'SettlementPayment',\n    id: '40213012',\n    value: '11',\n    sort: 11,\n    added: 'FIX.5.0SP2',\n    addedEP: '162',\n    tag: 40213,\n    type: 'int',\n    codeSet: 'PaymentTypeCodeSet',\n    description: 'Settlement payment',\n  },\n  {\n    name: 'CashSettl',\n    id: '40213013',\n    value: '12',\n    sort: 12,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 40213,\n    type: 'int',\n    codeSet: 'PaymentTypeCodeSet',\n    description: 'Cash settlement',\n  },\n  {\n    name: 'SecurityLending',\n    id: '40213014',\n    value: '13',\n    sort: 13,\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 40213,\n    type: 'int',\n    codeSet: 'PaymentTypeCodeSet',\n    description:\n      'Security lending\\n\\nFee that the borrower of the security or commodity pays to the lender. The basis rate is specified in PaymentFixedRate(43097). A security lending fee payment may be periodic, in which case specify PaymentFrequencyPeriod(43102) and PaymentFrequencyUnit(43103).',\n  },\n  {\n    name: 'Rebate',\n    id: '40213015',\n    value: '14',\n    sort: 14,\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 40213,\n    type: 'int',\n    codeSet: 'PaymentTypeCodeSet',\n    description:\n      'Rebate\\n\\nFor contracts calling for rebate payment(s), e.g. Securities Lending, normally specified as a fixed or floating rate rather than a fixed amount. A rebate payment may be periodic, in which case specify PaymentFrequencyPeriod(43102) and PaymentFrequencyUnit(43103).',\n  },\n  {\n    name: 'Other',\n    id: '40213016',\n    value: '99',\n    sort: 99,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40213,\n    type: 'int',\n    codeSet: 'PaymentTypeCodeSet',\n    description: 'Other',\n  },\n  {\n    name: 'Buy',\n    id: '40214001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40214,\n    type: 'int',\n    codeSet: 'PaymentPaySideCodeSet',\n    description: 'Buy',\n  },\n  {\n    name: 'Sell',\n    id: '40214002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40214,\n    type: 'int',\n    codeSet: 'PaymentPaySideCodeSet',\n    description: 'Sell',\n  },\n  {\n    name: 'Standard',\n    id: '40227001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40227,\n    type: 'int',\n    codeSet: 'PaymentSettlStyleCodeSet',\n    description: 'Standard',\n  },\n  {\n    name: 'Net',\n    id: '40227002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40227,\n    type: 'int',\n    codeSet: 'PaymentSettlStyleCodeSet',\n    description: 'Net',\n  },\n  {\n    name: 'StandardfNet',\n    id: '40227003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40227,\n    type: 'int',\n    codeSet: 'PaymentSettlStyleCodeSet',\n    description: 'Standard and net',\n  },\n  {\n    name: 'Periodic',\n    id: '40738001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40738,\n    type: 'int',\n    codeSet: 'PaymentStreamTypeCodeSet',\n    description: 'Periodic (default)',\n  },\n  {\n    name: 'Initial',\n    id: '40738002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40738,\n    type: 'int',\n    codeSet: 'PaymentStreamTypeCodeSet',\n    description: 'Initial',\n  },\n  {\n    name: 'Single',\n    id: '40738003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40738,\n    type: 'int',\n    codeSet: 'PaymentStreamTypeCodeSet',\n    description: 'Single',\n  },\n  {\n    name: 'Dividend',\n    id: '40738004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 40738,\n    type: 'int',\n    codeSet: 'PaymentStreamTypeCodeSet',\n    description: 'Dividend',\n  },\n  {\n    name: 'Interest',\n    id: '40738005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 40738,\n    type: 'int',\n    codeSet: 'PaymentStreamTypeCodeSet',\n    description: 'Interest',\n  },\n  {\n    name: 'DividendReturn',\n    id: '40738006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 40738,\n    type: 'int',\n    codeSet: 'PaymentStreamTypeCodeSet',\n    description: 'Dividend return',\n  },\n  {\n    name: 'PriceReturn',\n    id: '40738007',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 40738,\n    type: 'int',\n    codeSet: 'PaymentStreamTypeCodeSet',\n    description: 'Price return',\n  },\n  {\n    name: 'TotalReturn',\n    id: '40738008',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 40738,\n    type: 'int',\n    codeSet: 'PaymentStreamTypeCodeSet',\n    description: 'Total return',\n  },\n  {\n    name: 'Variance',\n    id: '40738009',\n    value: '8',\n    sort: 8,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 40738,\n    type: 'int',\n    codeSet: 'PaymentStreamTypeCodeSet',\n    description: 'Variance',\n  },\n  {\n    name: 'Correlation',\n    id: '40738010',\n    value: '9',\n    sort: 9,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 40738,\n    type: 'int',\n    codeSet: 'PaymentStreamTypeCodeSet',\n    description: 'Correlation',\n  },\n  {\n    name: 'Standard',\n    id: '40744001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40744,\n    type: 'int',\n    codeSet: 'PaymentStreamDiscountTypeCodeSet',\n    description: 'Standard',\n  },\n  {\n    name: 'FRA',\n    id: '40744002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '169',\n    tag: 40744,\n    type: 'int',\n    codeSet: 'PaymentStreamDiscountTypeCodeSet',\n    description: 'Forward Rate Agreement (FRA)',\n  },\n  {\n    name: 'None',\n    id: '40747001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40747,\n    type: 'int',\n    codeSet: 'PaymentStreamCompoundingMethodCodeSet',\n    description: 'None',\n  },\n  {\n    name: 'Flat',\n    id: '40747002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40747,\n    type: 'int',\n    codeSet: 'PaymentStreamCompoundingMethodCodeSet',\n    description: 'Flat',\n  },\n  {\n    name: 'Straight',\n    id: '40747003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40747,\n    type: 'int',\n    codeSet: 'PaymentStreamCompoundingMethodCodeSet',\n    description: 'Straight',\n  },\n  {\n    name: 'SpreadExclusive',\n    id: '40747004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40747,\n    type: 'int',\n    codeSet: 'PaymentStreamCompoundingMethodCodeSet',\n    description: 'Spread exclusive',\n  },\n  {\n    name: 'Day',\n    id: '40754001',\n    value: 'D',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40754,\n    type: 'String',\n    codeSet: 'PaymentStreamPaymentFrequencyUnitCodeSet',\n    description: 'Day',\n  },\n  {\n    name: 'Week',\n    id: '40754002',\n    value: 'Wk',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40754,\n    type: 'String',\n    codeSet: 'PaymentStreamPaymentFrequencyUnitCodeSet',\n    description: 'Week',\n  },\n  {\n    name: 'Month',\n    id: '40754003',\n    value: 'Mo',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40754,\n    type: 'String',\n    codeSet: 'PaymentStreamPaymentFrequencyUnitCodeSet',\n    description: 'Month',\n  },\n  {\n    name: 'Year',\n    id: '40754004',\n    value: 'Yr',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40754,\n    type: 'String',\n    codeSet: 'PaymentStreamPaymentFrequencyUnitCodeSet',\n    description: 'Year',\n  },\n  {\n    name: 'Term',\n    id: '40754005',\n    value: 'T',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40754,\n    type: 'String',\n    codeSet: 'PaymentStreamPaymentFrequencyUnitCodeSet',\n    description: 'Term',\n  },\n  {\n    name: 'Day',\n    id: '40760001',\n    value: 'D',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40760,\n    type: 'String',\n    codeSet: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    description: 'Day',\n  },\n  {\n    name: 'Week',\n    id: '40760002',\n    value: 'Wk',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40760,\n    type: 'String',\n    codeSet: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    description: 'Week',\n  },\n  {\n    name: 'Month',\n    id: '40760003',\n    value: 'Mo',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40760,\n    type: 'String',\n    codeSet: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    description: 'Month',\n  },\n  {\n    name: 'Year',\n    id: '40760004',\n    value: 'Yr',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40760,\n    type: 'String',\n    codeSet: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    description: 'Year',\n  },\n  {\n    name: 'Monday',\n    id: '40766001',\n    value: 'MON',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40766,\n    type: 'String',\n    codeSet: 'PaymentStreamResetWeeklyRollConventionCodeSet',\n    description: 'Monday',\n  },\n  {\n    name: 'Tuesday',\n    id: '40766002',\n    value: 'TUE',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40766,\n    type: 'String',\n    codeSet: 'PaymentStreamResetWeeklyRollConventionCodeSet',\n    description: 'Tuesday',\n  },\n  {\n    name: 'Wednesday',\n    id: '40766003',\n    value: 'WED',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40766,\n    type: 'String',\n    codeSet: 'PaymentStreamResetWeeklyRollConventionCodeSet',\n    description: 'Wednesday',\n  },\n  {\n    name: 'Thursday',\n    id: '40766004',\n    value: 'THU',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40766,\n    type: 'String',\n    codeSet: 'PaymentStreamResetWeeklyRollConventionCodeSet',\n    description: 'Thursday',\n  },\n  {\n    name: 'Friday',\n    id: '40766005',\n    value: 'FRI',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40766,\n    type: 'String',\n    codeSet: 'PaymentStreamResetWeeklyRollConventionCodeSet',\n    description: 'Friday',\n  },\n  {\n    name: 'Saturday',\n    id: '40766006',\n    value: 'SAT',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40766,\n    type: 'String',\n    codeSet: 'PaymentStreamResetWeeklyRollConventionCodeSet',\n    description: 'Saturday',\n  },\n  {\n    name: 'Sunday',\n    id: '40766007',\n    value: 'SUN',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40766,\n    type: 'String',\n    codeSet: 'PaymentStreamResetWeeklyRollConventionCodeSet',\n    description: 'Sunday',\n  },\n  {\n    name: 'Bloomberg',\n    id: '40790001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40790,\n    type: 'int',\n    codeSet: 'PaymentStreamRateIndexSourceCodeSet',\n    description: 'Bloomberg',\n  },\n  {\n    name: 'Reuters',\n    id: '40790002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40790,\n    type: 'int',\n    codeSet: 'PaymentStreamRateIndexSourceCodeSet',\n    description: 'Reuters',\n  },\n  {\n    name: 'Telerate',\n    id: '40790003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40790,\n    type: 'int',\n    codeSet: 'PaymentStreamRateIndexSourceCodeSet',\n    description: 'Telerate',\n  },\n  {\n    name: 'Other',\n    id: '40790004',\n    value: '99',\n    sort: 99,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40790,\n    type: 'int',\n    codeSet: 'PaymentStreamRateIndexSourceCodeSet',\n    description: 'Other',\n  },\n  {\n    name: 'Day',\n    id: '40791001',\n    value: 'D',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40791,\n    type: 'String',\n    codeSet: 'PaymentStreamRateIndexCurveUnitCodeSet',\n    description: 'Day',\n  },\n  {\n    name: 'Week',\n    id: '40791002',\n    value: 'Wk',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40791,\n    type: 'String',\n    codeSet: 'PaymentStreamRateIndexCurveUnitCodeSet',\n    description: 'Week',\n  },\n  {\n    name: 'Month',\n    id: '40791003',\n    value: 'Mo',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40791,\n    type: 'String',\n    codeSet: 'PaymentStreamRateIndexCurveUnitCodeSet',\n    description: 'Month',\n  },\n  {\n    name: 'Year',\n    id: '40791004',\n    value: 'Yr',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40791,\n    type: 'String',\n    codeSet: 'PaymentStreamRateIndexCurveUnitCodeSet',\n    description: 'Year',\n  },\n  {\n    name: 'Short',\n    id: '40795001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40795,\n    type: 'int',\n    codeSet: 'PaymentStreamRateSpreadPositionTypeCodeSet',\n    description: 'Short',\n  },\n  {\n    name: 'Long',\n    id: '40795002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40795,\n    type: 'int',\n    codeSet: 'PaymentStreamRateSpreadPositionTypeCodeSet',\n    description: 'Long',\n  },\n  {\n    name: 'BondEquivalentYield',\n    id: '40796001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40796,\n    type: 'int',\n    codeSet: 'PaymentStreamRateTreatmentCodeSet',\n    description: 'Bond equivalent yield',\n  },\n  {\n    name: 'MoneyMarketYield',\n    id: '40796002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40796,\n    type: 'int',\n    codeSet: 'PaymentStreamRateTreatmentCodeSet',\n    description: 'Money market yield',\n  },\n  {\n    name: 'Buyer',\n    id: '40798001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40798,\n    type: 'int',\n    codeSet: 'PaymentStreamCapRateBuySideCodeSet',\n    description: 'Buyer of the trade',\n  },\n  {\n    name: 'Seller',\n    id: '40798002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40798,\n    type: 'int',\n    codeSet: 'PaymentStreamCapRateBuySideCodeSet',\n    description: 'Seller of the trade',\n  },\n  {\n    name: 'Buyer',\n    id: '40801001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40801,\n    type: 'int',\n    codeSet: 'PaymentStreamFloorRateBuySideCodeSet',\n    description: 'Buyer of the trade',\n  },\n  {\n    name: 'Seller',\n    id: '40801002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40801,\n    type: 'int',\n    codeSet: 'PaymentStreamFloorRateBuySideCodeSet',\n    description: 'Seller of the trade',\n  },\n  {\n    name: 'Unweighted',\n    id: '40806001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40806,\n    type: 'int',\n    codeSet: 'PaymentStreamAveragingMethodCodeSet',\n    description: 'Unweighted',\n  },\n  {\n    name: 'Weighted',\n    id: '40806002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40806,\n    type: 'int',\n    codeSet: 'PaymentStreamAveragingMethodCodeSet',\n    description: 'Weighted',\n  },\n  {\n    name: 'ZeroInterestRateMethod',\n    id: '40807001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40807,\n    type: 'int',\n    codeSet: 'PaymentStreamNegativeRateTreatmentCodeSet',\n    description: 'Zero interest rate method',\n  },\n  {\n    name: 'NegativeInterestRateMethod',\n    id: '40807002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40807,\n    type: 'int',\n    codeSet: 'PaymentStreamNegativeRateTreatmentCodeSet',\n    description: 'Negative interest rate method',\n  },\n  {\n    name: 'Day',\n    id: '40809001',\n    value: 'D',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40809,\n    type: 'String',\n    codeSet: 'PaymentStreamInflationLagUnitCodeSet',\n    description: 'Day',\n  },\n  {\n    name: 'Week',\n    id: '40809002',\n    value: 'Wk',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40809,\n    type: 'String',\n    codeSet: 'PaymentStreamInflationLagUnitCodeSet',\n    description: 'Week',\n  },\n  {\n    name: 'Month',\n    id: '40809003',\n    value: 'Mo',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40809,\n    type: 'String',\n    codeSet: 'PaymentStreamInflationLagUnitCodeSet',\n    description: 'Month',\n  },\n  {\n    name: 'Year',\n    id: '40809004',\n    value: 'Yr',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40809,\n    type: 'String',\n    codeSet: 'PaymentStreamInflationLagUnitCodeSet',\n    description: 'Year',\n  },\n  {\n    name: 'Business',\n    id: '40810001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40810,\n    type: 'int',\n    codeSet: 'PaymentStreamInflationLagDayTypeCodeSet',\n    description: 'Business',\n  },\n  {\n    name: 'Calendar',\n    id: '40810002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40810,\n    type: 'int',\n    codeSet: 'PaymentStreamInflationLagDayTypeCodeSet',\n    description: 'Calendar',\n  },\n  {\n    name: 'CommodityBusiness',\n    id: '40810003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40810,\n    type: 'int',\n    codeSet: 'PaymentStreamInflationLagDayTypeCodeSet',\n    description: 'Commodity business',\n  },\n  {\n    name: 'CurrencyBusiness',\n    id: '40810004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40810,\n    type: 'int',\n    codeSet: 'PaymentStreamInflationLagDayTypeCodeSet',\n    description: 'Currency business',\n  },\n  {\n    name: 'ExchangeBusiness',\n    id: '40810005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40810,\n    type: 'int',\n    codeSet: 'PaymentStreamInflationLagDayTypeCodeSet',\n    description: 'Exchange business',\n  },\n  {\n    name: 'ScheduledTradingDay',\n    id: '40810006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40810,\n    type: 'int',\n    codeSet: 'PaymentStreamInflationLagDayTypeCodeSet',\n    description: 'Scheduled trading day',\n  },\n  {\n    name: 'None',\n    id: '40811001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40811,\n    type: 'int',\n    codeSet: 'PaymentStreamInflationInterpolationMethodCodeSet',\n    description: 'None',\n  },\n  {\n    name: 'LinearZeroYield',\n    id: '40811002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40811,\n    type: 'int',\n    codeSet: 'PaymentStreamInflationInterpolationMethodCodeSet',\n    description: 'Linear zero yield',\n  },\n  {\n    name: 'None',\n    id: '40816001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40816,\n    type: 'int',\n    codeSet: 'PaymentStreamFRADiscountingCodeSet',\n    description: 'None',\n  },\n  {\n    name: 'ISDA',\n    id: '40816002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40816,\n    type: 'int',\n    codeSet: 'PaymentStreamFRADiscountingCodeSet',\n    description: 'International Swaps and Derivatives Association (ISDA)',\n  },\n  {\n    name: 'AFMA',\n    id: '40816003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40816,\n    type: 'int',\n    codeSet: 'PaymentStreamFRADiscountingCodeSet',\n    description: 'Australian Financial Markets Association (AFMA)',\n  },\n  {\n    name: 'Unadjusted',\n    id: '40827001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40827,\n    type: 'int',\n    codeSet: 'NonDeliverableFixingDateTypeCodeSet',\n    description: 'Unadjusted',\n  },\n  {\n    name: 'Adjusted',\n    id: '40827002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40827,\n    type: 'int',\n    codeSet: 'NonDeliverableFixingDateTypeCodeSet',\n    description: 'Adjusted',\n  },\n  {\n    name: 'Notional',\n    id: '40829001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40829,\n    type: 'int',\n    codeSet: 'PaymentScheduleTypeCodeSet',\n    description: 'Notional',\n  },\n  {\n    name: 'CashFlow',\n    id: '40829002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40829,\n    type: 'int',\n    codeSet: 'PaymentScheduleTypeCodeSet',\n    description: 'Cash flow',\n  },\n  {\n    name: 'FXLinkedNotional',\n    id: '40829003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40829,\n    type: 'int',\n    codeSet: 'PaymentScheduleTypeCodeSet',\n    description: 'FX linked notional',\n  },\n  {\n    name: 'FixedRate',\n    id: '40829004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40829,\n    type: 'int',\n    codeSet: 'PaymentScheduleTypeCodeSet',\n    description: 'Fixed rate',\n  },\n  {\n    name: 'FutureValueNotional',\n    id: '40829005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40829,\n    type: 'int',\n    codeSet: 'PaymentScheduleTypeCodeSet',\n    description: 'Future value notional',\n  },\n  {\n    name: 'KnownAmount',\n    id: '40829006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40829,\n    type: 'int',\n    codeSet: 'PaymentScheduleTypeCodeSet',\n    description: 'Known amount',\n  },\n  {\n    name: 'FloatingRateMultiplier',\n    id: '40829007',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40829,\n    type: 'int',\n    codeSet: 'PaymentScheduleTypeCodeSet',\n    description: 'Floating rate multiplier',\n  },\n  {\n    name: 'Spread',\n    id: '40829008',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40829,\n    type: 'int',\n    codeSet: 'PaymentScheduleTypeCodeSet',\n    description: 'Spread',\n  },\n  {\n    name: 'CapRate',\n    id: '40829009',\n    value: '8',\n    sort: 8,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40829,\n    type: 'int',\n    codeSet: 'PaymentScheduleTypeCodeSet',\n    description: 'Cap rate',\n  },\n  {\n    name: 'FloorRate',\n    id: '40829010',\n    value: '9',\n    sort: 9,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40829,\n    type: 'int',\n    codeSet: 'PaymentScheduleTypeCodeSet',\n    description: 'Floor rate',\n  },\n  {\n    name: 'NonDeliverableSettlPaymentDates',\n    id: '40829011',\n    value: '10',\n    sort: 10,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40829,\n    type: 'int',\n    codeSet: 'PaymentScheduleTypeCodeSet',\n    description: 'Non-deliverable settlement payment dates',\n  },\n  {\n    name: 'NonDeliverableSettlCalculationDates',\n    id: '40829012',\n    value: '11',\n    sort: 11,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40829,\n    type: 'int',\n    codeSet: 'PaymentScheduleTypeCodeSet',\n    description: 'Non-deliverable settlement calculation dates',\n  },\n  {\n    name: 'NonDeliverableFXFixingDates',\n    id: '40829013',\n    value: '12',\n    sort: 12,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40829,\n    type: 'int',\n    codeSet: 'PaymentScheduleTypeCodeSet',\n    description: 'Non-deliverable fixing dates.',\n  },\n  {\n    name: 'SettlPeriodNotnl',\n    id: '40829014',\n    value: '13',\n    sort: 13,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 40829,\n    type: 'int',\n    codeSet: 'PaymentScheduleTypeCodeSet',\n    description: 'Settlement period notional',\n  },\n  {\n    name: 'SettlPeriodPx',\n    id: '40829015',\n    value: '14',\n    sort: 14,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 40829,\n    type: 'int',\n    codeSet: 'PaymentScheduleTypeCodeSet',\n    description: 'Settlement period price',\n  },\n  {\n    name: 'CalcPeriod',\n    id: '40829016',\n    value: '15',\n    sort: 15,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 40829,\n    type: 'int',\n    codeSet: 'PaymentScheduleTypeCodeSet',\n    description: 'Calculation period',\n  },\n  {\n    name: 'DividendAccrualRateMultiplier',\n    id: '40829017',\n    value: '16',\n    sort: 16,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 40829,\n    type: 'int',\n    codeSet: 'PaymentScheduleTypeCodeSet',\n    description: 'Dividend accrual rate multiplier',\n  },\n  {\n    name: 'DividendAccrualRateSpread',\n    id: '40829018',\n    value: '17',\n    sort: 17,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 40829,\n    type: 'int',\n    codeSet: 'PaymentScheduleTypeCodeSet',\n    description: 'Dividend accrual rate spread',\n  },\n  {\n    name: 'DividendAccrualCapRate',\n    id: '40829019',\n    value: '18',\n    sort: 18,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 40829,\n    type: 'int',\n    codeSet: 'PaymentScheduleTypeCodeSet',\n    description: 'Dividend accrual cap rate',\n  },\n  {\n    name: 'DividendAccrualFloorRate',\n    id: '40829020',\n    value: '19',\n    sort: 19,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 40829,\n    type: 'int',\n    codeSet: 'PaymentScheduleTypeCodeSet',\n    description: 'Dividend accrual floor rate',\n  },\n  {\n    name: 'CompoundingRateMultiplier',\n    id: '40829021',\n    value: '20',\n    sort: 20,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 40829,\n    type: 'int',\n    codeSet: 'PaymentScheduleTypeCodeSet',\n    description: 'Compounding rate multiplier',\n  },\n  {\n    name: 'CompoundingRateSpread',\n    id: '40829022',\n    value: '21',\n    sort: 21,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 40829,\n    type: 'int',\n    codeSet: 'PaymentScheduleTypeCodeSet',\n    description: 'Compounding rate spread',\n  },\n  {\n    name: 'CompoundingCapRate',\n    id: '40829023',\n    value: '22',\n    sort: 22,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 40829,\n    type: 'int',\n    codeSet: 'PaymentScheduleTypeCodeSet',\n    description: 'Compounding cap rate',\n  },\n  {\n    name: 'CompoundingFloorRate',\n    id: '40829024',\n    value: '23',\n    sort: 23,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 40829,\n    type: 'int',\n    codeSet: 'PaymentScheduleTypeCodeSet',\n    description: 'Compounding floor rate',\n  },\n  {\n    name: 'Initial',\n    id: '40849001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40849,\n    type: 'int',\n    codeSet: 'PaymentScheduleStepRelativeToCodeSet',\n    description: 'Initial',\n  },\n  {\n    name: 'Previous',\n    id: '40849002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40849,\n    type: 'int',\n    codeSet: 'PaymentScheduleStepRelativeToCodeSet',\n    description: 'Previous',\n  },\n  {\n    name: 'Initial',\n    id: '40873001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40873,\n    type: 'int',\n    codeSet: 'PaymentStubTypeCodeSet',\n    description: 'Initial',\n  },\n  {\n    name: 'Final',\n    id: '40873002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40873,\n    type: 'int',\n    codeSet: 'PaymentStubTypeCodeSet',\n    description: 'Final',\n  },\n  {\n    name: 'CompoundingInitial',\n    id: '40873003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 40873,\n    type: 'int',\n    codeSet: 'PaymentStubTypeCodeSet',\n    description: 'Compounding initial',\n  },\n  {\n    name: 'CompoundingFinal',\n    id: '40873004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 40873,\n    type: 'int',\n    codeSet: 'PaymentStubTypeCodeSet',\n    description: 'Compounding final',\n  },\n  {\n    name: 'Short',\n    id: '40874001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40874,\n    type: 'int',\n    codeSet: 'PaymentStubLengthCodeSet',\n    description: 'Short',\n  },\n  {\n    name: 'Long',\n    id: '40874002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40874,\n    type: 'int',\n    codeSet: 'PaymentStubLengthCodeSet',\n    description: 'Long',\n  },\n  {\n    name: 'Business',\n    id: '40920001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40920,\n    type: 'int',\n    codeSet: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    description: 'Business',\n  },\n  {\n    name: 'Calendar',\n    id: '40920002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40920,\n    type: 'int',\n    codeSet: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    description: 'Calendar',\n  },\n  {\n    name: 'CommodityBusiness',\n    id: '40920003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40920,\n    type: 'int',\n    codeSet: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    description: 'Commodity business',\n  },\n  {\n    name: 'CurrencyBusiness',\n    id: '40920004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40920,\n    type: 'int',\n    codeSet: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    description: 'Currency business',\n  },\n  {\n    name: 'ExchangeBusiness',\n    id: '40920005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40920,\n    type: 'int',\n    codeSet: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    description: 'Exchange business',\n  },\n  {\n    name: 'ScheduledTradingDay',\n    id: '40920006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40920,\n    type: 'int',\n    codeSet: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    description: 'Scheduled trading day',\n  },\n  {\n    name: 'NotApplicable',\n    id: '40921001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '169',\n    tag: 40921,\n    type: 'int',\n    codeSet: 'BusinessDayConventionCodeSet',\n    description: 'Not applicable\\n\\nBusiness day convention is not applicable.',\n  },\n  {\n    name: 'None',\n    id: '40921002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '195',\n    tag: 40921,\n    type: 'int',\n    codeSet: 'BusinessDayConventionCodeSet',\n    description: 'None (current day)',\n  },\n  {\n    name: 'FollowingDay',\n    id: '40921003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '169',\n    tag: 40921,\n    type: 'int',\n    codeSet: 'BusinessDayConventionCodeSet',\n    description: 'Following day\\n\\nThe following business day.',\n  },\n  {\n    name: 'FloatingRateNote',\n    id: '40921004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '169',\n    tag: 40921,\n    type: 'int',\n    codeSet: 'BusinessDayConventionCodeSet',\n    description: 'Floating rate note\\n\\nThe FRN business day convention.',\n  },\n  {\n    name: 'ModifiedFollowingDay',\n    id: '40921005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '169',\n    tag: 40921,\n    type: 'int',\n    codeSet: 'BusinessDayConventionCodeSet',\n    description: 'Modified following day\\n\\nThe modified following business day.',\n  },\n  {\n    name: 'PrecedingDay',\n    id: '40921006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '169',\n    tag: 40921,\n    type: 'int',\n    codeSet: 'BusinessDayConventionCodeSet',\n    description: 'Preceding day\\n\\nThe preceding business day.',\n  },\n  {\n    name: 'ModifiedPrecedingDay',\n    id: '40921007',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '169',\n    tag: 40921,\n    type: 'int',\n    codeSet: 'BusinessDayConventionCodeSet',\n    description: 'Modified preceding day\\n\\nThe modified preceding business day.',\n  },\n  {\n    name: 'NearestDay',\n    id: '40921008',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '169',\n    tag: 40921,\n    type: 'int',\n    codeSet: 'BusinessDayConventionCodeSet',\n    description: 'Nearest day\\n\\nThe nearest applicable business day.',\n  },\n  {\n    name: 'FirstDay',\n    id: '40922001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40922,\n    type: 'String',\n    codeSet: 'DateRollConventionCodeSet',\n    description: '1st day of the month',\n  },\n  {\n    name: 'SecondDay',\n    id: '40922002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40922,\n    type: 'String',\n    codeSet: 'DateRollConventionCodeSet',\n    description: '2nd day of the month',\n  },\n  {\n    name: 'ThirdDay',\n    id: '40922003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40922,\n    type: 'String',\n    codeSet: 'DateRollConventionCodeSet',\n    description: '3rd day of the month',\n  },\n  {\n    name: 'FourthDay',\n    id: '40922004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40922,\n    type: 'String',\n    codeSet: 'DateRollConventionCodeSet',\n    description: '4th day of the month',\n  },\n  {\n    name: 'FifthDay',\n    id: '40922005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40922,\n    type: 'String',\n    codeSet: 'DateRollConventionCodeSet',\n    description: '5th day of the month',\n  },\n  {\n    name: 'SixthDay',\n    id: '40922006',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40922,\n    type: 'String',\n    codeSet: 'DateRollConventionCodeSet',\n    description: '6thd day of the month',\n  },\n  {\n    name: 'SeventhDay',\n    id: '40922007',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40922,\n    type: 'String',\n    codeSet: 'DateRollConventionCodeSet',\n    description: '7th day of the month',\n  },\n  {\n    name: 'EighthDay',\n    id: '40922008',\n    value: '8',\n    sort: 8,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40922,\n    type: 'String',\n    codeSet: 'DateRollConventionCodeSet',\n    description: '8th day of the month',\n  },\n  {\n    name: 'NinthDay',\n    id: '40922009',\n    value: '9',\n    sort: 9,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40922,\n    type: 'String',\n    codeSet: 'DateRollConventionCodeSet',\n    description: '9th day of the month',\n  },\n  {\n    name: 'TenthDay',\n    id: '40922010',\n    value: '10',\n    sort: 10,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40922,\n    type: 'String',\n    codeSet: 'DateRollConventionCodeSet',\n    description: '10th day of the month',\n  },\n  {\n    name: 'EleventhDay',\n    id: '40922011',\n    value: '11',\n    sort: 11,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40922,\n    type: 'String',\n    codeSet: 'DateRollConventionCodeSet',\n    description: '11th day of the month',\n  },\n  {\n    name: 'TwelvthDay',\n    id: '40922012',\n    value: '12',\n    sort: 12,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40922,\n    type: 'String',\n    codeSet: 'DateRollConventionCodeSet',\n    description: '12th day of the month',\n  },\n  {\n    name: 'ThirteenthDay',\n    id: '40922013',\n    value: '13',\n    sort: 13,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40922,\n    type: 'String',\n    codeSet: 'DateRollConventionCodeSet',\n    description: '13th day of the month',\n  },\n  {\n    name: 'ForteenthDay',\n    id: '40922014',\n    value: '14',\n    sort: 14,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40922,\n    type: 'String',\n    codeSet: 'DateRollConventionCodeSet',\n    description: '14th day of the month',\n  },\n  {\n    name: 'FifteenthDay',\n    id: '40922015',\n    value: '15',\n    sort: 15,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40922,\n    type: 'String',\n    codeSet: 'DateRollConventionCodeSet',\n    description: '15th day of the month',\n  },\n  {\n    name: 'SixteenthDay',\n    id: '40922016',\n    value: '16',\n    sort: 16,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40922,\n    type: 'String',\n    codeSet: 'DateRollConventionCodeSet',\n    description: '16th day of the month',\n  },\n  {\n    name: 'SeventeenthDay',\n    id: '40922017',\n    value: '17',\n    sort: 17,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40922,\n    type: 'String',\n    codeSet: 'DateRollConventionCodeSet',\n    description: '17th day of the month',\n  },\n  {\n    name: 'EighteenthDay',\n    id: '40922018',\n    value: '18',\n    sort: 18,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40922,\n    type: 'String',\n    codeSet: 'DateRollConventionCodeSet',\n    description: '18th day of the month',\n  },\n  {\n    name: 'NineteenthDay',\n    id: '40922019',\n    value: '19',\n    sort: 19,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40922,\n    type: 'String',\n    codeSet: 'DateRollConventionCodeSet',\n    description: '19th day of the month',\n  },\n  {\n    name: 'TwentiethDay',\n    id: '40922020',\n    value: '20',\n    sort: 20,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40922,\n    type: 'String',\n    codeSet: 'DateRollConventionCodeSet',\n    description: '20th day of the month',\n  },\n  {\n    name: 'TwentyFirstDay',\n    id: '40922021',\n    value: '21',\n    sort: 21,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40922,\n    type: 'String',\n    codeSet: 'DateRollConventionCodeSet',\n    description: '21st day of the month',\n  },\n  {\n    name: 'TwentySecondDay',\n    id: '40922022',\n    value: '22',\n    sort: 22,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40922,\n    type: 'String',\n    codeSet: 'DateRollConventionCodeSet',\n    description: '22nd day of the month',\n  },\n  {\n    name: 'TwentyThirdDay',\n    id: '40922023',\n    value: '23',\n    sort: 23,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40922,\n    type: 'String',\n    codeSet: 'DateRollConventionCodeSet',\n    description: '23rd day of the month',\n  },\n  {\n    name: 'TwentyFourthDay',\n    id: '40922024',\n    value: '24',\n    sort: 24,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40922,\n    type: 'String',\n    codeSet: 'DateRollConventionCodeSet',\n    description: '24th day of the month',\n  },\n  {\n    name: 'TwentyFifthDay',\n    id: '40922025',\n    value: '25',\n    sort: 25,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40922,\n    type: 'String',\n    codeSet: 'DateRollConventionCodeSet',\n    description: '25th day of the month',\n  },\n  {\n    name: 'TwentySixthDay',\n    id: '40922026',\n    value: '26',\n    sort: 26,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40922,\n    type: 'String',\n    codeSet: 'DateRollConventionCodeSet',\n    description: '26th day of the month',\n  },\n  {\n    name: 'TwentySeventhDay',\n    id: '40922027',\n    value: '27',\n    sort: 27,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40922,\n    type: 'String',\n    codeSet: 'DateRollConventionCodeSet',\n    description: '27th day of the month',\n  },\n  {\n    name: 'TwentyEigthDa28y',\n    id: '40922028',\n    value: '28',\n    sort: 28,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40922,\n    type: 'String',\n    codeSet: 'DateRollConventionCodeSet',\n    description: '28th day of the month',\n  },\n  {\n    name: 'TwentyNinthDay',\n    id: '40922029',\n    value: '29',\n    sort: 29,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40922,\n    type: 'String',\n    codeSet: 'DateRollConventionCodeSet',\n    description: '29th day of the month',\n  },\n  {\n    name: 'ThirtiethDay',\n    id: '40922030',\n    value: '30',\n    sort: 30,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40922,\n    type: 'String',\n    codeSet: 'DateRollConventionCodeSet',\n    description: '30th day of the month',\n  },\n  {\n    name: 'EOM',\n    id: '40922031',\n    value: 'EOM',\n    sort: 31,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40922,\n    type: 'String',\n    codeSet: 'DateRollConventionCodeSet',\n    description: 'The end of the month.\\n\\nUse EOM for 31st day of the month.',\n  },\n  {\n    name: 'FRN',\n    id: '40922032',\n    value: 'FRN',\n    sort: 32,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40922,\n    type: 'String',\n    codeSet: 'DateRollConventionCodeSet',\n    description: 'The floating rate note convention or Eurodollar convention.',\n  },\n  {\n    name: 'IMM',\n    id: '40922033',\n    value: 'IMM',\n    sort: 33,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40922,\n    type: 'String',\n    codeSet: 'DateRollConventionCodeSet',\n    description:\n      'The International Money Market settlement date, i.e. the 3rd Wednesday of the month.',\n  },\n  {\n    name: 'IMMCAD',\n    id: '40922034',\n    value: 'IMMCAD',\n    sort: 34,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40922,\n    type: 'String',\n    codeSet: 'DateRollConventionCodeSet',\n    description:\n      'The last trading day/expiration day of the Canadian Derivatives Exchange.',\n  },\n  {\n    name: 'IMMAUD',\n    id: '40922035',\n    value: 'IMMAUD',\n    sort: 35,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40922,\n    type: 'String',\n    codeSet: 'DateRollConventionCodeSet',\n    description:\n      'The last trading day of the Sydney Futures Exchange Australian 90-day bank accepted bill futures contract.',\n  },\n  {\n    name: 'IMMNZD',\n    id: '40922036',\n    value: 'IMMNZD',\n    sort: 36,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40922,\n    type: 'String',\n    codeSet: 'DateRollConventionCodeSet',\n    description:\n      'The last trading day of the Sydney Futures Exchange New Zealand 90-day bank bill futures contract.',\n  },\n  {\n    name: 'SFE',\n    id: '40922037',\n    value: 'SFE',\n    sort: 37,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40922,\n    type: 'String',\n    codeSet: 'DateRollConventionCodeSet',\n    description:\n      'The Sydney Futures Exchange 90-day bank accepted bill futures settlement dates.',\n  },\n  {\n    name: 'NONE',\n    id: '40922038',\n    value: 'NONE',\n    sort: 38,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40922,\n    type: 'String',\n    codeSet: 'DateRollConventionCodeSet',\n    description: 'No adjustment',\n  },\n  {\n    name: 'TBILL',\n    id: '40922039',\n    value: 'TBILL',\n    sort: 39,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40922,\n    type: 'String',\n    codeSet: 'DateRollConventionCodeSet',\n    description: 'The 13-week and 26-week U.S. Treasury Bill auction dates.',\n  },\n  {\n    name: 'MON',\n    id: '40922040',\n    value: 'MON',\n    sort: 40,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40922,\n    type: 'String',\n    codeSet: 'DateRollConventionCodeSet',\n    description: 'Monday',\n  },\n  {\n    name: 'TUE',\n    id: '40922041',\n    value: 'TUE',\n    sort: 41,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40922,\n    type: 'String',\n    codeSet: 'DateRollConventionCodeSet',\n    description: 'Tuesday',\n  },\n  {\n    name: 'WED',\n    id: '40922042',\n    value: 'WED',\n    sort: 42,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40922,\n    type: 'String',\n    codeSet: 'DateRollConventionCodeSet',\n    description: 'Wednesday',\n  },\n  {\n    name: 'THU',\n    id: '40922043',\n    value: 'THU',\n    sort: 43,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40922,\n    type: 'String',\n    codeSet: 'DateRollConventionCodeSet',\n    description: 'Thursday',\n  },\n  {\n    name: 'FRI',\n    id: '40922044',\n    value: 'FRI',\n    sort: 44,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40922,\n    type: 'String',\n    codeSet: 'DateRollConventionCodeSet',\n    description: 'Friday',\n  },\n  {\n    name: 'SAT',\n    id: '40922045',\n    value: 'SAT',\n    sort: 45,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40922,\n    type: 'String',\n    codeSet: 'DateRollConventionCodeSet',\n    description: 'Saturday',\n  },\n  {\n    name: 'SUN',\n    id: '40922046',\n    value: 'SUN',\n    sort: 46,\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    tag: 40922,\n    type: 'String',\n    codeSet: 'DateRollConventionCodeSet',\n    description: 'Sunday',\n  },\n  {\n    name: 'Base64',\n    id: '2109001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '167',\n    updated: 'FIX.Latest',\n    updatedEP: '271',\n    tag: 2109,\n    type: 'int',\n    codeSet: 'AttachmentEncodingTypeCodeSet',\n    description: 'Base64 encoding\\n\\n',\n  },\n  {\n    name: 'RawBinary',\n    id: '2109002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '167',\n    updated: 'FIX.Latest',\n    updatedEP: '271',\n    tag: 2109,\n    type: 'int',\n    codeSet: 'AttachmentEncodingTypeCodeSet',\n    description: 'Raw binary\\n\\nUnencoded binary content.',\n  },\n  {\n    name: 'AutoSpot',\n    id: '2115001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '168',\n    tag: 2115,\n    type: 'int',\n    codeSet: 'NegotiationMethodCodeSet',\n    description:\n      'Auto spot\\n\\nThe spot price for the reference or benchmark security is provided automatically.',\n  },\n  {\n    name: 'NegotiatedSpot',\n    id: '2115002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '168',\n    tag: 2115,\n    type: 'int',\n    codeSet: 'NegotiationMethodCodeSet',\n    description:\n      'Negotiated spot\\n\\nThe spot price for the reference or benchmark security is to be negotiated.',\n  },\n  {\n    name: 'PhoneSpot',\n    id: '2115003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '168',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '208',\n    tag: 2115,\n    type: 'int',\n    codeSet: 'NegotiationMethodCodeSet',\n    description:\n      'The spot price for the reference or benchmark security is to be negotiated via phone or voice.\\n\\nThe spot price for the reference of benchmark security is to be negotiated via phone or voice.',\n  },\n  {\n    name: 'AsianOut',\n    id: '41011001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41011,\n    type: 'int',\n    codeSet: 'ComplexEventPeriodTypeCodeSet',\n    description: 'Asian Out',\n  },\n  {\n    name: 'AsianIn',\n    id: '41011002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41011,\n    type: 'int',\n    codeSet: 'ComplexEventPeriodTypeCodeSet',\n    description: 'Asian In',\n  },\n  {\n    name: 'BarrierCap',\n    id: '41011003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41011,\n    type: 'int',\n    codeSet: 'ComplexEventPeriodTypeCodeSet',\n    description: 'Barrier Cap',\n  },\n  {\n    name: 'BarrierFloor',\n    id: '41011004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41011,\n    type: 'int',\n    codeSet: 'ComplexEventPeriodTypeCodeSet',\n    description: 'Barrier Floor',\n  },\n  {\n    name: 'KnockOut',\n    id: '41011005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41011,\n    type: 'int',\n    codeSet: 'ComplexEventPeriodTypeCodeSet',\n    description: 'Knock Out',\n  },\n  {\n    name: 'KnockIn',\n    id: '41011006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41011,\n    type: 'int',\n    codeSet: 'ComplexEventPeriodTypeCodeSet',\n    description: 'Knock In',\n  },\n  {\n    name: 'Business',\n    id: '41024001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41024,\n    type: 'int',\n    codeSet: 'ComplexEventDateOffsetDayTypeCodeSet',\n    description: 'Business',\n  },\n  {\n    name: 'Calendar',\n    id: '41024002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41024,\n    type: 'int',\n    codeSet: 'ComplexEventDateOffsetDayTypeCodeSet',\n    description: 'Calendar',\n  },\n  {\n    name: 'CommodityBusiness',\n    id: '41024003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41024,\n    type: 'int',\n    codeSet: 'ComplexEventDateOffsetDayTypeCodeSet',\n    description: 'Commodity business',\n  },\n  {\n    name: 'CurrencyBusiness',\n    id: '41024004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41024,\n    type: 'int',\n    codeSet: 'ComplexEventDateOffsetDayTypeCodeSet',\n    description: 'Currency business',\n  },\n  {\n    name: 'ExchangeBusiness',\n    id: '41024005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41024,\n    type: 'int',\n    codeSet: 'ComplexEventDateOffsetDayTypeCodeSet',\n    description: 'Exchange business',\n  },\n  {\n    name: 'ScheduledTradingDay',\n    id: '41024006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41024,\n    type: 'int',\n    codeSet: 'ComplexEventDateOffsetDayTypeCodeSet',\n    description: 'Scheduled trading day',\n  },\n  {\n    name: 'Close',\n    id: '2121001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 2121,\n    type: 'int',\n    codeSet: 'ComplexOptPayoutTimeCodeSet',\n    description: 'Close',\n  },\n  {\n    name: 'Open',\n    id: '2121002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 2121,\n    type: 'int',\n    codeSet: 'ComplexOptPayoutTimeCodeSet',\n    description: 'Open',\n  },\n  {\n    name: 'OfficialSettl',\n    id: '2121003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 2121,\n    type: 'int',\n    codeSet: 'ComplexOptPayoutTimeCodeSet',\n    description: 'Official settlement',\n  },\n  {\n    name: 'ValuationTime',\n    id: '2121004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 2121,\n    type: 'int',\n    codeSet: 'ComplexOptPayoutTimeCodeSet',\n    description: 'Valuation time',\n  },\n  {\n    name: 'ExcahgneSettlTime',\n    id: '2121005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 2121,\n    type: 'int',\n    codeSet: 'ComplexOptPayoutTimeCodeSet',\n    description: 'Exchange settlement time',\n  },\n  {\n    name: 'DerivativesClose',\n    id: '2121006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 2121,\n    type: 'int',\n    codeSet: 'ComplexOptPayoutTimeCodeSet',\n    description: 'Derivatives close',\n  },\n  {\n    name: 'AsSpecified',\n    id: '2121007',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 2121,\n    type: 'int',\n    codeSet: 'ComplexOptPayoutTimeCodeSet',\n    description: 'As specified in master confirmation',\n  },\n  {\n    name: 'Currency1PerCurrency2',\n    id: '2126001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 2126,\n    type: 'int',\n    codeSet: 'ComplexEventQuoteBasisCodeSet',\n    description: 'Currency 1 per currency 2',\n  },\n  {\n    name: 'Currency2PerCurrency1',\n    id: '2126002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 2126,\n    type: 'int',\n    codeSet: 'ComplexEventQuoteBasisCodeSet',\n    description: 'Currency 2 per currency 1',\n  },\n  {\n    name: 'SellerNotifies',\n    id: '2134001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 2134,\n    type: 'int',\n    codeSet: 'ComplexEventCreditEventNotifyingPartyCodeSet',\n    description: 'Seller notifies',\n  },\n  {\n    name: 'BuyerNotifies',\n    id: '2134002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 2134,\n    type: 'int',\n    codeSet: 'ComplexEventCreditEventNotifyingPartyCodeSet',\n    description: 'Buyer notifies',\n  },\n  {\n    name: 'SellerOrBuyerNotifies',\n    id: '2134003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 2134,\n    type: 'int',\n    codeSet: 'ComplexEventCreditEventNotifyingPartyCodeSet',\n    description: 'Seller or buyer notifies',\n  },\n  {\n    name: 'Notional',\n    id: '41038001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41038,\n    type: 'int',\n    codeSet: 'DeliveryScheduleTypeCodeSet',\n    description: 'Notional',\n  },\n  {\n    name: 'Delivery',\n    id: '41038002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41038,\n    type: 'int',\n    codeSet: 'DeliveryScheduleTypeCodeSet',\n    description: 'Delivery',\n  },\n  {\n    name: 'PhysicalSettlPeriods',\n    id: '41038003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41038,\n    type: 'int',\n    codeSet: 'DeliveryScheduleTypeCodeSet',\n    description: 'Physical settlement period',\n  },\n  {\n    name: 'Absolute',\n    id: '41046001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41046,\n    type: 'int',\n    codeSet: 'DeliveryScheduleToleranceTypeCodeSet',\n    description: 'Absolute',\n  },\n  {\n    name: 'Percentage',\n    id: '41046002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41046,\n    type: 'int',\n    codeSet: 'DeliveryScheduleToleranceTypeCodeSet',\n    description: 'Percentage',\n  },\n  {\n    name: 'AllTimes',\n    id: '41049001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41049,\n    type: 'int',\n    codeSet: 'DeliveryScheduleSettlFlowTypeCodeSet',\n    description: 'All times',\n  },\n  {\n    name: 'OnPeak',\n    id: '41049002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41049,\n    type: 'int',\n    codeSet: 'DeliveryScheduleSettlFlowTypeCodeSet',\n    description: 'On peak',\n  },\n  {\n    name: 'OffPeak',\n    id: '41049003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41049,\n    type: 'int',\n    codeSet: 'DeliveryScheduleSettlFlowTypeCodeSet',\n    description: 'Off peak',\n  },\n  {\n    name: 'Base',\n    id: '41049004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41049,\n    type: 'int',\n    codeSet: 'DeliveryScheduleSettlFlowTypeCodeSet',\n    description: 'Base',\n  },\n  {\n    name: 'BlockHours',\n    id: '41049005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '179',\n    tag: 41049,\n    type: 'int',\n    codeSet: 'DeliveryScheduleSettlFlowTypeCodeSet',\n    description: 'Block hours',\n  },\n  {\n    name: 'Other',\n    id: '41049006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '179',\n    tag: 41049,\n    type: 'int',\n    codeSet: 'DeliveryScheduleSettlFlowTypeCodeSet',\n    description: 'Other',\n  },\n  {\n    name: 'DoNotIncludeHolidays',\n    id: '41050001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41050,\n    type: 'int',\n    codeSet: 'DeliveryScheduleSettlHolidaysProcessingInstructionCodeSet',\n    description: 'Do not include holidays',\n  },\n  {\n    name: 'IncludeHolidays',\n    id: '41050002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41050,\n    type: 'int',\n    codeSet: 'DeliveryScheduleSettlHolidaysProcessingInstructionCodeSet',\n    description: 'Include holidays',\n  },\n  {\n    name: 'Monday',\n    id: '41052001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41052,\n    type: 'int',\n    codeSet: 'DeliveryScheduleSettlDayCodeSet',\n    description: 'Monday',\n  },\n  {\n    name: 'Tuesday',\n    id: '41052002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41052,\n    type: 'int',\n    codeSet: 'DeliveryScheduleSettlDayCodeSet',\n    description: 'Tuesday',\n  },\n  {\n    name: 'Wednesday',\n    id: '41052003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41052,\n    type: 'int',\n    codeSet: 'DeliveryScheduleSettlDayCodeSet',\n    description: 'Wednesday',\n  },\n  {\n    name: 'Thursday',\n    id: '41052004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41052,\n    type: 'int',\n    codeSet: 'DeliveryScheduleSettlDayCodeSet',\n    description: 'Thursday',\n  },\n  {\n    name: 'Friday',\n    id: '41052005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41052,\n    type: 'int',\n    codeSet: 'DeliveryScheduleSettlDayCodeSet',\n    description: 'Friday',\n  },\n  {\n    name: 'Saturday',\n    id: '41052006',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41052,\n    type: 'int',\n    codeSet: 'DeliveryScheduleSettlDayCodeSet',\n    description: 'Saturday',\n  },\n  {\n    name: 'Sunday',\n    id: '41052007',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41052,\n    type: 'int',\n    codeSet: 'DeliveryScheduleSettlDayCodeSet',\n    description: 'Sunday',\n  },\n  {\n    name: 'AllWeekdays',\n    id: '41052008',\n    value: '8',\n    sort: 8,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41052,\n    type: 'int',\n    codeSet: 'DeliveryScheduleSettlDayCodeSet',\n    description: 'All weekdays',\n  },\n  {\n    name: 'AllDays',\n    id: '41052009',\n    value: '9',\n    sort: 9,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41052,\n    type: 'int',\n    codeSet: 'DeliveryScheduleSettlDayCodeSet',\n    description: 'All days',\n  },\n  {\n    name: 'AllWeekends',\n    id: '41052010',\n    value: '10',\n    sort: 10,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41052,\n    type: 'int',\n    codeSet: 'DeliveryScheduleSettlDayCodeSet',\n    description: 'All weekends',\n  },\n  {\n    name: 'Hour',\n    id: '41057001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41057,\n    type: 'int',\n    codeSet: 'DeliveryScheduleSettlTimeTypeCodeSet',\n    description:\n      'Hour of the day\\n\\nApplicable for electricity contracts. Time value is expressed as an integer hour of the day (1-24). The delivery start/end hour is specified as the end of the included hour. For example, a start hour of \"4\" begins at 3 a.m.; an end hour of \"20\" ends at 8 p.m.; a start hour of \"1\" and end hour of \"24\" indicates midnight to midnight delivery.',\n  },\n  {\n    name: 'Timestamp',\n    id: '41057002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41057,\n    type: 'int',\n    codeSet: 'DeliveryScheduleSettlTimeTypeCodeSet',\n    description:\n      'HH:MM time format\\n\\nApplicable for gas contracts. Time value is expressed using a 24-hour time format. For example, a time value of \"13:30\" is 1:30 p.m.',\n  },\n  {\n    name: 'Periodic',\n    id: '41058001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41058,\n    type: 'int',\n    codeSet: 'DeliveryStreamTypeCodeSet',\n    description: 'Periodic (default if not specified)',\n  },\n  {\n    name: 'Initial',\n    id: '41058002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41058,\n    type: 'int',\n    codeSet: 'DeliveryStreamTypeCodeSet',\n    description: 'Initial',\n  },\n  {\n    name: 'Single',\n    id: '41058003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41058,\n    type: 'int',\n    codeSet: 'DeliveryStreamTypeCodeSet',\n    description: 'Single',\n  },\n  {\n    name: 'Firm',\n    id: '41063001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41063,\n    type: 'int',\n    codeSet: 'DeliveryStreamDeliveryRestrictionCodeSet',\n    description: 'Firm\\n\\nNever excused of delivery obligations.',\n  },\n  {\n    name: 'NonFirm',\n    id: '41063002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41063,\n    type: 'int',\n    codeSet: 'DeliveryStreamDeliveryRestrictionCodeSet',\n    description:\n      'Interruptable or non-firm\\n\\nExcused when interrupted for any reason or for no reason without liability.',\n  },\n  {\n    name: 'ForceMajeure',\n    id: '41063003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41063,\n    type: 'int',\n    codeSet: 'DeliveryStreamDeliveryRestrictionCodeSet',\n    description: 'Force majeure\\n\\nExcused when prevented by force majeure.',\n  },\n  {\n    name: 'SystemFirm',\n    id: '41063004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41063,\n    type: 'int',\n    codeSet: 'DeliveryStreamDeliveryRestrictionCodeSet',\n    description:\n      'System firm\\n\\nMust be supplied from the owned or controlled generation of pre-existing purchased power assets of the system specified.',\n  },\n  {\n    name: 'UnitFirm',\n    id: '41063005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41063,\n    type: 'int',\n    codeSet: 'DeliveryStreamDeliveryRestrictionCodeSet',\n    description: 'Unit firm\\n\\nMust be supplied from the generation assset specified.',\n  },\n  {\n    name: 'Transfers',\n    id: '41069001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41069,\n    type: 'int',\n    codeSet: 'DeliveryStreamTitleTransferConditionCodeSet',\n    description: 'Transfers with risk of loss',\n  },\n  {\n    name: 'DoesNotTransfer',\n    id: '41069002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41069,\n    type: 'int',\n    codeSet: 'DeliveryStreamTitleTransferConditionCodeSet',\n    description: 'Does not transfer with risk of loss',\n  },\n  {\n    name: 'Buyer',\n    id: '41075001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41075,\n    type: 'int',\n    codeSet: 'DeliveryStreamToleranceOptionSideCodeSet',\n    description: 'Buyer',\n  },\n  {\n    name: 'Seller',\n    id: '41075002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41075,\n    type: 'int',\n    codeSet: 'DeliveryStreamToleranceOptionSideCodeSet',\n    description: 'Seller',\n  },\n  {\n    name: 'Buyer',\n    id: '41080001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41080,\n    type: 'int',\n    codeSet: 'DeliveryStreamElectingPartySideCodeSet',\n    description: 'Buyer',\n  },\n  {\n    name: 'Seller',\n    id: '41080002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41080,\n    type: 'int',\n    codeSet: 'DeliveryStreamElectingPartySideCodeSet',\n    description: 'Seller',\n  },\n  {\n    name: 'Amortizing',\n    id: '1575001',\n    value: 'AMTZ',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '238',\n    tag: 1575,\n    type: 'String',\n    codeSet: 'SwapSubClassCodeSet',\n    description: 'Amortizing notional schedule',\n  },\n  {\n    name: 'Compounding',\n    id: '1575002',\n    value: 'COMP',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    deprecated: 'FIX.5.0SP2',\n    deprecatedEP: '238',\n    tag: 1575,\n    type: 'String',\n    codeSet: 'SwapSubClassCodeSet',\n    description: 'Compounding',\n  },\n  {\n    name: 'ConstantNotionalSchedule',\n    id: '1575003',\n    value: 'CNST',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '238',\n    tag: 1575,\n    type: 'String',\n    codeSet: 'SwapSubClassCodeSet',\n    description: 'Constant notional schedule',\n  },\n  {\n    name: 'AccretingNotionalSchedule',\n    id: '1575004',\n    value: 'ACRT',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '238',\n    tag: 1575,\n    type: 'String',\n    codeSet: 'SwapSubClassCodeSet',\n    description: 'Accreting notional schedule',\n  },\n  {\n    name: 'CustomNotionalSchedule',\n    id: '1575005',\n    value: 'CUST',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '238',\n    tag: 1575,\n    type: 'String',\n    codeSet: 'SwapSubClassCodeSet',\n    description: 'Custom notional schedule',\n  },\n  {\n    name: 'Straddle',\n    id: '2141001',\n    value: 'STD',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 2141,\n    type: 'String',\n    codeSet: 'StrategyTypeCodeSet',\n    description: 'Straddle',\n  },\n  {\n    name: 'Strangle',\n    id: '2141002',\n    value: 'STG',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 2141,\n    type: 'String',\n    codeSet: 'StrategyTypeCodeSet',\n    description: 'Strangle',\n  },\n  {\n    name: 'Butterfly',\n    id: '2141003',\n    value: 'BF',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 2141,\n    type: 'String',\n    codeSet: 'StrategyTypeCodeSet',\n    description: 'Butterfly',\n  },\n  {\n    name: 'Condor',\n    id: '2141004',\n    value: 'CNDR',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 2141,\n    type: 'String',\n    codeSet: 'StrategyTypeCodeSet',\n    description: 'Condor',\n  },\n  {\n    name: 'CallableInversibleSnowball',\n    id: '2141005',\n    value: 'CISN',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 2141,\n    type: 'String',\n    codeSet: 'StrategyTypeCodeSet',\n    description: 'Callable inversible snowball',\n  },\n  {\n    name: 'Other',\n    id: '2141006',\n    value: 'OTHER',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 2141,\n    type: 'String',\n    codeSet: 'StrategyTypeCodeSet',\n    description: 'Other',\n  },\n  {\n    name: 'Negotiation',\n    id: '2143001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 2143,\n    type: 'int',\n    codeSet: 'SettlDisruptionProvisionCodeSet',\n    description: 'Negotiation',\n  },\n  {\n    name: 'Cancellation',\n    id: '2143002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 2143,\n    type: 'int',\n    codeSet: 'SettlDisruptionProvisionCodeSet',\n    description: 'Cancellation and payment',\n  },\n  {\n    name: 'NotApplicable',\n    id: '41087001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41087,\n    type: 'int',\n    codeSet: 'MarketDisruptionProvisionCodeSet',\n    description: 'Not applicable',\n  },\n  {\n    name: 'Applicable',\n    id: '41087002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41087,\n    type: 'int',\n    codeSet: 'MarketDisruptionProvisionCodeSet',\n    description: 'Applicable',\n  },\n  {\n    name: 'AsInMasterAgreement',\n    id: '41087003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41087,\n    type: 'int',\n    codeSet: 'MarketDisruptionProvisionCodeSet',\n    description: 'As specified in master agreement',\n  },\n  {\n    name: 'AsInConfirmation',\n    id: '41087004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41087,\n    type: 'int',\n    codeSet: 'MarketDisruptionProvisionCodeSet',\n    description: 'As specified in confirmation',\n  },\n  {\n    name: 'MasterAgreement',\n    id: '41088001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41088,\n    type: 'int',\n    codeSet: 'MarketDisruptionFallbackProvisionCodeSet',\n    description: 'As specified in master agreement',\n  },\n  {\n    name: 'Confirmation',\n    id: '41088002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41088,\n    type: 'int',\n    codeSet: 'MarketDisruptionFallbackProvisionCodeSet',\n    description: 'As specified in confirmation',\n  },\n  {\n    name: 'Basket',\n    id: '41097001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41097,\n    type: 'int',\n    codeSet: 'MarketDisruptionFallbackUnderlierTypeCodeSet',\n    description: 'Basket',\n  },\n  {\n    name: 'Bond',\n    id: '41097002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41097,\n    type: 'int',\n    codeSet: 'MarketDisruptionFallbackUnderlierTypeCodeSet',\n    description: 'Bond',\n  },\n  {\n    name: 'Cash',\n    id: '41097003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41097,\n    type: 'int',\n    codeSet: 'MarketDisruptionFallbackUnderlierTypeCodeSet',\n    description: 'Cash',\n  },\n  {\n    name: 'Commodity',\n    id: '41097004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41097,\n    type: 'int',\n    codeSet: 'MarketDisruptionFallbackUnderlierTypeCodeSet',\n    description: 'Commodity',\n  },\n  {\n    name: 'ConvertibleBond',\n    id: '41097005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41097,\n    type: 'int',\n    codeSet: 'MarketDisruptionFallbackUnderlierTypeCodeSet',\n    description: 'Convertible bond',\n  },\n  {\n    name: 'Equity',\n    id: '41097006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41097,\n    type: 'int',\n    codeSet: 'MarketDisruptionFallbackUnderlierTypeCodeSet',\n    description: 'Equity',\n  },\n  {\n    name: 'ExchangeTradedFund',\n    id: '41097007',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41097,\n    type: 'int',\n    codeSet: 'MarketDisruptionFallbackUnderlierTypeCodeSet',\n    description: 'Exchange traded fund',\n  },\n  {\n    name: 'Future',\n    id: '41097008',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41097,\n    type: 'int',\n    codeSet: 'MarketDisruptionFallbackUnderlierTypeCodeSet',\n    description: 'Future',\n  },\n  {\n    name: 'Index',\n    id: '41097009',\n    value: '8',\n    sort: 8,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41097,\n    type: 'int',\n    codeSet: 'MarketDisruptionFallbackUnderlierTypeCodeSet',\n    description: 'Index',\n  },\n  {\n    name: 'Loan',\n    id: '41097010',\n    value: '9',\n    sort: 9,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41097,\n    type: 'int',\n    codeSet: 'MarketDisruptionFallbackUnderlierTypeCodeSet',\n    description: 'Loan',\n  },\n  {\n    name: 'Mortgage',\n    id: '41097011',\n    value: '10',\n    sort: 10,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41097,\n    type: 'int',\n    codeSet: 'MarketDisruptionFallbackUnderlierTypeCodeSet',\n    description: 'Mortgage',\n  },\n  {\n    name: 'MutualFund',\n    id: '41097012',\n    value: '11',\n    sort: 11,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41097,\n    type: 'int',\n    codeSet: 'MarketDisruptionFallbackUnderlierTypeCodeSet',\n    description: 'Mutual fund',\n  },\n  {\n    name: 'NotRequired',\n    id: '41111001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41111,\n    type: 'int',\n    codeSet: 'ExerciseConfirmationMethodCodeSet',\n    description: 'Not required',\n  },\n  {\n    name: 'NonElectronic',\n    id: '41111002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41111,\n    type: 'int',\n    codeSet: 'ExerciseConfirmationMethodCodeSet',\n    description: 'Non-electronic',\n  },\n  {\n    name: 'Electronic',\n    id: '41111003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41111,\n    type: 'int',\n    codeSet: 'ExerciseConfirmationMethodCodeSet',\n    description: 'Electronic',\n  },\n  {\n    name: 'Unknown',\n    id: '41111004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41111,\n    type: 'int',\n    codeSet: 'ExerciseConfirmationMethodCodeSet',\n    description: 'Unknown at time of report',\n  },\n  {\n    name: 'Unadjusted',\n    id: '41139001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41139,\n    type: 'int',\n    codeSet: 'OptionExerciseDateTypeCodeSet',\n    description: 'Unadjusted',\n  },\n  {\n    name: 'Adjusted',\n    id: '41139002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41139,\n    type: 'int',\n    codeSet: 'OptionExerciseDateTypeCodeSet',\n    description: 'Adjusted',\n  },\n  {\n    name: 'Business',\n    id: '41159001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41159,\n    type: 'int',\n    codeSet: 'PaymentDateOffsetDayTypeCodeSet',\n    description: 'Business',\n  },\n  {\n    name: 'Calendar',\n    id: '41159002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41159,\n    type: 'int',\n    codeSet: 'PaymentDateOffsetDayTypeCodeSet',\n    description: 'Calendar',\n  },\n  {\n    name: 'Commodity',\n    id: '41159003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41159,\n    type: 'int',\n    codeSet: 'PaymentDateOffsetDayTypeCodeSet',\n    description: 'Commodity business',\n  },\n  {\n    name: 'Currency',\n    id: '41159004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41159,\n    type: 'int',\n    codeSet: 'PaymentDateOffsetDayTypeCodeSet',\n    description: 'Currency business',\n  },\n  {\n    name: 'Exchange',\n    id: '41159005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41159,\n    type: 'int',\n    codeSet: 'PaymentDateOffsetDayTypeCodeSet',\n    description: 'Exchange business',\n  },\n  {\n    name: 'Scheduled',\n    id: '41159006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41159,\n    type: 'int',\n    codeSet: 'PaymentDateOffsetDayTypeCodeSet',\n    description: 'Scheduled trading day',\n  },\n  {\n    name: 'Prepaid',\n    id: '41160001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41160,\n    type: 'int',\n    codeSet: 'PaymentForwardStartTypeCodeSet',\n    description: 'Prepaid',\n  },\n  {\n    name: 'Postpaid',\n    id: '41160002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41160,\n    type: 'int',\n    codeSet: 'PaymentForwardStartTypeCodeSet',\n    description: 'Post-paid',\n  },\n  {\n    name: 'Variable',\n    id: '41160003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41160,\n    type: 'int',\n    codeSet: 'PaymentForwardStartTypeCodeSet',\n    description: 'Variable',\n  },\n  {\n    name: 'Fixed',\n    id: '41160004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41160,\n    type: 'int',\n    codeSet: 'PaymentForwardStartTypeCodeSet',\n    description: 'Fixed',\n  },\n  {\n    name: 'Average',\n    id: '41199001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41199,\n    type: 'int',\n    codeSet: 'PaymentStreamSettlLevelCodeSet',\n    description:\n      'Average\\n\\nThe cumulative number of weather index units for each day in the calculation period divided by the number of days in the calculation period.',\n  },\n  {\n    name: 'Maximum',\n    id: '41199002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41199,\n    type: 'int',\n    codeSet: 'PaymentStreamSettlLevelCodeSet',\n    description:\n      'Maximum\\n\\nThe maximum number of weather index units for any day in the calculaiton period.',\n  },\n  {\n    name: 'Minimum',\n    id: '41199003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41199,\n    type: 'int',\n    codeSet: 'PaymentStreamSettlLevelCodeSet',\n    description:\n      'Minimum\\n\\nThe minimum number of weather index units for any day in the calculaiton period.',\n  },\n  {\n    name: 'Cumulative',\n    id: '41199004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41199,\n    type: 'int',\n    codeSet: 'PaymentStreamSettlLevelCodeSet',\n    description:\n      'Cumulative\\n\\nThe cumulative number of weather index units for each day in the calculaiton period.',\n  },\n  {\n    name: 'Absolute',\n    id: '41206001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41206,\n    type: 'int',\n    codeSet: 'PaymentStreamRateSpreadTypeCodeSet',\n    description: 'Absolute',\n  },\n  {\n    name: 'Percentage',\n    id: '41206002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41206,\n    type: 'int',\n    codeSet: 'PaymentStreamRateSpreadTypeCodeSet',\n    description: 'Percentage',\n  },\n  {\n    name: 'All',\n    id: '41214001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41214,\n    type: 'int',\n    codeSet: 'PaymentStreamPricingDayDistributionCodeSet',\n    description: 'All',\n  },\n  {\n    name: 'First',\n    id: '41214002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41214,\n    type: 'int',\n    codeSet: 'PaymentStreamPricingDayDistributionCodeSet',\n    description: 'First',\n  },\n  {\n    name: 'Last',\n    id: '41214003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41214,\n    type: 'int',\n    codeSet: 'PaymentStreamPricingDayDistributionCodeSet',\n    description: 'Last',\n  },\n  {\n    name: 'Penultimate',\n    id: '41214004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41214,\n    type: 'int',\n    codeSet: 'PaymentStreamPricingDayDistributionCodeSet',\n    description: 'Penultimate',\n  },\n  {\n    name: 'EveryDay',\n    id: '41228001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41228,\n    type: 'int',\n    codeSet: 'PaymentStreamPricingDayOfWeekCodeSet',\n    description: 'Every day (the default if not specified)',\n  },\n  {\n    name: 'Monday',\n    id: '41228002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41228,\n    type: 'int',\n    codeSet: 'PaymentStreamPricingDayOfWeekCodeSet',\n    description: 'Monday',\n  },\n  {\n    name: 'Tuesday',\n    id: '41228003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41228,\n    type: 'int',\n    codeSet: 'PaymentStreamPricingDayOfWeekCodeSet',\n    description: 'Tuesday',\n  },\n  {\n    name: 'Wednesday',\n    id: '41228004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41228,\n    type: 'int',\n    codeSet: 'PaymentStreamPricingDayOfWeekCodeSet',\n    description: 'Wednesday',\n  },\n  {\n    name: 'Thursday',\n    id: '41228005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41228,\n    type: 'int',\n    codeSet: 'PaymentStreamPricingDayOfWeekCodeSet',\n    description: 'Thursday',\n  },\n  {\n    name: 'Friday',\n    id: '41228006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41228,\n    type: 'int',\n    codeSet: 'PaymentStreamPricingDayOfWeekCodeSet',\n    description: 'Friday',\n  },\n  {\n    name: 'Saturday',\n    id: '41228007',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41228,\n    type: 'int',\n    codeSet: 'PaymentStreamPricingDayOfWeekCodeSet',\n    description: 'Saturday',\n  },\n  {\n    name: 'Sunday',\n    id: '41228008',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41228,\n    type: 'int',\n    codeSet: 'PaymentStreamPricingDayOfWeekCodeSet',\n    description: 'Sunday',\n  },\n  {\n    name: 'Week',\n    id: '41267001',\n    value: 'Wk',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41267,\n    type: 'String',\n    codeSet: 'StreamCommodityNearbySettlDayUnitCodeSet',\n    description: 'Week',\n  },\n  {\n    name: 'Month',\n    id: '41267002',\n    value: 'Mo',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41267,\n    type: 'String',\n    codeSet: 'StreamCommodityNearbySettlDayUnitCodeSet',\n    description: 'Month',\n  },\n  {\n    name: 'Day',\n    id: '41273001',\n    value: 'D',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41273,\n    type: 'String',\n    codeSet: 'StreamCommoditySettlDateRollUnitCodeSet',\n    description: 'Day',\n  },\n  {\n    name: 'City',\n    id: '41282001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41282,\n    type: 'int',\n    codeSet: 'StreamCommodityDataSourceIDTypeCodeSet',\n    description: 'City (4 character business center code)',\n  },\n  {\n    name: 'Airport',\n    id: '41282002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41282,\n    type: 'int',\n    codeSet: 'StreamCommodityDataSourceIDTypeCodeSet',\n    description: 'Airport (IATA standard)',\n  },\n  {\n    name: 'WeatherStation',\n    id: '41282003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41282,\n    type: 'int',\n    codeSet: 'StreamCommodityDataSourceIDTypeCodeSet',\n    description: 'Weather station WBAN (Weather Bureau Army Navy)',\n  },\n  {\n    name: 'WeatherIndex',\n    id: '41282004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41282,\n    type: 'int',\n    codeSet: 'StreamCommodityDataSourceIDTypeCodeSet',\n    description: 'Weather index WMO (World Meteorological Organization)',\n  },\n  {\n    name: 'Term',\n    id: '41308001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41308,\n    type: 'int',\n    codeSet: 'StreamNotionalCommodityFrequencyCodeSet',\n    description: 'Term',\n  },\n  {\n    name: 'PerBusinessDay',\n    id: '41308002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41308,\n    type: 'int',\n    codeSet: 'StreamNotionalCommodityFrequencyCodeSet',\n    description: 'Per business day',\n  },\n  {\n    name: 'PerCalculationPeriod',\n    id: '41308003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41308,\n    type: 'int',\n    codeSet: 'StreamNotionalCommodityFrequencyCodeSet',\n    description: 'Per calculation period',\n  },\n  {\n    name: 'PerSettlPeriod',\n    id: '41308004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41308,\n    type: 'int',\n    codeSet: 'StreamNotionalCommodityFrequencyCodeSet',\n    description: 'Per settlement period',\n  },\n  {\n    name: 'PerCalendarDay',\n    id: '41308005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41308,\n    type: 'int',\n    codeSet: 'StreamNotionalCommodityFrequencyCodeSet',\n    description: 'Per calendar day',\n  },\n  {\n    name: 'PerHour',\n    id: '41308006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41308,\n    type: 'int',\n    codeSet: 'StreamNotionalCommodityFrequencyCodeSet',\n    description: 'Per hour',\n  },\n  {\n    name: 'PerMonth',\n    id: '41308007',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '169',\n    tag: 41308,\n    type: 'int',\n    codeSet: 'StreamNotionalCommodityFrequencyCodeSet',\n    description: 'Per month',\n  },\n  {\n    name: 'Accepted',\n    id: '2316001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    tag: 2316,\n    type: 'int',\n    codeSet: 'RiskLimitReportStatusCodeSet',\n    description: 'Accepted',\n  },\n  {\n    name: 'Rejected',\n    id: '2316002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    tag: 2316,\n    type: 'int',\n    codeSet: 'RiskLimitReportStatusCodeSet',\n    description: 'Rejected',\n  },\n  {\n    name: 'UnkRiskLmtRprtID',\n    id: '2317001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    tag: 2317,\n    type: 'int',\n    codeSet: 'RiskLimitReportRejectReasonCodeSet',\n    description: 'Unknown RiskLimitReportID(1667)',\n  },\n  {\n    name: 'UnkPty',\n    id: '2317002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    tag: 2317,\n    type: 'int',\n    codeSet: 'RiskLimitReportRejectReasonCodeSet',\n    description: 'Unknown party',\n  },\n  {\n    name: 'Other',\n    id: '2317003',\n    value: '99',\n    sort: 99,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    tag: 2317,\n    type: 'int',\n    codeSet: 'RiskLimitReportRejectReasonCodeSet',\n    description: 'Other',\n  },\n  {\n    name: 'New',\n    id: '2320001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    tag: 2320,\n    type: 'int',\n    codeSet: 'RiskLimitCheckTransTypeCodeSet',\n    description: 'New',\n  },\n  {\n    name: 'Cancel',\n    id: '2320002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    tag: 2320,\n    type: 'int',\n    codeSet: 'RiskLimitCheckTransTypeCodeSet',\n    description: 'Cancel',\n  },\n  {\n    name: 'Replace',\n    id: '2320003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    tag: 2320,\n    type: 'int',\n    codeSet: 'RiskLimitCheckTransTypeCodeSet',\n    description: 'Replace',\n  },\n  {\n    name: 'Submit',\n    id: '2321001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    tag: 2321,\n    type: 'int',\n    codeSet: 'RiskLimitCheckTypeCodeSet',\n    description:\n      'Submit\\n\\nIndicates a submission for a limit check. The RiskLimitCheckTransType(2320) indicates whether the submission is a new request, a cancel or replace/amend of a prior submission.',\n  },\n  {\n    name: 'LimitConsumed',\n    id: '2321002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    tag: 2321,\n    type: 'int',\n    codeSet: 'RiskLimitCheckTypeCodeSet',\n    description:\n      'Limit consumed\\n\\nIndicates that the limit reserved by a prior request has been used or consumed by a transaction that occurred.',\n  },\n  {\n    name: 'AllOrNone',\n    id: '2323001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    tag: 2323,\n    type: 'int',\n    codeSet: 'RiskLimitCheckRequestTypeCodeSet',\n    description:\n      'All or none (default if not specified).\\n\\nThe limit check request is for the full amount requested or none at all. Request can only be responded to with a full approval of the amount requested or a rejection of the request.',\n  },\n  {\n    name: 'Partial',\n    id: '2323002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    tag: 2323,\n    type: 'int',\n    codeSet: 'RiskLimitCheckRequestTypeCodeSet',\n    description:\n      'Partial\\n\\nThe requester will accept a partial approval of the requested credit limit amount.',\n  },\n  {\n    name: 'Approved',\n    id: '2325001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    tag: 2325,\n    type: 'int',\n    codeSet: 'RiskLimitCheckRequestStatusCodeSet',\n    description:\n      'Approved\\n\\nRequest has been accepted and processed. The credit amount requested has been reserved for the transaction.',\n  },\n  {\n    name: 'PartiallyApproved',\n    id: '2325002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    tag: 2325,\n    type: 'int',\n    codeSet: 'RiskLimitCheckRequestStatusCodeSet',\n    description:\n      'Partially approved\\n\\nOnly a partial amount of the credit amount requested has been approved and has been reserved for the transaction.',\n  },\n  {\n    name: 'Rejected',\n    id: '2325003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    tag: 2325,\n    type: 'int',\n    codeSet: 'RiskLimitCheckRequestStatusCodeSet',\n    description: 'Rejected',\n  },\n  {\n    name: 'ApprovalPending',\n    id: '2325004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    tag: 2325,\n    type: 'int',\n    codeSet: 'RiskLimitCheckRequestStatusCodeSet',\n    description: 'Approval pending',\n  },\n  {\n    name: 'Cancelled',\n    id: '2325005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    tag: 2325,\n    type: 'int',\n    codeSet: 'RiskLimitCheckRequestStatusCodeSet',\n    description: 'Cancelled',\n  },\n  {\n    name: 'Successful',\n    id: '2326001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    tag: 2326,\n    type: 'int',\n    codeSet: 'RiskLimitCheckRequestResultCodeSet',\n    description: 'Successful (default)',\n  },\n  {\n    name: 'InvalidParty',\n    id: '2326002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    tag: 2326,\n    type: 'int',\n    codeSet: 'RiskLimitCheckRequestResultCodeSet',\n    description: 'Invalid party',\n  },\n  {\n    name: 'ReqExceedsCreditLimit',\n    id: '2326003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    tag: 2326,\n    type: 'int',\n    codeSet: 'RiskLimitCheckRequestResultCodeSet',\n    description: 'Requested amount exceeds credit limit',\n  },\n  {\n    name: 'ReqExceedsClipSizeLimit',\n    id: '2326004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    tag: 2326,\n    type: 'int',\n    codeSet: 'RiskLimitCheckRequestResultCodeSet',\n    description: 'Requested amount exceeds clip size limit',\n  },\n  {\n    name: 'ReqExceedsMaxNotional',\n    id: '2326005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    tag: 2326,\n    type: 'int',\n    codeSet: 'RiskLimitCheckRequestResultCodeSet',\n    description: 'Request exceeds maximum notional order amount',\n  },\n  {\n    name: 'Other',\n    id: '2326006',\n    value: '99',\n    sort: 99,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    tag: 2326,\n    type: 'int',\n    codeSet: 'RiskLimitCheckRequestResultCodeSet',\n    description: 'Other',\n  },\n  {\n    name: 'Suspend',\n    id: '2329001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    tag: 2329,\n    type: 'int',\n    codeSet: 'PartyActionTypeCodeSet',\n    description: 'Suspend',\n  },\n  {\n    name: 'HaltTrading',\n    id: '2329002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    tag: 2329,\n    type: 'int',\n    codeSet: 'PartyActionTypeCodeSet',\n    description: 'Halt trading',\n  },\n  {\n    name: 'Reinstate',\n    id: '2329003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    tag: 2329,\n    type: 'int',\n    codeSet: 'PartyActionTypeCodeSet',\n    description: 'Reinstate',\n  },\n  {\n    name: 'Accepted',\n    id: '2332001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    tag: 2332,\n    type: 'int',\n    codeSet: 'PartyActionResponseCodeSet',\n    description: 'Accepted\\n\\nThe action request is accepted for processing.',\n  },\n  {\n    name: 'Completed',\n    id: '2332002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    tag: 2332,\n    type: 'int',\n    codeSet: 'PartyActionResponseCodeSet',\n    description:\n      'Completed\\n\\nThe processing of the requested action has been successfully completed.',\n  },\n  {\n    name: 'Rejected',\n    id: '2332003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    tag: 2332,\n    type: 'int',\n    codeSet: 'PartyActionResponseCodeSet',\n    description:\n      'Rejected\\n\\nThe action request was rejected. PartyActionRejectReason(2233) should be used to specify the rejection reason',\n  },\n  {\n    name: 'InvalidParty',\n    id: '2333001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '182',\n    tag: 2333,\n    type: 'int',\n    codeSet: 'PartyActionRejectReasonCodeSet',\n    description: 'Invalid party or parties',\n  },\n  {\n    name: 'UnkReqParty',\n    id: '2333002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    tag: 2333,\n    type: 'int',\n    codeSet: 'PartyActionRejectReasonCodeSet',\n    description: 'Unknown requesting party',\n  },\n  {\n    name: 'NotAuthorized',\n    id: '2333003',\n    value: '98',\n    sort: 98,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    tag: 2333,\n    type: 'int',\n    codeSet: 'PartyActionRejectReasonCodeSet',\n    description: 'Not authorized',\n  },\n  {\n    name: 'Other',\n    id: '2333004',\n    value: '99',\n    sort: 99,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    tag: 2333,\n    type: 'int',\n    codeSet: 'PartyActionRejectReasonCodeSet',\n    description: 'Other',\n  },\n  {\n    name: 'RiskLimitRequestID',\n    id: '2335001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    tag: 2335,\n    type: 'int',\n    codeSet: 'RefRiskLimitCheckIDTypeCodeSet',\n    description: 'RiskLimitRequestID(1666)',\n  },\n  {\n    name: 'RiskLimitCheckID',\n    id: '2335002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    tag: 2335,\n    type: 'int',\n    codeSet: 'RefRiskLimitCheckIDTypeCodeSet',\n    description: 'RiskLimitCheckID(2319)',\n  },\n  {\n    name: 'OutOfBandID',\n    id: '2335003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '180',\n    tag: 2335,\n    type: 'int',\n    codeSet: 'RefRiskLimitCheckIDTypeCodeSet',\n    description: 'Out of band identifier',\n  },\n  {\n    name: 'None',\n    id: '2339001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    tag: 2339,\n    type: 'int',\n    codeSet: 'RiskLimitCheckModelTypeCodeSet',\n    description:\n      'None (default if not specified)\\n\\nNo specified limit check model is defined. Limit checks for the party will be based on parameters defined.',\n  },\n  {\n    name: 'PlusOneModel',\n    id: '2339002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    tag: 2339,\n    type: 'int',\n    codeSet: 'RiskLimitCheckModelTypeCodeSet',\n    description:\n      \"PlusOne model\\n\\nA pre-trade credit limit check model which allows trades to occur until it is determined by the clearinghouse or other designated limit checker that the party's limit(s) was breached by the most recent trade executed.\",\n  },\n  {\n    name: 'PingModel',\n    id: '2339003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    tag: 2339,\n    type: 'int',\n    codeSet: 'RiskLimitCheckModelTypeCodeSet',\n    description:\n      'Ping model\\n\\nA pre-trade credit limit check model which requires the execution venue to obtain limit approval from the Credit Provider for every transaction about to be conducted by the Credit User.',\n  },\n  {\n    name: 'PushModel',\n    id: '2339004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '171',\n    tag: 2339,\n    type: 'int',\n    codeSet: 'RiskLimitCheckModelTypeCodeSet',\n    description:\n      'Push model\\n\\nA pre-trade credit limit check model in which the Credit Provider \"pushes\" to the execution venue the credit limit information allocated to each of the Credit Provider\\'s counterparty or customer.',\n  },\n  {\n    name: 'Accepted',\n    id: '2343001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '172',\n    tag: 2343,\n    type: 'int',\n    codeSet: 'RiskLimitCheckStatusCodeSet',\n    description:\n      'Accepted\\n\\nFor use when none of the more specific status enumerations apply.',\n  },\n  {\n    name: 'Rejected',\n    id: '2343002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '172',\n    tag: 2343,\n    type: 'int',\n    codeSet: 'RiskLimitCheckStatusCodeSet',\n    description:\n      'Rejected\\n\\nFor use when none of the more specific status enumerations apply.',\n  },\n  {\n    name: 'ClaimRequired',\n    id: '2343003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '172',\n    tag: 2343,\n    type: 'int',\n    codeSet: 'RiskLimitCheckStatusCodeSet',\n    description:\n      'Claim required\\n\\nIndicates that the clearing firm is required to accept or decline the trade.',\n  },\n  {\n    name: 'PreDefinedLimitCheckSucceeded',\n    id: '2343004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '172',\n    tag: 2343,\n    type: 'int',\n    codeSet: 'RiskLimitCheckStatusCodeSet',\n    description:\n      'Pre-defined limit check succeeded\\n\\nIndicates a check enforced automatically by the clearing house.',\n  },\n  {\n    name: 'PreDefinedLimitCheckFailed',\n    id: '2343005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '172',\n    tag: 2343,\n    type: 'int',\n    codeSet: 'RiskLimitCheckStatusCodeSet',\n    description:\n      'Pre-defined limit check failed\\n\\nIndicates a check enforced automatically by the clearing house.',\n  },\n  {\n    name: 'PreDefinedAutoAcceptRuleInvoked',\n    id: '2343006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '172',\n    tag: 2343,\n    type: 'int',\n    codeSet: 'RiskLimitCheckStatusCodeSet',\n    description:\n      'Pre-defined auto-accept rule invoked\\n\\nIndicates that the clearing firm is required to accept or decline the trade because no limit or rule applies.',\n  },\n  {\n    name: 'PreDefinedAutoRejectRuleInvoked',\n    id: '2343007',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '172',\n    tag: 2343,\n    type: 'int',\n    codeSet: 'RiskLimitCheckStatusCodeSet',\n    description:\n      'Pre-defined auto-reject rule invoked\\n\\nIndicates a check enforced automatically by the clearing house. Note that clearing house rules of engagement may still require a clearing firm accept or reject the trade.',\n  },\n  {\n    name: 'AcceptedByClearingFirm',\n    id: '2343008',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '172',\n    tag: 2343,\n    type: 'int',\n    codeSet: 'RiskLimitCheckStatusCodeSet',\n    description:\n      'Accepted by clearing firm\\n\\nIndicates that explicit action by the clearing firm, and not an automatic check by the clearing house, was the basis for accepting the trade.',\n  },\n  {\n    name: 'RejectedByClearingFirm',\n    id: '2343009',\n    value: '8',\n    sort: 8,\n    added: 'FIX.5.0SP2',\n    addedEP: '172',\n    tag: 2343,\n    type: 'int',\n    codeSet: 'RiskLimitCheckStatusCodeSet',\n    description:\n      'Rejected by clearing firm\\n\\nIndicates that explicit action by the clearing firm, and not an automatic check by the clearing house, was the basis for rejecting the trade.',\n  },\n  {\n    name: 'Pending',\n    id: '2343010',\n    value: '9',\n    sort: 9,\n    added: 'FIX.5.0SP2',\n    addedEP: '172',\n    tag: 2343,\n    type: 'int',\n    codeSet: 'RiskLimitCheckStatusCodeSet',\n    description:\n      'Pending\\n\\nIndicates that one or more side level risk checks are in progress.',\n  },\n  {\n    name: 'AcceptedByCreditHub',\n    id: '2343011',\n    value: '10',\n    sort: 10,\n    added: 'FIX.5.0SP2',\n    addedEP: '180',\n    tag: 2343,\n    type: 'int',\n    codeSet: 'RiskLimitCheckStatusCodeSet',\n    description:\n      'Accepted by credit hub\\n\\nIndicates that a credit hub accepted the trade. An identifier assigned by the credit hub may appear in the appropriate RefRiskLimitCheckID(2334) field.',\n  },\n  {\n    name: 'RejectedByCreditHub',\n    id: '2343012',\n    value: '11',\n    sort: 11,\n    added: 'FIX.5.0SP2',\n    addedEP: '180',\n    tag: 2343,\n    type: 'int',\n    codeSet: 'RiskLimitCheckStatusCodeSet',\n    description:\n      'Rejected by credit hub\\n\\nIndicates that a credit hub rejected the trade.',\n  },\n  {\n    name: 'PendingCreditHubCheck',\n    id: '2343013',\n    value: '12',\n    sort: 12,\n    added: 'FIX.5.0SP2',\n    addedEP: '180',\n    tag: 2343,\n    type: 'int',\n    codeSet: 'RiskLimitCheckStatusCodeSet',\n    description:\n      'Pending credit hub check\\n\\nIndicates that a check is pending at a credit hub.',\n  },\n  {\n    name: 'AcceptedByExecVenue',\n    id: '2343014',\n    value: '13',\n    sort: 13,\n    added: 'FIX.5.0SP2',\n    addedEP: '180',\n    tag: 2343,\n    type: 'int',\n    codeSet: 'RiskLimitCheckStatusCodeSet',\n    description:\n      'Accepted by execution venue\\n\\nIndicates acceptance by an execution venue, such as a SEF.',\n  },\n  {\n    name: 'RejectedByExecVenue',\n    id: '2343015',\n    value: '14',\n    sort: 14,\n    added: 'FIX.5.0SP2',\n    addedEP: '180',\n    tag: 2343,\n    type: 'int',\n    codeSet: 'RiskLimitCheckStatusCodeSet',\n    description:\n      'Rejected by execution venue\\n\\nIndicates that the trade was rejected by an execution venue, such as a SEF.',\n  },\n  {\n    name: 'None',\n    id: '2347001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '176',\n    tag: 2347,\n    type: 'int',\n    codeSet: 'RegulatoryTransactionTypeCodeSet',\n    description:\n      'None (default if not specified)\\n\\nThe transaction does not fall under any special regulatory rule or mandate.',\n  },\n  {\n    name: 'SEFRequiredTransaction',\n    id: '2347002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '176',\n    tag: 2347,\n    type: 'int',\n    codeSet: 'RegulatoryTransactionTypeCodeSet',\n    description:\n      'Swap Execution Facility (SEF) required transaction\\n\\nThe transaction is a \"Required\" transaction under Dodd-Frank Act SEF Rules. \"Required\" transactions are subject to the trade execution mandate under section 2(h)(8) of the CEA and are not block trades.',\n  },\n  {\n    name: 'SEFPermittedTransaction',\n    id: '2347003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '176',\n    tag: 2347,\n    type: 'int',\n    codeSet: 'RegulatoryTransactionTypeCodeSet',\n    description:\n      'Swap Execution Facility (SEF) permitted transaction\\n\\nThe transaction is a \"Permitted\" transaction under Dodd-Frank Act SEF Rules. \"Permitted\" transactions are not subject to the clearing and trade execution mandates, illiquid or bespoke swaps, or block trades.',\n  },\n  {\n    name: 'Update',\n    id: '50002001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '178',\n    tag: 50002,\n    type: 'int',\n    codeSet: 'BatchProcessModeCodeSet',\n    description: 'Update/incremental (default if not specified)',\n  },\n  {\n    name: 'Snapshot',\n    id: '50002002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '178',\n    tag: 50002,\n    type: 'int',\n    codeSet: 'BatchProcessModeCodeSet',\n    description:\n      \"Snapshot\\n\\nIndicates that messages within the batch should be considered complete, and should replace all prior information. The recipient can take action, to be decided out of band, on previously received data omitted from the batch (e.g. an account not referenced has zero collateral value, a security not referenced is no longer tradable). The scope of completeness (e.g. a complete list of collateral values for all of a given firm's accounts, a complete list of options trading on a given exchange) will be decided out of band.\",\n  },\n  {\n    name: 'Proprietary',\n    id: '42192001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '179',\n    tag: 42192,\n    type: 'int',\n    codeSet: 'DeliveryStreamDeliveryPointSourceCodeSet',\n    description: 'Proprietary',\n  },\n  {\n    name: 'EIC',\n    id: '42192002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '179',\n    tag: 42192,\n    type: 'int',\n    codeSet: 'DeliveryStreamDeliveryPointSourceCodeSet',\n    description:\n      'Energy Identification Code (EIC)\\n\\nEnergy Identification Code specifies the location or connection point codes of energy delivery. See http://www.entsog.eu/eic-codes/eic-location-codes-v or http://www.eiccodes.eu for more information and allocated values to use in DeliveryStreamDeliveryPoint(41062).',\n  },\n  {\n    name: 'ISINOrAltInstrmtID',\n    id: '2375001',\n    value: 'I',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '179',\n    tag: 2375,\n    type: 'char',\n    codeSet: 'TaxonomyTypeCodeSet',\n    description:\n      'ISIN or Alternate instrument identifier plus CFI\\n\\nIdentified through use of SecurityID(48) and SecurityIDSource(22) of ISIN or another standard source plus CFICode(461).',\n  },\n  {\n    name: 'InterimTaxonomy',\n    id: '2375002',\n    value: 'E',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '179',\n    tag: 2375,\n    type: 'char',\n    codeSet: 'TaxonomyTypeCodeSet',\n    description:\n      'Interim Taxonomy\\n\\nIdentified through use of AssetClass(1938) plus either Symbol(55) or SecurityID(48) and SecurityIDSource(22), and/or other additional instrument attributes.',\n  },\n  {\n    name: 'ClearingMember',\n    id: '2397001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '181',\n    tag: 2397,\n    type: 'int',\n    codeSet: 'RegulatoryTradeIDScopeCodeSet',\n    description: 'Clearing member',\n  },\n  {\n    name: 'Client',\n    id: '2397002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '181',\n    tag: 2397,\n    type: 'int',\n    codeSet: 'RegulatoryTradeIDScopeCodeSet',\n    description: 'Client',\n  },\n  {\n    name: 'OrderEntry',\n    id: '2402001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '183',\n    tag: 2402,\n    type: 'int',\n    codeSet: 'EntitlementSubTypeCodeSet',\n    description: 'Order entry\\n\\nEntitle to enter new orders',\n  },\n  {\n    name: 'HItLift',\n    id: '2402002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '183',\n    tag: 2402,\n    type: 'int',\n    codeSet: 'EntitlementSubTypeCodeSet',\n    description: 'Hit/Lift\\n\\nEntitle to Hit/Lift',\n  },\n  {\n    name: 'ViewIndicativePx',\n    id: '2402003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '183',\n    tag: 2402,\n    type: 'int',\n    codeSet: 'EntitlementSubTypeCodeSet',\n    description: 'View indicative prices\\n\\nEntitle to subscribe to indicative prices',\n  },\n  {\n    name: 'ViewExecutablePx',\n    id: '2402004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '183',\n    tag: 2402,\n    type: 'int',\n    codeSet: 'EntitlementSubTypeCodeSet',\n    description: 'View executable prices\\n\\nEntitle to subscribe to executable prices',\n  },\n  {\n    name: 'SingleQuote',\n    id: '2402005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '183',\n    tag: 2402,\n    type: 'int',\n    codeSet: 'EntitlementSubTypeCodeSet',\n    description: 'Single quote\\n\\nEntitle to submit quote request for a single quote',\n  },\n  {\n    name: 'StreamingQuotes',\n    id: '2402006',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '183',\n    tag: 2402,\n    type: 'int',\n    codeSet: 'EntitlementSubTypeCodeSet',\n    description:\n      'Streaming quotes\\n\\nEntitle to submit quote request for streaming quotes',\n  },\n  {\n    name: 'SingleBroker',\n    id: '2402007',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '183',\n    tag: 2402,\n    type: 'int',\n    codeSet: 'EntitlementSubTypeCodeSet',\n    description: 'Single broker\\n\\nEntitle to submit quote request for a single broker',\n  },\n  {\n    name: 'MultiBrokers',\n    id: '2402008',\n    value: '8',\n    sort: 8,\n    added: 'FIX.5.0SP2',\n    addedEP: '183',\n    tag: 2402,\n    type: 'int',\n    codeSet: 'EntitlementSubTypeCodeSet',\n    description: 'Multi brokers\\n\\nEntitle to submit quote request for multiple brokers',\n  },\n  {\n    name: 'QuoteEntry',\n    id: '2403001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '184',\n    tag: 2403,\n    type: 'int',\n    codeSet: 'QuoteModelTypeCodeSet',\n    description:\n      'Quote entry\\n\\nNew quote is entered or previously submitted quote is updated in full without regard to amount executed when a subsequent quote (e.g. with the same QuoteID reference) is received by the Recipient of the quote message.',\n  },\n  {\n    name: 'QuoteModification',\n    id: '2403002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '184',\n    tag: 2403,\n    type: 'int',\n    codeSet: 'QuoteModelTypeCodeSet',\n    description:\n      'Quote modification\\n\\nPreviously submitted quote must be present and is updated, taking into consideration the amount already executed when a subsequent quote (e.g. with the same QuoteID reference) is received by the Recipient of the quote message.',\n  },\n  {\n    name: 'Unspecified',\n    id: '2405001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '186',\n    updated: 'FIX.Latest',\n    updatedEP: '282',\n    tag: 2405,\n    type: 'int',\n    codeSet: 'ExecMethodCodeSet',\n    description:\n      'Undefined/unspecified - (default when not specified)\\n\\nIn the context of Market Model Typology (MMT), this value represents an off book non-automated transaction type.',\n  },\n  {\n    name: 'Manual',\n    id: '2405002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '186',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '201',\n    tag: 2405,\n    type: 'int',\n    codeSet: 'ExecMethodCodeSet',\n    description:\n      'Manual\\n\\nThe transaction was executed in a manual or other non-automated manner, e.g. by voice directly between the counterparties. Also used to identify MTT code M \"Off Book Non-Automated\".',\n  },\n  {\n    name: 'Automated',\n    id: '2405003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '186',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '228',\n    tag: 2405,\n    type: 'int',\n    codeSet: 'ExecMethodCodeSet',\n    description:\n      'Automated\\n\\nThe transaction was executed on an automated execution platform such as an automated systematic internaliser system, broker crossing network, broker crossing system, dark pool trading, \"direct to capital\" systems, broker position unwind mechanisms, etc.',\n  },\n  {\n    name: 'VoiceBrokered',\n    id: '2405004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '201',\n    tag: 2405,\n    type: 'int',\n    codeSet: 'ExecMethodCodeSet',\n    description:\n      'Voice brokered\\n\\nThe transaction was negotiated by voice through an intermediary.',\n  },\n  {\n    name: 'DoesNotApply',\n    id: '2387001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '187',\n    updated: 'FIX.Latest',\n    updatedEP: '282',\n    tag: 2387,\n    type: 'int',\n    codeSet: 'TradeContingencyCodeSet',\n    description:\n      'Does not apply (default if not specified)\\n\\nThe trade is for an asset class that is not traded with contingency.',\n  },\n  {\n    name: 'ContingentTrade',\n    id: '2387002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '187',\n    tag: 2387,\n    type: 'int',\n    codeSet: 'TradeContingencyCodeSet',\n    description:\n      'Contingent trade\\n\\nThe trade is terminated as soon as its paired trade is cleared or denied clearing.',\n  },\n  {\n    name: 'NonContingentTrade',\n    id: '2387003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '187',\n    tag: 2387,\n    type: 'int',\n    codeSet: 'TradeContingencyCodeSet',\n    description:\n      'Non-contingent trade\\n\\nIdentifies a trade that is not contingent but is for an asset class that may be contingent.',\n  },\n  {\n    name: 'Initial',\n    id: '40993001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '187',\n    tag: 40993,\n    type: 'int',\n    codeSet: 'PaymentSubTypeCodeSet',\n    description: 'Initial (principal exchange)',\n  },\n  {\n    name: 'Intermediate',\n    id: '40993002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '187',\n    tag: 40993,\n    type: 'int',\n    codeSet: 'PaymentSubTypeCodeSet',\n    description: 'Intermediate (principal exchange)',\n  },\n  {\n    name: 'Final',\n    id: '40993003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '187',\n    tag: 40993,\n    type: 'int',\n    codeSet: 'PaymentSubTypeCodeSet',\n    description: 'Final (principal exchange)',\n  },\n  {\n    name: 'Prepaid',\n    id: '40993004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '187',\n    tag: 40993,\n    type: 'int',\n    codeSet: 'PaymentSubTypeCodeSet',\n    description: 'Prepaid (premium forward)',\n  },\n  {\n    name: 'Postpaid',\n    id: '40993005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '187',\n    tag: 40993,\n    type: 'int',\n    codeSet: 'PaymentSubTypeCodeSet',\n    description: 'Postpaid (premium forward)',\n  },\n  {\n    name: 'Variable',\n    id: '40993006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '187',\n    tag: 40993,\n    type: 'int',\n    codeSet: 'PaymentSubTypeCodeSet',\n    description: 'Variable (premium forward)',\n  },\n  {\n    name: 'Fixed',\n    id: '40993007',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '187',\n    tag: 40993,\n    type: 'int',\n    codeSet: 'PaymentSubTypeCodeSet',\n    description: 'Fixed (premium forward)',\n  },\n  {\n    name: 'Swap',\n    id: '40993008',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '187',\n    tag: 40993,\n    type: 'int',\n    codeSet: 'PaymentSubTypeCodeSet',\n    description:\n      'Swap (premium)\\n\\nIndicates that the premium is to be paid in the style of payments under an IRS contract.',\n  },\n  {\n    name: 'Conditional',\n    id: '40993009',\n    value: '8',\n    sort: 8,\n    added: 'FIX.5.0SP2',\n    addedEP: '187',\n    tag: 40993,\n    type: 'int',\n    codeSet: 'PaymentSubTypeCodeSet',\n    description: 'Conditional (principal exchange on exercise)',\n  },\n  {\n    name: 'FixedRate',\n    id: '40993010',\n    value: '9',\n    sort: 9,\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 40993,\n    type: 'int',\n    codeSet: 'PaymentSubTypeCodeSet',\n    description:\n      'Fixed rate\\n\\nApplicable to PaymentType(40213)=14 (Rebate) for which PaymentFixedRate(43097) and its qualifiers supersede PaymentAmount(40217).',\n  },\n  {\n    name: 'FloatingRate',\n    id: '40993011',\n    value: '10',\n    sort: 10,\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 40993,\n    type: 'int',\n    codeSet: 'PaymentSubTypeCodeSet',\n    description:\n      'Floating rate\\n\\nApplicable to PaymentType(40213)=14 (Rebate) for which PaymentFloatingRateIndex(43098) and its qualifiers supersede PaymentAmount(40217).',\n  },\n  {\n    name: 'Accepted',\n    id: '2425001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '188',\n    tag: 2425,\n    type: 'int',\n    codeSet: 'MassOrderRequestStatusCodeSet',\n    description: 'Accepted',\n  },\n  {\n    name: 'AcceptedWithAdditionalEvents',\n    id: '2425002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '188',\n    tag: 2425,\n    type: 'int',\n    codeSet: 'MassOrderRequestStatusCodeSet',\n    description: 'Accepted with additional events',\n  },\n  {\n    name: 'Rejected',\n    id: '2425003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '188',\n    tag: 2425,\n    type: 'int',\n    codeSet: 'MassOrderRequestStatusCodeSet',\n    description: 'Rejected',\n  },\n  {\n    name: 'Successful',\n    id: '2426001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '188',\n    tag: 2426,\n    type: 'int',\n    codeSet: 'MassOrderRequestResultCodeSet',\n    description: 'Successful',\n  },\n  {\n    name: 'ResponseLevelNotSupported',\n    id: '2426002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '188',\n    tag: 2426,\n    type: 'int',\n    codeSet: 'MassOrderRequestResultCodeSet',\n    description: 'Response level not supported',\n  },\n  {\n    name: 'InvalidMarket',\n    id: '2426003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '188',\n    tag: 2426,\n    type: 'int',\n    codeSet: 'MassOrderRequestResultCodeSet',\n    description: 'Invalid market',\n  },\n  {\n    name: 'InvalidMarketSegment',\n    id: '2426004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '188',\n    tag: 2426,\n    type: 'int',\n    codeSet: 'MassOrderRequestResultCodeSet',\n    description: 'Invalid market segment',\n  },\n  {\n    name: 'Other',\n    id: '2426005',\n    value: '99',\n    sort: 99,\n    added: 'FIX.5.0SP2',\n    addedEP: '188',\n    tag: 2426,\n    type: 'int',\n    codeSet: 'MassOrderRequestResultCodeSet',\n    description: 'Other',\n  },\n  {\n    name: 'NoAck',\n    id: '2427001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '188',\n    tag: 2427,\n    type: 'int',\n    codeSet: 'OrderResponseLevelCodeSet',\n    description:\n      'No acknowledgement\\n\\nResponses are provided through one or more ExecutionReport(35=8) messages.',\n  },\n  {\n    name: 'MinimumAck',\n    id: '2427002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '188',\n    tag: 2427,\n    type: 'int',\n    codeSet: 'OrderResponseLevelCodeSet',\n    description:\n      'Minimum acknowledgement\\n\\nThe minimum is any information to explain why the requested transaction was refused or led to additional events, e.g. immediate execution of an order that was entered or modified.',\n  },\n  {\n    name: 'AckEach',\n    id: '2427003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '188',\n    tag: 2427,\n    type: 'int',\n    codeSet: 'OrderResponseLevelCodeSet',\n    description:\n      'Acknowledge each order\\n\\nThe number of entries in the response is identical to the number of entries in the request.',\n  },\n  {\n    name: 'SummaryAck',\n    id: '2427004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '188',\n    tag: 2427,\n    type: 'int',\n    codeSet: 'OrderResponseLevelCodeSet',\n    description:\n      'Summary acknowledgement\\n\\nResponses are provided through a single MassOrderAck(35=DK) without entries and one or more ExecutionReport(35=8) messages.',\n  },\n  {\n    name: 'Add',\n    id: '2429001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '188',\n    tag: 2429,\n    type: 'char',\n    codeSet: 'OrderEntryActionCodeSet',\n    description: 'Add',\n  },\n  {\n    name: 'Modify',\n    id: '2429002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '188',\n    tag: 2429,\n    type: 'char',\n    codeSet: 'OrderEntryActionCodeSet',\n    description: 'Modify',\n  },\n  {\n    name: 'Delete',\n    id: '2429003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '188',\n    tag: 2429,\n    type: 'char',\n    codeSet: 'OrderEntryActionCodeSet',\n    description: 'Delete / Cancel',\n  },\n  {\n    name: 'Suspend',\n    id: '2429004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '188',\n    updated: 'FIX.Latest',\n    updatedEP: '271',\n    tag: 2429,\n    type: 'char',\n    codeSet: 'OrderEntryActionCodeSet',\n    description: 'Suspend',\n  },\n  {\n    name: 'Release',\n    id: '2429005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '188',\n    tag: 2429,\n    type: 'char',\n    codeSet: 'OrderEntryActionCodeSet',\n    description: 'Release',\n  },\n  {\n    name: 'OrdAddedOnRequest',\n    id: '2431001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '188',\n    tag: 2431,\n    type: 'int',\n    codeSet: 'ExecTypeReasonCodeSet',\n    description: 'Order added upon request',\n  },\n  {\n    name: 'OrdReplacedOnRequest',\n    id: '2431002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '188',\n    tag: 2431,\n    type: 'int',\n    codeSet: 'ExecTypeReasonCodeSet',\n    description: 'Order replaced upon request',\n  },\n  {\n    name: 'OrdCxldOnRequest',\n    id: '2431003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '188',\n    tag: 2431,\n    type: 'int',\n    codeSet: 'ExecTypeReasonCodeSet',\n    description: 'Order cancelled upon request',\n  },\n  {\n    name: 'UnsolicitedOrdCxl',\n    id: '2431004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '188',\n    tag: 2431,\n    type: 'int',\n    codeSet: 'ExecTypeReasonCodeSet',\n    description: 'Unsolicited order cancellation',\n  },\n  {\n    name: 'NonRestingOrdAddedOnRequest',\n    id: '2431005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '188',\n    tag: 2431,\n    type: 'int',\n    codeSet: 'ExecTypeReasonCodeSet',\n    description: 'Non-resting order added upon request',\n  },\n  {\n    name: 'OrdReplacedWithNonRestingOrdOnRequest',\n    id: '2431006',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '188',\n    tag: 2431,\n    type: 'int',\n    codeSet: 'ExecTypeReasonCodeSet',\n    description: 'Order replaced with non-resting order upon request',\n  },\n  {\n    name: 'TriggerOrdReplacedOnRequest',\n    id: '2431007',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '188',\n    tag: 2431,\n    type: 'int',\n    codeSet: 'ExecTypeReasonCodeSet',\n    description: 'Trigger order replaced upon request',\n  },\n  {\n    name: 'SuspendedOrdReplacedOnRequest',\n    id: '2431008',\n    value: '8',\n    sort: 8,\n    added: 'FIX.5.0SP2',\n    addedEP: '188',\n    tag: 2431,\n    type: 'int',\n    codeSet: 'ExecTypeReasonCodeSet',\n    description: 'Suspended order replaced upon request',\n  },\n  {\n    name: 'SuspendedOrdCxldOnRequest',\n    id: '2431009',\n    value: '9',\n    sort: 9,\n    added: 'FIX.5.0SP2',\n    addedEP: '188',\n    tag: 2431,\n    type: 'int',\n    codeSet: 'ExecTypeReasonCodeSet',\n    description: 'Suspended order canceled upon request',\n  },\n  {\n    name: 'OrdCxlPending',\n    id: '2431010',\n    value: '10',\n    sort: 10,\n    added: 'FIX.5.0SP2',\n    addedEP: '188',\n    tag: 2431,\n    type: 'int',\n    codeSet: 'ExecTypeReasonCodeSet',\n    description: 'Order cancellation pending',\n  },\n  {\n    name: 'PendingCxlExecuted',\n    id: '2431011',\n    value: '11',\n    sort: 11,\n    added: 'FIX.5.0SP2',\n    addedEP: '188',\n    tag: 2431,\n    type: 'int',\n    codeSet: 'ExecTypeReasonCodeSet',\n    description: 'Pending cancellation executed',\n  },\n  {\n    name: 'RestingOrdTriggered',\n    id: '2431012',\n    value: '12',\n    sort: 12,\n    added: 'FIX.5.0SP2',\n    addedEP: '188',\n    tag: 2431,\n    type: 'int',\n    codeSet: 'ExecTypeReasonCodeSet',\n    description: 'Resting order triggered',\n  },\n  {\n    name: 'SuspendedOrdActivated',\n    id: '2431013',\n    value: '13',\n    sort: 13,\n    added: 'FIX.5.0SP2',\n    addedEP: '188',\n    tag: 2431,\n    type: 'int',\n    codeSet: 'ExecTypeReasonCodeSet',\n    description: 'Suspended order activated',\n  },\n  {\n    name: 'ActiveOrdSuspended',\n    id: '2431014',\n    value: '14',\n    sort: 14,\n    added: 'FIX.5.0SP2',\n    addedEP: '188',\n    tag: 2431,\n    type: 'int',\n    codeSet: 'ExecTypeReasonCodeSet',\n    description: 'Active order suspended',\n  },\n  {\n    name: 'OrdExpired',\n    id: '2431015',\n    value: '15',\n    sort: 15,\n    added: 'FIX.5.0SP2',\n    addedEP: '188',\n    tag: 2431,\n    type: 'int',\n    codeSet: 'ExecTypeReasonCodeSet',\n    description: 'Order expired',\n  },\n  {\n    name: 'New',\n    id: '2439001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '189',\n    tag: 2439,\n    type: 'int',\n    codeSet: 'TransferTransTypeCodeSet',\n    description: 'New',\n  },\n  {\n    name: 'Replace',\n    id: '2439002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '189',\n    tag: 2439,\n    type: 'int',\n    codeSet: 'TransferTransTypeCodeSet',\n    description: 'Replace',\n  },\n  {\n    name: 'Cancel',\n    id: '2439003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '189',\n    tag: 2439,\n    type: 'int',\n    codeSet: 'TransferTransTypeCodeSet',\n    description: 'Cancel',\n  },\n  {\n    name: 'RequestTransfer',\n    id: '2440001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '189',\n    tag: 2440,\n    type: 'int',\n    codeSet: 'TransferTypeCodeSet',\n    description: 'Request transfer',\n  },\n  {\n    name: 'AcceptTransfer',\n    id: '2440002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '189',\n    tag: 2440,\n    type: 'int',\n    codeSet: 'TransferTypeCodeSet',\n    description: 'Accept transfer',\n  },\n  {\n    name: 'DeclineTransfer',\n    id: '2440003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '189',\n    tag: 2440,\n    type: 'int',\n    codeSet: 'TransferTypeCodeSet',\n    description: 'Decline transfer',\n  },\n  {\n    name: 'InterFirmTransfer',\n    id: '2441001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '189',\n    tag: 2441,\n    type: 'int',\n    codeSet: 'TransferScopeCodeSet',\n    description: 'Inter-firm transfer',\n  },\n  {\n    name: 'IntraFirmTransfer',\n    id: '2441002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '189',\n    tag: 2441,\n    type: 'int',\n    codeSet: 'TransferScopeCodeSet',\n    description: 'Intra-firm transfer',\n  },\n  {\n    name: 'CMTA',\n    id: '2441003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '189',\n    tag: 2441,\n    type: 'int',\n    codeSet: 'TransferScopeCodeSet',\n    description: 'Clearing Member Trade Assignment',\n  },\n  {\n    name: 'Received',\n    id: '2442001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '189',\n    tag: 2442,\n    type: 'int',\n    codeSet: 'TransferStatusCodeSet',\n    description: 'Received',\n  },\n  {\n    name: 'RejectedByIntermediary',\n    id: '2442002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '189',\n    tag: 2442,\n    type: 'int',\n    codeSet: 'TransferStatusCodeSet',\n    description: 'Rejected by intermediary',\n  },\n  {\n    name: 'AcceptPending',\n    id: '2442003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '189',\n    tag: 2442,\n    type: 'int',\n    codeSet: 'TransferStatusCodeSet',\n    description: 'Accept pending',\n  },\n  {\n    name: 'Accepted',\n    id: '2442004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '189',\n    tag: 2442,\n    type: 'int',\n    codeSet: 'TransferStatusCodeSet',\n    description: 'Accepted',\n  },\n  {\n    name: 'Declined',\n    id: '2442005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '189',\n    tag: 2442,\n    type: 'int',\n    codeSet: 'TransferStatusCodeSet',\n    description: 'Declined',\n  },\n  {\n    name: 'Cancelled',\n    id: '2442006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '189',\n    tag: 2442,\n    type: 'int',\n    codeSet: 'TransferStatusCodeSet',\n    description: 'Cancelled',\n  },\n  {\n    name: 'Success',\n    id: '2443001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '189',\n    tag: 2443,\n    type: 'int',\n    codeSet: 'TransferRejectReasonCodeSet',\n    description: 'Success',\n  },\n  {\n    name: 'InvalidParty',\n    id: '2443002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '189',\n    tag: 2443,\n    type: 'int',\n    codeSet: 'TransferRejectReasonCodeSet',\n    description: 'Invalid party',\n  },\n  {\n    name: 'UnknownInstrument',\n    id: '2443003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '189',\n    tag: 2443,\n    type: 'int',\n    codeSet: 'TransferRejectReasonCodeSet',\n    description: 'Unknown instrument',\n  },\n  {\n    name: 'UnauthorizedToSubmitXfer',\n    id: '2443004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '189',\n    tag: 2443,\n    type: 'int',\n    codeSet: 'TransferRejectReasonCodeSet',\n    description: 'Not authorized to submit transfers',\n  },\n  {\n    name: 'UnknownPosition',\n    id: '2443005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '189',\n    tag: 2443,\n    type: 'int',\n    codeSet: 'TransferRejectReasonCodeSet',\n    description: 'Unknown position',\n  },\n  {\n    name: 'Other',\n    id: '2443006',\n    value: '99',\n    sort: 99,\n    added: 'FIX.5.0SP2',\n    addedEP: '189',\n    tag: 2443,\n    type: 'int',\n    codeSet: 'TransferRejectReasonCodeSet',\n    description: 'Other',\n  },\n  {\n    name: 'Submit',\n    id: '2444001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '189',\n    tag: 2444,\n    type: 'int',\n    codeSet: 'TransferReportTypeCodeSet',\n    description: 'Submit',\n  },\n  {\n    name: 'Alleged',\n    id: '2444002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '189',\n    tag: 2444,\n    type: 'int',\n    codeSet: 'TransferReportTypeCodeSet',\n    description: 'Alleged',\n  },\n  {\n    name: 'Unknown',\n    id: '2451001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.Latest',\n    addedEP: '282',\n    tag: 2451,\n    type: 'int',\n    codeSet: 'SettlPriceDeterminationMethodCodeSet',\n    description: 'Unknown',\n  },\n  {\n    name: 'LastTradePrice',\n    id: '2451002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.Latest',\n    addedEP: '282',\n    tag: 2451,\n    type: 'int',\n    codeSet: 'SettlPriceDeterminationMethodCodeSet',\n    description: 'Last trade price',\n  },\n  {\n    name: 'LastBidPrice',\n    id: '2451003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.Latest',\n    addedEP: '282',\n    tag: 2451,\n    type: 'int',\n    codeSet: 'SettlPriceDeterminationMethodCodeSet',\n    description: 'Last bid price',\n  },\n  {\n    name: 'LastOfferPrice',\n    id: '2451004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.Latest',\n    addedEP: '282',\n    tag: 2451,\n    type: 'int',\n    codeSet: 'SettlPriceDeterminationMethodCodeSet',\n    description: 'Last offer price',\n  },\n  {\n    name: 'MidPrice',\n    id: '2451005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.Latest',\n    addedEP: '282',\n    tag: 2451,\n    type: 'int',\n    codeSet: 'SettlPriceDeterminationMethodCodeSet',\n    description:\n      'Mid price\\n\\nThe price at the mid-point between last bid and last offer price.',\n  },\n  {\n    name: 'AverageLastTradePrice',\n    id: '2451006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.Latest',\n    addedEP: '282',\n    tag: 2451,\n    type: 'int',\n    codeSet: 'SettlPriceDeterminationMethodCodeSet',\n    description:\n      'Average last trade price\\n\\nThe average price across a bi-laterally agreed number of trades, e.g. last five trades.',\n  },\n  {\n    name: 'AverageLastTradePeriod',\n    id: '2451007',\n    value: '6',\n    sort: 6,\n    added: 'FIX.Latest',\n    addedEP: '282',\n    tag: 2451,\n    type: 'int',\n    codeSet: 'SettlPriceDeterminationMethodCodeSet',\n    description:\n      'Average last trade period\\n\\nAverage price across bi-laterally agreed time period, e.g. last minute of trading.',\n  },\n  {\n    name: 'UnderlyingPrice',\n    id: '2451008',\n    value: '7',\n    sort: 7,\n    added: 'FIX.Latest',\n    addedEP: '282',\n    tag: 2451,\n    type: 'int',\n    codeSet: 'SettlPriceDeterminationMethodCodeSet',\n    description: 'Underlying price\\n\\nBased on price of underlying instrument.',\n  },\n  {\n    name: 'CalculatedPrice',\n    id: '2451009',\n    value: '8',\n    sort: 8,\n    added: 'FIX.Latest',\n    addedEP: '282',\n    tag: 2451,\n    type: 'int',\n    codeSet: 'SettlPriceDeterminationMethodCodeSet',\n    description: 'Calculated price\\n\\nOther calculation method, e.g. theoretical price.',\n  },\n  {\n    name: 'ManualPrice',\n    id: '2451010',\n    value: '9',\n    sort: 9,\n    added: 'FIX.Latest',\n    addedEP: '282',\n    tag: 2451,\n    type: 'int',\n    codeSet: 'SettlPriceDeterminationMethodCodeSet',\n    description: 'Manual price\\n\\nManually entered price.',\n  },\n  {\n    name: 'Count',\n    id: '2456001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2456,\n    type: 'int',\n    codeSet: 'MDStatisticTypeCodeSet',\n    description:\n      'Count\\n\\nSimple count of entities or events, e.g. orders transactions during a period of time.',\n  },\n  {\n    name: 'AverageVolume',\n    id: '2456002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '231',\n    tag: 2456,\n    type: 'int',\n    codeSet: 'MDStatisticTypeCodeSet',\n    description:\n      'Average volume\\n\\nAverage quantity of entities, e.g. average volume of incoming quotes or average trade volume.',\n  },\n  {\n    name: 'TotalVolume',\n    id: '2456003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '231',\n    tag: 2456,\n    type: 'int',\n    codeSet: 'MDStatisticTypeCodeSet',\n    description:\n      'Total volume\\n\\nAggregated quantities of entities across events, e.g. total trade volume during a period of time.',\n  },\n  {\n    name: 'Distribution',\n    id: '2456004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2456,\n    type: 'int',\n    codeSet: 'MDStatisticTypeCodeSet',\n    description:\n      'Distribution\\n\\nDistribution of entities across entity types, e.g. percentage of limit orders amongst all order types.',\n  },\n  {\n    name: 'Ratio',\n    id: '2456005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2456,\n    type: 'int',\n    codeSet: 'MDStatisticTypeCodeSet',\n    description:\n      'Ratio\\n\\nPre-defined ratio between entities, e.g. ratio of trades triggered by buy orders.',\n  },\n  {\n    name: 'Liquidity',\n    id: '2456006',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2456,\n    type: 'int',\n    codeSet: 'MDStatisticTypeCodeSet',\n    description:\n      'Liquidity\\n\\nMeasurement of liquidity of an instrument, e.g. by providing the spread between bid and offer or the trade volume needed to move the price.',\n  },\n  {\n    name: 'VWAP',\n    id: '2456007',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2456,\n    type: 'int',\n    codeSet: 'MDStatisticTypeCodeSet',\n    description: 'Volume weighted average price (VWAP)\\n\\nBenchmark price.',\n  },\n  {\n    name: 'Volatility',\n    id: '2456008',\n    value: '8',\n    sort: 8,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2456,\n    type: 'int',\n    codeSet: 'MDStatisticTypeCodeSet',\n    description:\n      'Volatility\\n\\nVolatility of entities, e.g. price movements of incoming orders.',\n  },\n  {\n    name: 'Duration',\n    id: '2456009',\n    value: '9',\n    sort: 9,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2456,\n    type: 'int',\n    codeSet: 'MDStatisticTypeCodeSet',\n    description:\n      'Duration\\n\\nTime period of events, e.g. resting period of passive orders.',\n  },\n  {\n    name: 'Tick',\n    id: '2456010',\n    value: '10',\n    sort: 10,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2456,\n    type: 'int',\n    codeSet: 'MDStatisticTypeCodeSet',\n    description: 'Tick\\n\\nPrice movement of an instrument in number of ticks.',\n  },\n  {\n    name: 'AverageValue',\n    id: '2456011',\n    value: '11',\n    sort: 11,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '231',\n    tag: 2456,\n    type: 'int',\n    codeSet: 'MDStatisticTypeCodeSet',\n    description: 'Average value\\n\\nAverage quantity multiplied by price.',\n  },\n  {\n    name: 'TotalValue',\n    id: '2456012',\n    value: '12',\n    sort: 12,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '231',\n    tag: 2456,\n    type: 'int',\n    codeSet: 'MDStatisticTypeCodeSet',\n    description:\n      'Total value\\n\\nAggregated quantity multiplied by price; also described as turnover.',\n  },\n  {\n    name: 'High',\n    id: '2456013',\n    value: '13',\n    sort: 13,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2456,\n    type: 'int',\n    codeSet: 'MDStatisticTypeCodeSet',\n    description: 'High\\n\\nHighest price.',\n  },\n  {\n    name: 'Low',\n    id: '2456014',\n    value: '14',\n    sort: 14,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2456,\n    type: 'int',\n    codeSet: 'MDStatisticTypeCodeSet',\n    description: 'Low\\n\\nLowest price.',\n  },\n  {\n    name: 'Midpoint',\n    id: '2456015',\n    value: '15',\n    sort: 15,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2456,\n    type: 'int',\n    codeSet: 'MDStatisticTypeCodeSet',\n    description: 'Midpoint\\n\\nMidpoint price between bid and offer.',\n  },\n  {\n    name: 'First',\n    id: '2456016',\n    value: '16',\n    sort: 16,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2456,\n    type: 'int',\n    codeSet: 'MDStatisticTypeCodeSet',\n    description: 'First\\n\\nFirst price or initial value.',\n  },\n  {\n    name: 'Last',\n    id: '2456017',\n    value: '17',\n    sort: 17,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2456,\n    type: 'int',\n    codeSet: 'MDStatisticTypeCodeSet',\n    description: 'Last\\n\\nMost recent price or value.',\n  },\n  {\n    name: 'Final',\n    id: '2456018',\n    value: '18',\n    sort: 18,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2456,\n    type: 'int',\n    codeSet: 'MDStatisticTypeCodeSet',\n    description: 'Final\\n\\nFinal price or confirmed value.',\n  },\n  {\n    name: 'ExchangeBest',\n    id: '2456019',\n    value: '19',\n    sort: 19,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2456,\n    type: 'int',\n    codeSet: 'MDStatisticTypeCodeSet',\n    description: 'Exchange best\\n\\nBest price of a single venue regardless of volume.',\n  },\n  {\n    name: 'ExchangeBestWithVolume',\n    id: '2456020',\n    value: '20',\n    sort: 20,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2456,\n    type: 'int',\n    codeSet: 'MDStatisticTypeCodeSet',\n    description:\n      'Exchange best with volume\\n\\nBest price of a single venue with volume at or above a pre-defined threshold.',\n  },\n  {\n    name: 'ConsolidatedBest',\n    id: '2456021',\n    value: '21',\n    sort: 21,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2456,\n    type: 'int',\n    codeSet: 'MDStatisticTypeCodeSet',\n    description:\n      'Consolidated best\\n\\nBest price across multiple venues regardless of volume.',\n  },\n  {\n    name: 'ConsolidatedBestWithVolume',\n    id: '2456022',\n    value: '22',\n    sort: 22,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2456,\n    type: 'int',\n    codeSet: 'MDStatisticTypeCodeSet',\n    description:\n      'Consolidated best with volume\\n\\nBest price across multiple venues with volume at or above a pre-defined threshold.',\n  },\n  {\n    name: 'TWAP',\n    id: '2456023',\n    value: '23',\n    sort: 23,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2456,\n    type: 'int',\n    codeSet: 'MDStatisticTypeCodeSet',\n    description: 'Time weighted average price (TWAP)',\n  },\n  {\n    name: 'AverageDuration',\n    id: '2456024',\n    value: '24',\n    sort: 24,\n    added: 'FIX.5.0SP2',\n    addedEP: '231',\n    tag: 2456,\n    type: 'int',\n    codeSet: 'MDStatisticTypeCodeSet',\n    description: 'Average duration\\n\\nAverage duration of time periods of events.',\n  },\n  {\n    name: 'AveragePrice',\n    id: '2456025',\n    value: '25',\n    sort: 25,\n    added: 'FIX.5.0SP2',\n    addedEP: '231',\n    tag: 2456,\n    type: 'int',\n    codeSet: 'MDStatisticTypeCodeSet',\n    description: 'Average price\\n\\nAverage price across entities e.g. trade prices.',\n  },\n  {\n    name: 'TotalFees',\n    id: '2456026',\n    value: '26',\n    sort: 26,\n    added: 'FIX.5.0SP2',\n    addedEP: '231',\n    tag: 2456,\n    type: 'int',\n    codeSet: 'MDStatisticTypeCodeSet',\n    description: 'Total fees\\n\\nAggregated fees.',\n  },\n  {\n    name: 'TotalBenefits',\n    id: '2456027',\n    value: '27',\n    sort: 27,\n    added: 'FIX.5.0SP2',\n    addedEP: '231',\n    tag: 2456,\n    type: 'int',\n    codeSet: 'MDStatisticTypeCodeSet',\n    description: 'Total benefits\\n\\nAggregated benefits.',\n  },\n  {\n    name: 'MedianValue',\n    id: '2456028',\n    value: '28',\n    sort: 28,\n    added: 'FIX.5.0SP2',\n    addedEP: '231',\n    tag: 2456,\n    type: 'int',\n    codeSet: 'MDStatisticTypeCodeSet',\n    description:\n      'Median value\\n\\nMedian quantity multiplied by price for orders or quotes.',\n  },\n  {\n    name: 'AverageLiquidity',\n    id: '2456029',\n    value: '29',\n    sort: 29,\n    added: 'FIX.5.0SP2',\n    addedEP: '231',\n    tag: 2456,\n    type: 'int',\n    codeSet: 'MDStatisticTypeCodeSet',\n    description:\n      'Average liquidity\\n\\nAverage liquidity of an instrument e.g. average effective spread.',\n  },\n  {\n    name: 'MedianDuration',\n    id: '2456030',\n    value: '30',\n    sort: 30,\n    added: 'FIX.5.0SP2',\n    addedEP: '231',\n    tag: 2456,\n    type: 'int',\n    codeSet: 'MDStatisticTypeCodeSet',\n    description: 'Median duration\\n\\nMedian duration of time periods of events.',\n  },\n  {\n    name: 'BidPrices',\n    id: '2457001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2457,\n    type: 'int',\n    codeSet: 'MDStatisticScopeCodeSet',\n    description: 'Bid prices',\n  },\n  {\n    name: 'OfferPrices',\n    id: '2457002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2457,\n    type: 'int',\n    codeSet: 'MDStatisticScopeCodeSet',\n    description: 'Offer prices',\n  },\n  {\n    name: 'BidDepth',\n    id: '2457003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2457,\n    type: 'int',\n    codeSet: 'MDStatisticScopeCodeSet',\n    description: 'Bid depth',\n  },\n  {\n    name: 'OfferDepth',\n    id: '2457004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2457,\n    type: 'int',\n    codeSet: 'MDStatisticScopeCodeSet',\n    description: 'Offer depth',\n  },\n  {\n    name: 'Orders',\n    id: '2457005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2457,\n    type: 'int',\n    codeSet: 'MDStatisticScopeCodeSet',\n    description: 'Orders',\n  },\n  {\n    name: 'Quotes',\n    id: '2457006',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2457,\n    type: 'int',\n    codeSet: 'MDStatisticScopeCodeSet',\n    description: 'Quotes',\n  },\n  {\n    name: 'OrdersAndQuotes',\n    id: '2457007',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2457,\n    type: 'int',\n    codeSet: 'MDStatisticScopeCodeSet',\n    description: 'Orders and Quotes',\n  },\n  {\n    name: 'Trades',\n    id: '2457008',\n    value: '8',\n    sort: 8,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2457,\n    type: 'int',\n    codeSet: 'MDStatisticScopeCodeSet',\n    description: 'Trades',\n  },\n  {\n    name: 'TradePrices',\n    id: '2457009',\n    value: '9',\n    sort: 9,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2457,\n    type: 'int',\n    codeSet: 'MDStatisticScopeCodeSet',\n    description: 'Trade prices',\n  },\n  {\n    name: 'AuctionPrices',\n    id: '2457010',\n    value: '10',\n    sort: 10,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2457,\n    type: 'int',\n    codeSet: 'MDStatisticScopeCodeSet',\n    description: 'Auction prices',\n  },\n  {\n    name: 'OpeningPrices',\n    id: '2457011',\n    value: '11',\n    sort: 11,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2457,\n    type: 'int',\n    codeSet: 'MDStatisticScopeCodeSet',\n    description: 'Opening prices',\n  },\n  {\n    name: 'ClosingPrices',\n    id: '2457012',\n    value: '12',\n    sort: 12,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2457,\n    type: 'int',\n    codeSet: 'MDStatisticScopeCodeSet',\n    description: 'Closing prices',\n  },\n  {\n    name: 'SettlementPrices',\n    id: '2457013',\n    value: '13',\n    sort: 13,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2457,\n    type: 'int',\n    codeSet: 'MDStatisticScopeCodeSet',\n    description: 'Settlement prices',\n  },\n  {\n    name: 'UnderlyingPrices',\n    id: '2457014',\n    value: '14',\n    sort: 14,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2457,\n    type: 'int',\n    codeSet: 'MDStatisticScopeCodeSet',\n    description: 'Underlying prices',\n  },\n  {\n    name: 'OpenInterest',\n    id: '2457015',\n    value: '15',\n    sort: 15,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2457,\n    type: 'int',\n    codeSet: 'MDStatisticScopeCodeSet',\n    description: 'Open interest',\n  },\n  {\n    name: 'IndexValues',\n    id: '2457016',\n    value: '16',\n    sort: 16,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2457,\n    type: 'int',\n    codeSet: 'MDStatisticScopeCodeSet',\n    description: 'Index values',\n  },\n  {\n    name: 'MarginRates',\n    id: '2457017',\n    value: '17',\n    sort: 17,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2457,\n    type: 'int',\n    codeSet: 'MDStatisticScopeCodeSet',\n    description: 'Margin rates',\n  },\n  {\n    name: 'Outages',\n    id: '2457018',\n    value: '18',\n    sort: 18,\n    added: 'FIX.5.0SP2',\n    addedEP: '231',\n    tag: 2457,\n    type: 'int',\n    codeSet: 'MDStatisticScopeCodeSet',\n    description: 'Outages\\n\\nSystem halt due to a technical malfunction or failure.',\n  },\n  {\n    name: 'ScheduledAuctions',\n    id: '2457019',\n    value: '19',\n    sort: 18,\n    added: 'FIX.5.0SP2',\n    addedEP: '231',\n    tag: 2457,\n    type: 'int',\n    codeSet: 'MDStatisticScopeCodeSet',\n    description: 'Scheduled auctions',\n  },\n  {\n    name: 'ReferencePrices',\n    id: '2457020',\n    value: '20',\n    sort: 20,\n    added: 'FIX.5.0SP2',\n    addedEP: '231',\n    tag: 2457,\n    type: 'int',\n    codeSet: 'MDStatisticScopeCodeSet',\n    description: 'Reference prices',\n  },\n  {\n    name: 'TradeValue',\n    id: '2457021',\n    value: '21',\n    sort: 21,\n    added: 'FIX.5.0SP2',\n    addedEP: '231',\n    tag: 2457,\n    type: 'int',\n    codeSet: 'MDStatisticScopeCodeSet',\n    description: 'Trade value\\n\\nTrade size multiplied by price.',\n  },\n  {\n    name: 'MarketDataFeeItems',\n    id: '2457022',\n    value: '22',\n    sort: 22,\n    added: 'FIX.5.0SP2',\n    addedEP: '231',\n    tag: 2457,\n    type: 'int',\n    codeSet: 'MDStatisticScopeCodeSet',\n    description: 'Market data fee items\\n\\nFees related to market data access.',\n  },\n  {\n    name: 'Rebates',\n    id: '2457023',\n    value: '23',\n    sort: 23,\n    added: 'FIX.5.0SP2',\n    addedEP: '231',\n    tag: 2457,\n    type: 'int',\n    codeSet: 'MDStatisticScopeCodeSet',\n    description: 'Rebates\\n\\nRebate items offered to the client.',\n  },\n  {\n    name: 'Discounts',\n    id: '2457024',\n    value: '24',\n    sort: 24,\n    added: 'FIX.5.0SP2',\n    addedEP: '231',\n    tag: 2457,\n    type: 'int',\n    codeSet: 'MDStatisticScopeCodeSet',\n    description: 'Discounts\\n\\nDiscounts offered to the client.',\n  },\n  {\n    name: 'Payments',\n    id: '2457025',\n    value: '25',\n    sort: 25,\n    added: 'FIX.5.0SP2',\n    addedEP: '231',\n    tag: 2457,\n    type: 'int',\n    codeSet: 'MDStatisticScopeCodeSet',\n    description: 'Payments\\n\\nOther benefits offered to the client.',\n  },\n  {\n    name: 'Taxes',\n    id: '2457026',\n    value: '26',\n    sort: 26,\n    added: 'FIX.5.0SP2',\n    addedEP: '231',\n    tag: 2457,\n    type: 'int',\n    codeSet: 'MDStatisticScopeCodeSet',\n    description: 'Taxes\\n\\nTaxes incurred.',\n  },\n  {\n    name: 'Levies',\n    id: '2457027',\n    value: '27',\n    sort: 27,\n    added: 'FIX.5.0SP2',\n    addedEP: '231',\n    tag: 2457,\n    type: 'int',\n    codeSet: 'MDStatisticScopeCodeSet',\n    description: 'Levies\\n\\nLevies incurred.',\n  },\n  {\n    name: 'Benefits',\n    id: '2457028',\n    value: '28',\n    sort: 28,\n    added: 'FIX.5.0SP2',\n    addedEP: '231',\n    tag: 2457,\n    type: 'int',\n    codeSet: 'MDStatisticScopeCodeSet',\n    description: 'Benefits\\n\\nBenefits offered to the client.',\n  },\n  {\n    name: 'Fees',\n    id: '2457029',\n    value: '29',\n    sort: 29,\n    added: 'FIX.5.0SP2',\n    addedEP: '231',\n    tag: 2457,\n    type: 'int',\n    codeSet: 'MDStatisticScopeCodeSet',\n    description: 'Fees',\n  },\n  {\n    name: 'OrdersRFQs',\n    id: '2457030',\n    value: '30',\n    sort: 30,\n    added: 'FIX.5.0SP2',\n    addedEP: '231',\n    tag: 2457,\n    type: 'int',\n    codeSet: 'MDStatisticScopeCodeSet',\n    description: 'Orders and RFQs (Request for quotes)',\n  },\n  {\n    name: 'MarketMakers',\n    id: '2457031',\n    value: '31',\n    sort: 31,\n    added: 'FIX.5.0SP2',\n    addedEP: '231',\n    tag: 2457,\n    type: 'int',\n    codeSet: 'MDStatisticScopeCodeSet',\n    description: 'Market makers',\n  },\n  {\n    name: 'TradingInterruptions',\n    id: '2457032',\n    value: '32',\n    sort: 32,\n    added: 'FIX.5.0SP2',\n    addedEP: '231',\n    tag: 2457,\n    type: 'int',\n    codeSet: 'MDStatisticScopeCodeSet',\n    description:\n      'Trading interruptions\\n\\nDisruption in trading due to an automatic or manual decision.',\n  },\n  {\n    name: 'TradingSuspensions',\n    id: '2457033',\n    value: '33',\n    sort: 33,\n    added: 'FIX.5.0SP2',\n    addedEP: '231',\n    tag: 2457,\n    type: 'int',\n    codeSet: 'MDStatisticScopeCodeSet',\n    description:\n      'Trading suspensions\\n\\nAn instrument is deliberately prevented from being quoted or traded due to a decision by execution venue or a competent authority.',\n  },\n  {\n    name: 'NoQuotes',\n    id: '2457034',\n    value: '34',\n    sort: 34,\n    added: 'FIX.5.0SP2',\n    addedEP: '231',\n    tag: 2457,\n    type: 'int',\n    codeSet: 'MDStatisticScopeCodeSet',\n    description: 'No quotes\\n\\nPeriod of no quotes received.',\n  },\n  {\n    name: 'RequestForQuotes',\n    id: '2457035',\n    value: '35',\n    sort: 35,\n    added: 'FIX.5.0SP2',\n    addedEP: '231',\n    tag: 2457,\n    type: 'int',\n    codeSet: 'MDStatisticScopeCodeSet',\n    description: 'Request for quotes',\n  },\n  {\n    name: 'TradeVolume',\n    id: '2457036',\n    value: '36',\n    sort: 36,\n    added: 'FIX.5.0SP2',\n    addedEP: '236',\n    tag: 2457,\n    type: 'int',\n    codeSet: 'MDStatisticScopeCodeSet',\n    description: 'Trade volume\\n\\nQuantity traded.',\n  },\n  {\n    name: 'Visible',\n    id: '2458001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2458,\n    type: 'int',\n    codeSet: 'MDStatisticSubScopeCodeSet',\n    description: 'Visible\\n\\nOnly includes visible orders and/or quotes.',\n  },\n  {\n    name: 'Hidden',\n    id: '2458002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2458,\n    type: 'int',\n    codeSet: 'MDStatisticSubScopeCodeSet',\n    description: 'Hidden\\n\\nOnly includes hidden orders and/or quotes.',\n  },\n  {\n    name: 'Indicative',\n    id: '2458003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2458,\n    type: 'int',\n    codeSet: 'MDStatisticSubScopeCodeSet',\n    description: 'Indicative\\n\\nOnly includes IOIs and non-tradable quotes.',\n  },\n  {\n    name: 'Tradeable',\n    id: '2458004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2458,\n    type: 'int',\n    codeSet: 'MDStatisticSubScopeCodeSet',\n    description: 'Tradeable\\n\\nExcludes IOIs and indicative quotes.',\n  },\n  {\n    name: 'Passive',\n    id: '2458005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2458,\n    type: 'int',\n    codeSet: 'MDStatisticSubScopeCodeSet',\n    description: 'Passive\\n\\nOnly includes resting orders and tradeable quotes.',\n  },\n  {\n    name: 'MarketConsensus',\n    id: '2458006',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2458,\n    type: 'int',\n    codeSet: 'MDStatisticSubScopeCodeSet',\n    description:\n      'Market consensus\\n\\nOnly includes entities, e.g. trades, conforming to minimum requirements. Details to be defined out of band.',\n  },\n  {\n    name: 'Power',\n    id: '2458007',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '231',\n    tag: 2458,\n    type: 'int',\n    codeSet: 'MDStatisticSubScopeCodeSet',\n    description: 'Power\\n\\nOutages due to power failure.',\n  },\n  {\n    name: 'HardwareError',\n    id: '2458008',\n    value: '8',\n    sort: 8,\n    added: 'FIX.5.0SP2',\n    addedEP: '231',\n    tag: 2458,\n    type: 'int',\n    codeSet: 'MDStatisticSubScopeCodeSet',\n    description: 'Hardware error\\n\\nOutages due to a hardware malfunction or failure.',\n  },\n  {\n    name: 'SoftwareError',\n    id: '2458009',\n    value: '9',\n    sort: 9,\n    added: 'FIX.5.0SP2',\n    addedEP: '231',\n    tag: 2458,\n    type: 'int',\n    codeSet: 'MDStatisticSubScopeCodeSet',\n    description: 'Software error\\n\\nOutages due to a software malfunction or failure.',\n  },\n  {\n    name: 'NetworkError',\n    id: '2458010',\n    value: '10',\n    sort: 10,\n    added: 'FIX.5.0SP2',\n    addedEP: '231',\n    tag: 2458,\n    type: 'int',\n    codeSet: 'MDStatisticSubScopeCodeSet',\n    description: 'Network error\\n\\nOutages due to network error.',\n  },\n  {\n    name: 'Failed',\n    id: '2458011',\n    value: '11',\n    sort: 11,\n    added: 'FIX.5.0SP2',\n    addedEP: '231',\n    tag: 2458,\n    type: 'int',\n    codeSet: 'MDStatisticSubScopeCodeSet',\n    description: 'Failed\\n\\nTransaction voided by the execution venue.',\n  },\n  {\n    name: 'Executed',\n    id: '2458012',\n    value: '12',\n    sort: 12,\n    added: 'FIX.5.0SP2',\n    addedEP: '231',\n    tag: 2458,\n    type: 'int',\n    codeSet: 'MDStatisticSubScopeCodeSet',\n    description: 'Executed\\n\\nTotal or partial execution of an order or quote.',\n  },\n  {\n    name: 'Entered',\n    id: '2458013',\n    value: '13',\n    sort: 13,\n    added: 'FIX.5.0SP2',\n    addedEP: '231',\n    tag: 2458,\n    type: 'int',\n    codeSet: 'MDStatisticSubScopeCodeSet',\n    description: 'Entered\\n\\nOrder or quote entry.',\n  },\n  {\n    name: 'Modified',\n    id: '2458014',\n    value: '14',\n    sort: 14,\n    added: 'FIX.5.0SP2',\n    addedEP: '231',\n    tag: 2458,\n    type: 'int',\n    codeSet: 'MDStatisticSubScopeCodeSet',\n    description: 'Modified\\n\\nOrder or quote modification.',\n  },\n  {\n    name: 'Cancelled',\n    id: '2458015',\n    value: '15',\n    sort: 15,\n    added: 'FIX.5.0SP2',\n    addedEP: '231',\n    tag: 2458,\n    type: 'int',\n    codeSet: 'MDStatisticSubScopeCodeSet',\n    description: 'Cancelled\\n\\nOrder or quote cancellation.',\n  },\n  {\n    name: 'MarketDataAccess',\n    id: '2458016',\n    value: '16',\n    sort: 16,\n    added: 'FIX.5.0SP2',\n    addedEP: '231',\n    tag: 2458,\n    type: 'int',\n    codeSet: 'MDStatisticSubScopeCodeSet',\n    description: 'Market data access',\n  },\n  {\n    name: 'TerminalAccess',\n    id: '2458017',\n    value: '17',\n    sort: 17,\n    added: 'FIX.5.0SP2',\n    addedEP: '231',\n    tag: 2458,\n    type: 'int',\n    codeSet: 'MDStatisticSubScopeCodeSet',\n    description: 'Terminal access',\n  },\n  {\n    name: 'Volume',\n    id: '2458018',\n    value: '18',\n    sort: 18,\n    added: 'FIX.5.0SP2',\n    addedEP: '231',\n    tag: 2458,\n    type: 'int',\n    codeSet: 'MDStatisticSubScopeCodeSet',\n    description: 'Volume\\n\\nSpecifies sub-scope of market data per volume.',\n  },\n  {\n    name: 'Cleared',\n    id: '2458019',\n    value: '19',\n    sort: 19,\n    added: 'FIX.5.0SP2',\n    addedEP: '231',\n    tag: 2458,\n    type: 'int',\n    codeSet: 'MDStatisticSubScopeCodeSet',\n    description: 'Cleared\\n\\nCleared trade.',\n  },\n  {\n    name: 'Settled',\n    id: '2458020',\n    value: '20',\n    sort: 20,\n    added: 'FIX.5.0SP2',\n    addedEP: '231',\n    tag: 2458,\n    type: 'int',\n    codeSet: 'MDStatisticSubScopeCodeSet',\n    description: 'Settled\\n\\nSettled trade.',\n  },\n  {\n    name: 'Other',\n    id: '2458021',\n    value: '21',\n    sort: 21,\n    added: 'FIX.5.0SP2',\n    addedEP: '231',\n    tag: 2458,\n    type: 'int',\n    codeSet: 'MDStatisticSubScopeCodeSet',\n    description: 'Other\\n\\nAny other fees incurred by the client.',\n  },\n  {\n    name: 'Monetary',\n    id: '2458022',\n    value: '22',\n    sort: 22,\n    added: 'FIX.5.0SP2',\n    addedEP: '231',\n    tag: 2458,\n    type: 'int',\n    codeSet: 'MDStatisticSubScopeCodeSet',\n    description: 'Monetary\\n\\nMonetary benefits offered to the clients.',\n  },\n  {\n    name: 'NonMonetary',\n    id: '2458023',\n    value: '23',\n    sort: 23,\n    added: 'FIX.5.0SP2',\n    addedEP: '231',\n    tag: 2458,\n    type: 'int',\n    codeSet: 'MDStatisticSubScopeCodeSet',\n    description: 'Non-monetary\\n\\nNon-monetary benefits offered to the clients',\n  },\n  {\n    name: 'Gross',\n    id: '2458024',\n    value: '24',\n    sort: 24,\n    added: 'FIX.5.0SP2',\n    addedEP: '231',\n    tag: 2458,\n    type: 'int',\n    codeSet: 'MDStatisticSubScopeCodeSet',\n    description: 'Gross\\n\\nTotal fees excluding rebates and discounts.',\n  },\n  {\n    name: 'LargeInScale',\n    id: '2458025',\n    value: '25',\n    sort: 25,\n    added: 'FIX.5.0SP2',\n    addedEP: '231',\n    tag: 2458,\n    type: 'int',\n    codeSet: 'MDStatisticSubScopeCodeSet',\n    description:\n      'Large in scale\\n\\nMeans an order classified as large in scale in accordance with a regulatory definition.',\n  },\n  {\n    name: 'NeitherHiddenNorLargeInScale',\n    id: '2458026',\n    value: '26',\n    sort: 26,\n    added: 'FIX.5.0SP2',\n    addedEP: '231',\n    tag: 2458,\n    type: 'int',\n    codeSet: 'MDStatisticSubScopeCodeSet',\n    description:\n      'Neither hidden nor large in scale\\n\\nExcluding orders pending disclosures and LIS.',\n  },\n  {\n    name: 'CorporateAction',\n    id: '2458027',\n    value: '27',\n    sort: 27,\n    added: 'FIX.5.0SP2',\n    addedEP: '231',\n    tag: 2458,\n    type: 'int',\n    codeSet: 'MDStatisticSubScopeCodeSet',\n    description: 'Corporate action\\n\\nSpecifies type of trading suspension.',\n  },\n  {\n    name: 'VenueDecision',\n    id: '2458028',\n    value: '28',\n    sort: 28,\n    added: 'FIX.5.0SP2',\n    addedEP: '231',\n    tag: 2458,\n    type: 'int',\n    codeSet: 'MDStatisticSubScopeCodeSet',\n    description: 'Venue decision\\n\\nSpecifies type of trading suspension.',\n  },\n  {\n    name: 'MinimumTimePeriod',\n    id: '2458029',\n    value: '29',\n    sort: 29,\n    added: 'FIX.5.0SP2',\n    addedEP: '231',\n    tag: 2458,\n    type: 'int',\n    codeSet: 'MDStatisticSubScopeCodeSet',\n    description:\n      'Minimum time period\\n\\nMinimum time period for the event defined by scope.',\n  },\n  {\n    name: 'Open',\n    id: '2458030',\n    value: '30',\n    sort: 30,\n    added: 'FIX.5.0SP2',\n    addedEP: '231',\n    tag: 2458,\n    type: 'int',\n    codeSet: 'MDStatisticSubScopeCodeSet',\n    description:\n      'Open\\n\\nOpen status of RFQs (request for quotes), no quotes have been provided.',\n  },\n  {\n    name: 'NotExecuted',\n    id: '2458031',\n    value: '31',\n    sort: 31,\n    added: 'FIX.5.0SP2',\n    addedEP: '231',\n    tag: 2458,\n    type: 'int',\n    codeSet: 'MDStatisticSubScopeCodeSet',\n    description: \"Not executed\\n\\nOrders or quotes that didn't execute.\",\n  },\n  {\n    name: 'Aggressive',\n    id: '2458032',\n    value: '32',\n    sort: 32,\n    added: 'FIX.5.0SP2',\n    addedEP: '236',\n    tag: 2458,\n    type: 'int',\n    codeSet: 'MDStatisticSubScopeCodeSet',\n    description:\n      'Aggressive\\n\\nOrder or Quote entered into the order book that took liquidity.',\n  },\n  {\n    name: 'Directed',\n    id: '2458033',\n    value: '33',\n    sort: 33,\n    added: 'FIX.5.0SP2',\n    addedEP: '236',\n    tag: 2458,\n    type: 'int',\n    codeSet: 'MDStatisticSubScopeCodeSet',\n    description: 'Directed\\n\\nAn order where execution venue is specified by the client.',\n  },\n  {\n    name: 'EntryRate',\n    id: '2459001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2459,\n    type: 'int',\n    codeSet: 'MDStatisticScopeTypeCodeSet',\n    description: 'Entry rate',\n  },\n  {\n    name: 'ModificationRate',\n    id: '2459002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2459,\n    type: 'int',\n    codeSet: 'MDStatisticScopeTypeCodeSet',\n    description: 'Modification rate',\n  },\n  {\n    name: 'CancelRate',\n    id: '2459003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2459,\n    type: 'int',\n    codeSet: 'MDStatisticScopeTypeCodeSet',\n    description: 'Cancel rate',\n  },\n  {\n    name: 'DownwardMove',\n    id: '2459004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2459,\n    type: 'int',\n    codeSet: 'MDStatisticScopeTypeCodeSet',\n    description: 'Downward move',\n  },\n  {\n    name: 'UpwardMove',\n    id: '2459005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2459,\n    type: 'int',\n    codeSet: 'MDStatisticScopeTypeCodeSet',\n    description: 'Upward move',\n  },\n  {\n    name: 'SlidingWindow',\n    id: '2464001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2464,\n    type: 'int',\n    codeSet: 'MDStatisticIntervalTypeCodeSet',\n    description:\n      'Sliding window\\n\\nWindow is defined as an interval period up to the current time of dissemination, see MDStatisticIntervalPeriod (2466).',\n  },\n  {\n    name: 'SlidingWindowPeak',\n    id: '2464002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2464,\n    type: 'int',\n    codeSet: 'MDStatisticIntervalTypeCodeSet',\n    description:\n      'Sliding window peak\\n\\nHighest value of all sliding windows across date and/or time range. Omission of date/time range represents current day.',\n  },\n  {\n    name: 'FixedDateRange',\n    id: '2464003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2464,\n    type: 'int',\n    codeSet: 'MDStatisticIntervalTypeCodeSet',\n    description:\n      'Fixed date range\\n\\nInterval may be open ended on either side, see MDStatisticStartDate (2468) and MDStatisticEndDate(2469). Starting/ending time of date fields only apply to the first/last day of the date range. Additional time range may be defined with MDStatisticStartTime(2470) and MDStatisticEndTime(2471) and applies to every business day within date range, i.e. to define an identical time slice across days.',\n  },\n  {\n    name: 'FixedTimeRange',\n    id: '2464004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2464,\n    type: 'int',\n    codeSet: 'MDStatisticIntervalTypeCodeSet',\n    description:\n      'Fixed time range\\n\\nInterval may be open ended on either side, see MDStatisticStartTime(2470) and MDStatisticEndTime(2471).',\n  },\n  {\n    name: 'CurrentTimeUnit',\n    id: '2464005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2464,\n    type: 'int',\n    codeSet: 'MDStatisticIntervalTypeCodeSet',\n    description:\n      'Current time unit\\n\\nRelative time unit which has not ended yet, e.g. current day. Interval ends with the time of dissemination of the statistic. Requires the definition of an actual unit, see MDStatisticIntervalTypeUnit(2465).',\n  },\n  {\n    name: 'PreviousTimeUnit',\n    id: '2464006',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2464,\n    type: 'int',\n    codeSet: 'MDStatisticIntervalTypeCodeSet',\n    description:\n      'Previous time unit\\n\\nRelative time unit which has ended in the past. Requires the definition of an actual unit, see MDStatisticIntervalTypeUnit(2465).',\n  },\n  {\n    name: 'MaximumRange',\n    id: '2464007',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2464,\n    type: 'int',\n    codeSet: 'MDStatisticIntervalTypeCodeSet',\n    description:\n      'Maximum range\\n\\nUse to convey record values over the lifetime of the system or venue.',\n  },\n  {\n    name: 'MaximumRangeUpToPreviousTimeUnit',\n    id: '2464008',\n    value: '8',\n    sort: 8,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2464,\n    type: 'int',\n    codeSet: 'MDStatisticIntervalTypeCodeSet',\n    description:\n      'Maximum range up to previous time unit\\n\\nUse to convey record values over the lifetime of the system or venue but does not include the most recent time unit as it has not completed yet. Requires the definition of an actual unit, see MDStatisticIntervalTypeUnit(2465)',\n  },\n  {\n    name: 'BuyersToSellers',\n    id: '2472001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2472,\n    type: 'int',\n    codeSet: 'MDStatisticRatioTypeCodeSet',\n    description: 'Buyers to sellers\\n\\n',\n  },\n  {\n    name: 'UpticksToDownticks',\n    id: '2472002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2472,\n    type: 'int',\n    codeSet: 'MDStatisticRatioTypeCodeSet',\n    description:\n      'Upticks to downticks\\n\\nCan also be used with a scope of multiple instruments representing an index.',\n  },\n  {\n    name: 'MarketMakerToNonMarketMaker',\n    id: '2472003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2472,\n    type: 'int',\n    codeSet: 'MDStatisticRatioTypeCodeSet',\n    description:\n      'Market maker to non-market maker\\n\\nUse to identify share of market making activity.',\n  },\n  {\n    name: 'AutomatedToNonAutomated',\n    id: '2472004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2472,\n    type: 'int',\n    codeSet: 'MDStatisticRatioTypeCodeSet',\n    description:\n      'Automated to non-automated\\n\\nUse to identify ratio of orders and quotes resulting from automated trading.',\n  },\n  {\n    name: 'OrdersToTrades',\n    id: '2472005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2472,\n    type: 'int',\n    codeSet: 'MDStatisticRatioTypeCodeSet',\n    description: 'Orders to trades\\n\\nUse with scope of trades.',\n  },\n  {\n    name: 'QuotesToTrades',\n    id: '2472006',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2472,\n    type: 'int',\n    codeSet: 'MDStatisticRatioTypeCodeSet',\n    description: 'Quotes to trades\\n\\nUse with scope of trades.',\n  },\n  {\n    name: 'OrdersAndQuotesToTrades',\n    id: '2472007',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2472,\n    type: 'int',\n    codeSet: 'MDStatisticRatioTypeCodeSet',\n    description: 'Orders and quotes to trades\\n\\nUse with scope of trades.',\n  },\n  {\n    name: 'FailedToTotalTradedValue',\n    id: '2472008',\n    value: '8',\n    sort: 8,\n    added: 'FIX.5.0SP2',\n    addedEP: '231',\n    tag: 2472,\n    type: 'int',\n    codeSet: 'MDStatisticRatioTypeCodeSet',\n    description:\n      'Failed to total traded value\\n\\nTotal value of failed trades over total traded value.',\n  },\n  {\n    name: 'BenefitsToTotalTradedValue',\n    id: '2472009',\n    value: '9',\n    sort: 9,\n    added: 'FIX.5.0SP2',\n    addedEP: '231',\n    tag: 2472,\n    type: 'int',\n    codeSet: 'MDStatisticRatioTypeCodeSet',\n    description:\n      'Benefits to total traded value\\n\\nTotal value of all benefits over total traded value.',\n  },\n  {\n    name: 'FeesToTotalTradedValue',\n    id: '2472010',\n    value: '10',\n    sort: 10,\n    added: 'FIX.5.0SP2',\n    addedEP: '231',\n    tag: 2472,\n    type: 'int',\n    codeSet: 'MDStatisticRatioTypeCodeSet',\n    description:\n      'Fees to total traded value\\n\\nTotal value of all fees excluding rebates over total traded value.',\n  },\n  {\n    name: 'TradeVolumeToTotalTradedVolume',\n    id: '2472011',\n    value: '11',\n    sort: 11,\n    added: 'FIX.5.0SP2',\n    addedEP: '236',\n    tag: 2472,\n    type: 'int',\n    codeSet: 'MDStatisticRatioTypeCodeSet',\n    description:\n      'Trade volume to total traded volume\\n\\nTotal value of failed trades over total traded value.',\n  },\n  {\n    name: 'OrdersToTotalNumberOrders',\n    id: '2472012',\n    value: '12',\n    sort: 12,\n    added: 'FIX.5.0SP2',\n    addedEP: '236',\n    tag: 2472,\n    type: 'int',\n    codeSet: 'MDStatisticRatioTypeCodeSet',\n    description:\n      'Orders to total number of orders\\n\\nOrders pertaining to a type over total number of orders.',\n  },\n  {\n    name: 'Successful',\n    id: '2473001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2473,\n    type: 'int',\n    codeSet: 'MDStatisticRequestResultCodeSet',\n    description: 'Successful (default)',\n  },\n  {\n    name: 'InvalidOrUnknownMarket',\n    id: '2473002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2473,\n    type: 'int',\n    codeSet: 'MDStatisticRequestResultCodeSet',\n    description: 'Invalid or unknown market',\n  },\n  {\n    name: 'InvalidOrUnknownMarketSegment',\n    id: '2473003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2473,\n    type: 'int',\n    codeSet: 'MDStatisticRequestResultCodeSet',\n    description: 'Invalid or unknown market segment',\n  },\n  {\n    name: 'InvalidOrUnknownSecurityList',\n    id: '2473004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2473,\n    type: 'int',\n    codeSet: 'MDStatisticRequestResultCodeSet',\n    description: 'Invalid or unknown security list',\n  },\n  {\n    name: 'InvalidOrUnknownInstruments',\n    id: '2473005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2473,\n    type: 'int',\n    codeSet: 'MDStatisticRequestResultCodeSet',\n    description: 'Invalid or unknown instrument(s)',\n  },\n  {\n    name: 'InvalidParties',\n    id: '2473006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2473,\n    type: 'int',\n    codeSet: 'MDStatisticRequestResultCodeSet',\n    description: 'Invalid parties',\n  },\n  {\n    name: 'TradeDateOutOfSupportedRange',\n    id: '2473007',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2473,\n    type: 'int',\n    codeSet: 'MDStatisticRequestResultCodeSet',\n    description: 'Trade date out of supported range',\n  },\n  {\n    name: 'UnsupportedStatisticType',\n    id: '2473008',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2473,\n    type: 'int',\n    codeSet: 'MDStatisticRequestResultCodeSet',\n    description: 'Statistic type not supported',\n  },\n  {\n    name: 'UnsupportedScopeOrSubScope',\n    id: '2473009',\n    value: '8',\n    sort: 8,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2473,\n    type: 'int',\n    codeSet: 'MDStatisticRequestResultCodeSet',\n    description: 'Scope or sub-scope not supported',\n  },\n  {\n    name: 'UnsupportedScopeType',\n    id: '2473010',\n    value: '9',\n    sort: 9,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2473,\n    type: 'int',\n    codeSet: 'MDStatisticRequestResultCodeSet',\n    description: 'Scope type not supported',\n  },\n  {\n    name: 'MarketDepthNotSupported',\n    id: '2473011',\n    value: '10',\n    sort: 10,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2473,\n    type: 'int',\n    codeSet: 'MDStatisticRequestResultCodeSet',\n    description: 'Market depth not supported',\n  },\n  {\n    name: 'FrequencyNotSupported',\n    id: '2473012',\n    value: '11',\n    sort: 11,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2473,\n    type: 'int',\n    codeSet: 'MDStatisticRequestResultCodeSet',\n    description: 'Frequency not supported',\n  },\n  {\n    name: 'UnsupportedStatisticInterval',\n    id: '2473013',\n    value: '12',\n    sort: 12,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2473,\n    type: 'int',\n    codeSet: 'MDStatisticRequestResultCodeSet',\n    description: 'Statistic interval not supported',\n  },\n  {\n    name: 'UnsupportedStatisticDateRange',\n    id: '2473014',\n    value: '13',\n    sort: 13,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2473,\n    type: 'int',\n    codeSet: 'MDStatisticRequestResultCodeSet',\n    description: 'Statistic date range not supported',\n  },\n  {\n    name: 'UnsupportedStatisticTimeRange',\n    id: '2473015',\n    value: '14',\n    sort: 14,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2473,\n    type: 'int',\n    codeSet: 'MDStatisticRequestResultCodeSet',\n    description: 'Statistic time range not supported',\n  },\n  {\n    name: 'UnsupportedRatioType',\n    id: '2473016',\n    value: '15',\n    sort: 15,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2473,\n    type: 'int',\n    codeSet: 'MDStatisticRequestResultCodeSet',\n    description: 'Ratio type not supported',\n  },\n  {\n    name: 'InvalidOrUnknownTradeInputSource',\n    id: '2473017',\n    value: '16',\n    sort: 16,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2473,\n    type: 'int',\n    codeSet: 'MDStatisticRequestResultCodeSet',\n    description: 'Invalid or unknown trade input source',\n  },\n  {\n    name: 'InvalidOrUnknownTradingSession',\n    id: '2473018',\n    value: '17',\n    sort: 17,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2473,\n    type: 'int',\n    codeSet: 'MDStatisticRequestResultCodeSet',\n    description: 'Invalid or unknown trading session',\n  },\n  {\n    name: 'UnauthorizedForStatisticRequest',\n    id: '2473019',\n    value: '18',\n    sort: 18,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2473,\n    type: 'int',\n    codeSet: 'MDStatisticRequestResultCodeSet',\n    description: 'Unauthorized for statistic request',\n  },\n  {\n    name: 'Other',\n    id: '2473020',\n    value: '99',\n    sort: 99,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2473,\n    type: 'int',\n    codeSet: 'MDStatisticRequestResultCodeSet',\n    description: 'Other (further information in Text (58) field)',\n  },\n  {\n    name: 'Active',\n    id: '2477001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2477,\n    type: 'int',\n    codeSet: 'MDStatisticStatusCodeSet',\n    description: 'Active (default)',\n  },\n  {\n    name: 'Inactive',\n    id: '2477002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2477,\n    type: 'int',\n    codeSet: 'MDStatisticStatusCodeSet',\n    description: 'Inactive (not disseminated)',\n  },\n  {\n    name: 'Absolute',\n    id: '2479001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2479,\n    type: 'int',\n    codeSet: 'MDStatisticValueTypeCodeSet',\n    description: 'Absolute',\n  },\n  {\n    name: 'Percentage',\n    id: '2479002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '191',\n    tag: 2479,\n    type: 'int',\n    codeSet: 'MDStatisticValueTypeCodeSet',\n    description: 'Percentage',\n  },\n  {\n    name: 'Financials',\n    id: '2210001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '192',\n    tag: 2210,\n    type: 'int',\n    codeSet: 'AssetGroupCodeSet',\n    description:\n      'Financials\\n\\nA categorization which usually includes rates, foreign exchange, credit, bonds and equity products or assets.',\n  },\n  {\n    name: 'Commodities',\n    id: '2210002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '192',\n    tag: 2210,\n    type: 'int',\n    codeSet: 'AssetGroupCodeSet',\n    description:\n      'Commodities\\n\\nA categorization which usually includes hard commodities such as agricultural, metals, freight, energy products or assets.',\n  },\n  {\n    name: 'AlternativeInvestments',\n    id: '2210003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '192',\n    tag: 2210,\n    type: 'int',\n    codeSet: 'AssetGroupCodeSet',\n    description:\n      'Alternative investments\\n\\nA categorization which usually includes weather, housing, and commodity indices products or assets.',\n  },\n  {\n    name: 'UnknownTrade',\n    id: '2487001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '192',\n    tag: 2487,\n    type: 'int',\n    codeSet: 'CollRptRejectReasonCodeSet',\n    description: 'Unknown trade or transaction',\n  },\n  {\n    name: 'UnknownInstrument',\n    id: '2487002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '192',\n    tag: 2487,\n    type: 'int',\n    codeSet: 'CollRptRejectReasonCodeSet',\n    description: 'Unknown or invalid instrument',\n  },\n  {\n    name: 'UnknownCounterparty',\n    id: '2487003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '192',\n    tag: 2487,\n    type: 'int',\n    codeSet: 'CollRptRejectReasonCodeSet',\n    description: 'Unknown or invalid counterparty',\n  },\n  {\n    name: 'UnknownPosition',\n    id: '2487004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '192',\n    tag: 2487,\n    type: 'int',\n    codeSet: 'CollRptRejectReasonCodeSet',\n    description: 'Unknown or invalid position',\n  },\n  {\n    name: 'UnacceptableCollateral',\n    id: '2487005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '192',\n    tag: 2487,\n    type: 'int',\n    codeSet: 'CollRptRejectReasonCodeSet',\n    description: 'Unacceptable or invalid type of collateral',\n  },\n  {\n    name: 'Other',\n    id: '2487006',\n    value: '99',\n    sort: 99,\n    added: 'FIX.5.0SP2',\n    addedEP: '192',\n    tag: 2487,\n    type: 'int',\n    codeSet: 'CollRptRejectReasonCodeSet',\n    description: 'Other',\n  },\n  {\n    name: 'Accepted',\n    id: '2488001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '192',\n    tag: 2488,\n    type: 'int',\n    codeSet: 'CollRptStatusCodeSet',\n    description: 'Accepted (successfully processed)',\n  },\n  {\n    name: 'Received',\n    id: '2488002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '192',\n    tag: 2488,\n    type: 'int',\n    codeSet: 'CollRptStatusCodeSet',\n    description: 'Received (not yet processed)',\n  },\n  {\n    name: 'Rejected',\n    id: '2488003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '192',\n    tag: 2488,\n    type: 'int',\n    codeSet: 'CollRptStatusCodeSet',\n    description: 'Rejected',\n  },\n  {\n    name: 'ASWSpread',\n    id: '2530001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '194',\n    tag: 2530,\n    type: 'int',\n    codeSet: 'RelativeValueTypeCodeSet',\n    description:\n      \"Asset Swap Spread\\n\\nASW Spread. The asset swap spread is the difference in the bond's yield (yield to maturity) and a floating interest rate (usually LIBOR), expressed in basis points.\",\n  },\n  {\n    name: 'OIS',\n    id: '2530002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '194',\n    tag: 2530,\n    type: 'int',\n    codeSet: 'RelativeValueTypeCodeSet',\n    description:\n      'Overnight Indexed Swap Spread\\n\\nOIS Spread. The overnight indexed swap spread is the spread, expressed in basis points, between the bond yield (the fixed rate) and an overnight indexed rate (e.g. Fed Funds rate, EONIA, SONIA, etc.) (the floating rate).',\n  },\n  {\n    name: 'ZSpread',\n    id: '2530003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '194',\n    tag: 2530,\n    type: 'int',\n    codeSet: 'RelativeValueTypeCodeSet',\n    description:\n      'Zero Volatility Spread\\n\\nZ-Spread. The zero coupon spread is the constant spread added to the reference zero coupon yield curve (usually Treasury spot rate curve), expressed in basis points, to derive the adjusted yield curve used to determine the present value of the cash flows so that it equals the dirty price of the bond (i.e. accrued interested factored in).',\n  },\n  {\n    name: 'DiscountMargin',\n    id: '2530004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '194',\n    tag: 2530,\n    type: 'int',\n    codeSet: 'RelativeValueTypeCodeSet',\n    description:\n      \"Discount Margin\\n\\nThe DM is the spread, expressed in basis points, added to the bond's reference rate that will equate the bond's cash flows to its current price.\",\n  },\n  {\n    name: 'ISpread',\n    id: '2530005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '194',\n    tag: 2530,\n    type: 'int',\n    codeSet: 'RelativeValueTypeCodeSet',\n    description:\n      'Interpolated Spread\\n\\nI-Spread or I-Curve spread. The spread, expressed in basis points, added to an interpolated point on the reference yield curve.',\n  },\n  {\n    name: 'OAS',\n    id: '2530006',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '194',\n    tag: 2530,\n    type: 'int',\n    codeSet: 'RelativeValueTypeCodeSet',\n    description:\n      \"Option Adjusted Spread\\n\\nOAS or OA-spread. Used to evaluate bonds with embedded (callable or put-able) options. The option adjusted spread is a constant spread, expressed in basis points, applied to each point on the spot rate curve (usually Treasury spot rate curve) where the bond's cash flow is received, such that the price of the bond is the same as the present value of its cash flows.\",\n  },\n  {\n    name: 'GSpread',\n    id: '2530007',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '194',\n    tag: 2530,\n    type: 'int',\n    codeSet: 'RelativeValueTypeCodeSet',\n    description:\n      \"G-Spread\\n\\nThe spread difference between the bond's yield and the interpolated yield from the government reference yield curve, expressed in basis points. It represents the curve adjusted value of the bond by accounting for the difference between the bond's benchmark yield and the interpolated government reference yield at the same point on the curve that matches the bond's remaining life.\",\n  },\n  {\n    name: 'CDSBasis',\n    id: '2530008',\n    value: '8',\n    sort: 8,\n    added: 'FIX.5.0SP2',\n    addedEP: '194',\n    tag: 2530,\n    type: 'int',\n    codeSet: 'RelativeValueTypeCodeSet',\n    description:\n      'CDS Basis\\n\\nAlso referred to as CDS Bond Basis. The CDS basis is the spread difference between the CDS spread or premium for the obligor and the Z-Spread or the ASW spread of the same reference or obligor bond, expressed in basis points.',\n  },\n  {\n    name: 'CDSInterpolatedBasis',\n    id: '2530009',\n    value: '9',\n    sort: 9,\n    added: 'FIX.5.0SP2',\n    addedEP: '194',\n    tag: 2530,\n    type: 'int',\n    codeSet: 'RelativeValueTypeCodeSet',\n    description:\n      \"CDS Interpolated Basis\\n\\nAlso referred to as CDS Bond Interpolated Basis. The CDS interpolated basis is the difference between the reference or obligor bond's Z Spread or ASW spread and an interpolated point on CDS curve that matches the maturity of the reference bond, expressed in basis points.\",\n  },\n  {\n    name: 'DV01',\n    id: '2530010',\n    value: '10',\n    sort: 10,\n    added: 'FIX.Latest',\n    addedEP: '272',\n    tag: 2530,\n    type: 'int',\n    codeSet: 'RelativeValueTypeCodeSet',\n    description:\n      'DV01\\n\\nThe currency value change in response to a move of one basis point in the yield of the instrument. Typically used as a measure of interest rate risk of a single bond. Also known as \"basis point value\" or BPV.',\n  },\n  {\n    name: 'PV01',\n    id: '2530011',\n    value: '11',\n    sort: 11,\n    added: 'FIX.Latest',\n    addedEP: '272',\n    tag: 2530,\n    type: 'int',\n    codeSet: 'RelativeValueTypeCodeSet',\n    description:\n      'PV01\\n\\nThe present value change in response to a move of one basis point all along the yield curve used for the instrument. In certain cases the DV01 and PV01 values may be the same.',\n  },\n  {\n    name: 'CS01',\n    id: '2530012',\n    value: '12',\n    sort: 12,\n    added: 'FIX.Latest',\n    addedEP: '272',\n    tag: 2530,\n    type: 'int',\n    codeSet: 'RelativeValueTypeCodeSet',\n    description:\n      'CS01\\n\\nCredit spread sensitivity. Represents the change in value of a (CDS) transaction for a one basis point change in the credit spread.',\n  },\n  {\n    name: 'Bid',\n    id: '2532001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '194',\n    tag: 2532,\n    type: 'int',\n    codeSet: 'RelativeValueSideCodeSet',\n    description: 'Bid',\n  },\n  {\n    name: 'Mid',\n    id: '2532002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '194',\n    tag: 2532,\n    type: 'int',\n    codeSet: 'RelativeValueSideCodeSet',\n    description: 'Mid',\n  },\n  {\n    name: 'Offer',\n    id: '2532003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '194',\n    tag: 2532,\n    type: 'int',\n    codeSet: 'RelativeValueSideCodeSet',\n    description: 'Offer',\n  },\n  {\n    name: 'StartInstrumentRefData',\n    id: '2535001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '195',\n    tag: 2535,\n    type: 'int',\n    codeSet: 'MDReportEventCodeSet',\n    description: 'Start of instrument reference data\\n\\n',\n  },\n  {\n    name: 'EndInstrumentRefData',\n    id: '2535002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '195',\n    tag: 2535,\n    type: 'int',\n    codeSet: 'MDReportEventCodeSet',\n    description: 'End of instrument reference data\\n\\n',\n  },\n  {\n    name: 'StartOffMarketTrades',\n    id: '2535003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '195',\n    tag: 2535,\n    type: 'int',\n    codeSet: 'MDReportEventCodeSet',\n    description: 'Start of off-market trades\\n\\n',\n  },\n  {\n    name: 'EndOffMarketTrades',\n    id: '2535004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '195',\n    tag: 2535,\n    type: 'int',\n    codeSet: 'MDReportEventCodeSet',\n    description: 'End of off-market trades\\n\\n',\n  },\n  {\n    name: 'StartOrderBookTrades',\n    id: '2535005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '195',\n    tag: 2535,\n    type: 'int',\n    codeSet: 'MDReportEventCodeSet',\n    description: 'Start of order book trades\\n\\n',\n  },\n  {\n    name: 'EndOrderBookTrades',\n    id: '2535006',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '195',\n    tag: 2535,\n    type: 'int',\n    codeSet: 'MDReportEventCodeSet',\n    description: 'End of order book trades\\n\\n',\n  },\n  {\n    name: 'StartOpenInterest',\n    id: '2535007',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '195',\n    tag: 2535,\n    type: 'int',\n    codeSet: 'MDReportEventCodeSet',\n    description: 'Start of open interest\\n\\n',\n  },\n  {\n    name: 'EndOpenInterest',\n    id: '2535008',\n    value: '8',\n    sort: 8,\n    added: 'FIX.5.0SP2',\n    addedEP: '195',\n    tag: 2535,\n    type: 'int',\n    codeSet: 'MDReportEventCodeSet',\n    description: 'End of open interest\\n\\n',\n  },\n  {\n    name: 'StartSettlementPrices',\n    id: '2535009',\n    value: '9',\n    sort: 9,\n    added: 'FIX.5.0SP2',\n    addedEP: '195',\n    tag: 2535,\n    type: 'int',\n    codeSet: 'MDReportEventCodeSet',\n    description: 'Start of settlement prices\\n\\n',\n  },\n  {\n    name: 'EndSettlementPrices',\n    id: '2535010',\n    value: '10',\n    sort: 10,\n    added: 'FIX.5.0SP2',\n    addedEP: '195',\n    tag: 2535,\n    type: 'int',\n    codeSet: 'MDReportEventCodeSet',\n    description: 'End of settlement prices\\n\\n',\n  },\n  {\n    name: 'StartStatsRefData',\n    id: '2535011',\n    value: '11',\n    sort: 11,\n    added: 'FIX.5.0SP2',\n    addedEP: '195',\n    tag: 2535,\n    type: 'int',\n    codeSet: 'MDReportEventCodeSet',\n    description: 'Start of statistics reference data\\n\\n',\n  },\n  {\n    name: 'EndStatsRefData',\n    id: '2535012',\n    value: '12',\n    sort: 12,\n    added: 'FIX.5.0SP2',\n    addedEP: '195',\n    tag: 2535,\n    type: 'int',\n    codeSet: 'MDReportEventCodeSet',\n    description: 'End of statistics reference data\\n\\n',\n  },\n  {\n    name: 'StartStatistics',\n    id: '2535013',\n    value: '13',\n    sort: 13,\n    added: 'FIX.5.0SP2',\n    addedEP: '195',\n    tag: 2535,\n    type: 'int',\n    codeSet: 'MDReportEventCodeSet',\n    description: 'Start of statistics\\n\\n',\n  },\n  {\n    name: 'EndStatistics',\n    id: '2535014',\n    value: '14',\n    sort: 14,\n    added: 'FIX.5.0SP2',\n    addedEP: '195',\n    tag: 2535,\n    type: 'int',\n    codeSet: 'MDReportEventCodeSet',\n    description: 'End of statistics\\n\\n',\n  },\n  {\n    name: 'Active',\n    id: '2542001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '195',\n    tag: 2542,\n    type: 'int',\n    codeSet: 'MarketSegmentStatusCodeSet',\n    description: 'Active\\n\\nMarket segment is active, i.e. trading is possible.',\n  },\n  {\n    name: 'Inactive',\n    id: '2542002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '195',\n    tag: 2542,\n    type: 'int',\n    codeSet: 'MarketSegmentStatusCodeSet',\n    description:\n      'Inactive\\n\\nMarket segment has previously been active and is now inactive.',\n  },\n  {\n    name: 'Published',\n    id: '2542003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '195',\n    tag: 2542,\n    type: 'int',\n    codeSet: 'MarketSegmentStatusCodeSet',\n    description:\n      'Published\\n\\nMarket segment information is provided prior to its first activation.',\n  },\n  {\n    name: 'Pool',\n    id: '2543001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '195',\n    tag: 2543,\n    type: 'int',\n    codeSet: 'MarketSegmentTypeCodeSet',\n    description:\n      'Pool\\n\\nUsed when multiple market segments are being grouped or pooled together.',\n  },\n  {\n    name: 'Retail',\n    id: '2543002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '195',\n    tag: 2543,\n    type: 'int',\n    codeSet: 'MarketSegmentTypeCodeSet',\n    description: 'Retail\\n\\n',\n  },\n  {\n    name: 'Wholesale',\n    id: '2543003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '195',\n    tag: 2543,\n    type: 'int',\n    codeSet: 'MarketSegmentTypeCodeSet',\n    description: 'Wholesale\\n\\n',\n  },\n  {\n    name: 'InterProductSpread',\n    id: '2544001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '195',\n    tag: 2544,\n    type: 'int',\n    codeSet: 'MarketSegmentSubTypeCodeSet',\n    description:\n      'Inter-product spread\\n\\nComplex instruments which consist of leg instruments from different products, e.g. a location spread which include country-specific products in each leg instrument.',\n  },\n  {\n    name: 'MarketSegmentPoolMember',\n    id: '2547001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '195',\n    tag: 2547,\n    type: 'int',\n    codeSet: 'MarketSegmentRelationshipCodeSet',\n    description:\n      'Market segment pool member\\n\\nMarket segments represent constituents of the pool identified.',\n  },\n  {\n    name: 'RetailSegment',\n    id: '2547002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '195',\n    tag: 2547,\n    type: 'int',\n    codeSet: 'MarketSegmentRelationshipCodeSet',\n    description:\n      'Retail segment\\n\\nRetail segment related to wholesale segment identified.',\n  },\n  {\n    name: 'WholesaleSegment',\n    id: '2547003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '195',\n    tag: 2547,\n    type: 'int',\n    codeSet: 'MarketSegmentRelationshipCodeSet',\n    description:\n      'Wholesale segment\\n\\nWholesale segment related to retail segment identified.',\n  },\n  {\n    name: 'No',\n    id: '2559001',\n    value: 'N',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '195',\n    tag: 2559,\n    type: 'Boolean',\n    codeSet: 'QuoteSideIndicatorCodeSet',\n    description: 'Single sided quotes are not allowed\\n\\n',\n  },\n  {\n    name: 'Yes',\n    id: '2559002',\n    value: 'Y',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '195',\n    tag: 2559,\n    type: 'Boolean',\n    codeSet: 'QuoteSideIndicatorCodeSet',\n    description: 'Single sided quotes are allowed\\n\\n',\n  },\n  {\n    name: 'NoPriority',\n    id: '2570001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '195',\n    tag: 2570,\n    type: 'int',\n    codeSet: 'CustomerPriorityCodeSet',\n    description: 'No priority\\n\\n',\n  },\n  {\n    name: 'UnconditionalPriority',\n    id: '2570002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '195',\n    tag: 2570,\n    type: 'int',\n    codeSet: 'CustomerPriorityCodeSet',\n    description: 'Unconditional priority\\n\\n',\n  },\n  {\n    name: 'Shares',\n    id: '2579001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '195',\n    tag: 2579,\n    type: 'int',\n    codeSet: 'SettlSubMethodCodeSet',\n    description: 'Shares\\n\\n',\n  },\n  {\n    name: 'Derivatives',\n    id: '2579002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '195',\n    tag: 2579,\n    type: 'int',\n    codeSet: 'SettlSubMethodCodeSet',\n    description: 'Derivatives\\n\\n',\n  },\n  {\n    name: 'PaymentVsPayment',\n    id: '2579003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '195',\n    tag: 2579,\n    type: 'int',\n    codeSet: 'SettlSubMethodCodeSet',\n    description: 'Payment vs payment\\n\\n',\n  },\n  {\n    name: 'Notional',\n    id: '2579004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '195',\n    tag: 2579,\n    type: 'int',\n    codeSet: 'SettlSubMethodCodeSet',\n    description: 'Notional\\n\\n',\n  },\n  {\n    name: 'Cascade',\n    id: '2579005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '195',\n    tag: 2579,\n    type: 'int',\n    codeSet: 'SettlSubMethodCodeSet',\n    description: 'Cascade\\n\\n',\n  },\n  {\n    name: 'Repurchase',\n    id: '2579006',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '195',\n    tag: 2579,\n    type: 'int',\n    codeSet: 'SettlSubMethodCodeSet',\n    description: 'Repurchase\\n\\n',\n  },\n  {\n    name: 'Other',\n    id: '2579007',\n    value: '99',\n    sort: 99,\n    added: 'FIX.5.0SP2',\n    addedEP: '195',\n    tag: 2579,\n    type: 'int',\n    codeSet: 'SettlSubMethodCodeSet',\n    description: 'Other\\n\\n',\n  },\n  {\n    name: 'Automatic',\n    id: '2592001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '195',\n    tag: 2592,\n    type: 'int',\n    codeSet: 'CalculationMethodCodeSet',\n    description: 'Automatic (default)\\n\\n',\n  },\n  {\n    name: 'Manual',\n    id: '2592002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '195',\n    tag: 2592,\n    type: 'int',\n    codeSet: 'CalculationMethodCodeSet',\n    description: 'Manual\\n\\n',\n  },\n  {\n    name: 'MarketValuation',\n    id: '2632001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '197',\n    tag: 2632,\n    type: 'int',\n    codeSet: 'CollateralAmountTypeCodeSet',\n    description: 'Market valuation (the default)',\n  },\n  {\n    name: 'PortfolioValue',\n    id: '2632002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '197',\n    tag: 2632,\n    type: 'int',\n    codeSet: 'CollateralAmountTypeCodeSet',\n    description: 'Portfolio value before processing pledge request',\n  },\n  {\n    name: 'ValueConfirmed',\n    id: '2632003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '197',\n    tag: 2632,\n    type: 'int',\n    codeSet: 'CollateralAmountTypeCodeSet',\n    description: 'Value confirmed as \"locked-up\" for processing a pledge request',\n  },\n  {\n    name: 'CollateralCreditValue',\n    id: '2632004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '197',\n    tag: 2632,\n    type: 'int',\n    codeSet: 'CollateralAmountTypeCodeSet',\n    description: 'Credit value of collateral at CCP processing a pledge request',\n  },\n  {\n    name: 'AdditionalCollateralValue',\n    id: '2632005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '227',\n    tag: 2632,\n    type: 'int',\n    codeSet: 'CollateralAmountTypeCodeSet',\n    description:\n      'Additional collateral value\\n\\nAdditional collateral deposited by the collateral provider at trade or post-trade. CollateralPercentOverage(2690) gives the overage percent',\n  },\n  {\n    name: 'EstimatedMarketValuation',\n    id: '2632006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 2632,\n    type: 'int',\n    codeSet: 'CollateralAmountTypeCodeSet',\n    description:\n      'Estimated market valuation\\n\\nEstimated market valuation of collateral. In the context of EU SFTR this may be used for value of re-use of collateral.',\n  },\n  {\n    name: 'Unspecified',\n    id: '2641001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '204',\n    tag: 2641,\n    type: 'int',\n    codeSet: 'CommissionAmountTypeCodeSet',\n    description: 'Unspecified',\n  },\n  {\n    name: 'Acceptance',\n    id: '2641002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '204',\n    tag: 2641,\n    type: 'int',\n    codeSet: 'CommissionAmountTypeCodeSet',\n    description: \"Acceptance\\n\\nThe bank's charge for issuing a Letter of Credit.\",\n  },\n  {\n    name: 'Broker',\n    id: '2641003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '204',\n    tag: 2641,\n    type: 'int',\n    codeSet: 'CommissionAmountTypeCodeSet',\n    description: \"Broker\\n\\nThe executing broker's commission.\",\n  },\n  {\n    name: 'ClearingBroker',\n    id: '2641004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '204',\n    tag: 2641,\n    type: 'int',\n    codeSet: 'CommissionAmountTypeCodeSet',\n    description: \"Clearing broker\\n\\nThe clearing broker's commission.\",\n  },\n  {\n    name: 'Retail',\n    id: '2641005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '204',\n    tag: 2641,\n    type: 'int',\n    codeSet: 'CommissionAmountTypeCodeSet',\n    description: 'Retail\\n\\nCommission charged by or related to retail sales.',\n  },\n  {\n    name: 'SalesCommission',\n    id: '2641006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '204',\n    tag: 2641,\n    type: 'int',\n    codeSet: 'CommissionAmountTypeCodeSet',\n    description: 'Sales commission\\n\\nThe commission charged by the sales desk.',\n  },\n  {\n    name: 'LocalCommission',\n    id: '2641007',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '204',\n    tag: 2641,\n    type: 'int',\n    codeSet: 'CommissionAmountTypeCodeSet',\n    description:\n      'Local commission\\n\\nCommission paid to local broker in a cross-border transaction.',\n  },\n  {\n    name: 'ResearchPayment',\n    id: '2641008',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '233',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '240',\n    tag: 2641,\n    type: 'int',\n    codeSet: 'CommissionAmountTypeCodeSet',\n    description: 'Research payment',\n  },\n  {\n    name: 'Close',\n    id: '42217001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 42217,\n    type: 'int',\n    codeSet: 'CashSettlPriceDefaultCodeSet',\n    description: 'Close\\n\\nOfficial closing price.',\n  },\n  {\n    name: 'Hedge',\n    id: '42217002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 42217,\n    type: 'int',\n    codeSet: 'CashSettlPriceDefaultCodeSet',\n    description: 'Hedge\\n\\nDetermined by the hedging party.',\n  },\n  {\n    name: 'Close',\n    id: '2599001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 2599,\n    type: 'int',\n    codeSet: 'ComplexEventPVFinalPriceElectionFallbackCodeSet',\n    description:\n      'Close\\n\\nIn respect of the \"early final valuation date\", the provisions for \"future present value close\" shall apply.',\n  },\n  {\n    name: 'HedgeElection',\n    id: '2599002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 2599,\n    type: 'int',\n    codeSet: 'ComplexEventPVFinalPriceElectionFallbackCodeSet',\n    description:\n      'Hedge election\\n\\nIn respect of the \"early final valuation date\", the provisions for \"future present value hedge execution\" shall apply.',\n  },\n  {\n    name: 'ExDate',\n    id: '42246001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 42246,\n    type: 'int',\n    codeSet: 'DividendEntitlementEventCodeSet',\n    description: 'Ex-date\\n\\nDividend entitlement is on the dividend ex-date.',\n  },\n  {\n    name: 'RecordDate',\n    id: '42246002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 42246,\n    type: 'int',\n    codeSet: 'DividendEntitlementEventCodeSet',\n    description: 'Record date\\n\\nDividend entitlement is on the dividend record date.',\n  },\n  {\n    name: 'RecordAmount',\n    id: '42247001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 42247,\n    type: 'int',\n    codeSet: 'DividendAmountTypeCodeSet',\n    description:\n      'Record amount\\n\\n100% of the gross cash dividend per share paid over record date during relevant dividend period.',\n  },\n  {\n    name: 'ExAmount',\n    id: '42247002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 42247,\n    type: 'int',\n    codeSet: 'DividendAmountTypeCodeSet',\n    description:\n      'Ex amount\\n\\n100% of gross cash dividend per share paid after the ex-dividend date during relevant dividend period.',\n  },\n  {\n    name: 'PaidAmount',\n    id: '42247003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 42247,\n    type: 'int',\n    codeSet: 'DividendAmountTypeCodeSet',\n    description:\n      'Paid amount\\n\\n100% of gross cash dividend per share paid during relevant dividend period.',\n  },\n  {\n    name: 'PerMasterConfirm',\n    id: '42247004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 42247,\n    type: 'int',\n    codeSet: 'DividendAmountTypeCodeSet',\n    description:\n      'As specified in master confirmation\\n\\nThe amount is determined as provided in the relevant master confirmation.',\n  },\n  {\n    name: 'PotentialAdjustment',\n    id: '42258001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 42258,\n    type: 'int',\n    codeSet: 'NonCashDividendTreatmentCodeSet',\n    description:\n      'Potential adjustment event\\n\\nThe treatment of any non-cash dividend shall be determined in accordance with the potential adjustment event provisions.',\n  },\n  {\n    name: 'CashEquivalent',\n    id: '42258002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 42258,\n    type: 'int',\n    codeSet: 'NonCashDividendTreatmentCodeSet',\n    description:\n      'Cash equivalent\\n\\nAny non-cash dividend shall be treated as a declared cash equivalent dividend.',\n  },\n  {\n    name: 'EquityAmountReceiver',\n    id: '42259001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 42259,\n    type: 'int',\n    codeSet: 'DividendCompositionCodeSet',\n    description:\n      'Equity amount receiver election\\n\\nThe equity amount receiver determines the composition of dividends (subject to conditions).',\n  },\n  {\n    name: 'CalculationAgent',\n    id: '42259002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 42259,\n    type: 'int',\n    codeSet: 'DividendCompositionCodeSet',\n    description:\n      'Calculation agent election\\n\\nThe calculation agent determines the composition of dividends (subject to conditions).',\n  },\n  {\n    name: 'Bid',\n    id: '2601001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 2601,\n    type: 'int',\n    codeSet: 'StrikeIndexQuoteCodeSet',\n    description: 'Bid\\n\\n',\n  },\n  {\n    name: 'Mid',\n    id: '2601002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 2601,\n    type: 'int',\n    codeSet: 'StrikeIndexQuoteCodeSet',\n    description: 'Mid',\n  },\n  {\n    name: 'Offer',\n    id: '2601003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 2601,\n    type: 'int',\n    codeSet: 'StrikeIndexQuoteCodeSet',\n    description: 'Offer',\n  },\n  {\n    name: 'CalculationAgent',\n    id: '2602001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 2602,\n    type: 'int',\n    codeSet: 'ExtraordinaryEventAdjustmentMethodCodeSet',\n    description:\n      'Calculation agent\\n\\nThe Calculation Agent has the right to adjust the terms of the trade following a corporate action.',\n  },\n  {\n    name: 'OptionsExchange',\n    id: '2602002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 2602,\n    type: 'int',\n    codeSet: 'ExtraordinaryEventAdjustmentMethodCodeSet',\n    description:\n      'Options exchange\\n\\nThe trade will be adjusted in accordance with any adjustment made by the exchange on which options on the underlying are listed.',\n  },\n  {\n    name: 'Initial',\n    id: '42604001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 42604,\n    type: 'int',\n    codeSet: 'PaymentStreamInterpolationPeriodCodeSet',\n    description: 'Initial\\n\\nInterpolation is applicable to the initial period only.',\n  },\n  {\n    name: 'InitialAndFinal',\n    id: '42604002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 42604,\n    type: 'int',\n    codeSet: 'PaymentStreamInterpolationPeriodCodeSet',\n    description:\n      'Initial and final\\n\\nInterpolation is applicable to the initial and final periods only.',\n  },\n  {\n    name: 'Final',\n    id: '42604003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 42604,\n    type: 'int',\n    codeSet: 'PaymentStreamInterpolationPeriodCodeSet',\n    description: 'Final\\n\\nInterpolation is applicable to the final period only.',\n  },\n  {\n    name: 'AnyPeriod',\n    id: '42604004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 42604,\n    type: 'int',\n    codeSet: 'PaymentStreamInterpolationPeriodCodeSet',\n    description: 'Any period\\n\\nInterpolation is applicable to any non-standard period.',\n  },\n  {\n    name: 'Volatility',\n    id: '42674001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 42674,\n    type: 'int',\n    codeSet: 'PaymentStreamLinkStrikePriceTypeCodeSet',\n    description: 'Volatility',\n  },\n  {\n    name: 'Variance',\n    id: '42674002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 42674,\n    type: 'int',\n    codeSet: 'PaymentStreamLinkStrikePriceTypeCodeSet',\n    description: 'Variance',\n  },\n  {\n    name: 'Previous',\n    id: '42679001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 42679,\n    type: 'int',\n    codeSet: 'PaymentStreamRealizedVarianceMethodCodeSet',\n    description:\n      'Previous\\n\\nFor a return on day T, the observed price on T-1 must be in range.',\n  },\n  {\n    name: 'Last',\n    id: '42679002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 42679,\n    type: 'int',\n    codeSet: 'PaymentStreamRealizedVarianceMethodCodeSet',\n    description:\n      'Last\\n\\nFor a return on day T, the observed price on T must be in range.',\n  },\n  {\n    name: 'Both',\n    id: '42679003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 42679,\n    type: 'int',\n    codeSet: 'PaymentStreamRealizedVarianceMethodCodeSet',\n    description:\n      'Both\\n\\nFor a return on day T, the observed prices on both T and T-1 must be in range.',\n  },\n  {\n    name: 'FlatFee',\n    id: '42707001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 42707,\n    type: 'int',\n    codeSet: 'ProvisionBreakFeeElectionCodeSet',\n    description: 'Flat fee',\n  },\n  {\n    name: 'AmortizedFee',\n    id: '42707002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 42707,\n    type: 'int',\n    codeSet: 'ProvisionBreakFeeElectionCodeSet',\n    description: 'Amortized fee',\n  },\n  {\n    name: 'FundingFee',\n    id: '42707003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 42707,\n    type: 'int',\n    codeSet: 'ProvisionBreakFeeElectionCodeSet',\n    description: 'Funding fee',\n  },\n  {\n    name: 'FlatAndFundingFee',\n    id: '42707004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 42707,\n    type: 'int',\n    codeSet: 'ProvisionBreakFeeElectionCodeSet',\n    description: 'Flat fee and funding fee',\n  },\n  {\n    name: 'AmortizedAndFundingFee',\n    id: '42707005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 42707,\n    type: 'int',\n    codeSet: 'ProvisionBreakFeeElectionCodeSet',\n    description: 'Amortized fee and funding fee',\n  },\n  {\n    name: 'PriceValuation',\n    id: '42710001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 42710,\n    type: 'int',\n    codeSet: 'ReturnRateDateModeCodeSet',\n    description: 'Price valuation',\n  },\n  {\n    name: 'DividendValuation',\n    id: '42710002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 42710,\n    type: 'int',\n    codeSet: 'ReturnRateDateModeCodeSet',\n    description: 'Dividend valuation',\n  },\n  {\n    name: 'Initial',\n    id: '42736001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 42736,\n    type: 'int',\n    codeSet: 'ReturnRatePriceSequenceCodeSet',\n    description: 'Initial',\n  },\n  {\n    name: 'Interim',\n    id: '42736002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 42736,\n    type: 'int',\n    codeSet: 'ReturnRatePriceSequenceCodeSet',\n    description: 'Interim',\n  },\n  {\n    name: 'Final',\n    id: '42736003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 42736,\n    type: 'int',\n    codeSet: 'ReturnRatePriceSequenceCodeSet',\n    description: 'Final',\n  },\n  {\n    name: 'Open',\n    id: '42748001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 42748,\n    type: 'int',\n    codeSet: 'ReturnRateQuoteTimeTypeCodeSet',\n    description: 'Open\\n\\nThe official opening time of the exchange on valuation date.',\n  },\n  {\n    name: 'OfficialSettlPx',\n    id: '42748002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 42748,\n    type: 'int',\n    codeSet: 'ReturnRateQuoteTimeTypeCodeSet',\n    description:\n      'Official settlement price time\\n\\nThe time at which the official settlement price is determined.',\n  },\n  {\n    name: 'Xetra',\n    id: '42748003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 42748,\n    type: 'int',\n    codeSet: 'ReturnRateQuoteTimeTypeCodeSet',\n    description:\n      'XETRA\\n\\nThe time at which the official settlement price (following the auction by the exchange) is determined by the exchange.',\n  },\n  {\n    name: 'Close',\n    id: '42748004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 42748,\n    type: 'int',\n    codeSet: 'ReturnRateQuoteTimeTypeCodeSet',\n    description: 'Close\\n\\nThe official closing time of the exchange on valuation date.',\n  },\n  {\n    name: 'DerivativesClose',\n    id: '42748005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 42748,\n    type: 'int',\n    codeSet: 'ReturnRateQuoteTimeTypeCodeSet',\n    description:\n      'Derivatives close\\n\\nThe official closing time for derivative trading of the exchange on valuation date.',\n  },\n  {\n    name: 'High',\n    id: '42748006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 42748,\n    type: 'int',\n    codeSet: 'ReturnRateQuoteTimeTypeCodeSet',\n    description: 'High\\n\\nThe high price for the day.',\n  },\n  {\n    name: 'Low',\n    id: '42748007',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 42748,\n    type: 'int',\n    codeSet: 'ReturnRateQuoteTimeTypeCodeSet',\n    description: 'Low\\n\\nThe low price for the day.',\n  },\n  {\n    name: 'AsSpecifiedInMasterConfirmation',\n    id: '42748008',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 42748,\n    type: 'int',\n    codeSet: 'ReturnRateQuoteTimeTypeCodeSet',\n    description: 'As specified in the master confirmation',\n  },\n  {\n    name: 'None',\n    id: '42759001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 42759,\n    type: 'int',\n    codeSet: 'ReturnRateValuationPriceOptionCodeSet',\n    description: 'None (the default)',\n  },\n  {\n    name: 'FuturesPrice',\n    id: '42759002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 42759,\n    type: 'int',\n    codeSet: 'ReturnRateValuationPriceOptionCodeSet',\n    description:\n      'Futures price\\n\\nThe official settlement price as announced by the related futures exchange is applicable.',\n  },\n  {\n    name: 'OptionsPrice',\n    id: '42759003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 42759,\n    type: 'int',\n    codeSet: 'ReturnRateValuationPriceOptionCodeSet',\n    description:\n      'Options price\\n\\nThe official settlement price as announced by the related options exchange is applicable.',\n  },\n  {\n    name: 'Gross',\n    id: '42766001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 42766,\n    type: 'int',\n    codeSet: 'ReturnRatePriceBasisCodeSet',\n    description: 'Gross\\n\\n',\n  },\n  {\n    name: 'Net',\n    id: '42766002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 42766,\n    type: 'int',\n    codeSet: 'ReturnRatePriceBasisCodeSet',\n    description: 'Net',\n  },\n  {\n    name: 'Accrued',\n    id: '42766003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 42766,\n    type: 'int',\n    codeSet: 'ReturnRatePriceBasisCodeSet',\n    description: 'Accrued',\n  },\n  {\n    name: 'CleanNet',\n    id: '42766004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 42766,\n    type: 'int',\n    codeSet: 'ReturnRatePriceBasisCodeSet',\n    description: 'Clean net',\n  },\n  {\n    name: 'AbsoluteTerms',\n    id: '42769001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 42769,\n    type: 'int',\n    codeSet: 'ReturnRatePriceTypeCodeSet',\n    description: 'Absolute terms',\n  },\n  {\n    name: 'PercentageOfNotional',\n    id: '42769002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 42769,\n    type: 'int',\n    codeSet: 'ReturnRatePriceTypeCodeSet',\n    description: 'Percentage of notional',\n  },\n  {\n    name: 'Execution',\n    id: '42787001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 42787,\n    type: 'int',\n    codeSet: 'StreamNotionalAdjustmentsCodeSet',\n    description:\n      'Execution\\n\\nThe adjustments to the number of units are governed by an execution clause.',\n  },\n  {\n    name: 'PortfolioRebalancing',\n    id: '42787002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 42787,\n    type: 'int',\n    codeSet: 'StreamNotionalAdjustmentsCodeSet',\n    description:\n      'Portfolio rebalancing\\n\\nThe adjustments to the number of units are governed by a portfolio rebalancing clause.',\n  },\n  {\n    name: 'Standard',\n    id: '42787003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 42787,\n    type: 'int',\n    codeSet: 'StreamNotionalAdjustmentsCodeSet',\n    description:\n      'Standard\\n\\nThe adjustments to the number of units are not governed by any specific clause.',\n  },\n  {\n    name: 'Execution',\n    id: '2617001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 2617,\n    type: 'int',\n    codeSet: 'UnderlyingNotionalAdjustmentsCodeSet',\n    description:\n      'Execution\\n\\nThe adjustments to the number of units are governed by an execution clause.',\n  },\n  {\n    name: 'PortfolioRebalancing',\n    id: '2617002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 2617,\n    type: 'int',\n    codeSet: 'UnderlyingNotionalAdjustmentsCodeSet',\n    description:\n      'Portfolio rebalancing\\n\\nThe adjustments to the number of units are governed by a portfolio rebalancing clause.',\n  },\n  {\n    name: 'Standard',\n    id: '2617003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '208',\n    tag: 2617,\n    type: 'int',\n    codeSet: 'UnderlyingNotionalAdjustmentsCodeSet',\n    description:\n      'Standrd\\n\\nThe adjustments to the number of units are not governed by any specific clause.',\n  },\n  {\n    name: 'NoRemunerationPaid',\n    id: '2356001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '209',\n    tag: 2356,\n    type: 'int',\n    codeSet: 'RemunerationIndicatorCodeSet',\n    description: 'No remuneration paid',\n  },\n  {\n    name: 'RemunerationPaid',\n    id: '2356002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '209',\n    tag: 2356,\n    type: 'int',\n    codeSet: 'RemunerationIndicatorCodeSet',\n    description: 'Remuneration paid',\n  },\n  {\n    name: 'Disabled',\n    id: '2355001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '214',\n    tag: 2355,\n    type: 'int',\n    codeSet: 'PartyRiskLimitStatusCodeSet',\n    description: 'Disabled\\n\\nRisk limits for party is disabled.',\n  },\n  {\n    name: 'Enabled',\n    id: '2355002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '214',\n    tag: 2355,\n    type: 'int',\n    codeSet: 'PartyRiskLimitStatusCodeSet',\n    description: 'Enabled\\n\\nRisk limits for party is enabled.',\n  },\n  {\n    name: 'NonAlgorithmicTrade',\n    id: '2667001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '216',\n    tag: 2667,\n    type: 'int',\n    codeSet: 'AlgorithmicTradeIndicatorCodeSet',\n    description: 'Non-algorithmic trade',\n  },\n  {\n    name: 'AlgorithmicTrade',\n    id: '2667002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '216',\n    tag: 2667,\n    type: 'int',\n    codeSet: 'AlgorithmicTradeIndicatorCodeSet',\n    description:\n      'Algorithmic trade\\n\\nIn the context of ESMA MiFID II, a trade has to be flagged as \"algorithmic\" if at least one of the matched orders was submitted by a trading algorithm. See Directive 2014/65/EU Article 4(1)(39).',\n  },\n  {\n    name: 'PreTradeTransparencyWaiver',\n    id: '2669001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '216',\n    tag: 2669,\n    type: 'int',\n    codeSet: 'TrdRegPublicationTypeCodeSet',\n    description:\n      'Pre-trade transparency waiver\\n\\nThere are allowable waivers from the obligation to make public current bid/offer prices and trading depth. In the context of MiFIR, see Article 3 and Article 4.',\n  },\n  {\n    name: 'PostTradeDeferral',\n    id: '2669002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '216',\n    tag: 2669,\n    type: 'int',\n    codeSet: 'TrdRegPublicationTypeCodeSet',\n    description:\n      'Post-trade deferral\\n\\nThere are allowable deferrals for the post-trade publication of trade transactions. In the context of MiFIR, see Article 7(1).',\n  },\n  {\n    name: 'ExemptFromPublication',\n    id: '2669003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '228',\n    tag: 2669,\n    type: 'int',\n    codeSet: 'TrdRegPublicationTypeCodeSet',\n    description:\n      'Exempt from publication\\n\\nThere are allowable exemptions for the post-trade publication of trade transactions. In the context of ESMA exemptions are specified in RTS 22 Annex I, Table 2, Field 65 and RTS 2 Article 14(1) and Article 15(1).',\n  },\n  {\n    name: 'OrderLevelPublicationToSubscribers',\n    id: '2669004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '253',\n    updated: 'FIX.Latest',\n    updatedEP: '264',\n    tag: 2669,\n    type: 'int',\n    codeSet: 'TrdRegPublicationTypeCodeSet',\n    description:\n      'Order level publication to subscribers\\n\\nIndividual orders are displayed outside of the execution venue but only to subscribers. In the context of US CAT this can be used by Alternative Trading Systems (ATSs) to provide additional information related to price distribution.',\n  },\n  {\n    name: 'PriceLevelPublicationToSubscribers',\n    id: '2669005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '253',\n    updated: 'FIX.Latest',\n    updatedEP: '264',\n    tag: 2669,\n    type: 'int',\n    codeSet: 'TrdRegPublicationTypeCodeSet',\n    description:\n      'Price level publication to subscribers\\n\\nAggregated orders are displayed outside of the execution venue but only to subscribers. In the context of US CAT this can be used by Alternative Trading Systems (ATSs) to provide additional information related to price distribution.',\n  },\n  {\n    name: 'OrderLevelPublicationToThePublic',\n    id: '2669006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '253',\n    updated: 'FIX.Latest',\n    updatedEP: '264',\n    tag: 2669,\n    type: 'int',\n    codeSet: 'TrdRegPublicationTypeCodeSet',\n    description:\n      'Order level publication to the public\\n\\nIndividual orders are displayed outside of the execution venue via public quotation. In the context of US CAT this can be used by Alternative Trading Systems (ATSs) to provide additional information related to price distribution.',\n  },\n  {\n    name: 'PublicationInternalToExecutionVenue',\n    id: '2669007',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '253',\n    updated: 'FIX.Latest',\n    updatedEP: '264',\n    tag: 2669,\n    type: 'int',\n    codeSet: 'TrdRegPublicationTypeCodeSet',\n    description:\n      'Publication internal to execution venue\\n\\nOrders are not displayed outside of the execution venue. In the context of US CAT this can be used by Alternative Trading Systems (ATSs) to provide additional information related to price distribution.',\n  },\n  {\n    name: 'NoBookOrderDueToAverageSpreadPrice',\n    id: '2670001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '216',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '229',\n    tag: 2670,\n    type: 'int',\n    codeSet: 'TrdRegPublicationReasonCodeSet',\n    description:\n      'No preceding order in book as transaction price set within average spread of a liquid instrument\\n\\nPer MiFIR Article 4(1)(b)(i) the obligation to place a public order can be waived for transactions of liquid instruments on \"systems that formalise negotiated transactions which are made within the current volume weighted spread reflected on the order book or the quotes of the market makers of the trading venue operating that system, subject to the conditions set out in Article 5\" of MiFIR on volume caps. \"Liquid markets\" as per MiFIR Article 2(17)(b) are assessed by the regulator for the purposes of MiFIR Articles 4, 5 and 14. For ESMA RTS 1, RTS 6 and RTS 22 this is the waiver \"NLIQ\" flag.',\n  },\n  {\n    name: 'NoBookOrderDueToRefPrice',\n    id: '2670002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '216',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '236',\n    tag: 2670,\n    type: 'int',\n    codeSet: 'TrdRegPublicationReasonCodeSet',\n    description:\n      'No preceding order in book as transaction price depends on system-set reference price for an illiquid instrument\\n\\nPer MiFIR Article 4(1)(b)(ii) the obligation to place a public order can be waived for \"negotiated transactions which are in an illiquid share, depositary receipt, ETF, certificate or other similar financial instrument that does not fall within the meaning of a liquid market, and are dealt within a percentage of a suitable reference price, being a percentage and a reference price set in advance by the system operator.\" For ESMA RTS 1, this is the \"OILQ\" flag.',\n  },\n  {\n    name: 'NoBookOrderDueToOtherConditions',\n    id: '2670003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '216',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '229',\n    tag: 2670,\n    type: 'int',\n    codeSet: 'TrdRegPublicationReasonCodeSet',\n    description:\n      'No preceding order in book as transaction price is for transaction subject to conditions other than current market price\\n\\nPer MiFIR Article 4(1)(b)(iii), the obligation to place a public order can be waived in \"systems that formalise negotiated transactions which are subject to conditions other than the current market price of that financial instrument.\" For ESMA RTS1, RTS 6 and RTS 22 this is the waiver flag \"PRIC\".',\n  },\n  {\n    name: 'NoPublicPriceDueToRefPrice',\n    id: '2670004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '216',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '229',\n    tag: 2670,\n    type: 'int',\n    codeSet: 'TrdRegPublicationReasonCodeSet',\n    description:\n      'No public price for preceding order as public reference price was used for matching orders\\n\\nPer MiFIR Article 4(1)(a) the obligation to place a public order can be waived for \"systems matching orders based on a trading methodology by which the price of the financial instrument is derived from the trading venue where that financial instrument was first admitted to trading or the most relevant market in terms of liquidity, where that reference price is widely published and is regarded by market participants as a reliable reference price.\" For ESMA RTS 1, RTS 6 and RTS 22 this is the waiver flag \"RFPT\".',\n  },\n  {\n    name: 'NoPublicPriceDueToIlliquid',\n    id: '2670005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '216',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '229',\n    tag: 2670,\n    type: 'int',\n    codeSet: 'TrdRegPublicationReasonCodeSet',\n    description:\n      'No public price quoted as instrument is illiquid\\n\\nAccording to MiFIR Article 4(1)(b)(ii) and Article 14(1) the obligation to publish the quote prior to closing the trade may be waived if it was made in an illiquid instrument. However, according to MiFIR Article 14(1) and Article 18(2), systematic internalisers shall still disclose quotes to their clients upon request. This obligation may also be waived in case of bonds, structured finance products, emission allowances and derivatives. For ESMA RTS 1, RTS 2, RTS 6 and RTS 22 this is the waiver flag \"ILQD\".',\n  },\n  {\n    name: 'NoPublicPriceDueToOrderSize',\n    id: '2670006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '216',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '229',\n    tag: 2670,\n    type: 'int',\n    codeSet: 'TrdRegPublicationReasonCodeSet',\n    description:\n      'No public price quoted due to \"Size\"\\n\\nIn the context of ESMA, as per MiFIR Article 4(1)(c) and Article 14(2), the systematic internaliser was not obliged to quote prior to closing the trade as the trade was above the standard market size. In accordance to MiFIR Article 9(1)(b) and Article 18(10), market operators, investment firms and systematic internalisers may be waived, in accordance to guidance from the Competent Authorities, from making public prices for derivative instruments which are above a side specific to the instrument. For ESMA RTS 1, RTS 2, RTS 6 and RTS 22 this is the waiver flag \"SIZE\".',\n  },\n  {\n    name: 'DeferralDueToLargeInScale',\n    id: '2670007',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '216',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '229',\n    tag: 2670,\n    type: 'int',\n    codeSet: 'TrdRegPublicationReasonCodeSet',\n    description:\n      'Deferral due to \"Large in Scale\"\\n\\nPer MiFID Article 14, publication deferral is permitted if the transaction is large in scale compared to a standard market size, as set in RTS 1/Annex II (thresholds for \"large in scale\") and RTS 2/Annex III (\"LIS and SSTI thresholds\"). For ESMA RTS 1 and RTS 2, this is the \"LRGS\" flag.',\n  },\n  {\n    name: 'DeferralDueToIlliquid',\n    id: '2670008',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '216',\n    tag: 2670,\n    type: 'int',\n    codeSet: 'TrdRegPublicationReasonCodeSet',\n    description:\n      'Deferral due to \"Illiquid Instrument\"\\n\\nPublication deferral is permitted if the transaction\\'s instrument is illiquid, as defined by regulator\\'s stipulation. For ESMA RTS 2, this is the \"ILQD\" flag.',\n  },\n  {\n    name: 'DeferralDueToSizeSpecific',\n    id: '2670009',\n    value: '8',\n    sort: 8,\n    added: 'FIX.5.0SP2',\n    addedEP: '216',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '229',\n    tag: 2670,\n    type: 'int',\n    codeSet: 'TrdRegPublicationReasonCodeSet',\n    description:\n      'Deferral due to \"Size Specific\"\\n\\nPer MiFIR Article 11, publication deferral is permitted if the transaction is greater than the stipulated \\'Size Specific to the financial instrument\\' threshold. For ESMA RTS 2, this is the \"SIZE\" flag.',\n  },\n  {\n    name: 'NoPublicPriceDueToLargeInScale',\n    id: '2670010',\n    value: '9',\n    sort: 9,\n    added: 'FIX.5.0SP2',\n    addedEP: '228',\n    tag: 2670,\n    type: 'int',\n    codeSet: 'TrdRegPublicationReasonCodeSet',\n    description:\n      'No public price and/or size quoted as transaction is \"large in scale\"\\n\\nIn the context of ESMA, as per MiFIR Article 4(1)(c) and Article 9(1)(a), the trading venue was not obliged to quote prior to closing the trade as the order size was above normal market size.',\n  },\n  {\n    name: 'NoPublicPriceSizeDueToOrderHidden',\n    id: '2670011',\n    value: '10',\n    sort: 10,\n    added: 'FIX.5.0SP2',\n    addedEP: '228',\n    updated: 'FIX.Latest',\n    updatedEP: '271',\n    tag: 2670,\n    type: 'int',\n    codeSet: 'TrdRegPublicationReasonCodeSet',\n    description:\n      'No public price and/or size quoted due to order being hidden\\n\\nIn the context of ESMA, as per MiFIR Article 4(1)(d) and Article 9(1)(a), a transaction arising from an order that was not fully pre-trade transparent due to all or part of it being held in a trading venue order management facility, such as a reserve order.',\n  },\n  {\n    name: 'ExemptedDueToSecuritiesFinancingTransaction',\n    id: '2670012',\n    value: '11',\n    sort: 11,\n    added: 'FIX.5.0SP2',\n    addedEP: '228',\n    tag: 2670,\n    type: 'int',\n    codeSet: 'TrdRegPublicationReasonCodeSet',\n    description:\n      'Exempted due to securities financing transaction\\n\\nPer ESMA RTS 22, Annex I, Table 2, Field 65: a transaction which \"falls within the scope of activity but is exempted from reporting under Securities Financing Transaction Regulation\".',\n  },\n  {\n    name: 'ExemptedDueToESCBPolicyTransaction',\n    id: '2670013',\n    value: '12',\n    sort: 12,\n    added: 'FIX.5.0SP2',\n    addedEP: '228',\n    tag: 2670,\n    type: 'int',\n    codeSet: 'TrdRegPublicationReasonCodeSet',\n    description:\n      'Exempted due to European System of Central Banks (ESCB) policy transaction\\n\\nPer ESMA RTS2, Article 14(1), and Article 15(1): \"A transaction shall be considered to be entered into by a member of the European System of Central Banks (ESCB) in performance of monetary, foreign exchange and financial stability policy [is exempted from publication] \u2026 [The regulation] shall not apply to the following types of transaction entered into by a member of the ESCB for the performance of one of the tasks referred to in Article 14: transaction entered into for the management of its own funds; transaction entered into for administrative purposes or for the staff of the member of the ESCB which include transactions conducted in the capacity as administrator of a pension scheme for its staff; transactions entered into for its investment portfolio pursuant to obligations under national law.\"',\n  },\n  {\n    name: 'ExceptionDueToReportByPaper',\n    id: '2670014',\n    value: '13',\n    sort: 13,\n    added: 'FIX.5.0SP2',\n    addedEP: '253',\n    tag: 2670,\n    type: 'int',\n    codeSet: 'TrdRegPublicationReasonCodeSet',\n    description:\n      'Exception due to report by paper\\n\\nIncomplete report due to submission by paper (form). In the context of US CAT this is Form T pursuant to FINRA Trade Reporting Rules.',\n  },\n  {\n    name: 'ExceptionDueToTradeExecutedWithNonReportingParty',\n    id: '2670015',\n    value: '14',\n    sort: 14,\n    added: 'FIX.5.0SP2',\n    addedEP: '253',\n    tag: 2670,\n    type: 'int',\n    codeSet: 'TrdRegPublicationReasonCodeSet',\n    description:\n      'Exception due to trade with non-reporting party\\n\\nIncomplete report due to counterparty of the reporting party being absent. In the context of US CAT this is when a trade was executed by a non-FINRA member and reported to the TRF by the FINRA member counterparty.',\n  },\n  {\n    name: 'ExceptionDueToIntraFirmOrder',\n    id: '2670016',\n    value: '15',\n    sort: 15,\n    added: 'FIX.5.0SP2',\n    addedEP: '253',\n    tag: 2670,\n    type: 'int',\n    codeSet: 'TrdRegPublicationReasonCodeSet',\n    description:\n      'Exception due to intra-firm order\\n\\nIncomplete report due to intra\u2013firm order filled from firm\u2019s proprietary account.',\n  },\n  {\n    name: 'ReportedOutsideReportingHours',\n    id: '2670017',\n    value: '16',\n    sort: 16,\n    added: 'FIX.Latest',\n    addedEP: '268',\n    tag: 2670,\n    type: 'int',\n    codeSet: 'TrdRegPublicationReasonCodeSet',\n    description:\n      'Reported outside of reporting hours\\n\\nIn the context of ESMA, trades published after the trade reporting facility being used (e.g. APA for trades brought onto a trading venue) closes, will be reported the following business day and not flagged as deferred (as the MiFID deferral regime is not applicable). This value distinguishes these types of trades from trades executed (and published) on the same business day. It is recommended that this value be set by the trade reporting facility, e.g. APAs, (as opposed to publishing investment firms) to ensure the most accurate use of this value.',\n  },\n  {\n    name: 'NoPublicPxDueToPreTradeWaiver',\n    id: '2670018',\n    value: '17',\n    sort: 17,\n    added: 'FIX.Latest',\n    addedEP: '283',\n    tag: 2670,\n    type: 'int',\n    codeSet: 'TrdRegPublicationReasonCodeSet',\n    description:\n      'No public price quoted due to usage of a pre-trade transparency waiver\\n\\nPer FCA policy statement PS23/4, this is the \"NETW\" flag for negotiated trades in accordance to MiFIR Article 4(1)(b).',\n  },\n  {\n    name: 'NoCross',\n    id: '2523001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '218',\n    tag: 2523,\n    type: 'int',\n    codeSet: 'CrossedIndicatorCodeSet',\n    description: 'No cross\\n\\nCrossing did not occur.',\n  },\n  {\n    name: 'CrossRejected',\n    id: '2523002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '218',\n    tag: 2523,\n    type: 'int',\n    codeSet: 'CrossedIndicatorCodeSet',\n    description:\n      'Cross rejected\\n\\nCrossing occurred but execution was prevented, e.g. due to self-match prevention.',\n  },\n  {\n    name: 'CrossAccepted',\n    id: '2523003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '218',\n    tag: 2523,\n    type: 'int',\n    codeSet: 'CrossedIndicatorCodeSet',\n    description: 'Cross accepted\\n\\nCrossing occurred but execution was permitted.',\n  },\n  {\n    name: 'AggregatedOrder',\n    id: '2594001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '222',\n    tag: 2594,\n    type: 'int',\n    codeSet: 'OrderAttributeTypeCodeSet',\n    description:\n      'Aggregated order\\n\\nIn the context of ESMA RTS 24 Article 2(3), when OrderAttributeValue(2595)=Y, it signifies that the order consists of several orders aggregated together. This maps to ESMA RTS value \"AGGR\".',\n  },\n  {\n    name: 'PendingAllocation',\n    id: '2594002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '222',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '253',\n    tag: 2594,\n    type: 'int',\n    codeSet: 'OrderAttributeTypeCodeSet',\n    description:\n      'Order pending allocation\\n\\nIn the context of ESMA RTS 24 Article 2(2), when OrderAttributeValue(2595)=Y, it signifies that the order submitter \"is authorized under the legislation of a Member State to allocate an order to its client following submission of the order to the trading venue and has not yet allocated the order to its client at the time of the submission of the order\". This maps to ESMA RTS value \"PNAL\".',\n  },\n  {\n    name: 'LiquidityProvisionActivityOrder',\n    id: '2594003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '222',\n    tag: 2594,\n    type: 'int',\n    codeSet: 'OrderAttributeTypeCodeSet',\n    description:\n      'Liquidity provision activity order\\n\\nIn the context of ESMA RTS 24 Article 3, when OrderAttributeValue(2595)=Y, it signifies that the order was submitted \"as part of a market making strategy pursuant to Articles 17 and 18 of Directive 2014/65/EU, or is submitted as part of another activity in accordance with Article 3\" (of RTS 24).',\n  },\n  {\n    name: 'RiskReductionOrder',\n    id: '2594004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '222',\n    tag: 2594,\n    type: 'int',\n    codeSet: 'OrderAttributeTypeCodeSet',\n    description:\n      'Risk reduction order\\n\\nIn the context of ESMA RTS 22 Article 4(2)(i), when OrderAttributeValue(2595)=Y, it signifies that the commodity derivative order is a transaction \"to reduce risk in an objectively measurable way in accordance with Article 57 of Directive 2014/65/EU\".',\n  },\n  {\n    name: 'AlgorithmicOrder',\n    id: '2594005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '222',\n    tag: 2594,\n    type: 'int',\n    codeSet: 'OrderAttributeTypeCodeSet',\n    description:\n      'Algorithmic order\\n\\nWhen OrderAttributeValue(2595)=Y, it signifies the order submitted to the dealer/investment firm resulted from an algorithm.',\n  },\n  {\n    name: 'SystematicInternaliserOrder',\n    id: '2594006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '222',\n    updated: 'FIX.Latest',\n    updatedEP: '289',\n    tag: 2594,\n    type: 'int',\n    codeSet: 'OrderAttributeTypeCodeSet',\n    description:\n      'Authorised reporter order\\n\\nWhen OrderAttributeValue(2595)=Y, it signifies the order is submitted by an authorised reporter who is responsible for reporting trades resulting from the order. This may be a systematic internaliser.',\n  },\n  {\n    name: 'AllExecutionsSubmittedToAPA',\n    id: '2594007',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '228',\n    tag: 2594,\n    type: 'int',\n    codeSet: 'OrderAttributeTypeCodeSet',\n    description:\n      \"All executions for the order are to be submitted to an APA\\n\\nAll executions from this order that may need to be trade reported by the order submitter under MiFID II rules will be submitted by the order receiver on the submitter's behalf to the Approved Publication Arrangement (APA) facility specified in OrderAttributeValue(2595). ESMA RTS 1.\",\n  },\n  {\n    name: 'OrderExecutionInstructedByClient',\n    id: '2594008',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '228',\n    tag: 2594,\n    type: 'int',\n    codeSet: 'OrderAttributeTypeCodeSet',\n    description:\n      \"Order execution instructed by client\\n\\nIn the context of ESMA RTS 22, Annex I, Table 2, Field 59, when OrderAttributeValue(2595)=Y, it signifies that the execution (e.g. the details of the trade including the venue of execution) was instructed by a client or by another person from outside the Investment Firm but within the same group (Field 59 'CLIENT' in ESMA 2016-1452 Guidelines).\",\n  },\n  {\n    name: 'LargeInScale',\n    id: '2594009',\n    value: '8',\n    sort: 8,\n    added: 'FIX.5.0SP2',\n    addedEP: '228',\n    updated: 'FIX.Latest',\n    updatedEP: '271',\n    tag: 2594,\n    type: 'int',\n    codeSet: 'OrderAttributeTypeCodeSet',\n    description:\n      'Large in scale order\\n\\nIn the context of MiFIR Article 4(1)(c) and Article 9(1)(a), when OrderAttributeValue(2595)=Y, it signifies that the order size is large in scale compared to normal market size.',\n  },\n  {\n    name: 'Hidden',\n    id: '2594010',\n    value: '9',\n    sort: 9,\n    added: 'FIX.5.0SP2',\n    addedEP: '228',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '253',\n    tag: 2594,\n    type: 'int',\n    codeSet: 'OrderAttributeTypeCodeSet',\n    description:\n      'Hidden order\\n\\nIn the context of MiFIR Article 4(1)(d) and Article 9(1)(a), when OrderAttributeValue(2595)=Y, it signifies that the order is held in an order management facility of the trading venue pending disclosure.',\n  },\n  {\n    name: 'SubjectToEUSTO',\n    id: '2594011',\n    value: '10',\n    sort: 10,\n    added: 'FIX.5.0SP2',\n    addedEP: '250',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '255',\n    tag: 2594,\n    type: 'int',\n    codeSet: 'OrderAttributeTypeCodeSet',\n    description:\n      \"Subject to EU share trading obligation (STO)\\n\\nThis attribute is mutually exclusive with OrderAttributeType(2594)=14 (Exempt from STO), but not mutually exclusive with OrderAttributeType(2594)=11 (Subject to UK STO).\\n\\nIn the context of the trading obligation for shares (STO) under ESMA's Article 23 of MiFIR, it signifies that the order is subject to the rules defined by ESMA.\",\n  },\n  {\n    name: 'SubjectToUKSTO',\n    id: '2594012',\n    value: '11',\n    sort: 11,\n    added: 'FIX.5.0SP2',\n    addedEP: '250',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '255',\n    tag: 2594,\n    type: 'int',\n    codeSet: 'OrderAttributeTypeCodeSet',\n    description:\n      \"Subject to UK share trading obligation (STO)\\n\\nThis attribute is mutually exclusive with OrderAttributeType(2594)=14 (Exempt from STO), but not mutually exclusive with OrderAttributeType(2594)=10 (Subject to EU STO).\\n\\nIn the context of the trading obligation for shares (STO) under ESMA's Article 23 of MiFIR, it signifies that the order is subject to UK rules defined by the FCA.\",\n  },\n  {\n    name: 'RepresentativeOrder',\n    id: '2594013',\n    value: '12',\n    sort: 12,\n    added: 'FIX.5.0SP2',\n    addedEP: '253',\n    tag: 2594,\n    type: 'int',\n    codeSet: 'OrderAttributeTypeCodeSet',\n    description:\n      'Representative order\\n\\nOrder was originated to represent an order received by the broker from a customer/client.',\n  },\n  {\n    name: 'LinkageType',\n    id: '2594014',\n    value: '13',\n    sort: 13,\n    added: 'FIX.5.0SP2',\n    addedEP: '253',\n    tag: 2594,\n    type: 'int',\n    codeSet: 'OrderAttributeTypeCodeSet',\n    description:\n      'Linkage type\\n\\nOrder is subject to regulatory linkage requirements related to customer/client orders. Can be used for US CAT order and trade level linkages between customer/client orders and representative orders.',\n  },\n  {\n    name: 'ExemptFromSTO',\n    id: '2594015',\n    value: '14',\n    sort: 14,\n    added: 'FIX.5.0SP2',\n    addedEP: '255',\n    tag: 2594,\n    type: 'int',\n    codeSet: 'OrderAttributeTypeCodeSet',\n    description:\n      \"Exempt from share trading obligation (STO)\\n\\nThis attribute is mutually exclusive with OrderAttributeType(2594)=10 = (Subject to EU STO) and OrderAttributeType(2594)=11 = (Subject to UK STO). It can be used to override standing instructions for a trading obligation for shares (STO). It overrides the standing instructions in their entirety.\\n\\nIn the context of STO under ESMA's Article 23 of MiFIR, it signifies that the order is exempt from any share trading obligation.\",\n  },\n  {\n    name: 'NotReported',\n    id: '2524001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '222',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '237',\n    tag: 2524,\n    type: 'int',\n    codeSet: 'TradeReportingIndicatorCodeSet',\n    description:\n      'Trade has not (yet) been reported\\n\\nDepending on the regulatory regime the trade is reportable and the recipient may be responsible for reporting.',\n  },\n  {\n    name: 'OnBook',\n    id: '2524002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '222',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '237',\n    tag: 2524,\n    type: 'int',\n    codeSet: 'TradeReportingIndicatorCodeSet',\n    description:\n      'Trade has been or will be reported by a trading venue as an \"on-book\" trade',\n  },\n  {\n    name: 'SISeller',\n    id: '2524003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '222',\n    updated: 'FIX.Latest',\n    updatedEP: '283',\n    tag: 2524,\n    type: 'int',\n    codeSet: 'TradeReportingIndicatorCodeSet',\n    description:\n      'Trade has or will be reported as a seller trade by the authorised reporter',\n  },\n  {\n    name: 'SIBuyer',\n    id: '2524004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '222',\n    updated: 'FIX.Latest',\n    updatedEP: '283',\n    tag: 2524,\n    type: 'int',\n    codeSet: 'TradeReportingIndicatorCodeSet',\n    description:\n      'Trade has or will be reported as a buyer trade by the authorised reporter',\n  },\n  {\n    name: 'NonSISeller',\n    id: '2524005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '222',\n    updated: 'FIX.Latest',\n    updatedEP: '283',\n    tag: 2524,\n    type: 'int',\n    codeSet: 'TradeReportingIndicatorCodeSet',\n    description:\n      'Trade has or will be reported as a seller trade by an entity other than the authorised reporter',\n  },\n  {\n    name: 'SubDelegationByFirm',\n    id: '2524006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '222',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '237',\n    tag: 2524,\n    type: 'int',\n    codeSet: 'TradeReportingIndicatorCodeSet',\n    description:\n      'Trade has been or will be reported under a sub-delegation arrangement by an investment firm to a reporting facility (e.g. APA) on behalf of another investment firm',\n  },\n  {\n    name: 'Reportable',\n    id: '2524007',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '237',\n    tag: 2524,\n    type: 'int',\n    codeSet: 'TradeReportingIndicatorCodeSet',\n    description:\n      'Trade has been or will be reported\\n\\nDepending on the regulatory regime the recipient is not responsible for reporting.',\n  },\n  {\n    name: 'NonSIBuyer',\n    id: '2524008',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '237',\n    updated: 'FIX.Latest',\n    updatedEP: '283',\n    tag: 2524,\n    type: 'int',\n    codeSet: 'TradeReportingIndicatorCodeSet',\n    description:\n      'Trade has been or will be reported as a buyer trade by an entity other than the authorised reporter',\n  },\n  {\n    name: 'OffBook',\n    id: '2524009',\n    value: '8',\n    sort: 8,\n    added: 'FIX.5.0SP2',\n    addedEP: '237',\n    tag: 2524,\n    type: 'int',\n    codeSet: 'TradeReportingIndicatorCodeSet',\n    description:\n      'Trade has been or will be reported by a trading venue as an \"off-book\" trade',\n  },\n  {\n    name: 'NotReportable',\n    id: '2524010',\n    value: '9',\n    sort: 9,\n    added: 'FIX.5.0SP2',\n    addedEP: '237',\n    tag: 2524,\n    type: 'int',\n    codeSet: 'TradeReportingIndicatorCodeSet',\n    description:\n      'Trade is not reportable\\n\\nThe (non-equity) instrument does not need to be reported by any party, e.g. because it is not deemed to have been traded on a trading venue.',\n  },\n  {\n    name: 'None',\n    id: '2675001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '223',\n    tag: 2675,\n    type: 'int',\n    codeSet: 'MassActionReasonCodeSet',\n    description: 'No special reason (default)',\n  },\n  {\n    name: 'TradingRiskControl',\n    id: '2675002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '223',\n    tag: 2675,\n    type: 'int',\n    codeSet: 'MassActionReasonCodeSet',\n    description:\n      'Trading risk control\\n\\nGeneral violation of trading rules. Can be used if specific reason is unavailable or must not be disclosed.',\n  },\n  {\n    name: 'ClearingRiskControl',\n    id: '2675003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '223',\n    tag: 2675,\n    type: 'int',\n    codeSet: 'MassActionReasonCodeSet',\n    description:\n      'Clearing risk control\\n\\nGeneral violation of clearing rules. Can be used if specific reason is unavailable or must not be disclosed.',\n  },\n  {\n    name: 'MarketMakerProtection',\n    id: '2675004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '223',\n    tag: 2675,\n    type: 'int',\n    codeSet: 'MassActionReasonCodeSet',\n    description:\n      'Market maker protection\\n\\nSpecific action taken to prevent further executions for a market maker.',\n  },\n  {\n    name: 'StopTrading',\n    id: '2675005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '223',\n    tag: 2675,\n    type: 'int',\n    codeSet: 'MassActionReasonCodeSet',\n    description:\n      'Stop trading\\n\\nSpecific action taken in conjunction with the prevention of further trading. Scope can be defined with TargetParties component.',\n  },\n  {\n    name: 'EmergencyAction',\n    id: '2675006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '223',\n    tag: 2675,\n    type: 'int',\n    codeSet: 'MassActionReasonCodeSet',\n    description:\n      'Emergency action\\n\\nSpecific action taken due to an emergency condition. Scope can be defined with TargetParties component.',\n  },\n  {\n    name: 'SessionLossLogout',\n    id: '2675007',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '223',\n    tag: 2675,\n    type: 'int',\n    codeSet: 'MassActionReasonCodeSet',\n    description:\n      'Session loss or logout\\n\\nProtection of trader or firm after having lost connectivity.',\n  },\n  {\n    name: 'DuplicateLogin',\n    id: '2675008',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '223',\n    tag: 2675,\n    type: 'int',\n    codeSet: 'MassActionReasonCodeSet',\n    description: 'Duplicate login\\n\\nTrader only allowed to login once.',\n  },\n  {\n    name: 'ProductNotTraded',\n    id: '2675009',\n    value: '8',\n    sort: 8,\n    added: 'FIX.5.0SP2',\n    addedEP: '223',\n    tag: 2675,\n    type: 'int',\n    codeSet: 'MassActionReasonCodeSet',\n    description:\n      'Product not traded\\n\\nProduct not available for trading, e.g. in a halted state.',\n  },\n  {\n    name: 'InstrumentNotTraded',\n    id: '2675010',\n    value: '9',\n    sort: 9,\n    added: 'FIX.5.0SP2',\n    addedEP: '223',\n    tag: 2675,\n    type: 'int',\n    codeSet: 'MassActionReasonCodeSet',\n    description:\n      'Instrument not traded\\n\\nInstrument not available for trading, e.g. due to intra-day expiration.',\n  },\n  {\n    name: 'CompleInstrumentDeleted',\n    id: '2675011',\n    value: '10',\n    sort: 10,\n    added: 'FIX.5.0SP2',\n    addedEP: '223',\n    tag: 2675,\n    type: 'int',\n    codeSet: 'MassActionReasonCodeSet',\n    description:\n      'Complex instrument deleted\\n\\nRemoval of complex instrument, e.g. due to expiry, leading to mass action on open orders.',\n  },\n  {\n    name: 'CircuitBreakerActivated',\n    id: '2675012',\n    value: '11',\n    sort: 11,\n    added: 'FIX.5.0SP2',\n    addedEP: '223',\n    tag: 2675,\n    type: 'int',\n    codeSet: 'MassActionReasonCodeSet',\n    description:\n      'Circuit breaker activated\\n\\nTrading interruption leading to mass action on open orders.',\n  },\n  {\n    name: 'Other',\n    id: '2675013',\n    value: '99',\n    sort: 99,\n    added: 'FIX.5.0SP2',\n    addedEP: '223',\n    tag: 2675,\n    type: 'int',\n    codeSet: 'MassActionReasonCodeSet',\n    description: 'Other',\n  },\n  {\n    name: 'OrderSuspended',\n    id: '2677001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '223',\n    tag: 2677,\n    type: 'int',\n    codeSet: 'NotAffectedReasonCodeSet',\n    description: 'Order suspended',\n  },\n  {\n    name: 'InstrumentSuspended',\n    id: '2677002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '223',\n    tag: 2677,\n    type: 'int',\n    codeSet: 'NotAffectedReasonCodeSet',\n    description: 'Instrument suspended',\n  },\n  {\n    name: 'NoChange',\n    id: '2679001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '223',\n    tag: 2679,\n    type: 'int',\n    codeSet: 'OrderOwnershipIndicatorCodeSet',\n    description: 'No change of ownership (default)',\n  },\n  {\n    name: 'ExecutingPartyChange',\n    id: '2679002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '223',\n    tag: 2679,\n    type: 'int',\n    codeSet: 'OrderOwnershipIndicatorCodeSet',\n    description:\n      'Change of ownership to executing party\\n\\nExecuting party can be given either implicitly via session attributes or explicitly via Parties component. The party taking over ownership must also be the one submitting the request.',\n  },\n  {\n    name: 'EnteringPartyChange',\n    id: '2679003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '223',\n    tag: 2679,\n    type: 'int',\n    codeSet: 'OrderOwnershipIndicatorCodeSet',\n    description:\n      'Change of ownership to entering party\\n\\nEntering party can be given either implicitly via session attributes or explicitly via Parties component. The party taking over ownership must also be the one submitting the request.',\n  },\n  {\n    name: 'SpecifiedPartyChange',\n    id: '2679004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '223',\n    tag: 2679,\n    type: 'int',\n    codeSet: 'OrderOwnershipIndicatorCodeSet',\n    description:\n      'Change of ownership to specified party\\n\\nOwnership is transferred by a third party from/to the parties specified via Parties component together with PartyRoleQualifier(2376) = Current(18) and New(19).',\n  },\n  {\n    name: 'StandardITM',\n    id: '2681001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '224',\n    tag: 2681,\n    type: 'int',\n    codeSet: 'InTheMoneyConditionCodeSet',\n    description:\n      \"Standard in-the-money\\n\\nThe option's strike price is less than the underlying settlement price for a call or greater than the underlying settlement price for a put.\",\n  },\n  {\n    name: 'ATMITM',\n    id: '2681002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '224',\n    tag: 2681,\n    type: 'int',\n    codeSet: 'InTheMoneyConditionCodeSet',\n    description:\n      \"At-the-money is in-the-money\\n\\nThe option's strike price of either the put or call is equal to the underlying settlement price in addition to standard in-the-money behavior.\",\n  },\n  {\n    name: 'ATMCallITM',\n    id: '2681003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '224',\n    tag: 2681,\n    type: 'int',\n    codeSet: 'InTheMoneyConditionCodeSet',\n    description:\n      \"At-the-money call is in-the-money\\n\\nThe call option's strike price is equal to the underlying settlement price in addition to standard in-the-money behavior.\",\n  },\n  {\n    name: 'ATMPutITM',\n    id: '2681004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '224',\n    tag: 2681,\n    type: 'int',\n    codeSet: 'InTheMoneyConditionCodeSet',\n    description:\n      \"At-the-money put is in-the-money\\n\\nThe put option's strike price is equal to the underlying settlement price in addition to standard in-the-money behavior.\",\n  },\n  {\n    name: 'NoRestriction',\n    id: '2704001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '228',\n    tag: 2704,\n    type: 'int',\n    codeSet: 'ExDestinationTypeCodeSet',\n    description:\n      'No restriction\\n\\nMay be used for MiFID II to indicate no restriction on where the order is executed.',\n  },\n  {\n    name: 'TradedOnlyOnTradingVenue',\n    id: '2704002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '228',\n    tag: 2704,\n    type: 'int',\n    codeSet: 'ExDestinationTypeCodeSet',\n    description:\n      'Can be traded only on a trading venue\\n\\nMay be used for MiFID II to indicate the order can only be executed on a trading venue.',\n  },\n  {\n    name: 'TradedOnlyOnSI',\n    id: '2704003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '228',\n    tag: 2704,\n    type: 'int',\n    codeSet: 'ExDestinationTypeCodeSet',\n    description:\n      'Can be traded only on a Systematic Internaliser (SI)\\n\\nMay be used for MiFID II to indicate the order can only be executed on a Systematic Internaliser.',\n  },\n  {\n    name: 'TradedOnTradingVenueOrSI',\n    id: '2704004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '228',\n    tag: 2704,\n    type: 'int',\n    codeSet: 'ExDestinationTypeCodeSet',\n    description:\n      'Can be traded on a trading venue or Systematic internaliser (SI)\\n\\nMay be used for MiFID II to indicate the order can be executed on either a trading venue or a Systematic Internaliser.',\n  },\n  {\n    name: 'Normal',\n    id: '2705001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '229',\n    tag: 2705,\n    type: 'int',\n    codeSet: 'MarketConditionCodeSet',\n    description:\n      'Normal\\n\\nThe condition of the market in the absence of \"stressed\" or \"exceptional\" conditions.',\n  },\n  {\n    name: 'Stressed',\n    id: '2705002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '229',\n    tag: 2705,\n    type: 'int',\n    codeSet: 'MarketConditionCodeSet',\n    description:\n      'Stressed\\n\\nIn the context of ESMA RTS 8 Article 6: Trading venues shall set out the parameters to identify stressed market conditions in terms of significant short-term changes of price and volume. Trading venues shall consider the resumption of trading after volatility interruptions as stressed market conditions.',\n  },\n  {\n    name: 'Exceptional',\n    id: '2705003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '229',\n    tag: 2705,\n    type: 'int',\n    codeSet: 'MarketConditionCodeSet',\n    description:\n      'Exceptional\\n\\nIn the context of ESMA RTS 8 Article 3: Due to (a) a situation of extreme volatility; (b) war, industrial action, civil unrest or cyber sabotage; (c) disorderly trading conditions, e.g. due to technical issues; (d) unavailability of risk management facilities.',\n  },\n  {\n    name: 'QuoteAboveStandardMarketSize',\n    id: '2707001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '229',\n    tag: 2707,\n    type: 'int',\n    codeSet: 'QuoteAttributeTypeCodeSet',\n    description:\n      'Quote is above standard market size\\n\\nIn the context of ESMA pre-trade transparency under MiFIR to make prices public, the quote size is above standard market size, therefore the price is not made public. Applicable for cash equities instruments.',\n  },\n  {\n    name: 'QuoteAboveSpecificInstrumentSize',\n    id: '2707002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '229',\n    tag: 2707,\n    type: 'int',\n    codeSet: 'QuoteAttributeTypeCodeSet',\n    description:\n      'Quote is above size specific to the instrument\\n\\nIn the context of ESMA pre-trade transparency under MiFID to make public prices, the quote size is above the size specific to the instrument, therefore the price is not or will not be made public. Applicable for non-cash equities instruments.',\n  },\n  {\n    name: 'QuoteApplicableForLiquidtyProvisionActivity',\n    id: '2707003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '229',\n    tag: 2707,\n    type: 'int',\n    codeSet: 'QuoteAttributeTypeCodeSet',\n    description:\n      'Quote applicable for liquidity provision activity\\n\\nIn the context of ESMA RTS 24 Article 3, when QuoteAttributeValue(2708)=Y, it signifies that the quote was submitted \"as part of a market making strategy pursuant to Articles 17 and 18 of Directive 2014/65/EU, or is submitted as part of another activity in accordance with Article 3\" (of RTS 24).',\n  },\n  {\n    name: 'QuoteIssuerStatus',\n    id: '2707004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '253',\n    tag: 2707,\n    type: 'int',\n    codeSet: 'QuoteAttributeTypeCodeSet',\n    description:\n      'Quote issuer status\\n\\nIndicate whether quote issuer is available or not. Can be used in the context of US CAT to indicate if a market maker\u2019s quote is open (O) or closed (C) whenever the quote is sent to an inter-dealer quotation system.',\n  },\n  {\n    name: 'BidOrAskRequest',\n    id: '2707005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '253',\n    tag: 2707,\n    type: 'int',\n    codeSet: 'QuoteAttributeTypeCodeSet',\n    description:\n      'Bid or ask request\\n\\nIndicate explicitly whether a request for a quote is a request for a bid or an ask.',\n  },\n  {\n    name: 'AccruedInterestIsFactored',\n    id: '2710001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '230',\n    tag: 2710,\n    type: 'int',\n    codeSet: 'PriceQualifierCodeSet',\n    description:\n      'Accrued interest (if any) is factored into the price\\n\\nThe price is either \"dirty\" or the security is in default or soon to be defaulted. I.e. on fill there will be no separate accrued interest amount. This is often called a \"flat\" price.',\n  },\n  {\n    name: 'TaxIsFactored',\n    id: '2710002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '230',\n    tag: 2710,\n    type: 'int',\n    codeSet: 'PriceQualifierCodeSet',\n    description:\n      \"Tax is factored into the price\\n\\nThe security's price includes applicable taxes, e.g. Japanese government bonds.\",\n  },\n  {\n    name: 'BondAmortizationIsFactored',\n    id: '2710003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '230',\n    tag: 2710,\n    type: 'int',\n    codeSet: 'PriceQualifierCodeSet',\n    description:\n      \"The effect of bond amortization or the floating rate index offset is factored into the price\\n\\nThe security's price includes the effect of bond amortization or a floating rate index. For example this qualifier would apply to the normal pricing of index-linked UK gilt bonds but not to US or EU index-linked bonds.\",\n  },\n  {\n    name: 'Range1',\n    id: '2711001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '231',\n    tag: 2711,\n    type: 'int',\n    codeSet: 'MDValueTierCodeSet',\n    description: 'Range 1',\n  },\n  {\n    name: 'Range2',\n    id: '2711002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '231',\n    tag: 2711,\n    type: 'int',\n    codeSet: 'MDValueTierCodeSet',\n    description: 'Range 2',\n  },\n  {\n    name: 'Range3',\n    id: '2711003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '231',\n    tag: 2711,\n    type: 'int',\n    codeSet: 'MDValueTierCodeSet',\n    description: 'Range 3',\n  },\n  {\n    name: 'Contributes',\n    id: '2712001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '231',\n    tag: 2712,\n    type: 'int',\n    codeSet: 'MiscFeeQualifierCodeSet',\n    description:\n      'Contributes (default)\\n\\nFee contributes to the trade or transaction economics.',\n  },\n  {\n    name: 'DoesNotContribute',\n    id: '2712002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '231',\n    tag: 2712,\n    type: 'int',\n    codeSet: 'MiscFeeQualifierCodeSet',\n    description:\n      'Does not contribute\\n\\nFee does not contribute to the trade or transaction economics.',\n  },\n  {\n    name: 'ResearchPaymentAccount',\n    id: '2725001',\n    value: '0',\n    sort: 0,\n    group: 'Research Payment',\n    added: 'FIX.5.0SP2',\n    addedEP: '233',\n    tag: 2725,\n    type: 'int',\n    codeSet: 'CommissionAmountSubTypeCodeSet',\n    description: 'Research payment account (RPA)',\n  },\n  {\n    name: 'CommissionSharingAgreement',\n    id: '2725002',\n    value: '1',\n    sort: 1,\n    group: 'Research Payment',\n    added: 'FIX.5.0SP2',\n    addedEP: '233',\n    updated: 'FIX.Latest',\n    updatedEP: '271',\n    tag: 2725,\n    type: 'int',\n    codeSet: 'CommissionAmountSubTypeCodeSet',\n    description: 'Commission sharing agreement (CSA)',\n  },\n  {\n    name: 'OtherTypeResearchPayment',\n    id: '2725003',\n    value: '2',\n    sort: 2,\n    group: 'Research Payment',\n    added: 'FIX.5.0SP2',\n    addedEP: '233',\n    tag: 2725,\n    type: 'int',\n    codeSet: 'CommissionAmountSubTypeCodeSet',\n    description:\n      'Other type of research payment\\n\\nA type of research payment other than RPA or CSA.',\n  },\n  {\n    name: 'ArgusMcCloskey',\n    id: '2736001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '235',\n    tag: 2736,\n    type: 'int',\n    codeSet: 'CommodityFinalPriceTypeCodeSet',\n    description: 'Argus McCloskey',\n  },\n  {\n    name: 'Baltic',\n    id: '2736002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '235',\n    tag: 2736,\n    type: 'int',\n    codeSet: 'CommodityFinalPriceTypeCodeSet',\n    description: 'Baltic',\n  },\n  {\n    name: 'Exchange',\n    id: '2736003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '235',\n    tag: 2736,\n    type: 'int',\n    codeSet: 'CommodityFinalPriceTypeCodeSet',\n    description: 'Exchange',\n  },\n  {\n    name: 'GlobalCoal',\n    id: '2736004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '235',\n    tag: 2736,\n    type: 'int',\n    codeSet: 'CommodityFinalPriceTypeCodeSet',\n    description: 'Global Coal',\n  },\n  {\n    name: 'IHSMcCloskey',\n    id: '2736005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '235',\n    tag: 2736,\n    type: 'int',\n    codeSet: 'CommodityFinalPriceTypeCodeSet',\n    description: 'IHS McCloskey',\n  },\n  {\n    name: 'Platts',\n    id: '2736006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '235',\n    tag: 2736,\n    type: 'int',\n    codeSet: 'CommodityFinalPriceTypeCodeSet',\n    description: 'Platts',\n  },\n  {\n    name: 'Other',\n    id: '2736007',\n    value: '99',\n    sort: 99,\n    added: 'FIX.5.0SP2',\n    addedEP: '235',\n    tag: 2736,\n    type: 'int',\n    codeSet: 'CommodityFinalPriceTypeCodeSet',\n    description: 'Other',\n  },\n  {\n    name: 'AdmitToTradeRequestDate',\n    id: '2748001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '235',\n    tag: 2748,\n    type: 'int',\n    codeSet: 'ReferenceDataDateTypeCodeSet',\n    description:\n      'Date of request for admission to trading\\n\\nIn the context of MiFID II ESMA RTS 23 this is defined as \"Date and time the issuer has approved admission to trading or trading in its financial instruments on a trading venue.\" (Reference: Annex I Table 3 Field 9)',\n  },\n  {\n    name: 'AdmitToTradeApprovalDate',\n    id: '2748002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '235',\n    tag: 2748,\n    type: 'int',\n    codeSet: 'ReferenceDataDateTypeCodeSet',\n    description:\n      'Date of approval of admission to trading\\n\\nIn the context of MiFID II ESMA RTS 23 this is defined as \"Date and time of the request for admission to trading on the trading venue.\" (Reference: Annex I Table 3 Field 10)',\n  },\n  {\n    name: 'AdmitToTradeOrFirstTradeDate',\n    id: '2748003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '235',\n    tag: 2748,\n    type: 'int',\n    codeSet: 'ReferenceDataDateTypeCodeSet',\n    description:\n      'Date of admission to trading or date of first trade\\n\\nIn the context of MiFID II ESMA RTS 23 this is defined as \"Date and time of the admission to trading on the trading venue or the date and time when the instrument was first traded or an order or quote was first received by the trading venue.\" (Reference: Annex I Table 3 Field 11)',\n  },\n  {\n    name: 'TerminationDate',\n    id: '2748004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '235',\n    tag: 2748,\n    type: 'int',\n    codeSet: 'ReferenceDataDateTypeCodeSet',\n    description:\n      'Termination date\\n\\nIn the context of MiFID II ESMA RTS 23 this is defined as \"Where available, the date and time when the financial instrument ceases to be traded or to be admitted to trading on the trading venue.\" (Reference: Annex I Table 3 Field 12)',\n  },\n  {\n    name: 'Dividend',\n    id: '2753001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '238',\n    tag: 2753,\n    type: 'int',\n    codeSet: 'ReturnTriggerCodeSet',\n    description: 'Dividend',\n  },\n  {\n    name: 'Variance',\n    id: '2753002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '238',\n    tag: 2753,\n    type: 'int',\n    codeSet: 'ReturnTriggerCodeSet',\n    description: 'Variance',\n  },\n  {\n    name: 'Volatility',\n    id: '2753003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '238',\n    tag: 2753,\n    type: 'int',\n    codeSet: 'ReturnTriggerCodeSet',\n    description: 'Volatility',\n  },\n  {\n    name: 'TotalReturn',\n    id: '2753004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '238',\n    tag: 2753,\n    type: 'int',\n    codeSet: 'ReturnTriggerCodeSet',\n    description: 'Total return',\n  },\n  {\n    name: 'ContractForDifference',\n    id: '2753005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '238',\n    tag: 2753,\n    type: 'int',\n    codeSet: 'ReturnTriggerCodeSet',\n    description: 'Contract for difference',\n  },\n  {\n    name: 'CreditDefault',\n    id: '2753006',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '238',\n    tag: 2753,\n    type: 'int',\n    codeSet: 'ReturnTriggerCodeSet',\n    description: 'Credit default',\n  },\n  {\n    name: 'SpreadBet',\n    id: '2753007',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '238',\n    tag: 2753,\n    type: 'int',\n    codeSet: 'ReturnTriggerCodeSet',\n    description: 'Spread bet',\n  },\n  {\n    name: 'Price',\n    id: '2753008',\n    value: '8',\n    sort: 8,\n    added: 'FIX.5.0SP2',\n    addedEP: '238',\n    tag: 2753,\n    type: 'int',\n    codeSet: 'ReturnTriggerCodeSet',\n    description: 'Price',\n  },\n  {\n    name: 'ForwardPriceUnderlyingInstrument',\n    id: '2753009',\n    value: '9',\n    sort: 9,\n    added: 'FIX.5.0SP2',\n    addedEP: '238',\n    tag: 2753,\n    type: 'int',\n    codeSet: 'ReturnTriggerCodeSet',\n    description: 'Forward price of underlying instrument',\n  },\n  {\n    name: 'Other',\n    id: '2753010',\n    value: '99',\n    sort: 99,\n    added: 'FIX.5.0SP2',\n    addedEP: '238',\n    tag: 2753,\n    type: 'int',\n    codeSet: 'ReturnTriggerCodeSet',\n    description: 'Other',\n  },\n  {\n    name: 'TimeWeightedAveragePrice',\n    id: '2763001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '240',\n    tag: 2763,\n    type: 'int',\n    codeSet: 'AveragePriceTypeCodeSet',\n    description:\n      'Time weighted average price\\n\\nTWAP is the simple average price of a security over a specified time without regard to the volume traded.',\n  },\n  {\n    name: 'VolumeWeightedAveragePrice',\n    id: '2763002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '240',\n    tag: 2763,\n    type: 'int',\n    codeSet: 'AveragePriceTypeCodeSet',\n    description:\n      'Volume weighted average price\\n\\nVWAP is the sum of the currency amount traded for all trades in the averaging group (price times quantity) divided by the total quantity.',\n  },\n  {\n    name: 'PercentOfVolumeAveragePrice',\n    id: '2763003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '240',\n    updated: 'FIX.Latest',\n    updatedEP: '271',\n    tag: 2763,\n    type: 'int',\n    codeSet: 'AveragePriceTypeCodeSet',\n    description:\n      'Percent of volume average price\\n\\nPOV is the sum of the currency amount traded for all trades executed as part of an order intended to purchase a specified percentage of the total volume of an instrument, divided by the total quantity.',\n  },\n  {\n    name: 'LimitOrderAveragePrice',\n    id: '2763004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '240',\n    tag: 2763,\n    type: 'int',\n    codeSet: 'AveragePriceTypeCodeSet',\n    description:\n      'Limit order average price\\n\\nThe limit order average price is the currency amount of all trades executed to fill a limit order, divided by the total quantity.',\n  },\n  {\n    name: 'Added',\n    id: '2767001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '240',\n    tag: 2767,\n    type: 'int',\n    codeSet: 'AllocGroupStatusCodeSet',\n    description:\n      'Added\\n\\nThis trade has been associated with the group for the first time.',\n  },\n  {\n    name: 'Canceled',\n    id: '2767002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '240',\n    tag: 2767,\n    type: 'int',\n    codeSet: 'AllocGroupStatusCodeSet',\n    description: 'Canceled\\n\\nThis trade has been removed from the group.',\n  },\n  {\n    name: 'Replaced',\n    id: '2767003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '240',\n    tag: 2767,\n    type: 'int',\n    codeSet: 'AllocGroupStatusCodeSet',\n    description: 'Replaced\\n\\nThis trade already in the group has been updated.',\n  },\n  {\n    name: 'Changed',\n    id: '2767004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '241',\n    tag: 2767,\n    type: 'int',\n    codeSet: 'AllocGroupStatusCodeSet',\n    description:\n      'Changed\\n\\nAn allocated trade or give-up has moved from one allocation group to another.',\n  },\n  {\n    name: 'Pending',\n    id: '2767005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '241',\n    tag: 2767,\n    type: 'int',\n    codeSet: 'AllocGroupStatusCodeSet',\n    description:\n      'Pending\\n\\nA request to assign or change an allocation group is pending.',\n  },\n  {\n    name: 'Accepted',\n    id: '2768001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '241',\n    tag: 2768,\n    type: 'int',\n    codeSet: 'AllocRequestStatusCodeSet',\n    description: 'Accepted',\n  },\n  {\n    name: 'Rejected',\n    id: '2768002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '241',\n    tag: 2768,\n    type: 'int',\n    codeSet: 'AllocRequestStatusCodeSet',\n    description: 'Rejected',\n  },\n  {\n    name: 'NoMatchingConfirmation',\n    id: '2773001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '246',\n    tag: 2773,\n    type: 'int',\n    codeSet: 'MatchExceptionTypeCodeSet',\n    description: 'No matching confirmation',\n  },\n  {\n    name: 'NoMatchingAllocation',\n    id: '2773002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '246',\n    tag: 2773,\n    type: 'int',\n    codeSet: 'MatchExceptionTypeCodeSet',\n    description: 'No matching allocation',\n  },\n  {\n    name: 'AllocationDataElementMissing',\n    id: '2773003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '246',\n    tag: 2773,\n    type: 'int',\n    codeSet: 'MatchExceptionTypeCodeSet',\n    description: 'Allocation data element missing',\n  },\n  {\n    name: 'ConfirmationDataElementMissing',\n    id: '2773004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '246',\n    tag: 2773,\n    type: 'int',\n    codeSet: 'MatchExceptionTypeCodeSet',\n    description: 'Confirmation data element missing',\n  },\n  {\n    name: 'DataDifferenceNotWithinTolerance',\n    id: '2773005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '246',\n    tag: 2773,\n    type: 'int',\n    codeSet: 'MatchExceptionTypeCodeSet',\n    description: 'Data difference not within tolerance',\n  },\n  {\n    name: 'MatchWithinTolerance',\n    id: '2773006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '246',\n    tag: 2773,\n    type: 'int',\n    codeSet: 'MatchExceptionTypeCodeSet',\n    description: 'Match within tolerance',\n  },\n  {\n    name: 'Other',\n    id: '2773007',\n    value: '99',\n    sort: 99,\n    added: 'FIX.5.0SP2',\n    addedEP: '246',\n    tag: 2773,\n    type: 'int',\n    codeSet: 'MatchExceptionTypeCodeSet',\n    description: 'Other',\n  },\n  {\n    name: 'AccruedInterest',\n    id: '2774001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '246',\n    tag: 2774,\n    type: 'int',\n    codeSet: 'MatchExceptionElementTypeCodeSet',\n    description: 'Accrued interest',\n  },\n  {\n    name: 'DealPrice',\n    id: '2774002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '246',\n    tag: 2774,\n    type: 'int',\n    codeSet: 'MatchExceptionElementTypeCodeSet',\n    description: 'Deal price',\n  },\n  {\n    name: 'TradeDate',\n    id: '2774003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '246',\n    tag: 2774,\n    type: 'int',\n    codeSet: 'MatchExceptionElementTypeCodeSet',\n    description: 'Trade date\\n\\nTolerance not applicable',\n  },\n  {\n    name: 'SettlementDate',\n    id: '2774004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '246',\n    tag: 2774,\n    type: 'int',\n    codeSet: 'MatchExceptionElementTypeCodeSet',\n    description: 'Settlement date\\n\\nTolerance not applicable',\n  },\n  {\n    name: 'SideIndicator',\n    id: '2774005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '246',\n    tag: 2774,\n    type: 'int',\n    codeSet: 'MatchExceptionElementTypeCodeSet',\n    description: 'Side indicator\\n\\nTolerance not applicable',\n  },\n  {\n    name: 'TradedCurrency',\n    id: '2774006',\n    value: '6',\n    sort: 6,\n    added: 'FIX.5.0SP2',\n    addedEP: '246',\n    tag: 2774,\n    type: 'int',\n    codeSet: 'MatchExceptionElementTypeCodeSet',\n    description: 'Traded currency\\n\\nTolerance not applicable',\n  },\n  {\n    name: 'AccountID',\n    id: '2774007',\n    value: '7',\n    sort: 7,\n    added: 'FIX.5.0SP2',\n    addedEP: '246',\n    tag: 2774,\n    type: 'int',\n    codeSet: 'MatchExceptionElementTypeCodeSet',\n    description: 'Account ID\\n\\nTolerance not applicable',\n  },\n  {\n    name: 'ExecutingBrokerID',\n    id: '2774008',\n    value: '8',\n    sort: 8,\n    added: 'FIX.5.0SP2',\n    addedEP: '246',\n    tag: 2774,\n    type: 'int',\n    codeSet: 'MatchExceptionElementTypeCodeSet',\n    description: 'Executing broker ID\\n\\nTolerance not applicable',\n  },\n  {\n    name: 'SettlementCurrencyAndAmount',\n    id: '2774009',\n    value: '9',\n    sort: 9,\n    added: 'FIX.5.0SP2',\n    addedEP: '246',\n    tag: 2774,\n    type: 'int',\n    codeSet: 'MatchExceptionElementTypeCodeSet',\n    description: 'Settlement currency and amount',\n  },\n  {\n    name: 'InvestmentManagerID',\n    id: '2774010',\n    value: '10',\n    sort: 10,\n    added: 'FIX.5.0SP2',\n    addedEP: '246',\n    tag: 2774,\n    type: 'int',\n    codeSet: 'MatchExceptionElementTypeCodeSet',\n    description: 'Investment manager ID\\n\\nTolerance not applicable',\n  },\n  {\n    name: 'NetAmount',\n    id: '2774011',\n    value: '11',\n    sort: 11,\n    added: 'FIX.5.0SP2',\n    addedEP: '246',\n    tag: 2774,\n    type: 'int',\n    codeSet: 'MatchExceptionElementTypeCodeSet',\n    description: 'Net amount',\n  },\n  {\n    name: 'PlaceOfSettlement',\n    id: '2774012',\n    value: '12',\n    sort: 12,\n    added: 'FIX.5.0SP2',\n    addedEP: '246',\n    tag: 2774,\n    type: 'int',\n    codeSet: 'MatchExceptionElementTypeCodeSet',\n    description: 'Place of settlement\\n\\nTolerance not applicable',\n  },\n  {\n    name: 'Commissions',\n    id: '2774013',\n    value: '13',\n    sort: 13,\n    added: 'FIX.5.0SP2',\n    addedEP: '246',\n    tag: 2774,\n    type: 'int',\n    codeSet: 'MatchExceptionElementTypeCodeSet',\n    description: 'Commissions',\n  },\n  {\n    name: 'SecurityIdentifier',\n    id: '2774014',\n    value: '14',\n    sort: 14,\n    added: 'FIX.5.0SP2',\n    addedEP: '246',\n    tag: 2774,\n    type: 'int',\n    codeSet: 'MatchExceptionElementTypeCodeSet',\n    description: 'Security identifier\\n\\nTolerance not applicable',\n  },\n  {\n    name: 'QualityAllocated',\n    id: '2774015',\n    value: '15',\n    sort: 15,\n    added: 'FIX.5.0SP2',\n    addedEP: '246',\n    tag: 2774,\n    type: 'int',\n    codeSet: 'MatchExceptionElementTypeCodeSet',\n    description: 'Quantity allocated',\n  },\n  {\n    name: 'Principal',\n    id: '2774016',\n    value: '16',\n    sort: 16,\n    added: 'FIX.5.0SP2',\n    addedEP: '246',\n    tag: 2774,\n    type: 'int',\n    codeSet: 'MatchExceptionElementTypeCodeSet',\n    description: 'Principal',\n  },\n  {\n    name: 'Fees',\n    id: '2774017',\n    value: '17',\n    sort: 17,\n    added: 'FIX.5.0SP2',\n    addedEP: '246',\n    tag: 2774,\n    type: 'int',\n    codeSet: 'MatchExceptionElementTypeCodeSet',\n    description: 'Fees',\n  },\n  {\n    name: 'Tax',\n    id: '2774018',\n    value: '18',\n    sort: 18,\n    added: 'FIX.5.0SP2',\n    addedEP: '246',\n    tag: 2774,\n    type: 'int',\n    codeSet: 'MatchExceptionElementTypeCodeSet',\n    description: 'Tax',\n  },\n  {\n    name: 'FixedAmount',\n    id: '2779001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '246',\n    tag: 2779,\n    type: 'int',\n    codeSet: 'MatchExceptionToleranceValueTypeCodeSet',\n    description: 'Fixed amount\\n\\nDefault if not specified',\n  },\n  {\n    name: 'Percentage',\n    id: '2779002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '246',\n    tag: 2779,\n    type: 'int',\n    codeSet: 'MatchExceptionToleranceValueTypeCodeSet',\n    description: 'Percentage',\n  },\n  {\n    name: 'Mandatory',\n    id: '2782001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '246',\n    tag: 2782,\n    type: 'int',\n    codeSet: 'MatchingDataPointIndicatorCodeSet',\n    description: 'Mandatory',\n  },\n  {\n    name: 'Optional',\n    id: '2782002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '246',\n    tag: 2782,\n    type: 'int',\n    codeSet: 'MatchingDataPointIndicatorCodeSet',\n    description: 'Optional',\n  },\n  {\n    name: 'New',\n    id: '2788001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '247',\n    tag: 2788,\n    type: 'int',\n    codeSet: 'TradeAggregationTransTypeCodeSet',\n    description: 'New',\n  },\n  {\n    name: 'Cancel',\n    id: '2788002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '247',\n    tag: 2788,\n    type: 'int',\n    codeSet: 'TradeAggregationTransTypeCodeSet',\n    description: 'Cancel',\n  },\n  {\n    name: 'Replace',\n    id: '2788003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '247',\n    tag: 2788,\n    type: 'int',\n    codeSet: 'TradeAggregationTransTypeCodeSet',\n    description: 'Replace',\n  },\n  {\n    name: 'Accepted',\n    id: '2790001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '247',\n    tag: 2790,\n    type: 'int',\n    codeSet: 'TradeAggregationRequestStatusCodeSet',\n    description: 'Accepted',\n  },\n  {\n    name: 'Rejected',\n    id: '2790002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '247',\n    tag: 2790,\n    type: 'int',\n    codeSet: 'TradeAggregationRequestStatusCodeSet',\n    description: 'Rejected',\n  },\n  {\n    name: 'UnknownOrders',\n    id: '2791001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '247',\n    tag: 2791,\n    type: 'int',\n    codeSet: 'TradeAggregationRejectReasonCodeSet',\n    description: 'Unknown order(s)',\n  },\n  {\n    name: 'UnknownExecutionFills',\n    id: '2791002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '247',\n    tag: 2791,\n    type: 'int',\n    codeSet: 'TradeAggregationRejectReasonCodeSet',\n    description: 'Unknown execution/fill(s)',\n  },\n  {\n    name: 'Other',\n    id: '2791003',\n    value: '99',\n    sort: 99,\n    added: 'FIX.5.0SP2',\n    addedEP: '247',\n    tag: 2791,\n    type: 'int',\n    codeSet: 'TradeAggregationRejectReasonCodeSet',\n    description: 'Other',\n  },\n  {\n    name: 'Regular',\n    id: '2795001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '247',\n    tag: 2795,\n    type: 'int',\n    codeSet: 'OffshoreIndicatorCodeSet',\n    description:\n      'Regular - Default if not specified.\\n\\nThe notion of onshore and offshore rates does not apply.',\n  },\n  {\n    name: 'Offshore',\n    id: '2795002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '247',\n    tag: 2795,\n    type: 'int',\n    codeSet: 'OffshoreIndicatorCodeSet',\n    description:\n      'Offshore\\n\\nUsed to indicate that the rate specified is an offshore rate which differs from its onshore rate.',\n  },\n  {\n    name: 'Onshore',\n    id: '2795003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '247',\n    tag: 2795,\n    type: 'int',\n    codeSet: 'OffshoreIndicatorCodeSet',\n    description:\n      'Onshore\\n\\nUsed to indicate that the rate specified is an onshore rate which differs from its offshore rate.',\n  },\n  {\n    name: 'New',\n    id: '2804001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '249',\n    tag: 2804,\n    type: 'int',\n    codeSet: 'PayReportTransTypeCodeSet',\n    description: 'New',\n  },\n  {\n    name: 'Replace',\n    id: '2804002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '249',\n    tag: 2804,\n    type: 'int',\n    codeSet: 'PayReportTransTypeCodeSet',\n    description: 'Replace',\n  },\n  {\n    name: 'Status',\n    id: '2804003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '249',\n    tag: 2804,\n    type: 'int',\n    codeSet: 'PayReportTransTypeCodeSet',\n    description:\n      'Status\\n\\nAn unsolicited message reporting the current progress status of the payment.',\n  },\n  {\n    name: 'Received',\n    id: '2806001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '249',\n    tag: 2806,\n    type: 'int',\n    codeSet: 'PayReportStatusCodeSet',\n    description: 'Received, not yet processed',\n  },\n  {\n    name: 'Accepted',\n    id: '2806002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '249',\n    tag: 2806,\n    type: 'int',\n    codeSet: 'PayReportStatusCodeSet',\n    description: 'Accepted',\n  },\n  {\n    name: 'Rejected',\n    id: '2806003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '249',\n    tag: 2806,\n    type: 'int',\n    codeSet: 'PayReportStatusCodeSet',\n    description: 'Rejected',\n  },\n  {\n    name: 'Disputed',\n    id: '2806004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '249',\n    tag: 2806,\n    type: 'int',\n    codeSet: 'PayReportStatusCodeSet',\n    description:\n      'Disputed\\n\\nUsed when there is some type of mismatch that can be resolved.',\n  },\n  {\n    name: 'New',\n    id: '2811001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '249',\n    tag: 2811,\n    type: 'int',\n    codeSet: 'PayRequestTransTypeCodeSet',\n    description: 'New',\n  },\n  {\n    name: 'Cancel',\n    id: '2811002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '249',\n    tag: 2811,\n    type: 'int',\n    codeSet: 'PayRequestTransTypeCodeSet',\n    description: 'Cancel',\n  },\n  {\n    name: 'Received',\n    id: '2813001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '249',\n    tag: 2813,\n    type: 'int',\n    codeSet: 'PayRequestStatusCodeSet',\n    description: 'Received, not yet processed',\n  },\n  {\n    name: 'Accepted',\n    id: '2813002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '249',\n    tag: 2813,\n    type: 'int',\n    codeSet: 'PayRequestStatusCodeSet',\n    description: 'Accepted',\n  },\n  {\n    name: 'Rejected',\n    id: '2813003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '249',\n    tag: 2813,\n    type: 'int',\n    codeSet: 'PayRequestStatusCodeSet',\n    description: 'Rejected',\n  },\n  {\n    name: 'Disputed',\n    id: '2813004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '249',\n    tag: 2813,\n    type: 'int',\n    codeSet: 'PayRequestStatusCodeSet',\n    description:\n      'Disputed\\n\\nUsed when there is some type of mismatch that can be resolved.',\n  },\n  {\n    name: 'DebitPay',\n    id: '2819001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '249',\n    tag: 2819,\n    type: 'int',\n    codeSet: 'PostTradePaymentDebitOrCreditCodeSet',\n    description: 'Debit / Pay',\n  },\n  {\n    name: 'CreditReceive',\n    id: '2819002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '249',\n    tag: 2819,\n    type: 'int',\n    codeSet: 'PostTradePaymentDebitOrCreditCodeSet',\n    description: 'Credit / Receive',\n  },\n  {\n    name: 'New',\n    id: '2823001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '249',\n    tag: 2823,\n    type: 'int',\n    codeSet: 'PostTradePaymentStatusCodeSet',\n    description: 'New\\n\\nPayment is awaiting confirmation from the recipient.',\n  },\n  {\n    name: 'Initiated',\n    id: '2823002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '249',\n    tag: 2823,\n    type: 'int',\n    codeSet: 'PostTradePaymentStatusCodeSet',\n    description:\n      'Initiated\\n\\nPayment is confirmed by the recipient and has been scheduled.',\n  },\n  {\n    name: 'Pending',\n    id: '2823003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '249',\n    tag: 2823,\n    type: 'int',\n    codeSet: 'PostTradePaymentStatusCodeSet',\n    description:\n      'Pending\\n\\nPayment has been instructed to the payment service but status is unknown.',\n  },\n  {\n    name: 'Confirmed',\n    id: '2823004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '249',\n    tag: 2823,\n    type: 'int',\n    codeSet: 'PostTradePaymentStatusCodeSet',\n    description: 'Confirmed\\n\\nPayment is complete and confirmed by the payment service.',\n  },\n  {\n    name: 'Rejected',\n    id: '2823005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '249',\n    tag: 2823,\n    type: 'int',\n    codeSet: 'PostTradePaymentStatusCodeSet',\n    description: 'Rejected\\n\\nPayment was rejected by the payment service.',\n  },\n  {\n    name: 'UniqueClOrdID',\n    id: '2829001',\n    value: 'N',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '253',\n    tag: 2829,\n    type: 'Boolean',\n    codeSet: 'DuplicateClOrdIDIndicatorCodeSet',\n    description: 'Unique ClOrdID(11)',\n  },\n  {\n    name: 'DuplicateClOrdID',\n    id: '2829002',\n    value: 'Y',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '253',\n    tag: 2829,\n    type: 'Boolean',\n    codeSet: 'DuplicateClOrdIDIndicatorCodeSet',\n    description: 'Duplicate ClOrdID(11)',\n  },\n  {\n    name: 'CustomerOrClient',\n    id: '2830001',\n    value: 'C',\n    sort: 12,\n    added: 'FIX.5.0SP2',\n    addedEP: '253',\n    tag: 2830,\n    type: 'char',\n    codeSet: 'EventInitiatorTypeCodeSet',\n    description: 'Customer or client',\n  },\n  {\n    name: 'ExchangeOrExecutionVenue',\n    id: '2830002',\n    value: 'E',\n    sort: 14,\n    added: 'FIX.5.0SP2',\n    addedEP: '253',\n    tag: 2830,\n    type: 'char',\n    codeSet: 'EventInitiatorTypeCodeSet',\n    description: 'Exchange or execution venue',\n  },\n  {\n    name: 'FirmOrBroker',\n    id: '2830003',\n    value: 'F',\n    sort: 15,\n    added: 'FIX.5.0SP2',\n    addedEP: '253',\n    tag: 2830,\n    type: 'char',\n    codeSet: 'EventInitiatorTypeCodeSet',\n    description: 'Firm or broker',\n  },\n  {\n    name: 'Bid',\n    id: '2831001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '253',\n    tag: 2831,\n    type: 'int',\n    codeSet: 'NBBOEntryTypeCodeSet',\n    description: 'Bid\\n\\nMay apply to price or quantity.',\n  },\n  {\n    name: 'Offer',\n    id: '2831002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '253',\n    tag: 2831,\n    type: 'int',\n    codeSet: 'NBBOEntryTypeCodeSet',\n    description: 'Offer\\n\\nMay apply to price or quantity.',\n  },\n  {\n    name: 'MidPrice',\n    id: '2831003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '253',\n    tag: 2831,\n    type: 'int',\n    codeSet: 'NBBOEntryTypeCodeSet',\n    description: 'Mid-price',\n  },\n  {\n    name: 'NotApplicable',\n    id: '2834001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '253',\n    tag: 2834,\n    type: 'int',\n    codeSet: 'NBBOSourceCodeSet',\n    description:\n      'Not applicable\\n\\nDefault if not specified. NBBO information is not applicable. NBBOEntryType(2831), NBBOPrice(2832), and NBBOQty(2833) must be omitted.',\n  },\n  {\n    name: 'Direct',\n    id: '2834002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '253',\n    tag: 2834,\n    type: 'int',\n    codeSet: 'NBBOSourceCodeSet',\n    description:\n      'Direct\\n\\nInformation is retrieved directly from an exchange or other electronic execution venue. There may be a performance advantage compared to retrieving the information from a source consolidating multiple feeds.',\n  },\n  {\n    name: 'SIP',\n    id: '2834003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '253',\n    tag: 2834,\n    type: 'int',\n    codeSet: 'NBBOSourceCodeSet',\n    description:\n      'Securities Information Processor\\n\\nThe Securities Information Processor (SIP) links the U.S. markets by processing and consolidating all protected bid/ask quotes and trades from every trading venue into a single, easily consumed data feed.',\n  },\n  {\n    name: 'Hybrid',\n    id: '2834004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '253',\n    tag: 2834,\n    type: 'int',\n    codeSet: 'NBBOSourceCodeSet',\n    description:\n      'Hybrid\\n\\nA combination of two or more data feeds is used as NBBO source. In the context of US CAT this is used for a combination of direct and SIP feeds.',\n  },\n  {\n    name: 'MultipleQuotesAllowed',\n    id: '2837001',\n    value: 'N',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '253',\n    tag: 2837,\n    type: 'Boolean',\n    codeSet: 'SingleQuoteIndicatorCodeSet',\n    description: 'Multiple quotes allowed',\n  },\n  {\n    name: 'OnlyOneQuoteAllowed',\n    id: '2837002',\n    value: 'Y',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '253',\n    tag: 2837,\n    type: 'Boolean',\n    codeSet: 'SingleQuoteIndicatorCodeSet',\n    description: 'Only one quote allowed',\n  },\n  {\n    name: 'NotManuallyCaptured',\n    id: '2839001',\n    value: 'N',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '253',\n    tag: 2839,\n    type: 'Boolean',\n    codeSet: 'TrdRegTimestampManualIndicatorCodeSet',\n    description: 'Not manually captured',\n  },\n  {\n    name: 'ManuallyCaptured',\n    id: '2839002',\n    value: 'Y',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '253',\n    tag: 2839,\n    type: 'Boolean',\n    codeSet: 'TrdRegTimestampManualIndicatorCodeSet',\n    description: 'Manually captured',\n  },\n  {\n    name: 'MoneyMarketFund',\n    id: '2844001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 2844,\n    type: 'int',\n    codeSet: 'CollateralReinvestmentTypeCodeSet',\n    description:\n      'Money market fund\\n\\nRegistered money market fund. In the context of EU SFTR reporting this corresponds to code \"MMFT\".',\n  },\n  {\n    name: 'OtherComingledPool',\n    id: '2844002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 2844,\n    type: 'int',\n    codeSet: 'CollateralReinvestmentTypeCodeSet',\n    description:\n      'Other comingled pool\\n\\nAny commingled pool other than money market fund. In the context of EU SFTR reporting this corresponds to code \"OCMP\".',\n  },\n  {\n    name: 'RepoMarket',\n    id: '2844003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 2844,\n    type: 'int',\n    codeSet: 'CollateralReinvestmentTypeCodeSet',\n    description:\n      'Repo market\\n\\nThe repurchase agreement market. In the context of EU SFTR reporting this corresponds to code \"REPM\".',\n  },\n  {\n    name: 'DirectPurchaseOfSecurities',\n    id: '2844004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 2844,\n    type: 'int',\n    codeSet: 'CollateralReinvestmentTypeCodeSet',\n    description:\n      'Direct purchase of securities\\n\\nIn the context of EU SFTR reporting this corresponds to code \"SDPU\".',\n  },\n  {\n    name: 'OtherInvestments',\n    id: '2844005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 2844,\n    type: 'int',\n    codeSet: 'CollateralReinvestmentTypeCodeSet',\n    description:\n      'Other investments\\n\\nIn the context of EU SFTR reporting this corresponds to code \"OTHR\".',\n  },\n  {\n    name: 'Repo',\n    id: '2846001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 2846,\n    type: 'int',\n    codeSet: 'FundingSourceCodeSet',\n    description:\n      'Repurchase agreement\\n\\nRepurchase agreements or Buy Sellbacks. In the context of EU SFTR reporting this corresponds to code \"REPO\".',\n  },\n  {\n    name: 'Cash',\n    id: '2846002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 2846,\n    type: 'int',\n    codeSet: 'FundingSourceCodeSet',\n    description:\n      'Cash\\n\\nCash collateral from securities lending. In the context of EU SFTR reporting this corresponds to code \"SECL\".',\n  },\n  {\n    name: 'FreeCedits',\n    id: '2846003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 2846,\n    type: 'int',\n    codeSet: 'FundingSourceCodeSet',\n    description:\n      'Free credits\\n\\nIn the context of EU SFTR reporting this corresponds to code \"FREE\".',\n  },\n  {\n    name: 'CustomerShortSales',\n    id: '2846004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 2846,\n    type: 'int',\n    codeSet: 'FundingSourceCodeSet',\n    description:\n      'Customer short sales\\n\\nProceeds from customer short sales. In the context of EU SFTR reporting this corresponds to code \"CSHS\".',\n  },\n  {\n    name: 'BrokerShortSales',\n    id: '2846005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 2846,\n    type: 'int',\n    codeSet: 'FundingSourceCodeSet',\n    description:\n      'Broker short sales\\n\\nProceeds from broker short sales. In the context of EU SFTR reporting this corresponds to code \"BSHS\".',\n  },\n  {\n    name: 'UnsecuredBorrowing',\n    id: '2846006',\n    value: '5',\n    sort: 5,\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 2846,\n    type: 'int',\n    codeSet: 'FundingSourceCodeSet',\n    description:\n      'Unsecured borrowing\\n\\nIn the context of EU SFTR reporting this corresponds to code \"UBOR\".',\n  },\n  {\n    name: 'Other',\n    id: '2846007',\n    value: '99',\n    sort: 99,\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 2846,\n    type: 'int',\n    codeSet: 'FundingSourceCodeSet',\n    description:\n      'Other\\n\\nIn the context of EU SFTR reporting this corresponds to code \"OTHR\".',\n  },\n  {\n    name: 'Posted',\n    id: '2851001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 2851,\n    type: 'int',\n    codeSet: 'MarginDirectionCodeSet',\n    description:\n      'Posted\\n\\nThe party or account that is the object of the report posted margin.',\n  },\n  {\n    name: 'Received',\n    id: '2851002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 2851,\n    type: 'int',\n    codeSet: 'MarginDirectionCodeSet',\n    description:\n      'Received\\n\\nThe party or account that is the object of the report received margin.',\n  },\n  {\n    name: 'ExclusiveArrangement',\n    id: '2872001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 2872,\n    type: 'int',\n    codeSet: 'TransactionAttributeTypeCodeSet',\n    description:\n      \"Exclusive arrangement\\n\\nIn the context of securities borrowing and lending transaction, an indication of whether the borrower has exclusive access to borrow from the lender's securities portfolio. Not applicable to commodities. TransactionAttributeValue(2873) takes Y or N value.\",\n  },\n  {\n    name: 'CollateralReuse',\n    id: '2872002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 2872,\n    type: 'int',\n    codeSet: 'TransactionAttributeTypeCodeSet',\n    description:\n      'Collateral reuse\\n\\nIndication of whether the collateral taker can reuse the securities provided as collateral for the transaction. TransactionAttributeValue(tbd2873) takes Y or N value.',\n  },\n  {\n    name: 'CollateralArrangmentType',\n    id: '2872003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '254',\n    tag: 2872,\n    type: 'int',\n    codeSet: 'TransactionAttributeTypeCodeSet',\n    description:\n      'Collateral arrangement type\\n\\nIn the context of securities financing transactions, indicates the type of collateral arrangement. For EU SFTR reporting, TransactionAttributeValue(2873) may take ESMA assigned values \"TTCA\" (title transfer), \"SICA\" (securities financial interest), or \"SIUR\" (securities financial interest with right of use).',\n  },\n  {\n    name: 'NoRoutingArrangmentInPlace',\n    id: '2883001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '256',\n    tag: 2883,\n    type: 'int',\n    codeSet: 'RoutingArrangmentIndicatorCodeSet',\n    description: 'No routing arrangement in place',\n  },\n  {\n    name: 'RoutingArrangementInPlace',\n    id: '2883002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '256',\n    tag: 2883,\n    type: 'int',\n    codeSet: 'RoutingArrangmentIndicatorCodeSet',\n    description: 'Routing arrangement in place',\n  },\n  {\n    name: 'NonFIXSource',\n    id: '2888001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '259',\n    tag: 2888,\n    type: 'int',\n    codeSet: 'RelatedOrderIDSourceCodeSet',\n    description: 'Non-FIX Source',\n  },\n  {\n    name: 'SystemOrderIdentifier',\n    id: '2888002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '259',\n    tag: 2888,\n    type: 'int',\n    codeSet: 'RelatedOrderIDSourceCodeSet',\n    description:\n      'Order identifier\\n\\nCan be used to refer to an order identifier assigned by the party accepting the order, e.g. OrderID(37).',\n  },\n  {\n    name: 'ClientOrderIdentifier',\n    id: '2888003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '259',\n    tag: 2888,\n    type: 'int',\n    codeSet: 'RelatedOrderIDSourceCodeSet',\n    description:\n      'Client order identifier\\n\\nCan be used to refer to an order identifier assigned by the party initiating the order, e.g. ClOrdID(11).',\n  },\n  {\n    name: 'SecondaryOrderIdentifier',\n    id: '2888004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.5.0SP2',\n    addedEP: '259',\n    tag: 2888,\n    type: 'int',\n    codeSet: 'RelatedOrderIDSourceCodeSet',\n    description:\n      'Secondary order identifier\\n\\nCan be used to refer to an additional order identifier assigned by the party accepting the order, e.g. SecondaryOrderID(198).',\n  },\n  {\n    name: 'SecondaryClientOrderIdentifier',\n    id: '2888005',\n    value: '4',\n    sort: 4,\n    added: 'FIX.5.0SP2',\n    addedEP: '259',\n    tag: 2888,\n    type: 'int',\n    codeSet: 'RelatedOrderIDSourceCodeSet',\n    description:\n      'Secondary client order identifier\\n\\nCan be used to refer to an additional order identifier assigned by the party initiating the order, e.g. SecondaryClOrdID(526).',\n  },\n  {\n    name: 'NotSpecified',\n    id: '2890001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.5.0SP2',\n    addedEP: '259',\n    tag: 2890,\n    type: 'int',\n    codeSet: 'OrderRelationshipCodeSet',\n    description: 'Not specified',\n  },\n  {\n    name: 'OrderAggregation',\n    id: '2890002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.5.0SP2',\n    addedEP: '259',\n    tag: 2890,\n    type: 'int',\n    codeSet: 'OrderRelationshipCodeSet',\n    description:\n      'Order aggregation\\n\\nOrder has been subject to a bundling of multiple orders to a single new order identified outside of the component.',\n  },\n  {\n    name: 'OrderSplit',\n    id: '2890003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.5.0SP2',\n    addedEP: '259',\n    tag: 2890,\n    type: 'int',\n    codeSet: 'OrderRelationshipCodeSet',\n    description:\n      'Order split\\n\\nOrder has been created as a child order of the order identified outside of the component.',\n  },\n  {\n    name: 'CUSIP',\n    id: '2897001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.Latest',\n    addedEP: '273',\n    tag: 2897,\n    type: 'String',\n    codeSet: 'CurrencyCodeSourceCodeSet',\n    description: 'CUSIP',\n  },\n  {\n    name: 'SEDOL',\n    id: '2897002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.Latest',\n    addedEP: '273',\n    tag: 2897,\n    type: 'String',\n    codeSet: 'CurrencyCodeSourceCodeSet',\n    description: 'SEDOL',\n  },\n  {\n    name: 'ISINNumber',\n    id: '2897003',\n    value: '4',\n    sort: 4,\n    added: 'FIX.Latest',\n    addedEP: '273',\n    tag: 2897,\n    type: 'String',\n    codeSet: 'CurrencyCodeSourceCodeSet',\n    description: 'ISIN',\n  },\n  {\n    name: 'ISOCurrencyCode',\n    id: '2897004',\n    value: '6',\n    sort: 6,\n    added: 'FIX.Latest',\n    addedEP: '273',\n    tag: 2897,\n    type: 'String',\n    codeSet: 'CurrencyCodeSourceCodeSet',\n    description: 'ISO Currency Code (ISO 4217)',\n  },\n  {\n    name: 'FinancialInstrumentGlobalIdentifier',\n    id: '2897005',\n    value: 'S',\n    sort: 27,\n    added: 'FIX.Latest',\n    addedEP: '273',\n    tag: 2897,\n    type: 'String',\n    codeSet: 'CurrencyCodeSourceCodeSet',\n    description:\n      'Financial Instrument Global Identifier\\n\\nAn Object Management Group (OMG) standard. Also referred to as FIGI. Formerly known as \"Bloomberg Open Symbology BBGID\".',\n  },\n  {\n    name: 'DigitalTokenIdentifier',\n    id: '2897006',\n    value: 'Y',\n    sort: 33,\n    added: 'FIX.Latest',\n    addedEP: '273',\n    tag: 2897,\n    type: 'String',\n    codeSet: 'CurrencyCodeSourceCodeSet',\n    description: 'Digital Token Identifier (ISO 24165)',\n  },\n  {\n    name: 'NotMultiJrsdctnEligible',\n    id: '2963001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.Latest',\n    addedEP: '277',\n    tag: 2963,\n    type: 'int',\n    codeSet: 'MultiJurisdictionReportingIndicatorCodeSet',\n    description: 'Trade not eligible for multi-jurisdiction reporting',\n  },\n  {\n    name: 'MultiJrsdctnEligible',\n    id: '2963002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.Latest',\n    addedEP: '277',\n    tag: 2963,\n    type: 'int',\n    codeSet: 'MultiJurisdictionReportingIndicatorCodeSet',\n    description: 'Trade eligible for multi-jurisdiction reporting',\n  },\n  {\n    name: 'CancelAggressive',\n    id: '2964001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.Latest',\n    addedEP: '280',\n    tag: 2964,\n    type: 'int',\n    codeSet: 'SelfMatchPreventionInstructionCodeSet',\n    description: 'Cancel aggressive\\n\\nCancel incoming order.',\n  },\n  {\n    name: 'CancelPassive',\n    id: '2964002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.Latest',\n    addedEP: '280',\n    tag: 2964,\n    type: 'int',\n    codeSet: 'SelfMatchPreventionInstructionCodeSet',\n    description:\n      'Cancel passive\\n\\nCancel resting order with the same SelfMatchPreventionID(2362).',\n  },\n  {\n    name: 'CancelAggressivePassive',\n    id: '2964003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.Latest',\n    addedEP: '280',\n    tag: 2964,\n    type: 'int',\n    codeSet: 'SelfMatchPreventionInstructionCodeSet',\n    description:\n      'Cancel aggressive and passive\\n\\nCancel both incoming and resting order with the same SelfMatchPreventionID(2362).',\n  },\n  {\n    name: 'Received',\n    id: '2966001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.Latest',\n    addedEP: '281',\n    tag: 2966,\n    type: 'int',\n    codeSet: 'SettlStatusRequestStatusCodeSet',\n    description: 'Received, not yet processed',\n  },\n  {\n    name: 'Accepted',\n    id: '2966002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.Latest',\n    addedEP: '281',\n    tag: 2966,\n    type: 'int',\n    codeSet: 'SettlStatusRequestStatusCodeSet',\n    description: 'Accepted',\n  },\n  {\n    name: 'Rejected',\n    id: '2966003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.Latest',\n    addedEP: '281',\n    tag: 2966,\n    type: 'int',\n    codeSet: 'SettlStatusRequestStatusCodeSet',\n    description: 'Rejected\\n\\nRejection reason provided in RejectText(1328).',\n  },\n  {\n    name: 'Received',\n    id: '2973001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.Latest',\n    addedEP: '281',\n    tag: 2973,\n    type: 'int',\n    codeSet: 'SettlStatusReportStatusCodeSet',\n    description: 'Received, not yet processed',\n  },\n  {\n    name: 'Accepted',\n    id: '2973002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.Latest',\n    addedEP: '281',\n    tag: 2973,\n    type: 'int',\n    codeSet: 'SettlStatusReportStatusCodeSet',\n    description: 'Accepted',\n  },\n  {\n    name: 'Rejected',\n    id: '2973003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.Latest',\n    addedEP: '281',\n    tag: 2973,\n    type: 'int',\n    codeSet: 'SettlStatusReportStatusCodeSet',\n    description: 'Rejected\\n\\nRejection reason provided in RejectText(1328).',\n  },\n  {\n    name: 'TradeType',\n    id: '2980001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.Latest',\n    addedEP: '285',\n    tag: 2980,\n    type: 'int',\n    codeSet: 'AllocGroupSubQtyTypeCodeSet',\n    description: 'Trade type',\n  },\n  {\n    name: 'TradePublicationIndicator',\n    id: '2980002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.Latest',\n    addedEP: '285',\n    tag: 2980,\n    type: 'int',\n    codeSet: 'AllocGroupSubQtyTypeCodeSet',\n    description: 'Trade publication indicator',\n  },\n  {\n    name: 'OrderHandlingInstruction',\n    id: '2980003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.Latest',\n    addedEP: '285',\n    tag: 2980,\n    type: 'int',\n    codeSet: 'AllocGroupSubQtyTypeCodeSet',\n    description: 'Order handling instruction',\n  },\n  {\n    name: 'Realtime',\n    id: '2993001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.Latest',\n    addedEP: '288',\n    tag: 2993,\n    type: 'int',\n    codeSet: 'MetricsCalculationPriceSourceCodeSet',\n    description:\n      'Real-time\\n\\nReal-time market prices used as the data source in metrics/analytics calculation.',\n  },\n  {\n    name: 'EndOfDay',\n    id: '2993002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.Latest',\n    addedEP: '288',\n    tag: 2993,\n    type: 'int',\n    codeSet: 'MetricsCalculationPriceSourceCodeSet',\n    description:\n      'End of day\\n\\nOfficial end of day price (marking) used as the data source in metrics/analytics calculation.',\n  },\n  {\n    name: 'BlackScholes',\n    id: '2994001',\n    value: '1',\n    sort: 1,\n    added: 'FIX.Latest',\n    addedEP: '288',\n    tag: 2994,\n    type: 'int',\n    codeSet: 'AssetValuationModelCodeSet',\n    description: 'Black-Scholes',\n  },\n  {\n    name: 'Whaley',\n    id: '2994002',\n    value: '2',\n    sort: 2,\n    added: 'FIX.Latest',\n    addedEP: '288',\n    tag: 2994,\n    type: 'int',\n    codeSet: 'AssetValuationModelCodeSet',\n    description: 'Whaley',\n  },\n  {\n    name: 'Bachelier',\n    id: '2994003',\n    value: '3',\n    sort: 3,\n    added: 'FIX.Latest',\n    addedEP: '288',\n    tag: 2994,\n    type: 'int',\n    codeSet: 'AssetValuationModelCodeSet',\n    description: 'Bachelier',\n  },\n  {\n    name: 'Kirk',\n    id: '2994004',\n    value: '4',\n    sort: 4,\n    added: 'FIX.Latest',\n    addedEP: '288',\n    tag: 2994,\n    type: 'int',\n    codeSet: 'AssetValuationModelCodeSet',\n    description: 'Kirk',\n  },\n  {\n    name: 'Curran',\n    id: '2994005',\n    value: '5',\n    sort: 5,\n    added: 'FIX.Latest',\n    addedEP: '288',\n    tag: 2994,\n    type: 'int',\n    codeSet: 'AssetValuationModelCodeSet',\n    description: 'Curran',\n  },\n  {\n    name: 'Black76',\n    id: '2994006',\n    value: '6',\n    sort: 6,\n    added: 'FIX.Latest',\n    addedEP: '288',\n    tag: 2994,\n    type: 'int',\n    codeSet: 'AssetValuationModelCodeSet',\n    description: 'Black-76',\n  },\n  {\n    name: 'Binomial',\n    id: '2994007',\n    value: '7',\n    sort: 7,\n    added: 'FIX.Latest',\n    addedEP: '288',\n    tag: 2994,\n    type: 'int',\n    codeSet: 'AssetValuationModelCodeSet',\n    description: 'Binomial',\n  },\n  {\n    name: 'OtherModel',\n    id: '2994008',\n    value: '99',\n    sort: 99,\n    added: 'FIX.Latest',\n    addedEP: '288',\n    tag: 2994,\n    type: 'int',\n    codeSet: 'AssetValuationModelCodeSet',\n    description: 'Other model',\n  },\n  {\n    name: 'New',\n    id: '3016001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.Latest',\n    addedEP: '292',\n    tag: 3016,\n    type: 'int',\n    codeSet: 'AlgoCertificateRequestTransTypeCodeSet',\n    description: 'New',\n  },\n  {\n    name: 'Cancel',\n    id: '3016002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.Latest',\n    addedEP: '292',\n    tag: 3016,\n    type: 'int',\n    codeSet: 'AlgoCertificateRequestTransTypeCodeSet',\n    description: 'Cancel',\n  },\n  {\n    name: 'Received',\n    id: '3017001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.Latest',\n    addedEP: '292',\n    tag: 3017,\n    type: 'int',\n    codeSet: 'AlgoCertificateRequestStatusCodeSet',\n    description: 'Received, not yet processed',\n  },\n  {\n    name: 'Accepted',\n    id: '3017002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.Latest',\n    addedEP: '292',\n    tag: 3017,\n    type: 'int',\n    codeSet: 'AlgoCertificateRequestStatusCodeSet',\n    description: 'Accepted',\n  },\n  {\n    name: 'Rejected',\n    id: '3017003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.Latest',\n    addedEP: '292',\n    tag: 3017,\n    type: 'int',\n    codeSet: 'AlgoCertificateRequestStatusCodeSet',\n    description: 'Rejected\\n\\nRejection reason provided in RejectText(1328).',\n  },\n  {\n    name: 'New',\n    id: '3020001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.Latest',\n    addedEP: '292',\n    tag: 3020,\n    type: 'int',\n    codeSet: 'AlgoCertificateReportTransTypeCodeSet',\n    description: 'New',\n  },\n  {\n    name: 'Cancel',\n    id: '3020002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.Latest',\n    addedEP: '292',\n    tag: 3020,\n    type: 'int',\n    codeSet: 'AlgoCertificateReportTransTypeCodeSet',\n    description: 'Cancel',\n  },\n  {\n    name: 'Replace',\n    id: '3020003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.Latest',\n    addedEP: '292',\n    tag: 3020,\n    type: 'int',\n    codeSet: 'AlgoCertificateReportTransTypeCodeSet',\n    description: 'Replace',\n  },\n  {\n    name: 'Received',\n    id: '3021001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.Latest',\n    addedEP: '292',\n    tag: 3021,\n    type: 'int',\n    codeSet: 'AlgoCertificateReportStatusCodeSet',\n    description: 'Received, not yet processed',\n  },\n  {\n    name: 'Accepted',\n    id: '3021002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.Latest',\n    addedEP: '292',\n    tag: 3021,\n    type: 'int',\n    codeSet: 'AlgoCertificateReportStatusCodeSet',\n    description: 'Accepted',\n  },\n  {\n    name: 'Rejected',\n    id: '3021003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.Latest',\n    addedEP: '292',\n    tag: 3021,\n    type: 'int',\n    codeSet: 'AlgoCertificateReportStatusCodeSet',\n    description: 'Rejected\\n\\nRejection reason provided in RejectText(1328).',\n  },\n  {\n    name: 'Draft',\n    id: '3022001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.Latest',\n    addedEP: '292',\n    tag: 3022,\n    type: 'int',\n    codeSet: 'AlgoCertificateStatusCodeSet',\n    description: 'Draft\\n\\nCertificate identifier assigned.',\n  },\n  {\n    name: 'Approved',\n    id: '3022002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.Latest',\n    addedEP: '292',\n    tag: 3022,\n    type: 'int',\n    codeSet: 'AlgoCertificateStatusCodeSet',\n    description: 'Approved\\n\\nAlgorithm approved by authorized person.',\n  },\n  {\n    name: 'Submitted',\n    id: '3022003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.Latest',\n    addedEP: '292',\n    tag: 3022,\n    type: 'int',\n    codeSet: 'AlgoCertificateStatusCodeSet',\n    description: 'Submitted\\n\\nAlgorithm sent to venue.',\n  },\n  {\n    name: 'Under',\n    id: '3058001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.Latest',\n    addedEP: '292',\n    tag: 3058,\n    type: 'int',\n    codeSet: 'TestThresholdTypeCodeSet',\n    description: 'Under',\n  },\n  {\n    name: 'Over',\n    id: '3058002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.Latest',\n    addedEP: '292',\n    tag: 3058,\n    type: 'int',\n    codeSet: 'TestThresholdTypeCodeSet',\n    description: 'Over',\n  },\n  {\n    name: 'New',\n    id: '3064001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.Latest',\n    addedEP: '292',\n    tag: 3064,\n    type: 'int',\n    codeSet: 'TestSuiteRequestTransTypeCodeSet',\n    description: 'New',\n  },\n  {\n    name: 'Cancel',\n    id: '3064002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.Latest',\n    addedEP: '292',\n    tag: 3064,\n    type: 'int',\n    codeSet: 'TestSuiteRequestTransTypeCodeSet',\n    description: 'Cancel',\n  },\n  {\n    name: 'Received',\n    id: '3065001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.Latest',\n    addedEP: '292',\n    tag: 3065,\n    type: 'int',\n    codeSet: 'TestSuiteRequestStatusCodeSet',\n    description: 'Received, not yet processed',\n  },\n  {\n    name: 'Accepted',\n    id: '3065002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.Latest',\n    addedEP: '292',\n    tag: 3065,\n    type: 'int',\n    codeSet: 'TestSuiteRequestStatusCodeSet',\n    description: 'Accepted',\n  },\n  {\n    name: 'Rejected',\n    id: '3065003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.Latest',\n    addedEP: '292',\n    tag: 3065,\n    type: 'int',\n    codeSet: 'TestSuiteRequestStatusCodeSet',\n    description: 'Rejected\\n\\nRejection reason provided in RejectText(1328).',\n  },\n  {\n    name: 'Start',\n    id: '3067001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.Latest',\n    addedEP: '292',\n    tag: 3067,\n    type: 'int',\n    codeSet: 'TestActionTypeCodeSet',\n    description: 'Start',\n  },\n  {\n    name: 'Stop',\n    id: '3067002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.Latest',\n    addedEP: '292',\n    tag: 3067,\n    type: 'int',\n    codeSet: 'TestActionTypeCodeSet',\n    description: 'Stop',\n  },\n  {\n    name: 'State',\n    id: '3067003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.Latest',\n    addedEP: '292',\n    tag: 3067,\n    type: 'int',\n    codeSet: 'TestActionTypeCodeSet',\n    description: 'State',\n  },\n  {\n    name: 'Received',\n    id: '3068001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.Latest',\n    addedEP: '292',\n    tag: 3068,\n    type: 'int',\n    codeSet: 'TestActionRequestStatusCodeSet',\n    description: 'Received, not yet processed',\n  },\n  {\n    name: 'Accepted',\n    id: '3068002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.Latest',\n    addedEP: '292',\n    tag: 3068,\n    type: 'int',\n    codeSet: 'TestActionRequestStatusCodeSet',\n    description: 'Accepted',\n  },\n  {\n    name: 'Rejected',\n    id: '3068003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.Latest',\n    addedEP: '292',\n    tag: 3068,\n    type: 'int',\n    codeSet: 'TestActionRequestStatusCodeSet',\n    description: 'Rejected\\n\\nRejection reason provided in RejectText(1328).',\n  },\n  {\n    name: 'Scheduled',\n    id: '3069001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.Latest',\n    addedEP: '292',\n    tag: 3069,\n    type: 'int',\n    codeSet: 'TestSuiteActivityStateCodeSet',\n    description: 'Scheduled\\n\\nTest suite is currently being executed.',\n  },\n  {\n    name: 'Completed',\n    id: '3069002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.Latest',\n    addedEP: '292',\n    tag: 3069,\n    type: 'int',\n    codeSet: 'TestSuiteActivityStateCodeSet',\n    description:\n      'Completed\\n\\nTest suite has run to completion and test status information is available.',\n  },\n  {\n    name: 'Cancelled',\n    id: '3069003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.Latest',\n    addedEP: '292',\n    tag: 3069,\n    type: 'int',\n    codeSet: 'TestSuiteActivityStateCodeSet',\n    description:\n      'Cancelled\\n\\nTest suite has not run to completion due to a cancellation by the user or an abnormal termination by the test system. Test suite status information is undefined.',\n  },\n  {\n    name: 'Undefined',\n    id: '3070001',\n    value: '0',\n    sort: 0,\n    added: 'FIX.Latest',\n    addedEP: '292',\n    tag: 3070,\n    type: 'int',\n    codeSet: 'TestSuiteStatusCodeSet',\n    description: 'Undefined',\n  },\n  {\n    name: 'Pass',\n    id: '3070002',\n    value: '1',\n    sort: 1,\n    added: 'FIX.Latest',\n    addedEP: '292',\n    tag: 3070,\n    type: 'int',\n    codeSet: 'TestSuiteStatusCodeSet',\n    description: 'Pass',\n  },\n  {\n    name: 'Fail',\n    id: '3070003',\n    value: '2',\n    sort: 2,\n    added: 'FIX.Latest',\n    addedEP: '292',\n    tag: 3070,\n    type: 'int',\n    codeSet: 'TestSuiteStatusCodeSet',\n    description: 'Fail',\n  },\n  {\n    name: 'Warning',\n    id: '3070004',\n    value: '3',\n    sort: 3,\n    added: 'FIX.Latest',\n    addedEP: '292',\n    tag: 3070,\n    type: 'int',\n    codeSet: 'TestSuiteStatusCodeSet',\n    description: 'Warning',\n  },\n];\n\nconst batch3: ISpecEnums[] = [];\n\nconst batch4: ISpecEnums[] = [];\n\nexport const ENUMS: ISpecEnums[] = batch1.concat(batch2, batch3, batch4);\n", "import type { ISpecEnums } from '../spec/SpecEnums';\n\nexport class EnumType {\n  public name: string | null = null;\n  public id: string | null = null;\n  public tag: number | null = null;\n  public type: string | null = null;\n  public codeSet: string | null = null;\n  public value: string | null = null;\n  public sort?: number | null = null;\n  public group?: string | null = null;\n  public added?: string | null = null;\n  public addedEP?: string | null = null;\n  public updated?: string | null = null;\n  public updatedEP?: string | null = null;\n  public deprecated?: string | null = null;\n  public deprecatedEP?: string | null = null;\n  public description?: string | null = null;\n\n  public setEnumeration(enumType: ISpecEnums): void {\n    this.name = enumType.name;\n    this.id = enumType.id;\n    this.tag = enumType.tag;\n    this.type = enumType.type;\n    this.codeSet = enumType.codeSet;\n    this.value = enumType.value;\n    this.sort = enumType.sort;\n    this.group = enumType.group;\n    this.added = enumType.added;\n    this.addedEP = enumType.addedEP;\n    this.updated = enumType.updated;\n    this.updatedEP = enumType.updatedEP;\n    this.deprecated = enumType.deprecated;\n    this.deprecatedEP = enumType.deprecatedEP;\n    this.description = enumType.description;\n  }\n}\n", "import type { Field } from '../fields/Field';\nimport { ENUMS, type ISpecEnums } from '../spec/SpecEnums';\nimport { EnumType } from './EnumType';\n\nexport class Enums {\n  public enums: ISpecEnums[] = ENUMS;\n  public cacheMap: Map<string, ISpecEnums> = new Map<string, ISpecEnums>();\n  public cacheMapTag: Map<string, ISpecEnums> = new Map<string, ISpecEnums>();\n\n  constructor() {\n    this.enums.forEach((enumType: ISpecEnums) => {\n      this.cacheMap.set(`${enumType.tag}|${enumType.value}`, enumType);\n      this.cacheMapTag.set(`${enumType.tag}`, enumType);\n    });\n  }\n\n  public getEnum(\n    tag: string,\n    value: number | string | boolean | null\n  ): ISpecEnums | undefined {\n    return this.cacheMap.get(`${tag}|${value}`);\n  }\n\n  public getEnumByTag(tag: string): ISpecEnums | undefined {\n    return this.cacheMapTag.get(tag);\n  }\n\n  public processEnum(field: Field): void {\n    const enumTypes: EnumType = new EnumType();\n    const foundEnum: ISpecEnums | undefined = this.cacheMap.get(\n      `${field.tag}|${field.value}`\n    );\n    if (foundEnum) {\n      enumTypes.setEnumeration(foundEnum);\n      field.setEnumeration(enumTypes);\n    }\n  }\n}\n", "import type { EnumType } from '../enums/EnumType';\nimport type { ISpecDatatypes } from '../spec/SpecDatatypes';\nimport type { CategoryType } from './categories/CategoryType';\nimport type { SectionType } from './sections/SectionType';\n\nexport class Field {\n  public tag: number;\n  public value: number | string | boolean | null;\n  public name: string | null = null;\n  public description: string | null = null;\n  public type: ISpecDatatypes | null = null;\n  public category: CategoryType | null = null;\n  public section: SectionType | null = null;\n  public enumeration: EnumType | null = null;\n\n  constructor(tag: number, value: number | string | boolean | null) {\n    this.tag = tag >> 0;\n    this.value = value;\n    this.name = null;\n    this.description = null;\n    this.type = null;\n    this.category = null;\n    this.section = null;\n    this.enumeration = null;\n  }\n\n  public setTag(tag: number): void {\n    this.tag = tag >> 0;\n  }\n\n  public setValue(value: number | string | boolean | null): void {\n    this.value = value;\n  }\n\n  public setName(name: string): void {\n    this.name = name;\n  }\n\n  public setDescription(description: string): void {\n    this.description = description;\n  }\n\n  public setType(type: ISpecDatatypes | null): void {\n    this.type = type;\n  }\n\n  public setCategory(category: CategoryType): void {\n    this.category = category;\n  }\n\n  public setSection(section: SectionType): void {\n    this.section = section;\n  }\n\n  public setEnumeration(enumeration: EnumType): void {\n    this.enumeration = enumeration;\n  }\n\n  public toString(): string {\n    return `${this.tag}=${this.value}`;\n  }\n}\n", "export enum Field {\n  /** Account mnemonic as agreed between buy and sell sides, e.g. broker and institution or investor/intermediary and fund manager. */\n  Account = 1,\n  AdvId = 2,\n  AdvRefID = 3,\n  /** Broker's side of advertised trade */\n  AdvSide = 4,\n  /** Identifies advertisement message transaction type */\n  AdvTransType = 5,\n  AvgPx = 6,\n  /** Message sequence number of first message in range to be resent */\n  BeginSeqNo = 7,\n  /** Identifies beginning of new message and session protocol version by means of a session profile identifier (see FIX Session Layer for details). ALWAYS FIRST FIELD IN MESSAGE. (Always unencrypted). */\n  BeginString = 8,\n  /** Message length, in bytes, forward to the CheckSum field. ALWAYS SECOND FIELD IN MESSAGE. (Always unencrypted) */\n  BodyLength = 9,\n  /** Three byte, simple checksum (see Volume 2: \"Checksum Calculation\" for description). ALWAYS LAST FIELD IN MESSAGE; i.e. serves, with the trailing <SOH>, as the end-of-message delimiter. Always defined as three characters. (Always unencrypted) */\n  CheckSum = 10,\n  /** Unique identifier for Order as assigned by the buy-side (institution, broker, intermediary etc.) (identified by SenderCompID(49) or OnBehalfOfCompID(115) as appropriate). Uniqueness must be guaranteed within a single trading day. Firms, particularly those which electronically submit multi-day orders, trade globally or throughout market close periods, should ensure uniqueness across days, for example by embedding a date within the ClOrdID(11) field. */\n  ClOrdID = 11,\n  /** Commission. Note if CommType (13) is percentage, Commission of 5% should be represented as .05. */\n  Commission = 12,\n  /** Specifies the basis or unit used to calculate the total commission based on the rate. */\n  CommType = 13,\n  CumQty = 14,\n  Currency = 15,\n  /** Message sequence number of last message in range to be resent. If request is for a single message BeginSeqNo (7) = EndSeqNo. If request is for all messages subsequent to a particular message, EndSeqNo = \"0\" (representing infinity). */\n  EndSeqNo = 16,\n  ExecID = 17,\n  /** Instructions for order handling on exchange trading floor. If more than one instruction is applicable to an order, this field can contain multiple instructions separated by space. *** SOME VALUES HAVE BEEN REPLACED - See \"Replaced Features and Supported Approach\" *** (see Volume : \"Glossary\" for value definitions) */\n  ExecInst = 18,\n  ExecRefID = 19,\n  /** Instructions for order handling on Broker trading floor */\n  HandlInst = 21,\n  /** Identifies class or source of the SecurityID(48) value. */\n  SecurityIDSource = 22,\n  IOIID = 23,\n  /** Relative quality of indication */\n  IOIQltyInd = 25,\n  IOIRefID = 26,\n  /** Quantity (e.g. number of shares) in numeric form or relative size. */\n  IOIQty = 27,\n  /** Identifies IOI message transaction type */\n  IOITransType = 28,\n  /** Broker capacity in order execution */\n  LastCapacity = 29,\n  LastMkt = 30,\n  /** Price of this (last) fill. */\n  LastPx = 31,\n  LastQty = 32,\n  /** Identifies number of lines of text body */\n  NoLinesOfText = 33,\n  /** Integer message sequence number. */\n  MsgSeqNum = 34,\n  MsgType = 35,\n  /** New sequence number */\n  NewSeqNo = 36,\n  /** Unique identifier for Order as assigned by sell-side (broker, exchange, ECN). Uniqueness must be guaranteed within a single trading day. Firms which accept multi-day orders should consider embedding a date within the OrderID field to assure uniqueness across days. */\n  OrderID = 37,\n  OrderQty = 38,\n  /** Identifies current status of order. *** SOME VALUES HAVE BEEN REPLACED - See \"Replaced Features and Supported Approach\" *** (see Volume : \"Glossary\" for value definitions) */\n  OrdStatus = 39,\n  /** Order type. *** SOME VALUES ARE NO LONGER USED - See \"Deprecated (Phased-out) Features and Supported Approach\" *** (see Volume : \"Glossary\" for value definitions) */\n  OrdType = 40,\n  /** ClOrdID (11) of the previous order (NOT the initial order of the day) as assigned by the institution, used to identify the previous order in cancel and cancel/replace requests. */\n  OrigClOrdID = 41,\n  /** Time of message origination (always expressed in UTC (Universal Time Coordinated, also known as \"GMT\")) */\n  OrigTime = 42,\n  /** Indicates possible retransmission of message with this sequence number */\n  PossDupFlag = 43,\n  /** Price per unit of quantity (e.g. per share) */\n  Price = 44,\n  /** Reference message sequence number */\n  RefSeqNum = 45,\n  /** Security identifier value of SecurityIDSource (22) type (e.g. CUSIP, SEDOL, ISIN, etc). Requires SecurityIDSource. */\n  SecurityID = 48,\n  /** Assigned value used to identify firm sending message. */\n  SenderCompID = 49,\n  /** Assigned value used to identify specific message originator (desk, trader, etc.) */\n  SenderSubID = 50,\n  /** Time of message transmission (always expressed in UTC (Universal Time Coordinated, also known as \"GMT\") */\n  SendingTime = 52,\n  Quantity = 53,\n  /** Side of order (see Volume : \"Glossary\" for value definitions) */\n  Side = 54,\n  Symbol = 55,\n  /** Assigned value used to identify receiving firm. */\n  TargetCompID = 56,\n  /** Assigned value used to identify specific individual or unit intended to receive message. \"ADMIN\" reserved for administrative messages not intended for a specific user. */\n  TargetSubID = 57,\n  Text = 58,\n  /** Specifies how long the order remains in effect. Absence of this field is interpreted as DAY. NOTE not applicable to CIV Orders. */\n  TimeInForce = 59,\n  /** Timestamp when the business transaction represented by the message occurred. */\n  TransactTime = 60,\n  /** Urgency flag */\n  Urgency = 61,\n  /** Indicates expiration time of indication message (always expressed in UTC (Universal Time Coordinated, also known as \"GMT\") */\n  ValidUntilTime = 62,\n  SettlType = 63,\n  SettlDate = 64,\n  SymbolSfx = 65,\n  /** Unique identifier for list as assigned by institution, used to associate multiple individual orders. Uniqueness must be guaranteed within a single trading day. Firms which generate multi-day orders should consider embedding a date within the ListID field to assure uniqueness across days. */\n  ListID = 66,\n  /** Sequence of individual order within list (i.e. ListSeqNo of TotNoOrders (68), 2 of 25, 3 of 25, . . . ) */\n  ListSeqNo = 67,\n  TotNoOrders = 68,\n  /** Free format text message containing list handling and execution instructions. */\n  ListExecInst = 69,\n  AllocID = 70,\n  /** Identifies allocation transaction type *** SOME VALUES HAVE BEEN REPLACED - See \"Replaced Features and Supported Approach\" *** */\n  AllocTransType = 71,\n  RefAllocID = 72,\n  /** Indicates number of orders to be combined for average pricing and allocation. */\n  NoOrders = 73,\n  /** Indicates number of decimal places to be used for average pricing. Absence of this field indicates that default precision arranged by the broker/institution is to be used. */\n  AvgPxPrecision = 74,\n  /** Indicates date of trading day. Absence of this field indicates current day (expressed in local time at place of trade). */\n  TradeDate = 75,\n  /** Indicates whether the resulting position after a trade should be an opening position or closing position. Used for omnibus accounting - where accounts are held on a gross basis instead of being netted together. */\n  PositionEffect = 77,\n  /** Number of repeating AllocAccount (79)/AllocPrice (366) entries. */\n  NoAllocs = 78,\n  /** Sub-account mnemonic */\n  AllocAccount = 79,\n  AllocQty = 80,\n  /** Processing code for sub-account. Absence of this field in AllocAccount (79) / AllocPrice (366) /AllocQty (80) / ProcessCode instance indicates regular trade. */\n  ProcessCode = 81,\n  /** Total number of reports within series. */\n  NoRpts = 82,\n  /** Sequence number of message within report series. Used to carry reporting sequence number of the fill as represented on the Trade Report Side. */\n  RptSeq = 83,\n  CxlQty = 84,\n  NoDlvyInst = 85,\n  /** Identifies status of allocation. */\n  AllocStatus = 87,\n  /** Identifies reason for rejection. */\n  AllocRejCode = 88,\n  /** Electronic signature */\n  Signature = 89,\n  /** Length of encrypted message */\n  SecureDataLen = 90,\n  /** Actual encrypted data stream */\n  SecureData = 91,\n  /** Number of bytes in signature field */\n  SignatureLength = 93,\n  /** Email message type. */\n  EmailType = 94,\n  /** Number of bytes in raw data field. */\n  RawDataLength = 95,\n  /** Unformatted raw data, can include bitmaps, word processor documents, etc. */\n  RawData = 96,\n  /** Indicates that message may contain information that has been sent under another sequence number. */\n  PossResend = 97,\n  /** Method of encryption. */\n  EncryptMethod = 98,\n  /** Price per unit of quantity (e.g. per share) */\n  StopPx = 99,\n  ExDestination = 100,\n  /** Code to identify reason for cancel rejection. */\n  CxlRejReason = 102,\n  /** Code to identify reason for order rejection. Note: Values 3, 4, and 5 will be used when rejecting an order due to pre-allocation information errors. */\n  OrdRejReason = 103,\n  /** Code to qualify IOI use. (see Volume : \"Glossary\" for value definitions) */\n  IOIQualifier = 104,\n  Issuer = 106,\n  /** Can be used by the venue or one of the trading parties to provide a non-normative textual description for the financial instrument. */\n  SecurityDesc = 107,\n  /** Heartbeat interval (seconds) */\n  HeartBtInt = 108,\n  MinQty = 110,\n  /** The quantity to be displayed . Required for reserve orders. On orders specifies the qty to be displayed, on execution reports the currently displayed quantity. */\n  MaxFloor = 111,\n  /** Identifier included in Test Request message to be returned in resulting Heartbeat */\n  TestReqID = 112,\n  /** Identifies party of trade responsible for exchange reporting. */\n  ReportToExch = 113,\n  /** Indicates whether the broker is to locate the stock in conjunction with a short sell order. */\n  LocateReqd = 114,\n  /** Assigned value used to identify firm originating message if the message was delivered by a third party i.e. the third party firm identifier would be delivered in the SenderCompID field and the firm originating the message in this field. */\n  OnBehalfOfCompID = 115,\n  /** Assigned value used to identify specific message originator (i.e. trader) if the message was delivered by a third party */\n  OnBehalfOfSubID = 116,\n  /** Unique identifier for quote */\n  QuoteID = 117,\n  /** Total amount due as the result of the transaction (e.g. for Buy order - principal + commission + fees) reported in currency of execution. */\n  NetMoney = 118,\n  /** Total amount due expressed in settlement currency (includes the effect of the forex transaction) */\n  SettlCurrAmt = 119,\n  /** Currency code of settlement denomination. */\n  SettlCurrency = 120,\n  /** Indicates request for forex accommodation trade to be executed along with security transaction. */\n  ForexReq = 121,\n  /** Original time of message transmission (always expressed in UTC (Universal Time Coordinated, also known as \"GMT\") when transmitting orders as the result of a resend request. */\n  OrigSendingTime = 122,\n  /** Indicates that the Sequence Reset message is replacing administrative or application messages which will not be resent. */\n  GapFillFlag = 123,\n  /** Number of executions or trades. */\n  NoExecs = 124,\n  ExpireTime = 126,\n  /** Reason for execution rejection. */\n  DKReason = 127,\n  /** Assigned value used to identify the firm targeted to receive the message if the message is delivered by a third party i.e. the third party firm identifier would be delivered in the TargetCompID (56) field and the ultimate receiver firm ID in this field. */\n  DeliverToCompID = 128,\n  /** Assigned value used to identify specific message recipient (i.e. trader) if the message is delivered by a third party */\n  DeliverToSubID = 129,\n  /** Indicates that IOI is the result of an existing agency order or a facilitation position resulting from an agency order, not from principal trading or order solicitation activity. */\n  IOINaturalFlag = 130,\n  /** Unique identifier for a QuoteRequest(35=R). */\n  QuoteReqID = 131,\n  /** Bid price/rate */\n  BidPx = 132,\n  /** Offer price/rate */\n  OfferPx = 133,\n  BidSize = 134,\n  OfferSize = 135,\n  /** Number of repeating groups of miscellaneous fees */\n  NoMiscFees = 136,\n  /** Miscellaneous fee value */\n  MiscFeeAmt = 137,\n  /** Currency of miscellaneous fee */\n  MiscFeeCurr = 138,\n  /** Indicates type of miscellaneous fee. */\n  MiscFeeType = 139,\n  /** Previous closing price of security. */\n  PrevClosePx = 140,\n  /** Indicates that both sides of the FIX session should reset sequence numbers. */\n  ResetSeqNumFlag = 141,\n  /** Assigned value used to identify specific message originator's location (i.e. geographic location and/or desk, trader) */\n  SenderLocationID = 142,\n  /** Assigned value used to identify specific message destination's location (i.e. geographic location and/or desk, trader) */\n  TargetLocationID = 143,\n  /** Assigned value used to identify specific message originator's location (i.e. geographic location and/or desk, trader) if the message was delivered by a third party */\n  OnBehalfOfLocationID = 144,\n  /** Assigned value used to identify specific message recipient's location (i.e. geographic location and/or desk, trader) if the message was delivered by a third party */\n  DeliverToLocationID = 145,\n  /** Specifies the number of repeating symbols specified. */\n  NoRelatedSym = 146,\n  /** The subject of an Email message */\n  Subject = 147,\n  /** The headline of a News message */\n  Headline = 148,\n  URLLink = 149,\n  /** Describes the specific ExecutionRpt (e.g. Pending Cancel) while OrdStatus(39) will always identify the current order status (e.g. Partially Filled). */\n  ExecType = 150,\n  LeavesQty = 151,\n  /** Specifies the approximate order quantity desired in total monetary units vs. as tradeable units (e.g. number of shares). The broker or fund manager (for CIV orders) would be responsible for converting and calculating a tradeable unit (e.g. share) quantity (OrderQty (38)) based upon this amount to be used for the actual order and subsequent messages. */\n  CashOrderQty = 152,\n  AllocAvgPx = 153,\n  /** NetMoney(118) for a specific AllocAccount(79). */\n  AllocNetMoney = 154,\n  /** Foreign exchange rate used to compute SettlCurrAmt(119) from Currency(15) to SettlCurrency(120). */\n  SettlCurrFxRate = 155,\n  /** Specifies whether or not SettlCurrFxRate (155) should be multiplied or divided. */\n  SettlCurrFxRateCalc = 156,\n  /** Number of Days of Interest for convertible bonds and fixed income. Note value may be negative. */\n  NumDaysInterest = 157,\n  /** The amount the buyer compensates the seller for the portion of the next coupon interest payment the seller has earned but will not receive from the issuer because the issuer will send the next coupon payment to the buyer. Accrued Interest Rate is the annualized Accrued Interest amount divided by the purchase price of the bond. */\n  AccruedInterestRate = 158,\n  /** Amount of Accrued Interest for convertible bonds and fixed income */\n  AccruedInterestAmt = 159,\n  /** Indicates mode used for Settlement Instructions message. *** SOME VALUES HAVE BEEN REPLACED - See \"Replaced Features and Supported Approach\" *** */\n  SettlInstMode = 160,\n  /** Free format text related to a specific AllocAccount (79). */\n  AllocText = 161,\n  /** Unique identifier for Settlement Instruction. */\n  SettlInstID = 162,\n  /** Settlement Instructions message transaction type */\n  SettlInstTransType = 163,\n  /** Unique identifier for an email thread (new and chain of replies) */\n  EmailThreadID = 164,\n  /** Indicates source of Settlement Instructions */\n  SettlInstSource = 165,\n  /** Indicates type of security. Security type enumerations are grouped by Product(460) field value. NOTE: Additional values may be used by mutual agreement of the counterparties. */\n  SecurityType = 167,\n  /** Time the details within the message should take effect (always expressed in UTC (Universal Time Coordinated, also known as \"GMT\") */\n  EffectiveTime = 168,\n  /** Identifies the Standing Instruction database used */\n  StandInstDbType = 169,\n  /** Name of the Standing Instruction database represented with StandInstDbType (169) (i.e. the Global Custodian's name). */\n  StandInstDbName = 170,\n  /** Unique identifier used on the Standing Instructions database for the Standing Instructions to be referenced. */\n  StandInstDbID = 171,\n  /** Identifies type of settlement */\n  SettlDeliveryType = 172,\n  /** Bid F/X spot rate. */\n  BidSpotRate = 188,\n  /** Bid F/X forward points added to spot rate. May be a negative value. */\n  BidForwardPoints = 189,\n  /** Offer F/X spot rate. */\n  OfferSpotRate = 190,\n  /** Offer F/X forward points added to spot rate. May be a negative value. */\n  OfferForwardPoints = 191,\n  /** OrderQty (38) of the future part of a F/X swap order. */\n  OrderQty2 = 192,\n  /** SettDate (64) of the future part of a F/X swap order. */\n  SettlDate2 = 193,\n  /** F/X spot rate. */\n  LastSpotRate = 194,\n  /** F/X forward points added to LastSpotRate(194). May be a negative value. Expressed in decimal form. For example, 61.99 points is expressed and sent as 0.006199. */\n  LastForwardPoints = 195,\n  /** Can be used to link two different Allocation messages (each with unique AllocID (70)) together, i.e. for F/X \"Netting\" or \"Swaps\". Should be unique. */\n  AllocLinkID = 196,\n  /** Identifies the type of Allocation linkage when AllocLinkID(196) is used. */\n  AllocLinkType = 197,\n  /** Assigned by the party which accepts the order. Can be used to provide the OrderID (37) used by an exchange or executing system. */\n  SecondaryOrderID = 198,\n  /** Number of repeating groups of IOIQualifiers (04). */\n  NoIOIQualifiers = 199,\n  MaturityMonthYear = 200,\n  /** Indicates whether an option contract is a put, call, chooser or undetermined. */\n  PutOrCall = 201,\n  /** Strike Price for an Option. */\n  StrikePrice = 202,\n  /** Used for derivative products, such as options */\n  CoveredOrUncovered = 203,\n  /** Provided to support versioning of option contracts as a result of corporate actions or events. Use of this field is defined by counterparty agreement or market conventions. */\n  OptAttribute = 206,\n  SecurityExchange = 207,\n  /** Indicates whether or not details should be communicated to BrokerOfCredit (i.e. step-in broker). */\n  NotifyBrokerOfCredit = 208,\n  /** Indicates how the receiver (i.e. third party) of allocation information should handle/process the account details. */\n  AllocHandlInst = 209,\n  MaxShow = 210,\n  PegOffsetValue = 211,\n  /** Length of the XmlData data block. */\n  XmlDataLen = 212,\n  /** Actual XML data stream (e.g. FIXML). See appropriate XML reference (e.g. FIXML). Note: may contain embedded SOH characters. */\n  XmlData = 213,\n  /** Reference identifier for the SettlInstID (162) with Cancel and Replace SettlInstTransType (163) transaction types. */\n  SettlInstRefID = 214,\n  NoRoutingIDs = 215,\n  /** Indicates the type of RoutingID (217) specified. */\n  RoutingType = 216,\n  /** Assigned value used to identify a specific routing destination. */\n  RoutingID = 217,\n  Spread = 218,\n  BenchmarkCurveCurrency = 220,\n  BenchmarkCurveName = 221,\n  BenchmarkCurvePoint = 222,\n  /** The rate of interest that, when multiplied by the principal, par value, or face value of a bond, provides the currency amount of the periodic interest payment. The coupon is always cited, along with maturity, in any quotation of a bond's price. */\n  CouponRate = 223,\n  CouponPaymentDate = 224,\n  IssueDate = 225,\n  /** Number of business days before repurchase of a repo. (Note tag # was reserved in FIX 4.1, added in FIX 4.3) */\n  RepurchaseTerm = 226,\n  /** Percent of par at which a Repo will be repaid. Represented as a percent, e.g. .9525 represents 95-/4 percent of par. (Note tag # was reserved in FIX 4.1, added in FIX 4.3) */\n  RepurchaseRate = 227,\n  Factor = 228,\n  TradeOriginationDate = 229,\n  ExDate = 230,\n  ContractMultiplier = 231,\n  NoStipulations = 232,\n  StipulationType = 233,\n  StipulationValue = 234,\n  /** Type of yield. (Note tag # was reserved in FIX 4.1, added in FIX 4.3) */\n  YieldType = 235,\n  Yield = 236,\n  TotalTakedown = 237,\n  Concession = 238,\n  RepoCollateralSecurityType = 239,\n  /** Return of investor's principal in a security. Bond redemption can occur before maturity date.(Note tag # was reserved in FIX 4.1, added in FIX 4.3) (prior to FIX 4.4 field was of type UTCDate) */\n  RedemptionDate = 240,\n  UnderlyingCouponPaymentDate = 241,\n  UnderlyingIssueDate = 242,\n  /** Underlying security's RepoCollateralSecurityType. See RepoCollateralSecurityType (239) field for description.(Note tag # was reserved in FIX 4.1, added in FIX 4.3) */\n  UnderlyingRepoCollateralSecurityType = 243,\n  /** Underlying security's RepurchaseTerm. See RepurchaseTerm (226) field for description (Note tag # was reserved in FIX 4.1, added in FIX 4.3) */\n  UnderlyingRepurchaseTerm = 244,\n  /** Underlying security's RepurchaseRate. See RepurchaseRate (227) field for description (Note tag # was reserved in FIX 4.1, added in FIX 4.3) */\n  UnderlyingRepurchaseRate = 245,\n  UnderlyingFactor = 246,\n  /** Underlying security's RedemptionDate. See RedemptionDate (240) field for description (Note tag # was reserved in FIX 4.1, added in FIX 4.3) (prior to FIX 4.4 field was of type UTCDate) */\n  UnderlyingRedemptionDate = 247,\n  LegCouponPaymentDate = 248,\n  LegIssueDate = 249,\n  /** Multileg instrument's individual leg security's RepoCollateralSecurityType. See RepoCollateralSecurityType (239) field for description (Note tag # was reserved in FIX 4.1, added in FIX 4.3) */\n  LegRepoCollateralSecurityType = 250,\n  /** Multileg instrument's individual leg security's RepurchaseTerm. See RepurchaseTerm (226) field for description (Note tag # was reserved in FIX 4.1, added in FIX 4.3) */\n  LegRepurchaseTerm = 251,\n  /** Multileg instrument's individual leg security's RepurchaseRate. See RepurchaseRate (227) field for description (Note tag # was reserved in FIX 4.1, added in FIX 4.3) */\n  LegRepurchaseRate = 252,\n  LegFactor = 253,\n  /** Multileg instrument's individual leg security's RedemptionDate. See RedemptionDate (240) field for description (Note tag # was reserved in FIX 4.1, added in FIX 4.3) (prior to FIX 4.4 field was of type UTCDate) */\n  LegRedemptionDate = 254,\n  CreditRating = 255,\n  UnderlyingCreditRating = 256,\n  LegCreditRating = 257,\n  /** Driver and part of trade in the event that the Security Master file was wrong at the point of entry(Note tag # was reserved in FIX 4.1, added in FIX 4.3) */\n  TradedFlatSwitch = 258,\n  BasisFeatureDate = 259,\n  BasisFeaturePrice = 260,\n  /** Unique identifier for Market Data Request */\n  MDReqID = 262,\n  /** Subscription Request Type */\n  SubscriptionRequestType = 263,\n  MarketDepth = 264,\n  /** Specifies the type of Market Data update. */\n  MDUpdateType = 265,\n  /** Specifies whether or not book entries should be aggregated. (Not specified) = broker option */\n  AggregatedBook = 266,\n  /** Number of MDEntryType (269) fields requested. */\n  NoMDEntryTypes = 267,\n  /** Number of entries in Market Data message. */\n  NoMDEntries = 268,\n  /** Type of market data entry. */\n  MDEntryType = 269,\n  /** Price of the Market Data Entry. */\n  MDEntryPx = 270,\n  /** Quantity or volume represented by the Market Data Entry. */\n  MDEntrySize = 271,\n  MDEntryDate = 272,\n  /** Time of Market Data Entry. */\n  MDEntryTime = 273,\n  /** Direction of the \"tick\". */\n  TickDirection = 274,\n  MDMkt = 275,\n  /** Space-delimited list of conditions describing a quote. */\n  QuoteCondition = 276,\n  /** Type of market data entry. */\n  TradeCondition = 277,\n  /** Unique Market Data Entry identifier. */\n  MDEntryID = 278,\n  /** Type of Market Data update action. */\n  MDUpdateAction = 279,\n  /** Refers to a previous MDEntryID (278). */\n  MDEntryRefID = 280,\n  /** Reason for the rejection of a Market Data request. */\n  MDReqRejReason = 281,\n  /** Originator of a Market Data Entry */\n  MDEntryOriginator = 282,\n  /** Identification of a Market Maker's location */\n  LocationID = 283,\n  /** Identification of a Market Maker's desk */\n  DeskID = 284,\n  /** Reason for deletion. */\n  DeleteReason = 285,\n  /** Flag that identifies a market data entry. (Prior to FIX 4.3 this field was of type char) */\n  OpenCloseSettlFlag = 286,\n  /** Specifies the number of days that may elapse before delivery of the security */\n  SellerDays = 287,\n  /** Buying party in a trade */\n  MDEntryBuyer = 288,\n  /** Selling party in a trade */\n  MDEntrySeller = 289,\n  /** Display position of a bid or offer, numbered from most competitive to least competitive, per market side, beginning with 1. */\n  MDEntryPositionNo = 290,\n  /** Identifies a firm's or a security's financial status */\n  FinancialStatus = 291,\n  /** Identifies the type of Corporate Action. */\n  CorporateAction = 292,\n  /** Default Bid Size. */\n  DefBidSize = 293,\n  /** Default Offer Size. */\n  DefOfferSize = 294,\n  /** The number of quote entries for a QuoteSet. */\n  NoQuoteEntries = 295,\n  /** The number of sets of quotes in the message. */\n  NoQuoteSets = 296,\n  /** Identifies the status of the quote acknowledgement. */\n  QuoteStatus = 297,\n  /** Identifies the type of quote cancel. */\n  QuoteCancelType = 298,\n  /** Unique identifier for a quote. The QuoteEntryID stays with the quote as a static identifier even if the quote is updated. */\n  QuoteEntryID = 299,\n  /** Reason Quote was rejected: */\n  QuoteRejectReason = 300,\n  /** Level of Response requested from receiver of quote messages. A default value should be bilaterally agreed. */\n  QuoteResponseLevel = 301,\n  /** Unique id for the Quote Set. */\n  QuoteSetID = 302,\n  /** Indicates the type of Quote Request being generated */\n  QuoteRequestType = 303,\n  /** Total number of quotes for the quote set. */\n  TotNoQuoteEntries = 304,\n  /** Identifies class or source of the UnderlyingSecurityID(309) value. */\n  UnderlyingSecurityIDSource = 305,\n  UnderlyingIssuer = 306,\n  UnderlyingSecurityDesc = 307,\n  UnderlyingSecurityExchange = 308,\n  UnderlyingSecurityID = 309,\n  UnderlyingSecurityType = 310,\n  UnderlyingSymbol = 311,\n  UnderlyingSymbolSfx = 312,\n  UnderlyingMaturityMonthYear = 313,\n  /** Indicates whether an underlying option contract is a put, call, chooser or undetermined. */\n  UnderlyingPutOrCall = 315,\n  UnderlyingStrikePrice = 316,\n  UnderlyingOptAttribute = 317,\n  /** Underlying security's currency. */\n  UnderlyingCurrency = 318,\n  /** Unique ID of a Security Definition Request. */\n  SecurityReqID = 320,\n  /** Type of Security Definition Request. */\n  SecurityRequestType = 321,\n  /** Unique ID of a Security Definition message. */\n  SecurityResponseID = 322,\n  /** Type of Security Definition message response. */\n  SecurityResponseType = 323,\n  /** Unique ID of a Security Status Request or a Security Mass Status Request message. */\n  SecurityStatusReqID = 324,\n  /** Indicates whether or not message is being sent as a result of a subscription request or not. */\n  UnsolicitedIndicator = 325,\n  /** Identifies the trading status applicable to the transaction. */\n  SecurityTradingStatus = 326,\n  /** Denotes the reason for the Opening Delay or Trading Halt. */\n  HaltReason = 327,\n  /** Indicates whether or not the halt was due to Common Stock trading being halted. */\n  InViewOfCommon = 328,\n  /** Indicates whether or not the halt was due to the Related Security being halted. */\n  DueToRelated = 329,\n  /** Quantity bought. */\n  BuyVolume = 330,\n  /** Quantity sold. */\n  SellVolume = 331,\n  /** Represents an indication of the high end of the price range for a security prior to the open or reopen */\n  HighPx = 332,\n  /** Represents an indication of the low end of the price range for a security prior to the open or reopen */\n  LowPx = 333,\n  /** Identifies the type of adjustment. */\n  Adjustment = 334,\n  /** Unique ID of a Trading Session Status message. */\n  TradSesReqID = 335,\n  TradingSessionID = 336,\n  /** Identifies the trader (e.g. \"badge number\") of the ContraBroker. */\n  ContraTrader = 337,\n  /** Method of trading */\n  TradSesMethod = 338,\n  /** Trading Session Mode */\n  TradSesMode = 339,\n  /** State of the trading session. */\n  TradSesStatus = 340,\n  /** Starting time of the trading session */\n  TradSesStartTime = 341,\n  /** Time of the opening of the trading session */\n  TradSesOpenTime = 342,\n  /** Time of the pre-closed of the trading session */\n  TradSesPreCloseTime = 343,\n  /** Closing time of the trading session */\n  TradSesCloseTime = 344,\n  /** End time of the trading session */\n  TradSesEndTime = 345,\n  /** Number of orders in the market. */\n  NumberOfOrders = 346,\n  /** Type of message encoding (non-ASCII (non-English) characters) used in a message's \"Encoded\" fields. */\n  MessageEncoding = 347,\n  /** Byte length of encoded (non-ASCII characters) EncodedIssuer (349) field. */\n  EncodedIssuerLen = 348,\n  /** Encoded (non-ASCII characters) representation of the Issuer field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the Issuer field. */\n  EncodedIssuer = 349,\n  /** Byte length of encoded (non-ASCII characters) EncodedSecurityDesc (351) field. */\n  EncodedSecurityDescLen = 350,\n  /** Encoded (non-ASCII characters) representation of the SecurityDesc (107) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the SecurityDesc field. */\n  EncodedSecurityDesc = 351,\n  /** Byte length of encoded (non-ASCII characters) EncodedListExecInst (353) field. */\n  EncodedListExecInstLen = 352,\n  /** Encoded (non-ASCII characters) representation of the ListExecInst (69) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the ListExecInst field. */\n  EncodedListExecInst = 353,\n  /** Byte length of encoded (non-ASCII characters) EncodedText (355) field. */\n  EncodedTextLen = 354,\n  /** Encoded (non-ASCII characters) representation of the Text (58) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the Text(58) field. */\n  EncodedText = 355,\n  /** Byte length of encoded (non-ASCII characters) EncodedSubject (357) field. */\n  EncodedSubjectLen = 356,\n  /** Encoded (non-ASCII characters) representation of the Subject (147) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the Subject field. */\n  EncodedSubject = 357,\n  /** Byte length of encoded (non-ASCII characters) EncodedHeadline (359) field. */\n  EncodedHeadlineLen = 358,\n  /** Encoded (non-ASCII characters) representation of the Headline (148) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the Headline field. */\n  EncodedHeadline = 359,\n  /** Byte length of encoded (non-ASCII characters) EncodedAllocText (361) field. */\n  EncodedAllocTextLen = 360,\n  /** Encoded (non-ASCII characters) representation of the AllocText (161) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the AllocText field. */\n  EncodedAllocText = 361,\n  /** Byte length of encoded (non-ASCII characters) EncodedUnderlyingIssuer (363) field. */\n  EncodedUnderlyingIssuerLen = 362,\n  /** Encoded (non-ASCII characters) representation of the UnderlyingIssuer (306) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the UnderlyingIssuer field. */\n  EncodedUnderlyingIssuer = 363,\n  /** Byte length of encoded (non-ASCII characters) EncodedUnderlyingSecurityDesc (365) field. */\n  EncodedUnderlyingSecurityDescLen = 364,\n  /** Encoded (non-ASCII characters) representation of the UnderlyingSecurityDesc (307) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the UnderlyingSecurityeDesc field. */\n  EncodedUnderlyingSecurityDesc = 365,\n  /** Executed price for an AllocAccount (79) entry used when using \"executed price\" vs. \"average price\" allocations (e.g. Japan). */\n  AllocPrice = 366,\n  /** Indicates expiration time of this particular QuoteSet (always expressed in UTC (Universal Time Coordinated, also known as \"GMT\") */\n  QuoteSetValidUntilTime = 367,\n  /** Reason Quote Entry was rejected: */\n  QuoteEntryRejectReason = 368,\n  /** The last MsgSeqNum (34) value received by the FIX engine and processed by downstream application, such as trading engine or order routing system. Can be specified on every message sent. Useful for detecting a backlog with a counterparty. */\n  LastMsgSeqNumProcessed = 369,\n  /** The tag number of the FIX field being referenced. */\n  RefTagID = 371,\n  /** The MsgType (35) of the FIX message being referenced. */\n  RefMsgType = 372,\n  /** Code to identify reason for a session-level Reject message. */\n  SessionRejectReason = 373,\n  /** Identifies the Bid Request message type. */\n  BidRequestTransType = 374,\n  /** Identifies contra broker. Standard NASD market-maker mnemonic is preferred. */\n  ContraBroker = 375,\n  /** ID used to represent this transaction for compliance purposes (e.g. OATS reporting). */\n  ComplianceID = 376,\n  /** Indicates whether or not the order was solicited. */\n  SolicitedFlag = 377,\n  /** The reason for restatement when an ExecutionReport(35=8) or TradeCaptureReport(35=AE) message is sent with ExecType(150) = D (Restated) or used when communicating an unsolicited cancel. */\n  ExecRestatementReason = 378,\n  /** The value of the business-level \"ID\" field on the message being referenced. */\n  BusinessRejectRefID = 379,\n  /** Code to identify reason for a Business Message Reject message. */\n  BusinessRejectReason = 380,\n  /** Total amount traded expressed in units of currency - usually quantity * price. For FX Futures this is used to express the notional value of a fill when quantity fields are expressed in terms of contract size (i.e. quantity * price * contract size). */\n  GrossTradeAmt = 381,\n  /** The number of ContraBroker (375) entries. */\n  NoContraBrokers = 382,\n  /** Maximum number of bytes supported for a single message. */\n  MaxMessageSize = 383,\n  /** Number of MsgTypes (35) in repeating group. */\n  NoMsgTypes = 384,\n  /** Specifies the direction of the message. */\n  MsgDirection = 385,\n  /** Number of TradingSessionIDs (336) in repeating group. */\n  NoTradingSessions = 386,\n  /** Total volume (quantity) traded. */\n  TotalVolumeTraded = 387,\n  /** Code to identify the price a DiscretionOffsetValue (389) is related to and should be mathematically added to. */\n  DiscretionInst = 388,\n  DiscretionOffsetValue = 389,\n  BidID = 390,\n  /** Unique identifier for a Bid Request as assigned by institution. Uniqueness must be guaranteed within a single trading day. */\n  ClientBidID = 391,\n  /** Descriptive name for list order. */\n  ListName = 392,\n  TotNoRelatedSym = 393,\n  /** Code to identify the type of Bid Request. */\n  BidType = 394,\n  /** Total number of tickets. */\n  NumTickets = 395,\n  /** Amounts in currency */\n  SideValue1 = 396,\n  /** Amounts in currency */\n  SideValue2 = 397,\n  /** Number of BidDescriptor (400) entries. */\n  NoBidDescriptors = 398,\n  /** Code to identify the type of BidDescriptor (400). */\n  BidDescriptorType = 399,\n  BidDescriptor = 400,\n  /** Code to identify which \"SideValue\" the value refers to. SideValue1 and SideValue2 are used as opposed to Buy or Sell so that the basket can be quoted either way as Buy or Sell. */\n  SideValueInd = 401,\n  /** Liquidity indicator or lower limit if TotalNumSecurities (393) > 1. Represented as a percentage. */\n  LiquidityPctLow = 402,\n  /** Upper liquidity indicator if TotalNumSecurities (393) > 1. Represented as a percentage. */\n  LiquidityPctHigh = 403,\n  /** Value between LiquidityPctLow (402) and LiquidityPctHigh (403) in Currency */\n  LiquidityValue = 404,\n  /** Eg Used in EFP trades 2% (EFP - Exchange for Physical ). Represented as a percentage. */\n  EFPTrackingError = 405,\n  /** Used in EFP trades */\n  FairValue = 406,\n  /** Used in EFP trades. Represented as a percentage. */\n  OutsideIndexPct = 407,\n  /** Used in EFP trades */\n  ValueOfFutures = 408,\n  /** Code to identify the type of liquidity indicator. */\n  LiquidityIndType = 409,\n  /** Overall weighted average liquidity expressed as a % of average daily volume. Represented as a percentage. */\n  WtAverageLiquidity = 410,\n  /** Indicates whether or not to exchange for phsyical. */\n  ExchangeForPhysical = 411,\n  /** Value of stocks in Currency */\n  OutMainCntryUIndex = 412,\n  /** Percentage of program that crosses in Currency. Represented as a percentage. */\n  CrossPercent = 413,\n  /** Code to identify the desired frequency of progress reports. */\n  ProgRptReqs = 414,\n  /** Time in minutes between each ListStatus report sent by SellSide. Zero means don't send status. */\n  ProgPeriodInterval = 415,\n  /** Code to represent whether value is net (inclusive of tax) or gross. */\n  IncTaxInd = 416,\n  /** Indicates the total number of bidders on the list */\n  NumBidders = 417,\n  BidTradeType = 418,\n  /** Code to represent the basis price type. */\n  BasisPxType = 419,\n  /** Indicates the number of list entries. */\n  NoBidComponents = 420,\n  /** ISO Country Code in field */\n  Country = 421,\n  /** Total number of strike price entries across all messages. Should be the sum of all NoStrikes (428) in each message that has repeating strike price entries related to the same ListID (66). Used to support fragmentation. */\n  TotNoStrikes = 422,\n  PriceType = 423,\n  /** For GT orders, the OrderQty (38) less all quantity (adjusted for stock splits) that traded on previous days. DayOrderQty (424) = OrderQty - (CumQty (14) - DayCumQty (425)) */\n  DayOrderQty = 424,\n  /** Quantity on a GT order that has traded today. */\n  DayCumQty = 425,\n  /** The average price for quantity on a GT order that has traded today. */\n  DayAvgPx = 426,\n  /** Code to identify whether to book out executions on a part-filled GT order on the day of execution or to accumulate. */\n  GTBookingInst = 427,\n  /** Number of list strike price entries. */\n  NoStrikes = 428,\n  /** Code to represent the status type. */\n  ListStatusType = 429,\n  /** Code to represent whether value is net (inclusive of tax) or gross. */\n  NetGrossInd = 430,\n  /** Code to represent the status of a list order. */\n  ListOrderStatus = 431,\n  /** Date of order expiration (last day the order can trade), always expressed in terms of the local market date. The time at which the order expires is determined by the local market's business practices */\n  ExpireDate = 432,\n  /** Identifies the type of ListExecInst (69). */\n  ListExecInstType = 433,\n  /** Identifies the type of request that a Cancel Reject is in response to. */\n  CxlRejResponseTo = 434,\n  UnderlyingCouponRate = 435,\n  UnderlyingContractMultiplier = 436,\n  /** Quantity traded with the ContraBroker (375). */\n  ContraTradeQty = 437,\n  /** Identifes the time of the trade with the ContraBroker (375). (always expressed in UTC (Universal Time Coordinated, also known as \"GMT\") */\n  ContraTradeTime = 438,\n  /** Number of Securites between LiquidityPctLow (402) and LiquidityPctHigh (403) in Currency. */\n  LiquidityNumSecurities = 441,\n  /** Used to indicate how the multi-legged security (e.g. option strategies, spreads, etc.) is being reported. */\n  MultiLegReportingType = 442,\n  StrikeTime = 443,\n  /** Free format text string related to List Status. */\n  ListStatusText = 444,\n  /** Byte length of encoded (non-ASCII characters) EncodedListStatusText (446) field. */\n  EncodedListStatusTextLen = 445,\n  /** Encoded (non-ASCII characters) representation of the ListStatusText (444) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the ListStatusText field. */\n  EncodedListStatusText = 446,\n  PartyIDSource = 447,\n  PartyID = 448,\n  /** Net change from previous day's closing price vs. last traded price. */\n  NetChgPrevDay = 451,\n  /** Identifies the type or role of the PartyID (448) specified. */\n  PartyRole = 452,\n  /** Number of PartyID (448), PartyIDSource (447), and PartyRole (452) entries */\n  NoPartyIDs = 453,\n  /** Number of SecurityAltID (455) entries. */\n  NoSecurityAltID = 454,\n  /** Alternate Security identifier value for this security of SecurityAltIDSource (456) type (e.g. CUSIP, SEDOL, ISIN, etc). Requires SecurityAltIDSource. */\n  SecurityAltID = 455,\n  /** Identifies class or source of the SecurityAltID(455) value. */\n  SecurityAltIDSource = 456,\n  /** Number of UnderlyingSecurityAltID (458) entries. */\n  NoUnderlyingSecurityAltID = 457,\n  /** Alternate Security identifier value for this underlying security of UnderlyingSecurityAltIDSource (459) type (e.g. CUSIP, SEDOL, ISIN, etc). Requires UnderlyingSecurityAltIDSource. */\n  UnderlyingSecurityAltID = 458,\n  UnderlyingSecurityAltIDSource = 459,\n  /** Indicates the type of product the security is associated with. See also the CFICode (461) and SecurityType (167) fields. */\n  Product = 460,\n  CFICode = 461,\n  UnderlyingProduct = 462,\n  UnderlyingCFICode = 463,\n  /** Indicates whether or not this FIX Session is a \"test\" vs. \"production\" connection. Useful for preventing \"accidents\". */\n  TestMessageIndicator = 464,\n  /** Common reference passed to a post-trade booking process (e.g. industry matching utility). */\n  BookingRefID = 466,\n  /** Unique identifier for a specific NoAllocs (78) repeating group instance (e.g. for an AllocAccount). */\n  IndividualAllocID = 467,\n  RoundingDirection = 468,\n  RoundingModulus = 469,\n  /** ISO Country code of instrument issue (e.g. the country portion typically used in ISIN). Can be used in conjunction with non-ISIN SecurityID (48) (e.g. CUSIP for Municipal Bonds without ISIN) to provide uniqueness. */\n  CountryOfIssue = 470,\n  /** A two-character state or province abbreviation. */\n  StateOrProvinceOfIssue = 471,\n  LocaleOfIssue = 472,\n  /** The number of registration details on a Registration Instructions message */\n  NoRegistDtls = 473,\n  /** Set of Correspondence address details, possibly including phone, fax, etc. */\n  MailingDtls = 474,\n  /** The ISO 3166 Country code (2 character) identifying which country the beneficial investor is resident for tax purposes. */\n  InvestorCountryOfResidence = 475,\n  /** \"Settlement Payment Reference\" - A free format Payment reference to assist with reconciliation, e.g. a Client and/or Order ID number. */\n  PaymentRef = 476,\n  /** Identifies the payment method for a (fractional) distribution. Used for CIV. */\n  DistribPaymentMethod = 477,\n  /** Specifies currency to be used for Cash Distributions see \"Appendix 6-A Valid Currency Codes\". */\n  CashDistribCurr = 478,\n  CommCurrency = 479,\n  /** For CIV - A one character code identifying whether Cancellation rights/Cooling off period applies. */\n  CancellationRights = 480,\n  /** A one character code identifying Money laundering status. */\n  MoneyLaunderingStatus = 481,\n  /** Free format text to specify mailing instruction requirements, e.g. \"no third party mailings\". */\n  MailingInst = 482,\n  TransBkdTime = 483,\n  /** For CIV - Identifies how the execution price LastPx (31) was calculated from the fund unit/share price(s) calculated at the fund valuation point. */\n  ExecPriceType = 484,\n  /** For CIV the amount or percentage by which the fund unit/share price was adjusted, as indicated by ExecPriceType (484) */\n  ExecPriceAdjustment = 485,\n  /** The date of birth applicable to the individual, e.g. required to open some types of tax-exempt account. */\n  DateOfBirth = 486,\n  TradeReportTransType = 487,\n  /** The name of the payment card holder as specified on the card being used for payment. */\n  CardHolderName = 488,\n  /** The number of the payment card as specified on the card being used for payment. */\n  CardNumber = 489,\n  /** The expiry date of the payment card as specified on the card being used for payment. */\n  CardExpDate = 490,\n  /** The issue number of the payment card as specified on the card being used for payment. This is only applicable to certain types of card. */\n  CardIssNum = 491,\n  /** Identifies the settlement payment method. */\n  PaymentMethod = 492,\n  /** For CIV - a fund manager-defined code identifying which of the fund manager's account types is required. */\n  RegistAcctType = 493,\n  /** Free format text defining the designation to be associated with a holding on the register. Used to identify assets of a specific underlying investor using a common registration, e.g. a broker's nominee or street name. */\n  Designation = 494,\n  /** Identifies the type of tax exempt account in which purchases shares/units are to be held. Used for CIV. */\n  TaxAdvantageType = 495,\n  /** Text indicating reason(s) why a Registration Instruction has been rejected. */\n  RegistRejReasonText = 496,\n  /** A one character code identifying whether the Fund based renewal commission is to be waived. */\n  FundRenewWaiv = 497,\n  /** Name of local agent bank if for cash distributions */\n  CashDistribAgentName = 498,\n  /** BIC (Bank Identification Code--Swift managed) code of agent bank for cash distributions */\n  CashDistribAgentCode = 499,\n  /** Account number at agent bank for distributions. */\n  CashDistribAgentAcctNumber = 500,\n  /** Free format Payment reference to assist with reconciliation of distributions. */\n  CashDistribPayRef = 501,\n  /** Name of account at agent bank for distributions. */\n  CashDistribAgentAcctName = 502,\n  /** The start date of the card as specified on the card being used for payment. */\n  CardStartDate = 503,\n  /** The date written on a cheque or date payment should be submitted to the relevant clearing system. */\n  PaymentDate = 504,\n  /** Identifies sender of a payment, e.g. the payment remitter or a customer reference number. */\n  PaymentRemitterID = 505,\n  /** Registration status as returned by the broker or (for CIV) the fund manager: */\n  RegistStatus = 506,\n  RegistRejReasonCode = 507,\n  /** Reference identifier for the RegistID(513) with Cancel and Replace RegistTransType(514) transaction types. */\n  RegistRefID = 508,\n  /** Set of Registration name and address details, possibly including phone, fax etc. */\n  RegistDtls = 509,\n  /** The number of Distribution Instructions on a Registration Instructions message */\n  NoDistribInsts = 510,\n  /** Email address relating to Registration name and address details */\n  RegistEmail = 511,\n  /** The amount of each distribution to go to this beneficiary, expressed as a percentage */\n  DistribPercentage = 512,\n  /** Unique identifier of the registration details as assigned by institution or intermediary. */\n  RegistID = 513,\n  /** Identifies Registration Instructions transaction type */\n  RegistTransType = 514,\n  /** For CIV - a date and time stamp to indicate the fund valuation point with respect to which a order was priced by the fund manager. */\n  ExecValuationPoint = 515,\n  /** For CIV specifies the approximate order quantity desired. For a CIV Sale it specifies percentage of investor's total holding to be sold. For a CIV switch/exchange it specifies percentage of investor's cash realised from sales to be re-invested. The executing broker, intermediary or fund manager is responsible for converting and calculating OrderQty (38) in shares/units for subsequent messages. */\n  OrderPercent = 516,\n  /** The relationship between Registration parties. */\n  OwnershipType = 517,\n  /** The number of Contract Amount details on an Execution Report message */\n  NoContAmts = 518,\n  ContAmtType = 519,\n  /** Value of Contract Amount, e.g. a financial amount or percentage as indicated by ContAmtType (519). */\n  ContAmtValue = 520,\n  /** Specifies currency for the Contract amount if different from the Deal Currency - see \"Appendix 6-A; Valid Currency Codes\". */\n  ContAmtCurr = 521,\n  /** Identifies the type of owner. */\n  OwnerType = 522,\n  /** Sub-identifier (e.g. Clearing Account for PartyRole (452)=Clearing Firm, Locate ID # for PartyRole=Locate/Lending Firm, etc). Not required when using PartyID (448), PartyIDSource (447), and PartyRole. */\n  PartySubID = 523,\n  NestedPartyID = 524,\n  NestedPartyIDSource = 525,\n  /** Assigned by the party which originates the order. Can be used to provide the ClOrdID (11) used by an exchange or executing system. */\n  SecondaryClOrdID = 526,\n  /** Assigned by the party which accepts the order. Can be used to provide the ExecID (17) used by an exchange or executing system. */\n  SecondaryExecID = 527,\n  OrderCapacity = 528,\n  /** Restrictions associated with an order. If more than one restriction is applicable to an order, this field can contain multiple instructions separated by space. */\n  OrderRestrictions = 529,\n  /** Specifies scope of Order Mass Cancel Request. */\n  MassCancelRequestType = 530,\n  /** Specifies the action taken by counterparty order handling system as a result of the Order Mass Cancel Request */\n  MassCancelResponse = 531,\n  /** Reason Order Mass Cancel Request was rejected */\n  MassCancelRejectReason = 532,\n  /** Total number of orders affected by either the OrderMassActionRequest(MsgType=CA) or OrderMassCancelRequest(MsgType=Q). */\n  TotalAffectedOrders = 533,\n  /** Number of affected orders in the repeating group of order ids. */\n  NoAffectedOrders = 534,\n  /** OrderID(37) of an order affected by a mass cancel or mass action request. */\n  AffectedOrderID = 535,\n  /** SecondaryOrderID(198) of an order affected by a mass cancel or mass action request. */\n  AffectedSecondaryOrderID = 536,\n  QuoteType = 537,\n  NestedPartyRole = 538,\n  /** Number of NestedPartyID (524), NestedPartyIDSource (525), and NestedPartyRole (538) entries */\n  NoNestedPartyIDs = 539,\n  /** Total Amount of Accrued Interest for convertible bonds and fixed income */\n  TotalAccruedInterestAmt = 540,\n  /** Date of maturity. */\n  MaturityDate = 541,\n  UnderlyingMaturityDate = 542,\n  /** Values may include BIC for the depository or custodian who maintain ownership records, the ISO country code for the location of the record, or the value \"ZZ\" to specify physical ownership of the security (e.g. stock certificate). */\n  InstrRegistry = 543,\n  /** Identifies whether an order is a margin order or a non-margin order. This is primarily used when sending orders to Japanese exchanges to indicate sell margin or buy to cover. The same tag could be assigned also by buy-side to indicate the intent to sell or buy margin and the sell-side to accept or reject (base on some validation criteria) the margin request. */\n  CashMargin = 544,\n  NestedPartySubID = 545,\n  /** Specifies the market scope of the market data. */\n  Scope = 546,\n  /** Defines how a server handles distribution of a truncated book. Defaults to broker option. */\n  MDImplicitDelete = 547,\n  /** Identifier for a cross order. Must be unique during a given trading day. Recommend that firms use the order date as part of the CrossID for Good Till Cancel (GT) orders. */\n  CrossID = 548,\n  /** Type of cross being submitted to a market */\n  CrossType = 549,\n  CrossPrioritization = 550,\n  /** CrossID of the previous cross order (NOT the initial cross order of the day) as assigned by the institution, used to identify the previous cross order in Cross Cancel and Cross Cancel/Replace Requests. */\n  OrigCrossID = 551,\n  /** Number of Side repeating group instances. */\n  NoSides = 552,\n  /** Userid or username. */\n  Username = 553,\n  /** Password or passphrase. */\n  Password = 554,\n  /** Number of InstrumentLeg repeating group instances. */\n  NoLegs = 555,\n  /** Currency associated with a particular Leg's quantity */\n  LegCurrency = 556,\n  /** Used to support fragmentation. Indicates total number of security types when multiple Security Type messages are used to return results. */\n  TotNoSecurityTypes = 557,\n  /** Number of Security Type repeating group instances. */\n  NoSecurityTypes = 558,\n  /** Identifies the type/criteria of Security List Request */\n  SecurityListRequestType = 559,\n  /** The results returned to a Security Request message */\n  SecurityRequestResult = 560,\n  /** The trading lot size of a security */\n  RoundLot = 561,\n  /** The minimum order quantity (as expressed by TradeVolType(1786)) that can be submitted for a security. */\n  MinTradeVol = 562,\n  /** Indicates the method of execution reporting requested by issuer of the order. */\n  MultiLegRptTypeReq = 563,\n  LegPositionEffect = 564,\n  LegCoveredOrUncovered = 565,\n  LegPrice = 566,\n  /** Indicates the reason a Trading Session Status Request was rejected. */\n  TradSesStatusRejReason = 567,\n  /** Trade Capture Report Request ID */\n  TradeRequestID = 568,\n  /** Type of Trade Capture Report. */\n  TradeRequestType = 569,\n  /** Indicates if the transaction was previously reported to the counterparty or market. */\n  PreviouslyReported = 570,\n  /** Unique identifier of trade capture report */\n  TradeReportID = 571,\n  /** Reference identifier used with CANCEL and REPLACE transaction types. */\n  TradeReportRefID = 572,\n  /** The status of this trade with respect to matching or comparison. */\n  MatchStatus = 573,\n  /** The point in the matching process at which this trade was matched. */\n  MatchType = 574,\n  OddLot = 575,\n  /** Number of clearing instructions */\n  NoClearingInstructions = 576,\n  /** Eligibility of this trade for clearing and central counterparty processing. */\n  ClearingInstruction = 577,\n  /** Type of input device or system from which the trade was entered. */\n  TradeInputSource = 578,\n  /** Specific device number, terminal number or station where trade was entered */\n  TradeInputDevice = 579,\n  /** Number of Date fields provided in date range */\n  NoDates = 580,\n  /** Type of account associated with an order */\n  AccountType = 581,\n  CustOrderCapacity = 582,\n  /** Permits order originators to tie together groups of orders in which trades resulting from orders are associated for a specific purpose, for example the calculation of average execution price for a customer or to associate lists submitted to a broker as waves of a larger program trade. */\n  ClOrdLinkID = 583,\n  /** Value assigned by issuer of Mass Status Request to uniquely identify the request */\n  MassStatusReqID = 584,\n  /** Specifies the type or scope of the mass order status request. */\n  MassStatusReqType = 585,\n  /** The most recent (or current) modification TransactTime (tag 60) reported on an Execution Report for the order. The OrigOrdModTime is provided as an optional field on Order Cancel Request and Order Cancel Replace Requests to identify that the state of the order has not changed since the request was issued. The use of this approach is not recommended. */\n  OrigOrdModTime = 586,\n  LegSettlType = 587,\n  /** Refer to description for SettlDate[64] */\n  LegSettlDate = 588,\n  /** Indicates whether or not automatic booking can occur. */\n  DayBookingInst = 589,\n  /** Indicates what constitutes a bookable unit. */\n  BookingUnit = 590,\n  /** Indicates the method of preallocation. */\n  PreallocMethod = 591,\n  UnderlyingCountryOfIssue = 592,\n  UnderlyingStateOrProvinceOfIssue = 593,\n  UnderlyingLocaleOfIssue = 594,\n  UnderlyingInstrRegistry = 595,\n  LegCountryOfIssue = 596,\n  LegStateOrProvinceOfIssue = 597,\n  LegLocaleOfIssue = 598,\n  LegInstrRegistry = 599,\n  LegSymbol = 600,\n  LegSymbolSfx = 601,\n  LegSecurityID = 602,\n  LegSecurityIDSource = 603,\n  NoLegSecurityAltID = 604,\n  LegSecurityAltID = 605,\n  LegSecurityAltIDSource = 606,\n  LegProduct = 607,\n  LegCFICode = 608,\n  /** Refer to definition of SecurityType(167) */\n  LegSecurityType = 609,\n  LegMaturityMonthYear = 610,\n  LegMaturityDate = 611,\n  LegStrikePrice = 612,\n  LegOptAttribute = 613,\n  LegContractMultiplier = 614,\n  LegCouponRate = 615,\n  LegSecurityExchange = 616,\n  LegIssuer = 617,\n  EncodedLegIssuerLen = 618,\n  EncodedLegIssuer = 619,\n  LegSecurityDesc = 620,\n  EncodedLegSecurityDescLen = 621,\n  EncodedLegSecurityDesc = 622,\n  /** The ratio of quantity for this individual leg relative to the entire multileg security. */\n  LegRatioQty = 623,\n  LegSide = 624,\n  /** Optional market assigned sub identifier for a trading phase within a trading session. Usage is determined by market or counterparties. Used by US based futures markets to identify exchange specific execution time bracket codes as required by US market regulations. Bilaterally agreed values of data type \"String\" that start with a character can be used for backward compatibility */\n  TradingSessionSubID = 625,\n  AllocType = 626,\n  /** Number of HopCompID entries in repeating group. */\n  NoHops = 627,\n  HopCompID = 628,\n  HopSendingTime = 629,\n  HopRefID = 630,\n  MidPx = 631,\n  /** Bid yield */\n  BidYield = 632,\n  /** Mid yield */\n  MidYield = 633,\n  /** Offer yield */\n  OfferYield = 634,\n  ClearingFeeIndicator = 635,\n  /** Indicates if the order is currently being worked. Applicable only for OrdStatus = \"New\". For open outcry markets this indicates that the order is being worked in the crowd. For electronic markets it indicates that the order has transitioned from a contingent order to a market order. */\n  WorkingIndicator = 636,\n  LegLastPx = 637,\n  /** Indicates if a Cancel/Replace has caused an order to lose book priority. */\n  PriorityIndicator = 638,\n  /** Amount of price improvement. */\n  PriceImprovement = 639,\n  Price2 = 640,\n  /** F/X forward points of the future part of a F/X swap order added to LastSpotRate(194). May be a negative value. */\n  LastForwardPoints2 = 641,\n  /** Bid F/X forward points of the future portion of a F/X swap quote added to spot rate. May be a negative value. */\n  BidForwardPoints2 = 642,\n  /** Offer F/X forward points of the future portion of a F/X swap quote added to spot rate. May be a negative value. */\n  OfferForwardPoints2 = 643,\n  /** RFQ Request ID - used to identify an RFQ Request. */\n  RFQReqID = 644,\n  /** Used to indicate the best bid in a market */\n  MktBidPx = 645,\n  /** Used to indicate the best offer in a market */\n  MktOfferPx = 646,\n  /** Used to indicate a minimum quantity for a bid. */\n  MinBidSize = 647,\n  /** Used to indicate a minimum quantity for an offer. If this field is used the OfferSize (135) field is interpreted as the maximum offer size. */\n  MinOfferSize = 648,\n  /** Unique identifier for Quote Status Request. */\n  QuoteStatusReqID = 649,\n  /** Indicates that this message is to serve as the final and legal confirmation. */\n  LegalConfirm = 650,\n  /** The calculated or traded price for the underlying instrument that corresponds to a derivative. Used for transactions that include the cash instrument and the derivative. */\n  UnderlyingLastPx = 651,\n  /** The calculated or traded quantity for the underlying instrument that corresponds to a derivative. Used for transactions that include the cash instrument and the derivative. */\n  UnderlyingLastQty = 652,\n  /** Unique identifier for a specific leg (uniqueness not defined as part of the FIX specification). LegRefID(654) be used to reference the value from LegID(1788). */\n  LegRefID = 654,\n  /** Unique indicator for a specific leg for the ContraBroker (375). */\n  ContraLegRefID = 655,\n  /** Foreign exchange rate used to compute the bid \"SettlCurrAmt\" (119) from Currency (15) to SettlCurrency (120) */\n  SettlCurrBidFxRate = 656,\n  /** Foreign exchange rate used to compute the offer \"SettlCurrAmt\" (119) from Currency (15) to SettlCurrency (120) */\n  SettlCurrOfferFxRate = 657,\n  /** Reason Quote was rejected: */\n  QuoteRequestRejectReason = 658,\n  /** ID within repeating group of sides which is used to represent this transaction for compliance purposes (e.g. OATS reporting). */\n  SideComplianceID = 659,\n  /** Used to identify the source of the Account (1) code. This is especially useful if the account is a new account that the Respondent may not have setup yet in their system. */\n  AcctIDSource = 660,\n  AllocAcctIDSource = 661,\n  /** Specifies the price of the benchmark. */\n  BenchmarkPrice = 662,\n  BenchmarkPriceType = 663,\n  /** Message reference for Confirmation */\n  ConfirmID = 664,\n  /** Identifies the status of the Confirmation. */\n  ConfirmStatus = 665,\n  /** Identifies the Confirmation transaction type. */\n  ConfirmTransType = 666,\n  /** Specifies when the contract (i.e. MBS/TBA) will settle. */\n  ContractSettlMonth = 667,\n  /** Identifies the form of delivery. */\n  DeliveryForm = 668,\n  LastParPx = 669,\n  /** Number of Allocations for the leg */\n  NoLegAllocs = 670,\n  LegAllocAccount = 671,\n  LegIndividualAllocID = 672,\n  LegAllocQty = 673,\n  /** Identifies the source of the LegAllocAccount(671). */\n  LegAllocAcctIDSource = 674,\n  LegSettlCurrency = 675,\n  LegBenchmarkCurveCurrency = 676,\n  LegBenchmarkCurveName = 677,\n  LegBenchmarkCurvePoint = 678,\n  LegBenchmarkPrice = 679,\n  /** The price type of the LegBenchmarkPrice(679). */\n  LegBenchmarkPriceType = 680,\n  LegBidPx = 681,\n  LegIOIQty = 682,\n  /** Number of leg stipulation entries */\n  NoLegStipulations = 683,\n  LegOfferPx = 684,\n  LegOrderQty = 685,\n  LegPriceType = 686,\n  /** This field is deprecated and has been replaced by LegOrderQty(685). This field will likely be removed from the FIX standard in a future version. */\n  LegQty = 687,\n  LegStipulationType = 688,\n  LegStipulationValue = 689,\n  /** For Fixed Income, used instead of LegOrderQty(685) to requests the respondent to calculate the quantity based on the quantity on the opposite side of the swap. */\n  LegSwapType = 690,\n  /** For Fixed Income, identifies MBS / ABS pool. */\n  Pool = 691,\n  QuotePriceType = 692,\n  /** Message reference for Quote Response */\n  QuoteRespID = 693,\n  /** Identifies the type of Quote Response. */\n  QuoteRespType = 694,\n  /** Code to qualify Quote use and other aspects of price negotiation. */\n  QuoteQualifier = 695,\n  /** Date to which the yield has been calculated (i.e. maturity, par call or current call, pre-refunded date). */\n  YieldRedemptionDate = 696,\n  /** Price to which the yield has been calculated. */\n  YieldRedemptionPrice = 697,\n  YieldRedemptionPriceType = 698,\n  BenchmarkSecurityID = 699,\n  /** Indicates a trade that reverses a previous trade. */\n  ReversalIndicator = 700,\n  /** Include as needed to clarify yield irregularities associated with date, e.g. when it falls on a non-business day. */\n  YieldCalcDate = 701,\n  /** Number of position entries. */\n  NoPositions = 702,\n  /** Used to identify the type of quantity that is being returned. */\n  PosType = 703,\n  /** Long quantity. */\n  LongQty = 704,\n  /** Short quantity. */\n  ShortQty = 705,\n  /** Status of this position. */\n  PosQtyStatus = 706,\n  /** Type of Position amount */\n  PosAmtType = 707,\n  /** Position amount */\n  PosAmt = 708,\n  /** Identifies the type of position transaction. */\n  PosTransType = 709,\n  /** Unique identifier for the position maintenance request as assigned by the submitter */\n  PosReqID = 710,\n  /** Number of underlying legs that make up the security. */\n  NoUnderlyings = 711,\n  /** Maintenance Action to be performed. */\n  PosMaintAction = 712,\n  /** Reference to the PosReqID (710) of a previous maintenance request that is being replaced or canceled. */\n  OrigPosReqRefID = 713,\n  /** Reference to a PosMaintRptID (721) from a previous Position Maintenance Report that is being replaced or canceled. */\n  PosMaintRptRefID = 714,\n  /** The business date for which the trade is expected to be cleared. */\n  ClearingBusinessDate = 715,\n  /** Identifies a specific settlement session */\n  SettlSessID = 716,\n  /** SubID value associated with SettlSessID(716) */\n  SettlSessSubID = 717,\n  /** Type of adjustment to be applied. Used for Position Change Submission (PCS), Position Adjustment (PAJ), and Customer Gross Margin (CGM). */\n  AdjustmentType = 718,\n  /** Used to indicate when a contrary instruction for exercise or abandonment is being submitted */\n  ContraryInstructionIndicator = 719,\n  /** Indicates if requesting a rollover of prior day's spread submissions. */\n  PriorSpreadIndicator = 720,\n  /** Unique identifier for this position report */\n  PosMaintRptID = 721,\n  /** Status of Position Maintenance Request */\n  PosMaintStatus = 722,\n  /** Result of Position Maintenance Request. */\n  PosMaintResult = 723,\n  /** Used to specify the type of position request being made. */\n  PosReqType = 724,\n  /** Identifies how the response to the request should be transmitted. */\n  ResponseTransportType = 725,\n  ResponseDestination = 726,\n  /** Total number of Position Reports being returned. */\n  TotalNumPosReports = 727,\n  /** Result of Request for Positions. */\n  PosReqResult = 728,\n  /** Status of Request for Positions */\n  PosReqStatus = 729,\n  /** Settlement price */\n  SettlPrice = 730,\n  /** Type of settlement price */\n  SettlPriceType = 731,\n  UnderlyingSettlPrice = 732,\n  UnderlyingSettlPriceType = 733,\n  /** Previous settlement price */\n  PriorSettlPrice = 734,\n  /** Number of repeating groups of QuoteQualifiers (695). */\n  NoQuoteQualifiers = 735,\n  /** Currency code of settlement denomination for a specific AllocAccount (79). */\n  AllocSettlCurrency = 736,\n  /** Total amount due expressed in settlement currency (includes the effect of the forex transaction) for a specific AllocAccount (79). */\n  AllocSettlCurrAmt = 737,\n  /** Amount of interest (i.e. lump-sum) at maturity. */\n  InterestAtMaturity = 738,\n  /** The effective date of a new securities issue determined by its underwriters. Often but not always the same as the Issue Date and the Interest Accrual Date */\n  LegDatedDate = 739,\n  LegPool = 740,\n  /** Amount of interest (i.e. lump-sum) at maturity at the account-level. */\n  AllocInterestAtMaturity = 741,\n  /** Amount of Accrued Interest for convertible bonds and fixed income at the allocation-level. */\n  AllocAccruedInterestAmt = 742,\n  /** Date of delivery. */\n  DeliveryDate = 743,\n  /** Method by which short positions are assigned to an exercise notice during exercise and assignment processing */\n  AssignmentMethod = 744,\n  /** Quantity Increment used in performing assignment. */\n  AssignmentUnit = 745,\n  /** Open interest that was eligible for assignment. */\n  OpenInterest = 746,\n  /** Exercise Method used to in performing assignment. */\n  ExerciseMethod = 747,\n  /** Total number of trade reports returned. */\n  TotNumTradeReports = 748,\n  /** Result of Trade Request */\n  TradeRequestResult = 749,\n  /** Status of Trade Request. */\n  TradeRequestStatus = 750,\n  TradeReportRejectReason = 751,\n  /** Used to indicate if the side being reported on Trade Capture Report represents a leg of a multileg instrument or a single security. */\n  SideMultiLegReportingType = 752,\n  /** Number of position amount entries. */\n  NoPosAmt = 753,\n  /** Identifies whether or not an allocation has been automatically accepted on behalf of the Carry Firm by the Clearing House. */\n  AutoAcceptIndicator = 754,\n  /** Unique identifier for Allocation Report message. */\n  AllocReportID = 755,\n  /** Number of Nested2PartyID (757), Nested2PartyIDSource (758), and Nested2PartyRole (759) entries */\n  NoNested2PartyIDs = 756,\n  Nested2PartyID = 757,\n  Nested2PartyIDSource = 758,\n  Nested2PartyRole = 759,\n  Nested2PartySubID = 760,\n  BenchmarkSecurityIDSource = 761,\n  SecuritySubType = 762,\n  UnderlyingSecuritySubType = 763,\n  LegSecuritySubType = 764,\n  /** The maximum percentage that execution of one side of a program trade can exceed execution of the other. */\n  AllowableOneSidednessPct = 765,\n  /** The maximum amount that execution of one side of a program trade can exceed execution of the other. */\n  AllowableOneSidednessValue = 766,\n  /** The currency that AllowableOneSidednessValue (766) is expressed in if AllowableOneSidednessValue is used. */\n  AllowableOneSidednessCurr = 767,\n  /** Number of timestamp entries. */\n  NoTrdRegTimestamps = 768,\n  TrdRegTimestamp = 769,\n  TrdRegTimestampType = 770,\n  /** Text which identifies the \"origin\" (i.e. system which was used to generate the timestamp) for the Traded / Regulatory timestamp value. */\n  TrdRegTimestampOrigin = 771,\n  /** Reference identifier to be used with ConfirmTransType (666) = Replace or Cancel */\n  ConfirmRefID = 772,\n  /** Identifies the type of Confirmation message being sent. */\n  ConfirmType = 773,\n  /** Identifies the reason for rejecting a Confirmation. */\n  ConfirmRejReason = 774,\n  /** Method for booking out this order. Used when notifying a broker that an order to be settled by that broker is to be booked out as an OTC derivative (e.g. CFD or similar). */\n  BookingType = 775,\n  IndividualAllocRejCode = 776,\n  /** Unique identifier for Settlement Instruction message. */\n  SettlInstMsgID = 777,\n  /** Number of settlement instructions within repeating group. */\n  NoSettlInst = 778,\n  /** Timestamp of last update to data item (or creation if no updates made since creation). */\n  LastUpdateTime = 779,\n  /** Used to indicate whether settlement instructions are provided on an allocation instruction message, and if not, how they are to be derived. */\n  AllocSettlInstType = 780,\n  /** Number of SettlPartyID (782), SettlPartyIDSource (783), and SettlPartyRole (784) entries */\n  NoSettlPartyIDs = 781,\n  SettlPartyID = 782,\n  SettlPartyIDSource = 783,\n  SettlPartyRole = 784,\n  SettlPartySubID = 785,\n  SettlPartySubIDType = 786,\n  /** Used to indicate whether a delivery instruction is used for securities or cash settlement. */\n  DlvyInstType = 787,\n  /** Type of financing termination. */\n  TerminationType = 788,\n  /** Next expected MsgSeqNum value to be received. */\n  NextExpectedMsgSeqNum = 789,\n  /** Can be used to uniquely identify a specific Order Status Request message. */\n  OrdStatusReqID = 790,\n  /** Unique ID of settlement instruction request message */\n  SettlInstReqID = 791,\n  /** Identifies reason for rejection (of a settlement instruction request message). */\n  SettlInstReqRejCode = 792,\n  /** Secondary allocation identifier. Unlike the AllocID (70), this can be shared across a number of allocation instruction or allocation report messages, thereby making it possible to pass an identifier for an original allocation message on multiple messages (e.g. from one party to a second to a third, across cancel and replace messages etc.). */\n  SecondaryAllocID = 793,\n  /** Describes the specific type or purpose of an Allocation Report message */\n  AllocReportType = 794,\n  /** Reference identifier to be used with AllocTransType (7) = Replace or Cancel */\n  AllocReportRefID = 795,\n  /** Reason for cancelling or replacing an Allocation Instruction or Allocation Report message */\n  AllocCancReplaceReason = 796,\n  /** Indicates whether or not this message is a drop copy of another message. */\n  CopyMsgIndicator = 797,\n  /** Type of account associated with a confirmation or other trade-level message */\n  AllocAccountType = 798,\n  /** Average price for a specific order */\n  OrderAvgPx = 799,\n  /** Quantity of the order that is being booked out as part of an Allocation Instruction or Allocation Report message */\n  OrderBookingQty = 800,\n  /** Number of SettlPartySubID (785) and SettlPartySubIDType (786) entries */\n  NoSettlPartySubIDs = 801,\n  /** Number of PartySubID (523)and PartySubIDType (803) entries */\n  NoPartySubIDs = 802,\n  /** Type of PartySubID(523) value. */\n  PartySubIDType = 803,\n  /** Number of NestedPartySubID (545) and NestedPartySubIDType (805) entries */\n  NoNestedPartySubIDs = 804,\n  NestedPartySubIDType = 805,\n  /** Number of Nested2PartySubID (760) and Nested2PartySubIDType (807) entries. Second instance of <NestedParties>. */\n  NoNested2PartySubIDs = 806,\n  Nested2PartySubIDType = 807,\n  /** Response to allocation to be communicated to a counterparty through an intermediary, i.e. clearing house. Used in conjunction with AllocType = \"Request to Intermediary\" and AllocReportType = \"Request to Intermediary\" */\n  AllocIntermedReqType = 808,\n  /** Number of Usernames to which this this response is directed */\n  NoUsernames = 809,\n  /** Underlying price associate with a derivative instrument. */\n  UnderlyingPx = 810,\n  PriceDelta = 811,\n  /** Used to specify the maximum number of application messages that can be queued bedore a corrective action needs to take place to resolve the queuing issue. */\n  ApplQueueMax = 812,\n  /** Current number of application messages that were queued at the time that the message was created by the counterparty. */\n  ApplQueueDepth = 813,\n  /** Resolution taken when ApplQueueDepth (813) exceeds ApplQueueMax (812) or system specified maximum queue size. */\n  ApplQueueResolution = 814,\n  /** Action to take to resolve an application message queue (backlog). */\n  ApplQueueAction = 815,\n  /** Number of alternative market data sources */\n  NoAltMDSource = 816,\n  AltMDSourceID = 817,\n  /** Secondary trade report identifier - can be used to associate an additional identifier with a trade. */\n  SecondaryTradeReportID = 818,\n  /** Average pricing indicator. */\n  AvgPxIndicator = 819,\n  /** Used to link a group of trades together. */\n  TradeLinkID = 820,\n  /** Specific device number, terminal number or station where order was entered */\n  OrderInputDevice = 821,\n  /** Trading Session in which the underlying instrument trades */\n  UnderlyingTradingSessionID = 822,\n  /** Trading Session sub identifier in which the underlying instrument trades */\n  UnderlyingTradingSessionSubID = 823,\n  /** Reference to the leg of a multileg instrument to which this trade refers */\n  TradeLegRefID = 824,\n  ExchangeRule = 825,\n  /** Identifies if, and how, the trade is to be allocated or split. */\n  TradeAllocIndicator = 826,\n  /** Part of trading cycle when an instrument expires. Field is applicable for derivatives. */\n  ExpirationCycle = 827,\n  TrdType = 828,\n  /** Further qualification to the trade type defined in TrdType(828). */\n  TrdSubType = 829,\n  /** Reason trade is being transferred */\n  TransferReason = 830,\n  /** Total Number of Assignment Reports being returned to a firm */\n  TotNumAssignmentReports = 832,\n  /** Unique identifier for the Assignment Report */\n  AsgnRptID = 833,\n  /** Amount that a position has to be in the money before it is exercised. */\n  ThresholdAmount = 834,\n  /** Describes whether peg is static or floats */\n  PegMoveType = 835,\n  /** Type of Peg Offset value */\n  PegOffsetType = 836,\n  /** Type of Peg Limit */\n  PegLimitType = 837,\n  /** If the calculated peg price is not a valid tick price, specifies whether to round the price to be more or less aggressive */\n  PegRoundDirection = 838,\n  /** The price the order is currently pegged at */\n  PeggedPrice = 839,\n  /** The scope of the peg */\n  PegScope = 840,\n  /** Describes whether discretionay price is static or floats */\n  DiscretionMoveType = 841,\n  /** Type of Discretion Offset value */\n  DiscretionOffsetType = 842,\n  /** Type of Discretion Limit */\n  DiscretionLimitType = 843,\n  /** If the calculated discretionary price is not a valid tick price, specifies whether to round the price to be more or less aggressive */\n  DiscretionRoundDirection = 844,\n  /** The current discretionary price of the order */\n  DiscretionPrice = 845,\n  /** The scope of the discretion */\n  DiscretionScope = 846,\n  TargetStrategy = 847,\n  TargetStrategyParameters = 848,\n  ParticipationRate = 849,\n  /** For communication of the performance of the order versus the target strategy */\n  TargetStrategyPerformance = 850,\n  /** Indicator to identify whether this fill was a result of a liquidity provider providing or liquidity taker taking the liquidity. */\n  LastLiquidityInd = 851,\n  /** Indicates if a trade should be reported via a market reporting service. */\n  PublishTrdIndicator = 852,\n  /** Reason for short sale. */\n  ShortSaleReason = 853,\n  /** Type of quantity specified in quantity field. ContractMultiplier (tag 231) is required when QtyType = 1 (Contracts). UnitOfMeasure (tag 996) and TimeUnit (tag 997) are required when QtyType = 2 (Units of Measure per Time Unit). */\n  QtyType = 854,\n  /** Type of trade assigned to a trade. Used in addition to TrdType(828). Must not be used when only one trade type needs to be assigned. */\n  SecondaryTrdType = 855,\n  /** Type of Trade Report */\n  TradeReportType = 856,\n  /** Indicates how the orders being booked and allocated by an AllocationInstruction or AllocationReport message are identified, e.g. by explicit definition in the OrdAllocGrp or ExecAllocGrp components, or not identified explicitly. */\n  AllocNoOrdersType = 857,\n  /** Commission to be shared with a third party, e.g. as part of a directed brokerage commission sharing arrangement. */\n  SharedCommission = 858,\n  /** Unique identifier for a Confirmation Request message */\n  ConfirmReqID = 859,\n  /** Used to express average price as percent of par (used where AvgPx field is expressed in some other way) */\n  AvgParPx = 860,\n  /** Reported price (used to differentiate from AvgPx on a confirmation of a marked-up or marked-down principal trade) */\n  ReportedPx = 861,\n  /** Number of repeating OrderCapacity entries. */\n  NoCapacities = 862,\n  /** Quantity executed under a specific OrderCapacity (e.g. quantity executed as agent, quantity executed as principal) */\n  OrderCapacityQty = 863,\n  /** Number of repeating EventType entries. */\n  NoEvents = 864,\n  /** Code to represent the type of event */\n  EventType = 865,\n  /** Date of event */\n  EventDate = 866,\n  /** Predetermined price of issue at event, if applicable */\n  EventPx = 867,\n  /** Comments related to the event. */\n  EventText = 868,\n  /** Percent at risk due to lowest possible call. */\n  PctAtRisk = 869,\n  /** Number of repeating InstrAttribType entries. */\n  NoInstrAttrib = 870,\n  /** Code to represent the type of instrument attribute */\n  InstrAttribType = 871,\n  /** Attribute value appropriate to the InstrAttribType (871) field. */\n  InstrAttribValue = 872,\n  /** The effective date of a new securities issue determined by its underwriters. Often but not always the same as the Issue Date and the Interest Accrual Date */\n  DatedDate = 873,\n  /** The start date used for calculating accrued interest on debt instruments which are being sold between interest payment dates. Often but not always the same as the Issue Date and the Dated Date */\n  InterestAccrualDate = 874,\n  /** The program under which a commercial paper offering is exempt from SEC registration identified by the paragraph number(s) within the US Securities Act of 1933 or as identified below. */\n  CPProgram = 875,\n  /** The description of commercial paper registration or rule under which exempt commercial paper is offered. For example \"144a\", \"Tax Exempt\" or \"REG. S\". */\n  CPRegType = 876,\n  /** The program under which the underlying commercial paper is issued */\n  UnderlyingCPProgram = 877,\n  /** The registration type of the underlying commercial paper issuance */\n  UnderlyingCPRegType = 878,\n  /** Unit amount of the underlying security (par, shares, currency, etc.) */\n  UnderlyingQty = 879,\n  /** Identifier assigned by a matching system to a match event that results in multiple executions or trades. */\n  TrdMatchID = 880,\n  /** Used to refer to a previous SecondaryTradeReportRefID when amending the transaction (cancel, replace, release, or reversal). */\n  SecondaryTradeReportRefID = 881,\n  /** Price (percent-of-par or per unit) of the underlying security or basket. \"Dirty\" means it includes accrued interest */\n  UnderlyingDirtyPrice = 882,\n  /** Price (percent-of-par or per unit) of the underlying security or basket at the end of the agreement. */\n  UnderlyingEndPrice = 883,\n  /** Currency value attributed to this collateral at the start of the agreement */\n  UnderlyingStartValue = 884,\n  /** Currency value currently attributed to this collateral */\n  UnderlyingCurrentValue = 885,\n  /** Currency value attributed to this collateral at the end of the agreement */\n  UnderlyingEndValue = 886,\n  /** Number of underlying stipulation entries */\n  NoUnderlyingStips = 887,\n  UnderlyingStipType = 888,\n  UnderlyingStipValue = 889,\n  /** Net Money at maturity if Zero Coupon and maturity value is different from par value */\n  MaturityNetMoney = 890,\n  /** Defines the unit for a miscellaneous fee. */\n  MiscFeeBasis = 891,\n  /** Total number of NoAlloc entries across all messages. Should be the sum of all NoAllocs in each message that has repeating NoAlloc entries related to the same AllocID or AllocReportID. Used to support fragmentation. */\n  TotNoAllocs = 892,\n  /** Indicates whether this message is the last in a sequence of messages for those messages that support fragmentation, such as Allocation Instruction, Mass Quote, Security List, Derivative Security List */\n  LastFragment = 893,\n  /** Collateral Request Identifier */\n  CollReqID = 894,\n  /** Reason for Collateral Assignment */\n  CollAsgnReason = 895,\n  /** Collateral inquiry qualifiers: */\n  CollInquiryQualifier = 896,\n  /** Number of trades in repeating group. */\n  NoTrades = 897,\n  /** The fraction of the cash consideration that must be collateralized, expressed as a percent. A MarginRatio of 02% indicates that the value of the collateral (after deducting for \"haircut\") must exceed the cash consideration by 2%. */\n  MarginRatio = 898,\n  /** Excess margin amount (deficit if value is negative) */\n  MarginExcess = 899,\n  TotalNetValue = 900,\n  /** Starting consideration less repayments */\n  CashOutstanding = 901,\n  /** Collateral Assignment Identifier */\n  CollAsgnID = 902,\n  /** Collateral Assignment Transaction Type */\n  CollAsgnTransType = 903,\n  /** Collateral Response Identifier */\n  CollRespID = 904,\n  /** Type of collateral assignment response. */\n  CollAsgnRespType = 905,\n  /** Collateral Assignment Reject Reason */\n  CollAsgnRejectReason = 906,\n  /** Collateral Assignment Identifier to which a transaction refers */\n  CollAsgnRefID = 907,\n  /** Collateral Report Identifier */\n  CollRptID = 908,\n  /** Collateral Inquiry Identifier */\n  CollInquiryID = 909,\n  /** Collateral Status */\n  CollStatus = 910,\n  /** Total number of reports returned in response to a request. */\n  TotNumReports = 911,\n  /** Indicates whether this message is the last report message in response to a request message, e.g. OrderMassStatusRequest(35=AF), TradeCaptureReportRequest(35=AD). */\n  LastRptRequested = 912,\n  AgreementDesc = 913,\n  /** A common reference to the applicable standing agreement between the counterparties to a financing transaction. */\n  AgreementID = 914,\n  /** A reference to the date the underlying agreement specified by AgreementID and AgreementDesc was executed. */\n  AgreementDate = 915,\n  /** Start date of a financing deal, i.e. the date the buyer pays the seller cash and takes control of the collateral */\n  StartDate = 916,\n  /** End date of a financing deal, i.e. the date the seller reimburses the buyer and takes back control of the collateral */\n  EndDate = 917,\n  /** Contractual currency forming the basis of a financing agreement and associated transactions. Usually, but not always, the same as the trade currency. */\n  AgreementCurrency = 918,\n  /** Identifies type of settlement */\n  DeliveryType = 919,\n  /** Accrued Interest Amount applicable to a financing transaction on the End Date. */\n  EndAccruedInterestAmt = 920,\n  /** Starting dirty cash consideration of a financing deal, i.e. paid to the seller on the Start Date. */\n  StartCash = 921,\n  /** Ending dirty cash consideration of a financing deal. i.e. reimbursed to the buyer on the End Date. */\n  EndCash = 922,\n  /** Unique identifier for a User Request. */\n  UserRequestID = 923,\n  /** Indicates the action required by a User Request Message */\n  UserRequestType = 924,\n  /** New Password or passphrase */\n  NewPassword = 925,\n  /** Indicates the status of a user */\n  UserStatus = 926,\n  /** A text description associated with a user status. */\n  UserStatusText = 927,\n  /** Indicates the status of a network connection */\n  StatusValue = 928,\n  /** A text description associated with a network status. */\n  StatusText = 929,\n  /** Assigned value used to identify a firm. */\n  RefCompID = 930,\n  /** Assigned value used to identify specific elements within a firm. */\n  RefSubID = 931,\n  /** Unique identifier for a network response. */\n  NetworkResponseID = 932,\n  /** Unique identifier for a network resquest. */\n  NetworkRequestID = 933,\n  /** Identifier of the previous Network Response message sent to a counterparty, used to allow incremental updates. */\n  LastNetworkResponseID = 934,\n  NetworkRequestType = 935,\n  /** Number of CompID entries in a repeating group. */\n  NoCompIDs = 936,\n  /** Indicates the type of Network Response Message. */\n  NetworkStatusResponseType = 937,\n  /** Number of CollInquiryQualifier entries in a repeating group. */\n  NoCollInquiryQualifier = 938,\n  /** Trade Report Status */\n  TrdRptStatus = 939,\n  /** Specifies the affirmation status of the confirmation. */\n  AffirmStatus = 940,\n  /** Currency in which the strike price of an underlying instrument is denominated */\n  UnderlyingStrikeCurrency = 941,\n  /** Currency in which the strike price of a instrument leg of a multileg instrument is denominated */\n  LegStrikeCurrency = 942,\n  TimeBracket = 943,\n  /** Action proposed for an Underlying Instrument instance. */\n  CollAction = 944,\n  /** Status of Collateral Inquiry */\n  CollInquiryStatus = 945,\n  CollInquiryResult = 946,\n  /** Currency in which the StrikePrice is denominated. */\n  StrikeCurrency = 947,\n  /** Number of Nested3PartyID (949), Nested3PartyIDSource (950), and Nested3PartyRole (95) entries */\n  NoNested3PartyIDs = 948,\n  Nested3PartyID = 949,\n  Nested3PartyIDSource = 950,\n  Nested3PartyRole = 951,\n  /** Number of Nested3PartySubIDs (953) entries */\n  NoNested3PartySubIDs = 952,\n  Nested3PartySubID = 953,\n  Nested3PartySubIDType = 954,\n  /** Specifies when the contract (i.e. MBS/TBA) will settle. */\n  LegContractSettlMonth = 955,\n  /** The start date used for calculating accrued interest on debt instruments which are being sold between interest payment dates. Often but not always the same as the Issue Date and the Dated Date */\n  LegInterestAccrualDate = 956,\n  /** Indicates number of strategy parameters */\n  NoStrategyParameters = 957,\n  /** Name of parameter */\n  StrategyParameterName = 958,\n  /** Datatype of the parameter */\n  StrategyParameterType = 959,\n  /** Value of the parameter */\n  StrategyParameterValue = 960,\n  /** Host assigned entity ID that can be used to reference all components of a cross; sides + strategy + legs. Used as the primary key with which to refer to the Cross Order for cancellation and replace. The HostCrossID will also be used to link together components of the Cross Order. For example, each individual Execution Report associated with the order will carry HostCrossID in order to tie back to the original cross order. */\n  HostCrossID = 961,\n  /** Indicates how long the order as specified in the side stays in effect. SideTimeInForce allows a two-sided cross order to specify order behavior separately for each side. Absence of this field indicates that TimeInForce should be referenced. SideTimeInForce will override TimeInForce if both are provided. */\n  SideTimeInForce = 962,\n  /** Unique identifier for the Market Data Report. */\n  MDReportID = 963,\n  /** Identifies a Security List message. */\n  SecurityReportID = 964,\n  /** Indicates the current state of the instrument. */\n  SecurityStatus = 965,\n  /** Indicator to determine if instrument is settle on open */\n  SettleOnOpenFlag = 966,\n  /** Used for derivatives. Multiplier applied to the strike price for the purpose of calculating the settlement value. */\n  StrikeMultiplier = 967,\n  /** Used for derivatives. The number of shares/units for the financial instrument involved in the option trade. */\n  StrikeValue = 968,\n  /** Minimum price increase for a given exchange-traded Instrument */\n  MinPriceIncrement = 969,\n  /** Position Limit for a given exchange-traded product. */\n  PositionLimit = 970,\n  /** Position Limit in the near-term contract for a given exchange-traded product. */\n  NTPositionLimit = 971,\n  /** Percent of the Strike Price that this underlying represents. */\n  UnderlyingAllocationPercent = 972,\n  /** Cash amount associated with the underlying component. */\n  UnderlyingCashAmount = 973,\n  /** Used for derivatives that deliver into cash underlying. */\n  UnderlyingCashType = 974,\n  /** Indicates order settlement period for the underlying instrument. */\n  UnderlyingSettlementType = 975,\n  /** Date associated to the quantity that is being reported for the position. */\n  QuantityDate = 976,\n  /** Unique identifier for the Contrary Intention report */\n  ContIntRptID = 977,\n  /** Indicates if the contrary intention was received after the exchange imposed cutoff time */\n  LateIndicator = 978,\n  /** Originating source of the request. */\n  InputSource = 979,\n  /** Specifies the action taken or to be taken for the specified instrument or list of instruments. */\n  SecurityUpdateAction = 980,\n  /** Number of Expiration Qty entries */\n  NoExpiration = 981,\n  /** Expiration Quantity type */\n  ExpirationQtyType = 982,\n  /** Expiration Quantity associated with the Expiration Type */\n  ExpQty = 983,\n  /** Total number of occurrences of Amount to pay in order to receive the underlying instrument */\n  NoUnderlyingAmounts = 984,\n  /** Amount to pay in order to receive the underlying instrument */\n  UnderlyingPayAmount = 985,\n  /** Amount to collect in order to deliver the underlying instrument */\n  UnderlyingCollectAmount = 986,\n  /** Date the underlying instrument will settle. Used for derivatives that deliver into more than one underlying instrument. Settlement dates can vary across underlying instruments. */\n  UnderlyingSettlementDate = 987,\n  /** Settlement status of the underlying instrument. Used for derivatives that deliver into more than one underlying instrument. Settlement can be delayed for an underlying instrument. */\n  UnderlyingSettlementStatus = 988,\n  /** Will allow the intermediary to specify an allocation ID generated by their system. */\n  SecondaryIndividualAllocID = 989,\n  /** Additional attribute to store the Trade ID of the Leg. */\n  LegReportID = 990,\n  /** Specifies average price rounded to quoted precision. */\n  RndPx = 991,\n  /** Identifies whether the allocation is to be sub-allocated or allocated to a third party */\n  IndividualAllocType = 992,\n  /** Capacity of customer in the allocation block. */\n  AllocCustomerCapacity = 993,\n  /** The Tier the trade was matched by the clearing system. */\n  TierCode = 994,\n  UnitOfMeasure = 996,\n  TimeUnit = 997,\n  UnderlyingUnitOfMeasure = 998,\n  LegUnitOfMeasure = 999,\n  /** See TimeUnit(997) for complete definition. */\n  UnderlyingTimeUnit = 1000,\n  /** See TimeUnit(997) for complete definition. */\n  LegTimeUnit = 1001,\n  /** Specifies the method under which a trade quantity was allocated. */\n  AllocMethod = 1002,\n  /** The unique ID assigned to the trade entity once it is received or matched by the exchange or central counterparty. */\n  TradeID = 1003,\n  /** Used on a multi-sided trade to designate the ReportID */\n  SideTradeReportID = 1005,\n  /** Used on a multi-sided trade to convey order routing information */\n  SideFillStationCd = 1006,\n  /** Used on a multi-sided trade to convey reason for execution */\n  SideReasonCd = 1007,\n  /** Used on a multi-sided trade to specify the type of trade for a given side. Same values as TrdSubType (829). */\n  SideTrdSubType = 1008,\n  /** Used to indicate the quantity on one side of a multi-sided trade. */\n  SideLastQty = 1009,\n  MessageEventSource = 1011,\n  /** Same as TrdRegTimestamp(769). Used in a multi-sided message to indicate relevant trade-side timestamp. */\n  SideTrdRegTimestamp = 1012,\n  /** Same as TrdRegTimeStampType(770). Used in a multi-sided message to indicate relevant trade-side timestamp type. */\n  SideTrdRegTimestampType = 1013,\n  /** Same as TrdRegTimestampOrigin(771). Used in a multi-sided message to indicate relevant trade-side origin or source of timestamp. */\n  SideTrdRegTimestampSrc = 1014,\n  /** A trade that is being submitted for a trade date prior to the current trade or clearing date, e.g. in an open outcry market an out trade being submitted for the previous trading session or trading day. */\n  AsOfIndicator = 1015,\n  /** Number of timestamp entries. */\n  NoSideTrdRegTS = 1016,\n  LegOptionRatio = 1017,\n  /** Identifies the number of parties identified with an instrument */\n  NoInstrumentParties = 1018,\n  /** PartyID value within an instrument party repeating group. Same values as PartyID (448) */\n  InstrumentPartyID = 1019,\n  /** Used to report volume with a trade */\n  TradeVolume = 1020,\n  /** Describes the type of book for which the feed is intended. Used when multiple feeds are provided over the same connection */\n  MDBookType = 1021,\n  /** Describes a class of service for a given data feed, ie Regular and Market Maker, Bandwidth Intensive or Bandwidth Conservative */\n  MDFeedType = 1022,\n  /** Integer to convey the level of a bid or offer at a given price level. This is in contrast to MDEntryPositionNo(290) which is used to convey the position of an order within a price level. */\n  MDPriceLevel = 1023,\n  /** Used to describe the origin of the market data entry. */\n  MDOriginType = 1024,\n  /** Indicates the first trade price of the day/session */\n  FirstPx = 1025,\n  /** The spot rate for an FX entry */\n  MDEntrySpotRate = 1026,\n  /** Used for an F/X entry. The forward points to be added to or subtracted from the spot rate to get the \"all-in\" rate in MDEntryPx. Expressed in decimal form. For example, 61.99 points is expressed and sent as 0.006199 */\n  MDEntryForwardPoints = 1027,\n  /** Indicates if an order, quote or trade was initially received manually (as opposed to electronically) or if it was entered manually (as opposed to entered by automated trading software). */\n  ManualOrderIndicator = 1028,\n  CustDirectedOrder = 1029,\n  /** Identifies the broker-dealer department that first took the order. */\n  ReceivedDeptID = 1030,\n  CustOrderHandlingInst = 1031,\n  OrderHandlingInstSource = 1032,\n  DeskType = 1033,\n  /** Identifies the class or source of DeskType(1033) values. Conditionally required when DeskType(1033) is specified. */\n  DeskTypeSource = 1034,\n  /** Codes that apply special information that the broker-dealer needs to report. */\n  DeskOrderHandlingInst = 1035,\n  /** The status of this execution acknowledgement message. */\n  ExecAckStatus = 1036,\n  /** Indicates the underlying position amount to be delivered */\n  UnderlyingDeliveryAmount = 1037,\n  /** Maximum notional value for a capped financial instrument */\n  UnderlyingCapValue = 1038,\n  /** Settlement method for a contract or instrument. Additional values may be used with bilateral agreement. */\n  UnderlyingSettlMethod = 1039,\n  /** Used to carry an internal trade entity ID which may or may not be reported to the firm */\n  SecondaryTradeID = 1040,\n  /** The ID assigned to a trade by the Firm to track a trade within the Firm system. This ID can be assigned either before or after submission to the exchange or central counterpary */\n  FirmTradeID = 1041,\n  /** Used to carry an internal firm assigned ID which may or may not be reported to the exchange or central counterpary */\n  SecondaryFirmTradeID = 1042,\n  /** conveys how the collateral should be/has been applied */\n  CollApplType = 1043,\n  /** Unit amount of the underlying security (shares) adjusted for pending corporate action not yet allocated. */\n  UnderlyingAdjustedQuantity = 1044,\n  /** Foreign exchange rate used to compute UnderlyingCurrentValue(885) (or market value) from UnderlyingCurrency(318) to Currency(15). */\n  UnderlyingFXRate = 1045,\n  /** Specifies whether the UnderlyingFxRate(1045) should be multiplied or divided. */\n  UnderlyingFXRateCalc = 1046,\n  /** Indicates whether the resulting position after a trade should be an opening position or closing position. Used for omnibus accounting - where accounts are held on a gross basis instead of being netted together. */\n  AllocPositionEffect = 1047,\n  /** Identifies role of dealer; Agent, Principal, RisklessPrincipal */\n  DealingCapacity = 1048,\n  /** Method under which assignment was conducted */\n  InstrmtAssignmentMethod = 1049,\n  InstrumentPartyIDSource = 1050,\n  InstrumentPartyRole = 1051,\n  /** Number of InstrumentPartySubID (1053) and InstrumentPartySubIDType (1054) entries */\n  NoInstrumentPartySubIDs = 1052,\n  InstrumentPartySubID = 1053,\n  InstrumentPartySubIDType = 1054,\n  /** The Currency in which the position Amount is denominated */\n  PositionCurrency = 1055,\n  /** Used for the calculated quantity of the other side of the currency trade. Can be derived from LastQty and LastPx. */\n  CalculatedCcyLastQty = 1056,\n  /** Used to identify whether the order initiator is an aggressor or not in the trade. */\n  AggressorIndicator = 1057,\n  /** Identifies the number of parties identified with an underlying instrument */\n  NoUndlyInstrumentParties = 1058,\n  UnderlyingInstrumentPartyID = 1059,\n  UnderlyingInstrumentPartyIDSource = 1060,\n  UnderlyingInstrumentPartyRole = 1061,\n  /** Number of Underlying InstrumentPartySubID (1053) and InstrumentPartySubIDType (1054) entries */\n  NoUndlyInstrumentPartySubIDs = 1062,\n  UnderlyingInstrumentPartySubID = 1063,\n  UnderlyingInstrumentPartySubIDType = 1064,\n  /** The bid FX Swap points for an FX Swap. It is the \"far bid forward points - near offer forward point\". Value can be negative. Expressed in decimal form. For example, 61.99 points is expressed and sent as 0.006199 */\n  BidSwapPoints = 1065,\n  /** The offer FX Swap points for an FX Swap. It is the \"far offer forward points - near bid forward points\". Value can be negative. Expressed in decimal form. For example, 61.99 points is expressed and sent as 0.006199 */\n  OfferSwapPoints = 1066,\n  /** The bid FX forward points for the leg of an FX Swap. Value can be negative. Expressed in decimal form. For example, 61.99 points is expressed and sent as 0.006199 */\n  LegBidForwardPoints = 1067,\n  /** The offer FX forward points for the leg of an FX Swap. Value can be negative. Expressed in decimal form. For example, 61.99 points is expressed and sent as 0.006199 */\n  LegOfferForwardPoints = 1068,\n  /** For FX Swap, this is used to express the differential between the far leg's bid/offer and the near leg's bid/offer. Value can be negative. Expressed in decimal form. For example, 61.99 points is expressed and sent as 0.006199 */\n  SwapPoints = 1069,\n  /** Identifies market data quote type. */\n  MDQuoteType = 1070,\n  /** For FX Swap, this is used to express the last market event for the differential between the far leg's bid/offer and the near leg's bid/offer in a fill or partial fill. Value can be negative. Expressed in decimal form. For example, 61.99 points is expressed and sent as 0.006199 */\n  LastSwapPoints = 1071,\n  /** The gross trade amount for this side of the trade. See also GrossTradeAmt (381) for additional definition. */\n  SideGrossTradeAmt = 1072,\n  /** The forward points for this leg's fill event. Value can be negative. Expressed in decimal form. For example, 61.99 points is expressed and sent as 0.006199 */\n  LegLastForwardPoints = 1073,\n  /** Used for the calculated quantity of the other side of the currency for this leg. Can be derived from LegQty and LegLastPx. */\n  LegCalculatedCcyLastQty = 1074,\n  /** The gross trade amount of the leg. For FX Futures this is used to express the notional value of a fill when LegLastQty and other quantity fields are express in terms of contract size. */\n  LegGrossTradeAmt = 1075,\n  /** Time of security's maturity expressed in local time with offset to UTC specified */\n  MaturityTime = 1079,\n  RefOrderID = 1080,\n  /** Used to specify the source for the identifier in RefOrderID(1080). This can be an identifier provided in order depth market data when hitting (taking) a specific order or to identify what type of order or quote reference is being provided when seeking credit limit check. In the context of US CAT this can be used to identify related orders and quotes which are parent, previous, or manual orders or quotes. Previous relates to orders changing their unique system assigned order identifier. */\n  RefOrderIDSource = 1081,\n  /** Used for reserve orders when DisplayQty applies to the primary execution market (e.g.an ECN) and another quantity is to be shown at other markets (e.g. the exchange). On orders specifies the qty to be displayed, on execution reports the currently displayed quantity. */\n  SecondaryDisplayQty = 1082,\n  /** Instructs when to refresh DisplayQty (1138). */\n  DisplayWhen = 1083,\n  /** Defines what value to use in DisplayQty (1138). If not specified the default DisplayMethod is \"1\" */\n  DisplayMethod = 1084,\n  /** Defines the lower quantity limit to a randomized refresh of DisplayQty. */\n  DisplayLowQty = 1085,\n  /** Defines the upper quantity limit to a randomized refresh of DisplayQty. */\n  DisplayHighQty = 1086,\n  /** Defines the minimum increment to be used when calculating a random refresh of DisplayQty. A user specifies this when he wants a larger increment than the standard provided by the market (e.g. the round lot size). */\n  DisplayMinIncr = 1087,\n  /** Defines the quantity used to refresh DisplayQty. */\n  RefreshQty = 1088,\n  /** Allows orders to specify a minimum quantity that applies to every execution (one execution could be for multiple counter-orders). The order may still fill against smaller orders, but the cumulative quantity of the execution must be in multiples of the MatchIncrement. */\n  MatchIncrement = 1089,\n  /** Allows an order to specify a maximum number of price levels to trade through. Only valid for aggressive orders and during continuous (autoexecution) trading sessions. Property lost when order is put on book. A partially filled order is assigned last trade price as limit price. Non-filled order behaves as ordinary Market or Limit. */\n  MaxPriceLevels = 1090,\n  /** Allows trader to explicitly request anonymity or disclosure in pre-trade market data feeds. Anonymity is relevant in markets where counterparties are regularly disclosed in order depth feeds. Disclosure is relevant when counterparties are not normally visible. */\n  PreTradeAnonymity = 1091,\n  /** Defines the type of price protection the customer requires on their order. */\n  PriceProtectionScope = 1092,\n  /** Defines the lot type assigned to the order. */\n  LotType = 1093,\n  /** Defines the type of peg. */\n  PegPriceType = 1094,\n  /** The value of the reference price that the order is pegged to. PeggedRefPrice + PegOffsetValue (211) = PeggedPrice (839) unless the limit price (44, Price) is breached. The values may not be exact due to rounding. */\n  PeggedRefPrice = 1095,\n  /** Defines the identity of the security off whose prices the order will peg. Same values as SecurityIDSource (22) */\n  PegSecurityIDSource = 1096,\n  /** Defines the identity of the security off whose prices the order will peg. */\n  PegSecurityID = 1097,\n  /** Defines the common, 'human understood' representation of the security off whose prices the order will Peg. */\n  PegSymbol = 1098,\n  /** Security description of the security off whose prices the order will Peg. */\n  PegSecurityDesc = 1099,\n  /** Defines when the trigger will hit, i.e. the action specified by the trigger instructions will come into effect. */\n  TriggerType = 1100,\n  /** Defines the type of action to take when the trigger hits. */\n  TriggerAction = 1101,\n  /** The price at which the trigger should hit. */\n  TriggerPrice = 1102,\n  /** Defines the common, 'human understood' representation of the security whose prices will be tracked by the trigger logic. */\n  TriggerSymbol = 1103,\n  /** Defines the identity of the security whose prices will be tracked by the trigger logic. */\n  TriggerSecurityID = 1104,\n  /** Defines the identity of the security whose prices will be tracked by the trigger logic. Same values as SecurityIDSource (22). */\n  TriggerSecurityIDSource = 1105,\n  /** Defines the security description of the security whose prices will be tracked by the trigger logic. */\n  TriggerSecurityDesc = 1106,\n  /** The type of price that the trigger is compared to. */\n  TriggerPriceType = 1107,\n  /** Defines the type of price protection the customer requires on their order. */\n  TriggerPriceTypeScope = 1108,\n  /** The side from which the trigger price is reached. */\n  TriggerPriceDirection = 1109,\n  /** The Price that the order should have after the trigger has hit. Could be applicable for any trigger type, but must be specified for Trigger Type 1. */\n  TriggerNewPrice = 1110,\n  /** The OrdType the order should have after the trigger has hit. Required to express orders that change from Limit to Market. Other values from OrdType (40) may be used if appropriate and bilaterally agreed upon. */\n  TriggerOrderType = 1111,\n  /** The Quantity the order should have after the trigger has hit. */\n  TriggerNewQty = 1112,\n  /** Defines the trading session at which the order will be activated. */\n  TriggerTradingSessionID = 1113,\n  /** Defines the subordinate trading session at which the order will be activated. */\n  TriggerTradingSessionSubID = 1114,\n  /** Defines the type of interest behind a trade (fill or partial fill). */\n  OrderCategory = 1115,\n  /** Number of RootPartyID (1117), RootPartyIDSource (1118), and RootPartyRole (1119) entries */\n  NoRootPartyIDs = 1116,\n  /** PartyID value within a root parties component. Same values as PartyID (448) */\n  RootPartyID = 1117,\n  /** PartyIDSource value within a root parties component. Same values as PartyIDSource (447) */\n  RootPartyIDSource = 1118,\n  /** PartyRole value within a root parties component. Same values as PartyRole (452) */\n  RootPartyRole = 1119,\n  /** Number of RootPartySubID (1121) and RootPartySubIDType (1122) entries */\n  NoRootPartySubIDs = 1120,\n  /** PartySubID value within a root parties component. Same values as PartySubID (523) */\n  RootPartySubID = 1121,\n  /** Type of RootPartySubID (1121) value. Same values as PartySubIDType (803) */\n  RootPartySubIDType = 1122,\n  /** Specified how the TradeCaptureReport(35=AE) should be handled by the respondent. */\n  TradeHandlingInstr = 1123,\n  /** Optionally used with TradeHandlingInstr = 0 to relay the trade handling instruction used when reporting the trade to the marketplace. Same values as TradeHandlingInstr (1123) */\n  OrigTradeHandlingInstr = 1124,\n  /** Used to preserve original trade date when original trade is being referenced in a subsequent trade transaction such as a transfer */\n  OrigTradeDate = 1125,\n  /** Used to preserve original trade id when original trade is being referenced in a subsequent trade transaction such as a transfer */\n  OrigTradeID = 1126,\n  /** Used to preserve original secondary trade id when original trade is being referenced in a subsequent trade transaction such as a transfer */\n  OrigSecondaryTradeID = 1127,\n  /** Specifies the application layer version being applied at the message level. */\n  ApplVerID = 1128,\n  /** Specifies a custom extension to a message being applied at the message level. Enumerated field */\n  CstmApplVerID = 1129,\n  /** Specifies the service pack release being applied to a message at the session level. Enumerated field with values assigned at time of service pack release. Uses same values as ApplVerID */\n  RefApplVerID = 1130,\n  /** Specifies a custom extension to a message being applied at the session level. */\n  RefCstmApplVerID = 1131,\n  /** Transact time in the local date-time stamp with a TZ offset to UTC identified */\n  TZTransactTime = 1132,\n  /** The ID source of ExDestination */\n  ExDestinationIDSource = 1133,\n  /** Indicates that the reported price that is different from the market price. The price difference should be stated by using field 828 TrdType and, if required, field 829 TrdSubType */\n  ReportedPxDiff = 1134,\n  /** Indicates the system or medium on which the report has been published */\n  RptSys = 1135,\n  /** ClearingFeeIndicator(635) for Allocation, see ClearingFeeIndicator(635) for permitted values. */\n  AllocClearingFeeIndicator = 1136,\n  /** Specifies the service pack release being applied, by default, to message at the session level. Enumerated field with values assigned at time of service pack release. Uses same values as ApplVerID */\n  DefaultApplVerID = 1137,\n  /** The quantity to be displayed . Required for reserve orders. On orders specifies the qty to be displayed, on execution reports the currently displayed quantity. */\n  DisplayQty = 1138,\n  /** Free format text string related to exchange. */\n  ExchangeSpecialInstructions = 1139,\n  /** The maximum order quantity (as expressed by TradeVolType(1786)) that can be submitted for a security. */\n  MaxTradeVol = 1140,\n  /** The number of feed types and corresponding book depths associated with a security */\n  NoMDFeedTypes = 1141,\n  /** The types of algorithm used to match orders in a specific security. Possilbe value types are FIFO, Allocation, Pro-rata, Lead Market Maker, Currency Calender. */\n  MatchAlgorithm = 1142,\n  /** The maximum price variation of an execution from one event to the next for a given security. Expressed in absolute price terms. */\n  MaxPriceVariation = 1143,\n  /** Indicates that an implied market should be created for either the legs of a multi-leg instrument (Implied-in) or for the multi-leg instrument based on the existence of the legs (Implied-out). Determination as to whether implied markets should be created is generally done at the level of the multi-leg instrument. Commonly used in listed derivatives. */\n  ImpliedMarketIndicator = 1144,\n  /** Specific time of event. To be used in combination with EventDate [866] */\n  EventTime = 1145,\n  /** Minimum price increment amount associated with MinPriceIncrement(969). For listed derivatives, the value can be calculated by multiplying MinPriceIncrement(969) with ContractMultiplier(231). */\n  MinPriceIncrementAmount = 1146,\n  /** Used to indicate the quantity of the underlying commodity unit of measure on which the contract is based, such as, 2500 lbs of lean cattle, 1000 barrels of crude oil, 1000 bushels of corn, etc. UnitOfMeasureQty is required for UnitOfMeasure(996) Variable Quantity UOMs enumerations. Refer to the definition of UnitOfMeasure(996) for more information on the use of UnitOfMeasureQty. */\n  UnitOfMeasureQty = 1147,\n  /** Allowable low limit price for the trading day. A key parameter in validating order price. Used as the lower band for validating order prices. Orders submitted with prices below the lower limit will be rejected */\n  LowLimitPrice = 1148,\n  /** Allowable high limit price for the trading day. A key parameter in validating order price. Used as the upper band for validating order prices. Orders submitted with prices above the upper limit will be rejected */\n  HighLimitPrice = 1149,\n  /** Reference price for the current trading price range usually representing the mid price between the HighLimitPrice and LowLimitPrice. The value may be the settlement price or closing price of the prior trading day. */\n  TradingReferencePrice = 1150,\n  /** An exchange specific name assigned to a group of related securities which may be concurrently affected by market events and actions. */\n  SecurityGroup = 1151,\n  /** Allow sequencing of Legs for a Strategy to be captured */\n  LegNumber = 1152,\n  /** Settlement cycle in which the settlement obligation was generated */\n  SettlementCycleNo = 1153,\n  /** Used to identify the trading currency on the Trade Capture Report Side */\n  SideCurrency = 1154,\n  /** Used to identify the settlement currency on the Trade Capture Report Side */\n  SideSettlCurrency = 1155,\n  /** The extension pack number associated with an application message. */\n  ApplExtID = 1156,\n  /** Net flow of Currency 1 */\n  CcyAmt = 1157,\n  /** Used to group Each Settlement Party */\n  NoSettlDetails = 1158,\n  /** Used to identify the reporting mode of the settlement obligation which is either preliminary or final */\n  SettlObligMode = 1159,\n  /** Message identifier for Settlement Obligation Report */\n  SettlObligMsgID = 1160,\n  /** Unique ID for this settlement instruction. */\n  SettlObligID = 1161,\n  /** Transaction Type - required except where SettlInstMode is 5=Reject SSI request */\n  SettlObligTransType = 1162,\n  /** Required where SettlInstTransType is Cancel or Replace */\n  SettlObligRefID = 1163,\n  /** Used to identify whether these delivery instructions are for the buyside or the sellside. */\n  SettlObligSource = 1164,\n  /** Number of settlement obligations */\n  NoSettlOblig = 1165,\n  /** Unique identifier for a quote message. */\n  QuoteMsgID = 1166,\n  /** Identifies the status of an individual quote. See also QuoteStatus(297) which is used for single Quotes. */\n  QuoteEntryStatus = 1167,\n  /** Specifies the number of canceled quotes */\n  TotNoCxldQuotes = 1168,\n  /** Specifies the number of accepted quotes */\n  TotNoAccQuotes = 1169,\n  /** Specifies the number of rejected quotes */\n  TotNoRejQuotes = 1170,\n  /** Specifies whether a quote is public, i.e. available to the market, or private, i.e. available to a specified counterparty only. */\n  PrivateQuote = 1171,\n  /** Specifies the type of respondents requested. */\n  RespondentType = 1172,\n  MDSubBookType = 1173,\n  /** Identifies an event related to a SecurityTradingStatus(326). An event occurs and is gone, it is not a state that applies for a period of time. */\n  SecurityTradingEvent = 1174,\n  /** Number of statistics indicator repeating group entries */\n  NoStatsIndicators = 1175,\n  /** Type of statistics */\n  StatsType = 1176,\n  /** The number of secondary sizes specifies in this entry */\n  NoOfSecSizes = 1177,\n  /** Specifies the type of secondary size. */\n  MDSecSizeType = 1178,\n  /** A part of the MDEntrySize(271) that represents secondary interest as specified by MDSecSizeType(1178). */\n  MDSecSize = 1179,\n  /** Identifies the application with which a message is associated. Used only if application sequencing is in effect. */\n  ApplID = 1180,\n  /** Data sequence number to be used when FIX session is not in effect */\n  ApplSeqNum = 1181,\n  /** Beginning range of application sequence numbers */\n  ApplBegSeqNum = 1182,\n  /** Ending range of application sequence numbers */\n  ApplEndSeqNum = 1183,\n  /** The length of the SecurityXML(1185) data block. */\n  SecurityXMLLen = 1184,\n  /** XML definition for the security. */\n  SecurityXML = 1185,\n  /** The schema used to validate the contents of SecurityXML(1185). */\n  SecurityXMLSchema = 1186,\n  RefreshIndicator = 1187,\n  /** Annualized volatility for option model calculations */\n  Volatility = 1188,\n  /** Time to expiration in years calculated as the number of days remaining to expiration divided by 365 days per year. */\n  TimeToExpiration = 1189,\n  /** Interest rate. Usually some form of short term rate. */\n  RiskFreeRate = 1190,\n  /** Used to express the UOM of the price if different from the contract. In futures, this can be different for cross-rate products in which the price is quoted in units differently from the contract */\n  PriceUnitOfMeasure = 1191,\n  /** Used to express the UOM Quantity of the price if different from the contract. In futures, this can be different for physically delivered products in which price is quoted in a unit size different from the contract, i.e. a Cattle Future contract has a UOMQty of 40,000 and a PriceUOMQty of 100. */\n  PriceUnitOfMeasureQty = 1192,\n  /** Settlement method for a contract or instrument. Additional values may be used with bilateral agreement. */\n  SettlMethod = 1193,\n  /** Type of exercise of a derivatives security */\n  ExerciseStyle = 1194,\n  /** Cash amount indicating the pay out associated with an option. For binary options this is a fixed amount. */\n  OptPayoutAmount = 1195,\n  /** Method for price quotation */\n  PriceQuoteMethod = 1196,\n  /** Specifies the type of valuation method applied. */\n  ValuationMethod = 1197,\n  /** Indicates whether instruments are pre-listed only or can also be defined via user request */\n  ListMethod = 1198,\n  /** Used to express the ceiling price of a capped call */\n  CapPrice = 1199,\n  /** Used to express the floor price of a capped put */\n  FloorPrice = 1200,\n  /** Number of strike rule entries. This block specifies the rules for determining how new strikes should be listed within the stated price range of the underlying instrument */\n  NoStrikeRules = 1201,\n  /** Starting price for the range to which the StrikeIncrement applies. Price refers to the price of the underlying */\n  StartStrikePxRange = 1202,\n  /** Ending price of the range to which the StrikeIncrement applies. Price refers to the price of the underlying */\n  EndStrikePxRange = 1203,\n  /** Value by which strike price should be incremented within the specified price range. */\n  StrikeIncrement = 1204,\n  /** Number of tick rules. This block specifies the rules for determining how a security ticks, i.e. the price increments at which it can be quoted and traded, depending on the current price of the security */\n  NoTickRules = 1205,\n  /** Starting price range for specified tick increment */\n  StartTickPriceRange = 1206,\n  /** Ending price range for the specified tick increment */\n  EndTickPriceRange = 1207,\n  /** Tick increment for stated price range. Specifies the valid price increments at which a security can be quoted and traded */\n  TickIncrement = 1208,\n  /** Specifies the type of tick rule which is being described */\n  TickRuleType = 1209,\n  /** Code to represent the type of instrument attribute */\n  NestedInstrAttribType = 1210,\n  /** Attribute value appropriate to the NestedInstrAttribType field */\n  NestedInstrAttribValue = 1211,\n  /** Time of security's maturity expressed in local time with offset to UTC specified */\n  LegMaturityTime = 1212,\n  /** Time of security's maturity expressed in local time with offset to UTC specified */\n  UnderlyingMaturityTime = 1213,\n  DerivativeSymbol = 1214,\n  DerivativeSymbolSfx = 1215,\n  DerivativeSecurityID = 1216,\n  DerivativeSecurityIDSource = 1217,\n  /** Number of alternate derivative security IDs. */\n  NoDerivativeSecurityAltID = 1218,\n  DerivativeSecurityAltID = 1219,\n  /** Identifies class or source of the DerivativeSecurityAltID(1219) value. */\n  DerivativeSecurityAltIDSource = 1220,\n  /** Refer to definition of LowLimitPrice(1148) */\n  SecondaryLowLimitPrice = 1221,\n  /** Allows maturity rule to be referenced via an identifier so that rules do not need to be explicitly enumerated */\n  MaturityRuleID = 1222,\n  /** Allows strike rule to be referenced via an identifier so that rules do not need to be explicitly enumerated */\n  StrikeRuleID = 1223,\n  /** Refer to definition of UnitOfMeasureQty(1147) */\n  LegUnitOfMeasureQty = 1224,\n  DerivativeOptPayoutAmount = 1225,\n  /** Ending maturity month year for an option class */\n  EndMaturityMonthYear = 1226,\n  /** Identifies an entire suite of products for a given market. In Futures this may be \"interest rates\", \"agricultural\", \"equity indexes\", etc. */\n  ProductComplex = 1227,\n  DerivativeProductComplex = 1228,\n  /** Increment between successive maturities for an option class */\n  MaturityMonthYearIncrement = 1229,\n  /** Refer to definition of HighLimitPrice(1149) */\n  SecondaryHighLimitPrice = 1230,\n  /** Minimum lot size allowed based on lot type specified in LotType(1093) */\n  MinLotSize = 1231,\n  /** Number of execution instructions */\n  NoExecInstRules = 1232,\n  /** The commission rate when Commission(12) is based on a percentage of quantity, amount per unit or a factor of \"unit of measure\". If the rate is a percentage, use the decimalized form, e.g. \"0.05\" for a 5% commission or \"0.005\" for 50 basis points. */\n  CommRate = 1233,\n  /** Number of Lot Type Rules */\n  NoLotTypeRules = 1234,\n  /** Number of Match Rules */\n  NoMatchRules = 1235,\n  /** Number of maturity rules in MarurityRules component block */\n  NoMaturityRules = 1236,\n  /** Number of order types */\n  NoOrdTypeRules = 1237,\n  /** The commission rate unit of measure. */\n  CommUnitOfMeasure = 1238,\n  /** Number of time in force techniques */\n  NoTimeInForceRules = 1239,\n  /** Refer to definition for TradingReferencePrice(1150) */\n  SecondaryTradingReferencePrice = 1240,\n  /** Starting maturity month year for an option class */\n  StartMaturityMonthYear = 1241,\n  /** Used to indicate if a product or group of product supports the creation of flexible securities */\n  FlexProductEligibilityIndicator = 1242,\n  DerivFlexProductEligibilityIndicator = 1243,\n  /** Used to indicate a derivatives security that can be defined using flexible terms. The terms commonly permitted to be defined by market participants are expiration date and strike price. FlexibleIndicator is an alternative CFICode(461) Standard/Non-standard attribute. */\n  FlexibleIndicator = 1244,\n  /** Used when the trading currency can differ from the price currency */\n  TradingCurrency = 1245,\n  DerivativeProduct = 1246,\n  DerivativeSecurityGroup = 1247,\n  DerivativeCFICode = 1248,\n  DerivativeSecurityType = 1249,\n  DerivativeSecuritySubType = 1250,\n  DerivativeMaturityMonthYear = 1251,\n  DerivativeMaturityDate = 1252,\n  DerivativeMaturityTime = 1253,\n  DerivativeSettleOnOpenFlag = 1254,\n  DerivativeInstrmtAssignmentMethod = 1255,\n  DerivativeSecurityStatus = 1256,\n  DerivativeInstrRegistry = 1257,\n  DerivativeCountryOfIssue = 1258,\n  DerivativeStateOrProvinceOfIssue = 1259,\n  DerivativeLocaleOfIssue = 1260,\n  DerivativeStrikePrice = 1261,\n  DerivativeStrikeCurrency = 1262,\n  DerivativeStrikeMultiplier = 1263,\n  DerivativeStrikeValue = 1264,\n  DerivativeOptAttribute = 1265,\n  DerivativeContractMultiplier = 1266,\n  DerivativeMinPriceIncrement = 1267,\n  DerivativeMinPriceIncrementAmount = 1268,\n  DerivativeUnitOfMeasure = 1269,\n  DerivativeUnitOfMeasureQty = 1270,\n  DerivativeTimeUnit = 1271,\n  DerivativeSecurityExchange = 1272,\n  DerivativePositionLimit = 1273,\n  DerivativeNTPositionLimit = 1274,\n  DerivativeIssuer = 1275,\n  DerivativeIssueDate = 1276,\n  DerivativeEncodedIssuerLen = 1277,\n  DerivativeEncodedIssuer = 1278,\n  DerivativeSecurityDesc = 1279,\n  DerivativeEncodedSecurityDescLen = 1280,\n  DerivativeEncodedSecurityDesc = 1281,\n  DerivativeSecurityXMLLen = 1282,\n  DerivativeSecurityXML = 1283,\n  DerivativeSecurityXMLSchema = 1284,\n  DerivativeContractSettlMonth = 1285,\n  /** Number of repeating DerivativeEventType entries. */\n  NoDerivativeEvents = 1286,\n  DerivativeEventType = 1287,\n  DerivativeEventDate = 1288,\n  DerivativeEventTime = 1289,\n  DerivativeEventPx = 1290,\n  DerivativeEventText = 1291,\n  /** Number of repeating derivative instrument party entries. */\n  NoDerivativeInstrumentParties = 1292,\n  DerivativeInstrumentPartyID = 1293,\n  DerivativeInstrumentPartyIDSource = 1294,\n  DerivativeInstrumentPartyRole = 1295,\n  /** Number of derivative instrument party sub IDs. */\n  NoDerivativeInstrumentPartySubIDs = 1296,\n  DerivativeInstrumentPartySubID = 1297,\n  DerivativeInstrumentPartySubIDType = 1298,\n  DerivativeExerciseStyle = 1299,\n  /** Identifies the market segment */\n  MarketSegmentID = 1300,\n  /** Identifies the market */\n  MarketID = 1301,\n  /** Unit of measure for the Maturity Month Year Increment */\n  MaturityMonthYearIncrementUnits = 1302,\n  /** Format used to generate the MaturityMonthYear for each option */\n  MaturityMonthYearFormat = 1303,\n  /** Expiration Style for an option class: */\n  StrikeExerciseStyle = 1304,\n  /** Describes the how the price limits are expressed */\n  SecondaryPriceLimitType = 1305,\n  /** Describes the how the price limits are expressed. */\n  PriceLimitType = 1306,\n  /** Indicates execution instructions that are valid for the specified market segment */\n  ExecInstValue = 1308,\n  /** Allows trading rules to be expressed by trading session */\n  NoTradingSessionRules = 1309,\n  /** Number of Market Segments on which a security may trade. */\n  NoMarketSegments = 1310,\n  /** Number of instrument attributes. */\n  NoDerivativeInstrAttrib = 1311,\n  NoNestedInstrAttrib = 1312,\n  DerivativeInstrAttribType = 1313,\n  DerivativeInstrAttribValue = 1314,\n  DerivativePriceUnitOfMeasure = 1315,\n  DerivativePriceUnitOfMeasureQty = 1316,\n  DerivativeSettlMethod = 1317,\n  DerivativePriceQuoteMethod = 1318,\n  DerivativeValuationMethod = 1319,\n  DerivativeListMethod = 1320,\n  DerivativeCapPrice = 1321,\n  DerivativeFloorPrice = 1322,\n  DerivativePutOrCall = 1323,\n  /** If provided, then Instrument occurrence has explicitly changed */\n  ListUpdateAction = 1324,\n  /** Reference to a parent Market Segment. See MarketSegmentID(1300) */\n  ParentMktSegmID = 1325,\n  /** Trading Session description */\n  TradingSessionDesc = 1326,\n  /** Specifies the action taken for the specified trading sessions. */\n  TradSesUpdateAction = 1327,\n  /** Identifies the reason for rejection. */\n  RejectText = 1328,\n  /** This is a multiplier that Clearing (Fee system) will use to calculate fees and will be sent to the firms on their confirms. */\n  FeeMultiplier = 1329,\n  /** Refer to definition for Symbol(55) */\n  UnderlyingLegSymbol = 1330,\n  /** Refer to definition for SymbolSfx(65) */\n  UnderlyingLegSymbolSfx = 1331,\n  /** Refer to definition for SecurityID(48) */\n  UnderlyingLegSecurityID = 1332,\n  /** Refer to definition for SecurityIDSource(22) */\n  UnderlyingLegSecurityIDSource = 1333,\n  /** Refer to definition for NoSecurityAltID(454) */\n  NoUnderlyingLegSecurityAltID = 1334,\n  /** Refer to definition for SecurityAltID(455) */\n  UnderlyingLegSecurityAltID = 1335,\n  /** Refer to definition for SecurityAltIDSource(456) */\n  UnderlyingLegSecurityAltIDSource = 1336,\n  /** Refer to definition for SecurityType(167) */\n  UnderlyingLegSecurityType = 1337,\n  /** Refer to definition for SecuritySubType(762) */\n  UnderlyingLegSecuritySubType = 1338,\n  /** Refer to definition for MaturityMonthYear(200) */\n  UnderlyingLegMaturityMonthYear = 1339,\n  /** Refer to definition for StrikePrice(202) */\n  UnderlyingLegStrikePrice = 1340,\n  /** Refer to definition for SecurityExchange(207) */\n  UnderlyingLegSecurityExchange = 1341,\n  /** Number of Underlyings, Identifies the Underlying of the Leg */\n  NoOfLegUnderlyings = 1342,\n  /** Refer to definition for PutOrCall(201) */\n  UnderlyingLegPutOrCall = 1343,\n  /** Refer to definition for CFICode(461) */\n  UnderlyingLegCFICode = 1344,\n  /** Date of maturity. */\n  UnderlyingLegMaturityDate = 1345,\n  /** Unique identifier for request */\n  ApplReqID = 1346,\n  /** Type of Application Message Request being made. */\n  ApplReqType = 1347,\n  /** Used to indicate the type of acknowledgement being sent. */\n  ApplResponseType = 1348,\n  /** Total number of messages included in transmission. */\n  ApplTotalMessageCount = 1349,\n  /** Application sequence number of last message in transmission */\n  ApplLastSeqNum = 1350,\n  /** Specifies number of application id occurrences */\n  NoApplIDs = 1351,\n  /** Used to indicate that a message is being sent in response to an Application Message Request. It is possible for both ApplResendFlag and PossDupFlag to be set on the same message if the Sender's cache size is greater than zero and the message is being resent due to a session level resend request */\n  ApplResendFlag = 1352,\n  /** Identifier for the Applicaton Message Request Ack */\n  ApplResponseID = 1353,\n  /** Used to return an error code or text associated with a response to an Application Request. */\n  ApplResponseError = 1354,\n  /** Reference to the unique application identifier which corresponds to ApplID(1180) from the Application Sequence Group component */\n  RefApplID = 1355,\n  /** Identifier for the Application Sequence Reset */\n  ApplReportID = 1356,\n  /** Application sequence number of last message in transmission. */\n  RefApplLastSeqNum = 1357,\n  /** Indicates whether a leg option contract is a put, call, chooser or undetermined. */\n  LegPutOrCall = 1358,\n  /** Total number of fill entries across all messages. Should be the sum of all NoFills(1362) in each message that has repeating list of fill entries related to the same ExecID(17). Used to support fragmentation. */\n  TotNoFills = 1361,\n  NoFills = 1362,\n  /** Refer to ExecID(17). Used when multiple partial fills are reported in single Execution Report. ExecID and FillExecID should not overlap, */\n  FillExecID = 1363,\n  /** Price of Fill. Refer to LastPx(31). */\n  FillPx = 1364,\n  /** Quantity of Fill. Refer to LastQty(32). */\n  FillQty = 1365,\n  /** The AllocID(70) of an individual leg of a multileg order. */\n  LegAllocID = 1366,\n  /** Identifies settlement currency for the leg level allocation. */\n  LegAllocSettlCurrency = 1367,\n  /** Identifies an event related to a TradSesStatus(340). An event occurs and is gone, it is not a state that applies for a period of time. */\n  TradSesEvent = 1368,\n  /** Unique identifier of Order Mass Cancel Report or Order Mass Action Report message as assigned by sell-side (broker, exchange, ECN) */\n  MassActionReportID = 1369,\n  /** Number of not affected orders in the repeating group of order ids. */\n  NoNotAffectedOrders = 1370,\n  /** OrderID(37) of an order not affected by a mass cancel or mass action request. */\n  NotAffectedOrderID = 1371,\n  /** ClOrdID(11) of an order not affected by a mass cancel or mass action request. */\n  NotAffOrigClOrdID = 1372,\n  /** Specifies the type of action requested */\n  MassActionType = 1373,\n  /** Specifies scope of Order Mass Action Request. */\n  MassActionScope = 1374,\n  /** Specifies the action taken by counterparty order handling system as a result of the action type indicated in MassActionType of the Order Mass Action Request. */\n  MassActionResponse = 1375,\n  /** Reason Order Mass Action Request was rejected */\n  MassActionRejectReason = 1376,\n  /** Specifies the type of multileg order. Defines whether the security is pre-defined or user-defined. Note that MultilegModel(1377)=2(User-defined, Non-Securitized, Multileg) does not apply for Securities. */\n  MultilegModel = 1377,\n  MultilegPriceMethod = 1378,\n  /** Specifies the volatility of an instrument leg. */\n  LegVolatility = 1379,\n  /** The continuously-compounded annualized dividend yield of the underlying(s) of an option. Used as a parameter to theoretical option pricing models. */\n  DividendYield = 1380,\n  /** Refer to definition for DividendYield(1380). */\n  LegDividendYield = 1381,\n  /** Specifies the currency ratio between the currency used for a multileg price and the currency used by the outright book defined by the leg. Example: Multileg quoted in EUR, outright leg in USD and 1 EUR = 0,7 USD then CurrencyRatio = 0.7 */\n  CurrencyRatio = 1382,\n  /** Specifies the currency ratio between the currency used for a multileg price and the currency used by the outright book defined by the leg. Example: Multileg quoted in EUR, outright leg in USD and 1 EUR = 0,7 USD then LegCurrencyRatio = 0.7 */\n  LegCurrencyRatio = 1383,\n  LegExecInst = 1384,\n  /** Defines the type of contingency. */\n  ContingencyType = 1385,\n  /** Identifies the reason for rejection of a New Order List message. Note that OrdRejReason(103) is used if the rejection is based on properties of an individual order part of the List. */\n  ListRejectReason = 1386,\n  /** Number of trade reporting indicators */\n  NoTrdRepIndicators = 1387,\n  /** Identifies the type of party for trade reporting. Same values as PartyRole(452). */\n  TrdRepPartyRole = 1388,\n  /** Specifies whether the trade should be reported (or not) to parties of the provided TrdRepPartyRole(1388). Used to override standard reporting behavior by the receiver of the trade report and thereby complements the PublTrdIndicator( tag1390). */\n  TrdRepIndicator = 1389,\n  /** Indicates if a trade should be or has been published via a market publication service. The indicator governs all publication services of the recipient. Replaces PublishTrdIndicator(852). */\n  TradePublishIndicator = 1390,\n  /** Refer to definition of OptAttribute(206) */\n  UnderlyingLegOptAttribute = 1391,\n  /** Refer to definition of SecurityDesc(107) */\n  UnderlyingLegSecurityDesc = 1392,\n  /** Unique ID of a Market Definition Request message. */\n  MarketReqID = 1393,\n  /** Market Definition message identifier. */\n  MarketReportID = 1394,\n  /** Specifies the action taken for the specified MarketID(1301) + MarketSegmentID(1300). */\n  MarketUpdateAction = 1395,\n  /** Description or name of Market Segment */\n  MarketSegmentDesc = 1396,\n  /** Byte length of encoded (non-ASCII characters) EncodedMktSegmDesc(1324) field. */\n  EncodedMktSegmDescLen = 1397,\n  /** Encoded (non-ASCII characters) representation of the MarketSegmDesc(1396) field in the encoded format specified via the MessageEncoding(347) field. If used, the ASCII (English) representation should also be specified in the MarketSegmDesc field. */\n  EncodedMktSegmDesc = 1398,\n  /** Used to specify a new application sequence number. */\n  ApplNewSeqNum = 1399,\n  EncryptedPasswordMethod = 1400,\n  /** Length of the EncryptedPassword(1402) field */\n  EncryptedPasswordLen = 1401,\n  /** Encrypted password - encrypted via the method specified in the field EncryptedPasswordMethod(1400) */\n  EncryptedPassword = 1402,\n  /** Length of the EncryptedNewPassword(1404) field */\n  EncryptedNewPasswordLen = 1403,\n  /** Encrypted new password - encrypted via the method specified in the field EncryptedPasswordMethod(1400) */\n  EncryptedNewPassword = 1404,\n  /** Time of security's maturity expressed in local time with offset to UTC specified */\n  UnderlyingLegMaturityTime = 1405,\n  /** The extension pack number associated with an application message. */\n  RefApplExtID = 1406,\n  /** The extension pack number that is the default for a FIX session. */\n  DefaultApplExtID = 1407,\n  /** The default custom application version ID that is the default for a session. */\n  DefaultCstmApplVerID = 1408,\n  /** Status of a FIX session */\n  SessionStatus = 1409,\n  /** Indicates that the application version identified in the fields RefApplVerID(1130), RefApplExtID(1406), and RefCstmApplVerID(1131) is the default for the message type identified in RefMsgType(372) field. */\n  DefaultVerIndicator = 1410,\n  /** Refer to definition of PartySubIDType(803) */\n  Nested4PartySubIDType = 1411,\n  /** Refer to definition of PartySubID(523) */\n  Nested4PartySubID = 1412,\n  /** Refer to definition of NoPartySubIDs(802) */\n  NoNested4PartySubIDs = 1413,\n  /** Refer to definition of NoPartyIDs(453) */\n  NoNested4PartyIDs = 1414,\n  /** Refer to definition of PartyID(448) */\n  Nested4PartyID = 1415,\n  /** Refer to definition of PartyIDSource(447) */\n  Nested4PartyIDSource = 1416,\n  /** Refer to definition of PartyRole(452) */\n  Nested4PartyRole = 1417,\n  /** Fill quantity for the leg instrument */\n  LegLastQty = 1418,\n  /** Type of exercise of a derivatives security */\n  UnderlyingExerciseStyle = 1419,\n  /** Type of exercise of a derivatives security */\n  LegExerciseStyle = 1420,\n  /** Refer to definition for PriceUnitOfMeasure(1191) */\n  LegPriceUnitOfMeasure = 1421,\n  /** Refer to definition of PriceUnitOfMeasureQty(1192) */\n  LegPriceUnitOfMeasureQty = 1422,\n  /** Refer to definition of UnitOfMeasureQty(1147) */\n  UnderlyingUnitOfMeasureQty = 1423,\n  /** Refer to definition for PriceUnitOfMeasure(1191) */\n  UnderlyingPriceUnitOfMeasure = 1424,\n  /** Refer to definition of PriceUnitOfMeasureQty(1192) */\n  UnderlyingPriceUnitOfMeasureQty = 1425,\n  /** Type of report */\n  ApplReportType = 1426,\n  /** When reporting trades, used to reference the identifier of the execution (ExecID) being reported if different ExecIDs were assigned to each side of the trade. */\n  SideExecID = 1427,\n  /** Time lapsed from order entry until match, based on the unit of time specified in OrderDelayUnit. Default is seconds if OrderDelayUnit is not specified. Value = 0, indicates the aggressor (the initiating side of the trade). */\n  OrderDelay = 1428,\n  /** Time unit in which the OrderDelay(1428) is expressed */\n  OrderDelayUnit = 1429,\n  /** Identifies the type of venue where a trade was executed. */\n  VenueType = 1430,\n  /** The reason for updating the RefOrdID */\n  RefOrdIDReason = 1431,\n  OrigCustOrderCapacity = 1432,\n  /** Used to reference a previously submitted ApplReqID (1346) from within a subsequent ApplicationMessageRequest(MsgType=BW) */\n  RefApplReqID = 1433,\n  /** Type of pricing model used */\n  ModelType = 1434,\n  /** Indicates the type of multiplier being applied to the contract. Can be optionally used to further define what unit ContractMultiplier(tag 231) is expressed in. */\n  ContractMultiplierUnit = 1435,\n  /** Indicates the type of multiplier being applied to the contract. Can be optionally used to further define what unit LegContractMultiplier(614) is expressed in. */\n  LegContractMultiplierUnit = 1436,\n  UnderlyingContractMultiplierUnit = 1437,\n  DerivativeContractMultiplierUnit = 1438,\n  /** The industry standard flow schedule by which electricity or natural gas is traded. Schedules may exist by regions and on-peak and off-peak status, such as \"Western Peak\". */\n  FlowScheduleType = 1439,\n  /** The industry standard flow schedule by which electricity or natural gas is traded. Schedules exist by regions and on-peak and off-peak status, such as \"Western Peak\". */\n  LegFlowScheduleType = 1440,\n  /** The industry standard flow schedule by which electricity or natural gas is traded. Schedules exist by regions and on-peak and off-peak status, such as \"Western Peak\". */\n  UnderlyingFlowScheduleType = 1441,\n  DerivativeFlowScheduleType = 1442,\n  /** Indicator to identify whether this fill was a result of a liquidity provider providing or liquidity taker taking the liquidity. Applicable only for OrdStatus of Partial or Filled */\n  FillLiquidityInd = 1443,\n  /** Indicator to identify whether this fill was a result of a liquidity provider providing or liquidity taker taking the liquidity. Applicable only for OrdStatus of Partial or Filled. */\n  SideLiquidityInd = 1444,\n  /** Number of rate sources being specified. */\n  NoRateSources = 1445,\n  RateSource = 1446,\n  /** Indicates whether the rate source specified is a primary or secondary source. */\n  RateSourceType = 1447,\n  ReferencePage = 1448,\n  RestructuringType = 1449,\n  Seniority = 1450,\n  NotionalPercentageOutstanding = 1451,\n  /** Used to reflect the Original value prior to the application of a credit event. See NotionalPercentageOutstanding(1451). */\n  OriginalNotionalPercentageOutstanding = 1452,\n  /** See RestructuringType(1449) */\n  UnderlyingRestructuringType = 1453,\n  /** See Seniority(1450) */\n  UnderlyingSeniority = 1454,\n  /** See NotionalPercentageOutstanding(1451) */\n  UnderlyingNotionalPercentageOutstanding = 1455,\n  /** See OriginalNotionalPercentageOutstanding(1452) */\n  UnderlyingOriginalNotionalPercentageOutstanding = 1456,\n  /** Lower bound percentage of the loss that the tranche can endure. */\n  AttachmentPoint = 1457,\n  /** Upper bound percentage of the loss the tranche can endure. */\n  DetachmentPoint = 1458,\n  /** See AttachmentPoint(1457). */\n  UnderlyingAttachmentPoint = 1459,\n  /** See DetachmentPoint(1458). */\n  UnderlyingDetachmentPoint = 1460,\n  /** Identifies the number of target parties identified in a mass action. */\n  NoTargetPartyIDs = 1461,\n  /** PartyID value within an target party repeating group. */\n  TargetPartyID = 1462,\n  TargetPartyIDSource = 1463,\n  TargetPartyRole = 1464,\n  /** Specifies an identifier for a Security List */\n  SecurityListID = 1465,\n  /** Specifies a reference from one Security List to another. Used to support a hierarchy of Security Lists. */\n  SecurityListRefID = 1466,\n  /** Specifies a description or name of a Security List. */\n  SecurityListDesc = 1467,\n  /** Byte length of encoded (non-ASCII characters) EncodedSecurityListDesc(1469) field. */\n  EncodedSecurityListDescLen = 1468,\n  /** Encoded (non-ASCII characters) representation of the SecurityListDesc(1467) field in the encoded format specified via the MessageEncoding(347) field. If used, the ASCII (English) representation should also be specified in the SecurityListDesc(1467) field. */\n  EncodedSecurityListDesc = 1469,\n  /** Specifies a type of Security List. */\n  SecurityListType = 1470,\n  /** Specifies a specific source for a SecurityListType. Relevant when a certain type can be provided from various sources. */\n  SecurityListTypeSource = 1471,\n  /** Unique identifier for a News message */\n  NewsID = 1472,\n  /** Category of news message. */\n  NewsCategory = 1473,\n  /** The national language in which the news item is provided. */\n  LanguageCode = 1474,\n  /** Number of News reference items */\n  NoNewsRefIDs = 1475,\n  /** Reference to another News message identified by NewsID(1474). */\n  NewsRefID = 1476,\n  /** Type of reference to another News(35=B) message item. */\n  NewsRefType = 1477,\n  /** Specifies how the strike price is determined at the point of option exercise. The strike may be fixed throughout the life of the option, set at expiration to the value of the underlying, set to the average value of the underlying , or set to the optimal value of the underlying. */\n  StrikePriceDeterminationMethod = 1478,\n  /** Specifies the boundary condition to be used for the strike price relative to the underlying price at the point of option exercise. */\n  StrikePriceBoundaryMethod = 1479,\n  /** Used in combination with StrikePriceBoundaryMethod to specify the percentage of the strike price in relation to the underlying price. The percentage is generally 100 or greater for puts and 100 or less for calls. */\n  StrikePriceBoundaryPrecision = 1480,\n  /** Specifies how the underlying price is determined at the point of option exercise. The underlying price may be set to the current settlement price, set to a special reference, set to the optimal value of the underlying during the defined period (\"Look-back\") or set to the average value of the underlying during the defined period (\"Asian option\"). */\n  UnderlyingPriceDeterminationMethod = 1481,\n  /** Indicates the type of valuation method or payout trigger for an in-the-money option. */\n  OptPayoutType = 1482,\n  /** Number of complex event occurrences. */\n  NoComplexEvents = 1483,\n  /** Identifies the type of complex event. */\n  ComplexEventType = 1484,\n  /** Cash amount indicating the pay out associated with an event. For binary options this is a fixed amount. */\n  ComplexOptPayoutAmount = 1485,\n  /** Specifies the price at which the complex event takes effect. Impact of the event price is determined by the ComplexEventType(1484). */\n  ComplexEventPrice = 1486,\n  /** Specifies the boundary condition to be used for the event price relative to the underlying price at the point the complex event outcome takes effect as determined by the ComplexEventPriceTimeType. */\n  ComplexEventPriceBoundaryMethod = 1487,\n  /** Used in combination with ComplexEventPriceBoundaryMethod to specify the percentage of the strike price in relation to the underlying price. The percentage is generally 100 or greater for puts and 100 or less for calls. */\n  ComplexEventPriceBoundaryPrecision = 1488,\n  /** Specifies when the complex event outcome takes effect. The outcome of a complex event is a payout or barrier action as specified by the ComplexEventType(1484). */\n  ComplexEventPriceTimeType = 1489,\n  ComplexEventCondition = 1490,\n  /** Number of complex event date occurrences for a given complex event. */\n  NoComplexEventDates = 1491,\n  ComplexEventStartDate = 1492,\n  ComplexEventEndDate = 1493,\n  NoComplexEventTimes = 1494,\n  ComplexEventStartTime = 1495,\n  ComplexEventEndTime = 1496,\n  /** Unique identifier for the stream assignment request provided by the requester. */\n  StreamAsgnReqID = 1497,\n  /** Type of stream assignment request. */\n  StreamAsgnReqType = 1498,\n  /** Number of assignment requests. */\n  NoAsgnReqs = 1499,\n  /** The identifier or name of the price stream. */\n  MDStreamID = 1500,\n  /** Unique identifier of the stream assignment report provided by the respondent. */\n  StreamAsgnRptID = 1501,\n  /** Reason code for stream assignment request reject. */\n  StreamAsgnRejReason = 1502,\n  /** Type of acknowledgement. */\n  StreamAsgnAckType = 1503,\n  /** See TransactTime(60) */\n  RelSymTransactTime = 1504,\n  /** Unique identifier for PartyDetailsListRequest. */\n  PartyDetailsListRequestID = 1505,\n  /** Used to represent the trade ID for each side of the trade assigned by an intermediary. */\n  SideTradeID = 1506,\n  /** Used to capture the original trade id for each side of a trade undergoing novation to a standardized model. */\n  SideOrigTradeID = 1507,\n  /** Number of requested party roles. */\n  NoRequestedPartyRoles = 1508,\n  /** Identifies the type or role of party that has been requested. */\n  RequestedPartyRole = 1509,\n  /** Identifier for the PartyDetailsListReport and the PartyDetailsListUpdateReport. */\n  PartyDetailsListReportID = 1510,\n  /** Result of a request as identified by the appropriate request ID field */\n  RequestResult = 1511,\n  /** Total number of PartyListGrp returned. */\n  TotNoParties = 1512,\n  /** A sentence or phrase pertenant to the trade, not a reference to an external document. E.g. \"To be registered with the U.S. Environmental Protection Agency, Acid Rain Division, SO2 Allowance Tracking System\" */\n  DocumentationText = 1513,\n  /** Number of party relationships. */\n  NoPartyRelationships = 1514,\n  /** Used to specify the type of the party relationship. */\n  PartyRelationship = 1515,\n  /** Number of party alternative identifiers. */\n  NoPartyDetailAltID = 1516,\n  /** An alternate party identifier for the party specified in PartyDetailID(1691) */\n  PartyDetailAltID = 1517,\n  /** Identifies the source of the PartyDetailAltID(1517) value. */\n  PartyDetailAltIDSource = 1518,\n  /** Number of party detail alternate sub-identifiers. */\n  NoPartyDetailAltSubIDs = 1519,\n  /** Sub-identifier for the party specified in PartyDetailAltID(1517). */\n  PartyDetailAltSubID = 1520,\n  /** Type of PartyDetailAltSubID(1520) value. */\n  PartyDetailAltSubIDType = 1521,\n  DifferentialPrice = 1522,\n  /** Used to indicate the status of the trade submission (not the trade report) */\n  TrdAckStatus = 1523,\n  /** Default currency in which the price is quoted. Defined at the instrument level. Used in place of Currency (tag 15) to express the currency of a product when the former is implemented as the FX dealt currency. */\n  PriceQuoteCurrency = 1524,\n  /** Byte length of encoded (non-ASCII characters) EncodedDocumentationText(1527) field. */\n  EncodedDocumentationTextLen = 1525,\n  /** Default currency in which the price is quoted. Defined at the instrument level. Used in place of Currency (tag 15) to express the currency of a product when the former is implemented as the FX dealt currency. */\n  UnderlyingPriceQuoteCurrency = 1526,\n  /** Encoded (non-ASCII characters) representation of the DocumentationText(1513) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the DocumentationText(1513) field. */\n  EncodedDocumentationText = 1527,\n  /** Default currency in which the price is quoted. Defined at the instrument level. Used in place of Currency (tag 15) to express the currency of a product when the former is implemented as the FX dealt currency. */\n  LegPriceQuoteCurrency = 1528,\n  /** Number of risk limits with associated warning levels. */\n  NoRiskLimitTypes = 1529,\n  /** Used to specify the type of risk limit amount or position limit quantity or margin requirement amounts. */\n  RiskLimitType = 1530,\n  /** Specifies the risk limit amount. */\n  RiskLimitAmount = 1531,\n  /** Used to specify the currency of the risk limit amount. */\n  RiskLimitCurrency = 1532,\n  /** The area to which risk limit is applicable. This can be a trading platform or an offering. */\n  RiskLimitPlatform = 1533,\n  /** Number of risk instrument scopes. */\n  NoRiskInstrumentScopes = 1534,\n  /** Operator to perform on the instrument(s) specified */\n  InstrumentScopeOperator = 1535,\n  InstrumentScopeSymbol = 1536,\n  InstrumentScopeSymbolSfx = 1537,\n  InstrumentScopeSecurityID = 1538,\n  InstrumentScopeSecurityIDSource = 1539,\n  /** Number of alternate security identifier for the specified InstrumentScopeSecurityID(1538). */\n  NoInstrumentScopeSecurityAltID = 1540,\n  InstrumentScopeSecurityAltID = 1541,\n  InstrumentScopeSecurityAltIDSource = 1542,\n  InstrumentScopeProduct = 1543,\n  InstrumentScopeProductComplex = 1544,\n  InstrumentScopeSecurityGroup = 1545,\n  InstrumentScopeCFICode = 1546,\n  InstrumentScopeSecurityType = 1547,\n  InstrumentScopeSecuritySubType = 1548,\n  InstrumentScopeMaturityMonthYear = 1549,\n  InstrumentScopeMaturityTime = 1550,\n  InstrumentScopeRestructuringType = 1551,\n  InstrumentScopeSeniority = 1552,\n  InstrumentScopePutOrCall = 1553,\n  InstrumentScopeFlexibleIndicator = 1554,\n  InstrumentScopeCouponRate = 1555,\n  InstrumentScopeSecurityDesc = 1556,\n  InstrumentScopeSettlType = 1557,\n  /** Multiplier applied to the transaction amount for comparison with risk limits. Default if not specified is 1.0. */\n  RiskInstrumentMultiplier = 1558,\n  /** Number of risk warning levels. */\n  NoRiskWarningLevels = 1559,\n  /** Percent of risk limit at which a warning is issued. */\n  RiskWarningLevelPercent = 1560,\n  /** Name or error message associated with the risk warning level. */\n  RiskWarningLevelName = 1561,\n  /** Number of related party detail identifiers. */\n  NoRelatedPartyDetailID = 1562,\n  /** Party identifier for the party related to the party specified in PartyDetailID(1691). */\n  RelatedPartyDetailID = 1563,\n  /** Identifies the source of the RelatedPartyDetailID(1563). */\n  RelatedPartyDetailIDSource = 1564,\n  /** Identifies the type or role of the RelatedPartyDetailID(1563) specified. */\n  RelatedPartyDetailRole = 1565,\n  /** Number of related party detail sub-identifiers. */\n  NoRelatedPartyDetailSubIDs = 1566,\n  /** Sub-identifier for the party specified in RelatedPartyID(1563). */\n  RelatedPartyDetailSubID = 1567,\n  /** Type of RelatedPartyDetailSubID(1567) value. */\n  RelatedPartyDetailSubIDType = 1568,\n  /** Number of related party detail alternate identifiers. */\n  NoRelatedPartyDetailAltID = 1569,\n  /** An alternate party identifier for the party specified in RelatedPartyID(1563). */\n  RelatedPartyDetailAltID = 1570,\n  /** Identifies the source of the RelatedPartyDetailAltID(1570) value. */\n  RelatedPartyDetailAltIDSource = 1571,\n  /** Number of related party detail alternate sub-identifiers. */\n  NoRelatedPartyDetailAltSubIDs = 1572,\n  /** Sub-identifier for the party specified in RelatedPartyDetailAltID(1570). */\n  RelatedPartyDetailAltSubID = 1573,\n  /** Type of RelatedPartyDetailAltSubID(1573) value. */\n  RelatedPartyDetailAltSubIDType = 1574,\n  /** The sub-classification or notional schedule type of the swap. */\n  SwapSubClass = 1575,\n  DerivativePriceQuoteCurrency = 1576,\n  /** In an outright or forward commodity trade that is cash settled this is the index used to determine the cash payment. */\n  SettlRateIndex = 1577,\n  /** Byte length of encoded (non-ASCII characters) EncodedEventText(868) fied. */\n  EncodedEventTextLen = 1578,\n  /** Encoded (non-ASCII characters) representation of the EventText(868) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the EventText(868) field. */\n  EncodedEventText = 1579,\n  /** This is an optional qualifying attribute of SettlRateIndex(1577) such as the delivery zone for an electricity contract. */\n  SettlRateIndexLocation = 1580,\n  /** Description of the option expiration. */\n  OptionExpirationDesc = 1581,\n  /** Number of Security Classifications. */\n  NoSecurityClassifications = 1582,\n  /** Allows classification of instruments according to a set of high level reasons. Classification reasons describe the classes in which the instrument participates. */\n  SecurityClassificationReason = 1583,\n  /** Specifies the product classification value which further details the manner in which the instrument participates in the class. */\n  SecurityClassificationValue = 1584,\n  /** Specifies the reason for an amount type when reported on a position. Useful when multiple instances of the same amount type are reported. */\n  PosAmtReason = 1585,\n  /** Number of TrdInstrmtLegPosAmt values. */\n  NoLegPosAmt = 1586,\n  /** Leg position amount. */\n  LegPosAmt = 1587,\n  /** Type of leg position amount. */\n  LegPosAmtType = 1588,\n  /** Leg position currency. */\n  LegPosCurrency = 1589,\n  /** Specifies the reason for an amount type when reported on a position. Useful when multiple instances of the same amount type are reported. */\n  LegPosAmtReason = 1590,\n  /** Type of quantity specified in LegQty field. LegContractMultiplier (614) is required when LegQtyType = 1 (Contracts). LegUnitOfMeasure (tag 999) and LegTimeUnit (tag 1001) are required when LegQtyType = 2 (Units of Measure per Time Unit). LegQtyType can be different for each leg. */\n  LegQtyType = 1591,\n  /** Used to calculate the present value of an amount to be paid in the future. */\n  DiscountFactor = 1592,\n  /** Contains the IndividualAllocId (tag 467) value of the allocation that is being offset as a result of a new allocation. This would be an optional field that would only be populated in the case of an allocation of an allocation (as well as any subsequent allocations). This wouldn\u2019t be populated for an initial allocation since an allocation id is not supplied on default (initial) allocations. */\n  ParentAllocID = 1593,\n  /** Represents the product group of a leg.This is useful in conveying multi-leg instruments where the legs may participate in separate security groups. */\n  LegSecurityGroup = 1594,\n  /** Risk adjusted price used to calculate variation margin on a position. */\n  PositionContingentPrice = 1595,\n  /** Alternate clearing price */\n  ClearingTradePrice = 1596,\n  /** Alternate clearing price for the side being reported. */\n  SideClearingTradePrice = 1597,\n  /** Indicates to recipient whether trade is clearing at execution prices LastPx(tag 31) or alternate clearing prices SideClearingTradePrice(tag 1597). */\n  SideClearingTradePriceType = 1598,\n  /** Price Differential between the front and back leg of a spread or complex instrument. */\n  SidePriceDifferential = 1599,\n  /** Provides the name of the infrastructure component being used for session level communication. Normally this would be the FIX Engine or FIX Gateway product name. */\n  FIXEngineName = 1600,\n  /** Provides the version of the infrastructure component. */\n  FIXEngineVersion = 1601,\n  /** Provides the name of the vendor providing the infrastructure component. */\n  FIXEngineVendor = 1602,\n  /** Provides the name of the application system being used to generate FIX application messages. This will normally be a trading system, OMS, or EMS. */\n  ApplicationSystemName = 1603,\n  /** Provides the version of the application system being used to initiate FIX application messages. */\n  ApplicationSystemVersion = 1604,\n  /** Provides the vendor of the application system. */\n  ApplicationSystemVendor = 1605,\n  /** Represents the total number of simple instruments that make up a multi-legged security. Complex spread instruments may be constructed of legs which themselves are multi-leg instruments. */\n  NumOfSimpleInstruments = 1606,\n  /** Identifies the reason a security definition request is being rejected. */\n  SecurityRejectReason = 1607,\n  /** Used to convey the initially requested display quantity specified in DisplayQty(1138) on order entry and modification messages in ExecutionReport message. Applicable only in ExecutionReport message where DisplayQty(1138) is the currently displayed quantity and the requested display quantity of the order also needs to be conveyed. The values of the two fields are different as soon as the order is partially filled and also after a refresh of the order whenever DisplayMethod(1084) is not 1=Initial. */\n  InitialDisplayQty = 1608,\n  /** Indicates whether a message was queued as a result of throttling. */\n  ThrottleStatus = 1609,\n  /** Indicates number of repeating groups to follow. */\n  NoThrottles = 1610,\n  /** Action to take should throttle limit be exceeded. */\n  ThrottleAction = 1611,\n  /** Type of throttle. */\n  ThrottleType = 1612,\n  /** Maximum number of messages allowed by the throttle. May be a rate limit or a limit on the number of outstanding requests. */\n  ThrottleNoMsgs = 1613,\n  /** Value of the time interval in which the rate throttle is applied. */\n  ThrottleTimeInterval = 1614,\n  /** Units in which ThrottleTimeInterval is expressed. Uses same enumerations as OrderDelayUnit(1429). */\n  ThrottleTimeUnit = 1615,\n  InstrumentScopeSecurityExchange = 1616,\n  /** The type of assignment being affected in the Stream Assignment Report. */\n  StreamAsgnType = 1617,\n  /** Number of ThrottleMsgType fields. */\n  NoThrottleMsgType = 1618,\n  /** The MsgType (35) of the FIX message being referenced. */\n  ThrottleMsgType = 1619,\n  /** Byte length of encoded (non-ASCII characters) InstrumentScopeEncodedSecurityDesc (1621) field */\n  InstrumentScopeEncodedSecurityDescLen = 1620,\n  /** Encoded (non-ASCII characters) representation of the InstrumentScopeSecurityDesc(1556) field in the encoded format specified via the MessageEncoding(347) field. If used, the ASCII (English) representation should also be specified in the InstrumentScopeSecurityDesc(1556) field. */\n  InstrumentScopeEncodedSecurityDesc = 1621,\n  /** Yield Type, using same values as YieldType (235) */\n  FillYieldType = 1622,\n  /** Yield Percentage, using same values as Yield (236) */\n  FillYield = 1623,\n  /** Number of Instructions in the <MatchingInstructions> repeating group. */\n  NoMatchInst = 1624,\n  /** Matching Instruction for the order. */\n  MatchInst = 1625,\n  /** Existing FIX field to be applied as a matching criteria to the instruction, bilaterally agreed between parties. */\n  MatchAttribTagID = 1626,\n  /** Value of MatchAttribTagID(1626) on which to apply the matching instruction. */\n  MatchAttribValue = 1627,\n  /** Defines the scope of TriggerAction(1101) when it is set to \"cancel\" (3). */\n  TriggerScope = 1628,\n  ExposureDuration = 1629,\n  /** The number of limit amount entries. */\n  NoLimitAmts = 1630,\n  /** Identifies the type of limit amount expressed in LastLimitAmt(1632) and LimitAmtRemaining(1633). */\n  LimitAmtType = 1631,\n  LastLimitAmt = 1632,\n  LimitAmtRemaining = 1633,\n  /** Indicates the currency that the limit amount is specified in. */\n  LimitAmtCurrency = 1634,\n  /** Unique identifier of the MarginRequirementInquiry. */\n  MarginReqmtInqID = 1635,\n  /** Number of margin requirement inquiry qualifiers. */\n  NoMarginReqmtInqQualifier = 1636,\n  /** Qualifier for MarginRequirementInquiry to identify a specific report. */\n  MarginReqmtInqQualifier = 1637,\n  /** Type of MarginRequirementReport. */\n  MarginReqmtRptType = 1638,\n  /** Identifier for group of instruments with similar risk profile. */\n  MarginClass = 1639,\n  /** Status of MarginRequirementInquiry. */\n  MarginReqmtInqStatus = 1640,\n  /** Result returned in response to MarginRequirementInquiry. */\n  MarginReqmtInqResult = 1641,\n  /** Identifier for the MarginRequirementReport message. */\n  MarginReqmtRptID = 1642,\n  /** Number of margin requirement amounts. */\n  NoMarginAmt = 1643,\n  /** Type of margin requirement amount being specified. */\n  MarginAmtType = 1644,\n  /** Amount of margin requirement. */\n  MarginAmt = 1645,\n  /** Currency of the MarginAmt(1645). */\n  MarginAmtCcy = 1646,\n  /** Number of related instruments */\n  NoRelatedInstruments = 1647,\n  /** The type of instrument relationship */\n  RelatedInstrumentType = 1648,\n  /** Ticker symbol of the related security. Common \"human understood\" representation of the security. */\n  RelatedSymbol = 1649,\n  /** Related security identifier value of RelatedSecurityIDSource(1651) type. */\n  RelatedSecurityID = 1650,\n  /** Identifies class or source of the RelatedSecurityID (1650) value. */\n  RelatedSecurityIDSource = 1651,\n  /** Security type of the related instrument. */\n  RelatedSecurityType = 1652,\n  /** Expiration date for the related instrument contract. */\n  RelatedMaturityMonthYear = 1653,\n  /** Used to specify the portion of the short contract quantity that is considered covered (e.g. used for short option position). */\n  CoveredQty = 1654,\n  /** Indicates market maker participation in security. */\n  MarketMakerActivity = 1655,\n  /** Number of instrument scopes. */\n  NoInstrumentScopes = 1656,\n  /** Number of requesting party identifiers. */\n  NoRequestingPartyIDs = 1657,\n  /** Party identifier for the requesting party. */\n  RequestingPartyID = 1658,\n  /** Identifies the source of the RequestingPartyID(1658) value. */\n  RequestingPartyIDSource = 1659,\n  /** Identifies the type or role of the RequestingPartyID(1658) specified. */\n  RequestingPartyRole = 1660,\n  /** Number of requesting party sub-identifiers. */\n  NoRequestingPartySubIDs = 1661,\n  /** Sub-identifier for the party specified in RequestingPartyID(1658). */\n  RequestingPartySubID = 1662,\n  /** Type of RequestingPartySubID(1662) value. */\n  RequestingPartySubIDType = 1663,\n  /** Byte length of encoded (non-ASCII characters) EncodedRejectText(1665) field. */\n  EncodedRejectTextLen = 1664,\n  /** Encoded (non-ASCII characters) representation of the RejectText(1328) field in the encoded format specified via the MessageEncoding(347) field. If used, the ASCII (English) representation should also be specified in the RejectText(1328) field. */\n  EncodedRejectText = 1665,\n  /** Unique identifier for the PartyRiskLimitsRequest */\n  RiskLimitRequestID = 1666,\n  /** Identifier for the PartyRiskLimitsReport */\n  RiskLimitReportID = 1667,\n  /** Number of risk limit types requested. */\n  NoRequestedRiskLimitType = 1668,\n  /** Number of risk limits for different instrument scopes. */\n  NoRiskLimits = 1669,\n  /** Unique reference identifier for a specific risk limit defined for the specified party. */\n  RiskLimitID = 1670,\n  /** Number of party details. */\n  NoPartyDetails = 1671,\n  /** Indicates the status of the party identified with PartyDetailID(1691). */\n  PartyDetailStatus = 1672,\n  /** Identifies the market to which the matching instruction applies. */\n  MatchInstMarketID = 1673,\n  /** Qualifies the value of PartyDetailRole(1693). */\n  PartyDetailRoleQualifier = 1674,\n  /** Qualifies the value of RelatedPartyRole(1565) */\n  RelatedPartyDetailRoleQualifier = 1675,\n  /** Number of party updates. */\n  NoPartyUpdates = 1676,\n  /** Number of party risk limits. */\n  NoPartyRiskLimits = 1677,\n  /** Byte length of encoded (non-ASCII characters) EncodedOptionExpirationDesc(1697) field. */\n  EncodedOptionExpirationDescLen = 1678,\n  /** Identifies the trading status applicable to a group of instruments. */\n  SecurityMassTradingStatus = 1679,\n  /** Identifies an event related to the mass trading status. */\n  SecurityMassTradingEvent = 1680,\n  /** Denotes the reason for the Opening Delay or Trading halt of a group of securities. */\n  MassHaltReason = 1681,\n  /** Identifies the trading status applicable to the instrument in the market data message. */\n  MDSecurityTradingStatus = 1682,\n  /** Describes a sub-class for a given class of service defined by MDFeedType (1022) */\n  MDSubFeedType = 1683,\n  /** Denotes the reason for the Opening Delay or Trading Halt. */\n  MDHaltReason = 1684,\n  /** Describes action recipient should take if a throttle limit were exceeded. */\n  ThrottleInst = 1685,\n  /** Indicates whether a message decrements the number of outstanding requests, e.g. one where ThrottleType = Outstanding Requests. */\n  ThrottleCountIndicator = 1686,\n  /** Indicates whether a restriction applies to short selling a security. */\n  ShortSaleRestriction = 1687,\n  /** Indicates the reason a short sale order is exempted from applicable regulation (e.g. Reg SHO addendum (b)(1) in the U.S.). */\n  ShortSaleExemptionReason = 1688,\n  /** Indicates the reason a short sale is exempted from applicable regulation (e.g. Reg SHO addendum (b)(1) in the U.S.) */\n  LegShortSaleExemptionReason = 1689,\n  /** Indicates the reason a short sale is exempted from applicable regulation (e.g. Reg SHO addendum (b)(1) in the U.S.) */\n  SideShortSaleExemptionReason = 1690,\n  /** Party identifier within Parties Reference Data messages. */\n  PartyDetailID = 1691,\n  /** Source of the identifier of the PartyDetailID(1691) specified. */\n  PartyDetailIDSource = 1692,\n  /** Identifies the type or role of PartyDetailID(1691) specified. */\n  PartyDetailRole = 1693,\n  /** Number of party detail sub-identifiers. */\n  NoPartyDetailSubIDs = 1694,\n  /** Sub-identifier for the party specified in PartyDetailID(1691). */\n  PartyDetailSubID = 1695,\n  /** Type of PartyDetailSubID(1695) value. */\n  PartyDetailSubIDType = 1696,\n  /** Encoded (non-ASCII characters) representation of the OptionExpirationDesc(1581) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the OptionExpirationDesc(1581). */\n  EncodedOptionExpirationDesc = 1697,\n  /** Used to express the unit of measure (UOM) of the price if different from the contract. */\n  StrikeUnitOfMeasure = 1698,\n  /** Unique identifier for the AccountSummaryReport(35=CQ). */\n  AccountSummaryReportID = 1699,\n  /** Number of settlement amount entries. */\n  NoSettlementAmounts = 1700,\n  /** The amount of settlement. */\n  SettlementAmount = 1701,\n  /** The currency of the reported settlement amount. */\n  SettlementAmountCurrency = 1702,\n  /** Number of collateral amount entries. */\n  NoCollateralAmounts = 1703,\n  /** Currency value currently attributed to the collateral. */\n  CurrentCollateralAmount = 1704,\n  /** Currency of the collateral; optional, defaults to the Settlement Currency if not specified. */\n  CollateralCurrency = 1705,\n  /** Type of collateral on deposit being reported. */\n  CollateralType = 1706,\n  /** Number of pay collect entries. */\n  NoPayCollects = 1707,\n  /** Category describing the reason for funds paid to, or the funds collected from the clearing firm. */\n  PayCollectType = 1708,\n  /** Currency denomination of value in PayAmount(1710) and CollectAmount(1711). If not specified, default to currency specified in SettlementAmountCurrency(1702). */\n  PayCollectCurrency = 1709,\n  /** Amount to be paid by the clearinghouse to the clearing firm. */\n  PayAmount = 1710,\n  /** Amount to be collected by the clearinghouse from the clearing firm. */\n  CollectAmount = 1711,\n  /** Market segment associated with the pay collect amount. */\n  PayCollectMarketSegmentID = 1712,\n  /** Market associated with the pay collect amount. */\n  PayCollectMarketID = 1713,\n  /** Market segment associated with the margin amount. */\n  MarginAmountMarketSegmentID = 1714,\n  /** Market associated with the margin amount */\n  MarginAmountMarketID = 1715,\n  /** Indicates the currency of the unit of measure. Conditionally required when UnitOfMeasure(996) = Ccy */\n  UnitOfMeasureCurrency = 1716,\n  /** Indicates the currency of the price unit of measure. Conditionally required when PriceUnitOfMeasure(1191) = Ccy */\n  PriceUnitOfMeasureCurrency = 1717,\n  /** Indicates the currency of the underlying unit of measure. Conditionally required when UnderlyingUnitOfMeasure(998) = Ccy */\n  UnderlyingUnitOfMeasureCurrency = 1718,\n  /** Indicates the currency of the underlying price unit of measure. Conditionally required when UnderlyingPriceUnitOfMeasure(1424) = Ccy */\n  UnderlyingPriceUnitOfMeasureCurrency = 1719,\n  /** Indicates the currency of the unit of measure. Conditionally required when LegUnitOfMeasure(999) = Ccy */\n  LegUnitOfMeasureCurrency = 1720,\n  /** Indicates the currency of the price unit of measure. Conditionally required when LegPriceUnitOfMeasure(1421) = Ccy */\n  LegPriceUnitOfMeasureCurrency = 1721,\n  DerivativeUnitOfMeasureCurrency = 1722,\n  DerivativePriceUnitOfMeasureCurrency = 1723,\n  /** Identifies the origin of the order. */\n  OrderOrigination = 1724,\n  /** An identifier representing the department or desk within the firm that originated the order. */\n  OriginatingDeptID = 1725,\n  /** An identifier representing the department or desk within the firm that received the order. */\n  ReceivingDeptID = 1726,\n  /** The identifier of the information barrier in place for a trading unit that will meet the criteria of the \"no-knowledge\" exception in FINRA Rule 5320.02. */\n  InformationBarrierID = 1727,\n  /** Firm assigned group allocation entity identifier. */\n  FirmGroupID = 1728,\n  /** Allocation identifier assigned by the Firm submitting the allocation for an individual allocation instruction (as opposed to the overall message level identifier). */\n  FirmMnemonic = 1729,\n  /** Intended to be used by a central counterparty to assign an identifier to allocations of trades for the same instrument traded at the same price. */\n  AllocGroupID = 1730,\n  /** Used by submitting firm to group trades being allocated into an average price group. The trades in average price group will be used to calculate an average price for the group. */\n  AvgPxGroupID = 1731,\n  /** Firm reference information, usually internal information, that is part of the initial message. The information would not be carried forward (e.g to Take-up Firm) and preserved with the transaction. */\n  FirmAllocText = 1732,\n  /** Byte length of encoded (non-ASCII characters) EncodedFirmAllocText(1734) field. */\n  EncodedFirmAllocTextLen = 1733,\n  /** Encoded (non-ASCII characters) representation of the FirmAllocText(1732) field in the encoded format specified via the MessageEncoding(347) field. If used, the ASCII (English) represention should also be specified in FirmAllocText(1732) field. */\n  EncodedFirmAllocText = 1734,\n  /** An indicator to override the normal procedure to roll up allocations for the same take-up firm. */\n  AllocationRollupInstruction = 1735,\n  /** Indicates the total quantity of an allocation group. Includes any allocated quantity. */\n  AllocGroupQuantity = 1736,\n  /** Indicates the remaining quantity of an allocation group that has not yet been allocated. */\n  AllocGroupRemainingQuantity = 1737,\n  /** Identifies the status of a reversal transaction. */\n  AllocReversalStatus = 1738,\n  /** Type of reference obligation for credit derivatives contracts. */\n  ObligationType = 1739,\n  /** Method used for negotiation of contract price. */\n  TradePriceNegotiationMethod = 1740,\n  /** Type of price used to determine upfront payment for swaps contracts. */\n  UpfrontPriceType = 1741,\n  /** Price used to determine upfront payment for swaps contracts. */\n  UpfrontPrice = 1742,\n  /** Price used to determine upfront payment for swaps contracts reported for a deal (trade). */\n  LastUpfrontPrice = 1743,\n  /** Indicates whether application level recovery is needed. */\n  ApplLevelRecoveryIndicator = 1744,\n  /** The market data entry identifier of the bid side of a quote */\n  BidMDEntryID = 1745,\n  /** The market data entry identifier of the offer side of a quote. */\n  OfferMDEntryID = 1746,\n  /** Marketplace assigned quote identifier for the bid side. Can be used to indicate priority. */\n  BidQuoteID = 1747,\n  /** Marketplace assigned quote identifier for the offer side. Can be used to indicate priority. */\n  OfferQuoteID = 1748,\n  /** Specifies the total bid size. */\n  TotalBidSize = 1749,\n  /** Specifies the total offer size. */\n  TotalOfferSize = 1750,\n  /** Assigned by the party which accepts the quote. Can be used to provide the quote identifier assigned by an exchange, marketplace or executing system. */\n  SecondaryQuoteID = 1751,\n  /** An opaque identifier used to communicate the custodian\u2019s identifier for the lot. It is expected that this information would be provided by the custodian as part of a reconciliation process that occurs before trading. */\n  CustodialLotID = 1752,\n  /** The effective acquisition date of the lot that would be used for gain-loss trade lot reporting. The versus purchase date used to identify the lot in situations where a custodial lot identifier is not available. */\n  VersusPurchaseDate = 1753,\n  /** The versus purchase price used to identify the lot in situations where a custodial lot identifier is not available. The value should be calculated based on current cost basis / quantity held. */\n  VersusPurchasePrice = 1754,\n  /** The amount that the current shares are worth. If this lot was liquidated, the total gain/loss for a trade is equal to the trade amount minus the current cost basis. */\n  CurrentCostBasis = 1755,\n  /** An opaque identifier used to communicate the custodian\u2019s identifier for the lot. It is expected that this information would be provided by the custodian as part of a reconciliation process that occurs before trading. */\n  LegCustodialLotID = 1756,\n  /** The effective acquisition date of the lot that would be used for gain-loss trade lot reporting. The versus purchase date used to identify the lot in situations where a custodial lot identifier is not available. */\n  LegVersusPurchaseDate = 1757,\n  /** The versus purchase price used to identify the lot in situations where a custodial lot identifier is not available.The value should be calculated based on current cost basis / quantity held. */\n  LegVersusPurchasePrice = 1758,\n  /** The amount that the current shares are worth. If this lot was liquidated, the total gain/loss for a trade is equal to the trade amount minus the current cost basis. */\n  LegCurrentCostBasis = 1759,\n  /** Type of risk limit information. */\n  RiskLimitRequestType = 1760,\n  /** Result of risk limit definition request. */\n  RiskLimitRequestResult = 1761,\n  /** Status of risk limit definition request. */\n  RiskLimitRequestStatus = 1762,\n  /** Status of risk limit definition for one party. */\n  RiskLimitStatus = 1763,\n  /** Result of risk limit definition for one party. */\n  RiskLimitResult = 1764,\n  /** Percentage of utilization of a party's set risk limit. */\n  RiskLimitUtilizationPercent = 1765,\n  /** Absolute amount of utilization of a party's set risk limit. */\n  RiskLimitUtilizationAmount = 1766,\n  /** Identifies the action to take or risk model to assume should risk limit be exceeded or breached for the specified party. */\n  RiskLimitAction = 1767,\n  /** Amount at which a warning is issued. */\n  RiskWarningLevelAmount = 1768,\n  /** Action to take should warning level be exceeded. */\n  RiskWarningLevelAction = 1769,\n  /** Unique identifier for PartyEntitlementsRequest(35=CU). */\n  EntitlementRequestID = 1770,\n  /** Identifier for the PartyEntitlementsReport(35=CV). */\n  EntitlementReportID = 1771,\n  /** Number of party entitlement values. */\n  NoPartyEntitlements = 1772,\n  /** Number of entitlement values. */\n  NoEntitlements = 1773,\n  /** Used to indicate if a party is entitled to an entitlement type specified in the EntitlementType(1775) field. */\n  EntitlementIndicator = 1774,\n  /** Type of entitlement. */\n  EntitlementType = 1775,\n  /** Unique identifier for a specific NoEntitlements(1773) repeating group instance. */\n  EntitlementID = 1776,\n  /** Number of entitlement attributes. */\n  NoEntitlementAttrib = 1777,\n  EntitlementAttribType = 1778,\n  /** Datatype of the entitlement attribute. */\n  EntitlementAttribDatatype = 1779,\n  /** Value of the entitlement attribute. */\n  EntitlementAttribValue = 1780,\n  /** Currency for EntitlementAttribValue(1780). Can be used if these fields represent a price, price offset, or amount. */\n  EntitlementAttribCurrency = 1781,\n  /** Indicates the starting date of the entitlement. */\n  EntitlementStartDate = 1782,\n  /** Indicates the ending date of the entitlement. */\n  EntitlementEndDate = 1783,\n  /** The area to which the entitlement is applicable. This can be a trading platform or an offering. */\n  EntitlementPlatform = 1784,\n  /** Indicates how control of trading session and subsession transitions are performed. */\n  TradSesControl = 1785,\n  /** Define the type of trade volume applicable for the MinTradeVol(562) and MaxTradeVol(1140) */\n  TradeVolType = 1786,\n  /** Spread table code referred by the security or symbol. */\n  RefTickTableID = 1787,\n  /** Unique identifier for the leg within the context of a message (the scope of uniqueness to be defined by counterparty agreement). The LegID(1788) can be referenced using LegRefID(654). */\n  LegID = 1788,\n  /** Number of market segments upon which a mass action is to be taken. */\n  NoTargetMarketSegments = 1789,\n  /** Market segment within a target market segment repeating group. */\n  TargetMarketSegmentID = 1790,\n  /** Number of market segments affected by a mass action. */\n  NoAffectedMarketSegments = 1791,\n  /** Market segment within an affected market repeating segment group. */\n  AffectedMarketSegmentID = 1792,\n  /** Number of market segments left unaffected by a mass action. */\n  NoNotAffectedMarketSegments = 1793,\n  /** Market segment within an unaffected market repeating segment group. */\n  NotAffectedMarketSegmentID = 1794,\n  /** Number of order events. */\n  NoOrderEvents = 1795,\n  /** The type of event affecting an order. The last event type within the OrderEventGrp component indicates the ExecType(150) value resulting from the series of events (ExecType(150) values are shown in brackets). */\n  OrderEventType = 1796,\n  /** Refer to ExecID(17). Used when multiple different events are reported in single Execution Report. ExecID(17) and OrderEventExecID(1797) values should not overlap. */\n  OrderEventExecID = 1797,\n  /** Action that caused the event to occur. */\n  OrderEventReason = 1798,\n  /** Price associated with the event. */\n  OrderEventPx = 1799,\n  /** Quantity associated with the event. */\n  OrderEventQty = 1800,\n  /** Indicator to identify whether this fill was a result of a liquidity provider providing or liquidity taker taking the liquidity. Applicable only for OrderEventType(1796) values of 4(Partially Filled) or 5(Filled). */\n  OrderEventLiquidityIndicator = 1801,\n  /** Additional information about the event. */\n  OrderEventText = 1802,\n  /** Type of auction order. */\n  AuctionType = 1803,\n  /** Percentage of matched quantity to be allocated to the submitter of the response to an auction order. */\n  AuctionAllocationPct = 1804,\n  /** Instruction related to system generated auctions, e.g. flash order auctions. */\n  AuctionInstruction = 1805,\n  /** Used to reference an order via ClOrdID(11). */\n  RefClOrdID = 1806,\n  /** Indicates whether an order is locked and for what reason. */\n  LockType = 1807,\n  /** Locked order quantity. */\n  LockedQty = 1808,\n  /** Locked order quantity in addition to LockedQty (1808), e.g. to distinguish total locked quantity from currently locked quantity. */\n  SecondaryLockedQty = 1809,\n  /** Instruction to define conditions under which to release a locked order or parts of it. */\n  ReleaseInstruction = 1810,\n  /** Quantity to be made available, i.e. released from a lock. */\n  ReleaseQty = 1811,\n  /** Number of disclosure instructions. */\n  NoDisclosureInstructions = 1812,\n  /** Information subject to disclosure. */\n  DisclosureType = 1813,\n  /** Instruction to disclose information or to use default value of the receiver. */\n  DisclosureInstruction = 1814,\n  /** Designates the capacity in which the order is submitted for trading by the market participant. */\n  TradingCapacity = 1815,\n  /** Designates the account type to be used for the order when submitted to clearing. */\n  ClearingAccountType = 1816,\n  /** Designates the capacity in which the order will be submitted to clearing. */\n  LegClearingAccountType = 1817,\n  /** Qualifies the value of TargetPartyRole (1464). */\n  TargetPartyRoleQualifier = 1818,\n  /** Upper boundary for the price of a related entity, e.g. price of the underlying instrument in an Underlying Price Contingency (UPC) order. */\n  RelatedHighPrice = 1819,\n  /** Lower boundary for the price of a related entity, e.g. price of the underlying instrument in an Underlying Price Contingency (UPC) order. */\n  RelatedLowPrice = 1820,\n  /** Source for the price of a related entity, e.g. price of the underlying instrument in an Underlying Price Contingency (UPC) order. Can be used together with RelatedHighPrice (1819) and/or RelatedLowPrice (1820). */\n  RelatedPriceSource = 1821,\n  /** Indicates how the minimum quantity should be applied when executing the order. */\n  MinQtyMethod = 1822,\n  /** Indicates whether order has been triggered during its lifetime. Applies to cases where original information, e.g. OrdType(40), is modified when the order is triggered. */\n  Triggered = 1823,\n  /** OrigClOrdID(41) of an order affected by a mass cancel or mass action request. */\n  AffectedOrigClOrdID = 1824,\n  /** SecondaryOrderID (198) of an order not affected by a mass cancel or mass action request. */\n  NotAffSecondaryOrderID = 1825,\n  /** Time unit multiplier for the event. */\n  EventTimePeriod = 1826,\n  /** Time unit associated with the event. */\n  EventTimeUnit = 1827,\n  /** When LastQty is an estimated value, e.g. for a Repo \u201Ccircled\u201D trade, LastQtyVariance specifies the absolute amount that the size may vary up or down when finalized. Omitted when LastQty(32) is already final. */\n  LastQtyVariance = 1828,\n  /** Number of legs in the side of a cross order. */\n  NoCrossLegs = 1829,\n  /** Settlement price increment for stated price range. */\n  SettlPriceIncrement = 1830,\n  /** Secondary settlement price increment for stated price range. The meaning of secondary is left to bilateral agreement, e.g. it may refer to final settlement for a contract. */\n  SettlPriceSecondaryIncrement = 1831,\n  /** Indicates whether the trade or position being reported was cleared through a clearing organization. */\n  ClearedIndicator = 1832,\n  /** Additional information related to the pricing of a commodity swaps position, specifically an indicator referring to the position type. */\n  ContractRefPosType = 1833,\n  /** Used to describe the ownership of the position. */\n  PositionCapacity = 1834,\n  /** Indicates the currency of the unit of measure if position quantity is expressed in valuation rather than contracts. Conditionally required when PosQtyUnitOfMeasure(1836)=Ccy. */\n  PosQtyUnitOfMeasureCurrency = 1835,\n  /** Indicates the unit of measure of the position quantity when not expressed in contracts. */\n  PosQtyUnitOfMeasure = 1836,\n  /** Reference month if there is no applicable UnderlyingMaturityMonth(313) value for the contract or security. */\n  UnderlyingContractPriceRefMonth = 1837,\n  /** Number of trade price conditions. */\n  NoTradePriceConditions = 1838,\n  /** Price conditions in effect at the time of the trade. Multiple price conditions can be in effect at the same time. Price conditions are usually required to be reported in markets that have regulations on price execution at a market or national best bid or offer, and the trade price differs from the best bid or offer. */\n  TradePriceCondition = 1839,\n  TradeAllocStatus = 1840,\n  /** Number of trade quantities. */\n  NoTradeQtys = 1841,\n  /** Indicates the type of trade quantity in TradeQty(1843). */\n  TradeQtyType = 1842,\n  /** Trade quantity. */\n  TradeQty = 1843,\n  /** Number of trade allocation amount entries. */\n  NoTradeAllocAmts = 1844,\n  /** Type of the amount associated with a trade allocation. */\n  TradeAllocAmtType = 1845,\n  /** The amount associated with a trade allocation. */\n  TradeAllocAmt = 1846,\n  /** Currency denomination of the trade allocation amount. */\n  TradeAllocCurrency = 1847,\n  /** Instruction on how to add a trade to an allocation group when it is being given-up. */\n  TradeAllocGroupInstruction = 1848,\n  /** Indicates the trade is a result of an offset or onset. */\n  OffsetInstruction = 1849,\n  /** Specifies the reason for an amount type when reported on an allocation. Useful when multiple instances of the same amount type are reported. */\n  TradeAllocAmtReason = 1850,\n  /** Identifies the multileg strategy (e.g. spread) to which the trade belongs. This links together trade legs executed as part of a strategy during a single match event. */\n  StrategyLinkID = 1851,\n  /** Calculated average price for this side of the trade. */\n  SideAvgPx = 1852,\n  /** Used to indicate whether a trade or a sub-allocation should be allocated at the trade price (e.g. no average pricing), or whether it should be grouped with other trades/sub-allocations and allocated at the average price of the group. */\n  SideAvgPxIndicator = 1853,\n  /** The identifier for the average price group for the trade side. See also AvgPxGroupID(1731). */\n  SideAvgPxGroupID = 1854,\n  /** Number of related trades. */\n  NoRelatedTrades = 1855,\n  /** Identifier of a related trade. */\n  RelatedTradeID = 1856,\n  /** Describes the source of the identifier that RelatedTradeID(1856) represents. */\n  RelatedTradeIDSource = 1857,\n  /** Date of a related trade. */\n  RelatedTradeDate = 1858,\n  /** Market of execution of related trade. */\n  RelatedTradeMarketID = 1859,\n  /** Quantity of the related trade which can be less than or equal to the actual quantity of the related trade. For example, when one trade offsets another across asset classes. */\n  RelatedTradeQuantity = 1860,\n  /** Number of related positions. */\n  NoRelatedPositions = 1861,\n  /** Identifier of a related position. */\n  RelatedPositionID = 1862,\n  /** Describes the source of the identifier that RelatedPositionID(1862) represents. */\n  RelatedPositionIDSource = 1863,\n  /** Used to help identify the position when RelatedPositionID(1862) is not unique across multiple days. This date is generally the creation date of the identifier. */\n  RelatedPositionDate = 1864,\n  /** Acknowledgement status of a Quote(35=S) or QuoteCancel(35=Z) message submission. */\n  QuoteAckStatus = 1865,\n  /** Specifies the index used to calculate the strike price. */\n  StrikeIndex = 1866,\n  /** Unique identifier for the ask side of the quote assigned by the quote issuer. */\n  OfferID = 1867,\n  /** Number of value check entries. */\n  NoValueChecks = 1868,\n  /** Type of value to be checked. */\n  ValueCheckType = 1869,\n  /** Action to be taken for the ValueCheckType(1869). */\n  ValueCheckAction = 1870,\n  /** The length of the LegSecurityXML(1872) data block. */\n  LegSecurityXMLLen = 1871,\n  /** XML definition for the leg security. */\n  LegSecurityXML = 1872,\n  /** The schema used to validate the contents of LegSecurityXML(1872). */\n  LegSecurityXMLSchema = 1873,\n  /** The length of the UnderlyingSecurityXML(1875) data block. */\n  UnderlyingSecurityXMLLen = 1874,\n  /** XML definition for the underlying security. */\n  UnderlyingSecurityXML = 1875,\n  /** The schema used to validate the contents of UnderlyingSecurityXML(1875). */\n  UnderlyingSecurityXMLSchema = 1876,\n  /** Result party detail definition request. */\n  PartyDetailRequestResult = 1877,\n  /** Status of party details definition request. */\n  PartyDetailRequestStatus = 1878,\n  /** Status of party detail definition for one party. */\n  PartyDetailDefinitionStatus = 1879,\n  /** Result of party detail definition for one party. */\n  PartyDetailDefinitionResult = 1880,\n  /** Result of risk limit definition request. */\n  EntitlementRequestResult = 1881,\n  /** Status of party entitlements definition request. */\n  EntitlementRequestStatus = 1882,\n  /** Status of entitlement definition for one party. */\n  EntitlementStatus = 1883,\n  /** Result of entitlement definition for one party. */\n  EntitlementResult = 1884,\n  /** Reference to an EntitlementID(1776). Used for modification or deletion of an entitlement. */\n  EntitlementRefID = 1885,\n  /** Used to express the unit of measure of the settlement price if different from the contract. */\n  SettlPriceUnitOfMeasure = 1886,\n  SettlPriceUnitOfMeasureCurrency = 1887,\n  TradeMatchTimestamp = 1888,\n  /** Number of instrument match sides. */\n  NoInstrmtMatchSides = 1889,\n  /** Number of trade match sides. */\n  NoTrdMatchSides = 1890,\n  TrdMatchSubID = 1891,\n  /** Number of instrument leg executions. */\n  NoLegExecs = 1892,\n  /** The ExecID(17) value corresponding to a trade leg. */\n  LegExecID = 1893,\n  /** The TradeID(1003) value corresponding to a trade leg. */\n  LegTradeID = 1894,\n  /** The TradeReportID(571) value corresponding to a trade leg. */\n  LegTradeReportID = 1895,\n  /** Used to indicate the status of the trade match report submission. */\n  TradeMatchAckStatus = 1896,\n  /** Reason the trade match report submission was rejected. */\n  TradeMatchRejectReason = 1897,\n  /** Identifies the market segment of the side. */\n  SideMarketSegmentID = 1898,\n  /** Identifies the type of venue where the trade was executed for the side. */\n  SideVenueType = 1899,\n  /** Used to reference the value from SideExecID(1427). */\n  SideExecRefID = 1900,\n  /** Used to reference the value from LegExecID(1893). */\n  LegExecRefID = 1901,\n  /** Indicates, if \"Y\", that a stated valuation includes a haircut, e.g. that the stated value reflects the subtraction of the haircut. Note that a value of \"N\" does not imply a haircut is not applicable, only that the haircut (if any) is not reflected in the stated valuation. */\n  HaircutIndicator = 1902,\n  /** Trade identifier required by government regulators or other regulatory organizations for regulatory reporting purposes. For example, unique swap identifer (USI) as required by the U.S. Commodity Futures Trading Commission. */\n  RegulatoryTradeID = 1903,\n  /** Identifies the event which caused origination of the identifier in RegulatoryTradeID(1903). When more than one event is the cause, use the higher enumeration value. For example, if the identifier is originated due to an allocated trade which was cleared and reported, use the enumeration value 2 (Clearing). */\n  RegulatoryTradeIDEvent = 1904,\n  RegulatoryTradeIDSource = 1905,\n  RegulatoryTradeIDType = 1906,\n  /** Number of regulatory IDs in the repeating group. */\n  NoRegulatoryTradeIDs = 1907,\n  /** Number of regulatory IDs in the repeating group. */\n  NoAllocRegulatoryTradeIDs = 1908,\n  /** Trade identifier required by government regulators or other regulatory organizations for regulatory reporting purposes. For example, unique swap identifer (USI) as required by the U.S. Commodity Futures Trading Commission. */\n  AllocRegulatoryTradeID = 1909,\n  AllocRegulatoryTradeIDSource = 1910,\n  /** Identifies the event which caused the origination of the identifier in AllocRegulatoryTradeID(1909). When more than one event is the cause, use the higher enumeration value. For example, if the identifier is originated due to an allocated trade which was cleared and reported, use the enumeration value 2(Clearing). */\n  AllocRegulatoryTradeIDEvent = 1911,\n  /** Specifies the type of trade identifier provided in AllocRegulatoryTradeID(1909), within the context of the hierarchy of trade events. */\n  AllocRegulatoryTradeIDType = 1912,\n  /** The number of competing Respondents (e.g. dealers) to receive a quote request (either via the QuoteRequest(35=R) or via other means). */\n  NumOfCompetitors = 1913,\n  ResponseTime = 1914,\n  QuoteDisplayTime = 1915,\n  /** Time unit in which the ExposureDuration(1629) is expressed. */\n  ExposureDurationUnit = 1916,\n  /** The best quoted price received among those not traded. */\n  CoverPrice = 1917,\n  /** Number of clearing account type entries. */\n  NoClearingAccountTypes = 1918,\n  /** Number of price movement entries. */\n  NoPriceMovements = 1919,\n  /** Number of price movement value entries. */\n  NoPriceMovementValues = 1920,\n  /** Value at specific price movement point. */\n  PriceMovementValue = 1921,\n  /** Price movement point up (positive integer) or down (negative integer) relative to the underlying price of the instrument. */\n  PriceMovementPoint = 1922,\n  /** Describes the format of the PriceMovementValue(1921). */\n  PriceMovementType = 1923,\n  /** Specifies the party's or parties' intention to clear the trade. */\n  ClearingIntention = 1924,\n  /** Specifies the eligibility of this trade for clearing and central counterparty processing. */\n  TradeClearingInstruction = 1925,\n  /** Indicates that the trade being reported occurred in the past and is still in effect or active. */\n  BackloadedTradeIndicator = 1926,\n  /** Specifies how a trade was confirmed. */\n  ConfirmationMethod = 1927,\n  /** An indication that the trade is flagged for mandatory clearing. */\n  MandatoryClearingIndicator = 1928,\n  MixedSwapIndicator = 1929,\n  /** An indication that the price is off-market. */\n  OffMarketPriceIndicator = 1930,\n  /** Indication of how a trade was verified. */\n  VerificationMethod = 1931,\n  /** Specifies whether a party to a swap is using an exception to a clearing requirement. In the US, one such clearing requirement is CFTC's rule pursuant to CEA Section 2(h)(1). */\n  ClearingRequirementException = 1932,\n  /** Used to specify whether the principal is paying or receiving the fixed rate in an interest rate swap. */\n  IRSDirection = 1933,\n  /** Type of regulatory report. */\n  RegulatoryReportType = 1934,\n  VoluntaryRegulatoryReport = 1935,\n  TradeCollateralization = 1936,\n  /** Specifies the post-execution trade continuation or lifecycle event. Additional values may be used by mutual agreement of the counterparties. */\n  TradeContinuation = 1937,\n  /** The broad asset category for assessing risk exposure. */\n  AssetClass = 1938,\n  /** The subcategory description of the asset class. */\n  AssetSubClass = 1939,\n  AssetType = 1940,\n  /** The classification or type of swap. Additional values may be used by mutual agreement of the counterparties. */\n  SwapClass = 1941,\n  /** The Nth reference obligation to default in a CDS reference basket. If specified without MthToDefault(1943) the default will trigger a CDS payout. If MthToDefault(1943) is also present then payout occurs between the Nth and Mth obligations to default. */\n  NthToDefault = 1942,\n  /** The Mth reference obligation to default in a CDS reference basket. When NthToDefault(1942) and MthToDefault(1943) are represented then the CDS payout occurs between the Nth and Mth obligations to default. */\n  MthToDefault = 1943,\n  /** Relevant settled entity matrix source. */\n  SettledEntityMatrixSource = 1944,\n  /** The publication date of the applicable version of the matrix. If not specified, the Standard Terms Supplement defines rules for which version of the matrix is applicable. */\n  SettledEntityMatrixPublicationDate = 1945,\n  /** Coupon type of the bond. */\n  CouponType = 1946,\n  /** Specifies the total amount of the issue. Corresponds to the par value multiplied by the number of issued securities. */\n  TotalIssuedAmount = 1947,\n  /** Time unit multiplier for the frequency of the bond's coupon payment. */\n  CouponFrequencyPeriod = 1948,\n  /** Time unit associated with the frequency of the bond's coupon payment. */\n  CouponFrequencyUnit = 1949,\n  /** The day count convention used in interest calculations for a bond or an interest bearing security. Absence of this field for a bond or an interest bearing security transaction implies a \"flat\" trade, i.e. no accrued interest determined at time of the transaction. */\n  CouponDayCount = 1950,\n  /** Identifies the equity in which a convertible bond can be converted to. */\n  ConvertibleBondEquityID = 1951,\n  ConvertibleBondEquityIDSource = 1952,\n  /** Reference month if there is no applicable MaturityMonthYear(200) value for the contract or security. */\n  ContractPriceRefMonth = 1953,\n  /** Indicates the seniority level of the lien in a loan. */\n  LienSeniority = 1954,\n  /** Specifies the type of loan when the credit default swap's reference obligation is a loan. */\n  LoanFacility = 1955,\n  /** Specifies the type of reference entity for first-to-default CDS basket contracts. */\n  ReferenceEntityType = 1956,\n  /** The series identifier of a credit default swap index. */\n  IndexSeries = 1957,\n  /** The version of a credit default swap index annex. */\n  IndexAnnexVersion = 1958,\n  /** The date of a credit default swap index series annex. */\n  IndexAnnexDate = 1959,\n  /** The source of a credit default swap series annex. */\n  IndexAnnexSource = 1960,\n  /** The version of the master agreement */\n  AgreementVersion = 1961,\n  MasterConfirmationDesc = 1962,\n  /** Alternative to broker confirmation. The date of the confirmation executed between the parties and intended to govern all relevant transactions between those parties. */\n  MasterConfirmationDate = 1963,\n  MasterConfirmationAnnexDesc = 1964,\n  /** The date that an annex to the master confirmation was executed between the parties. */\n  MasterConfirmationAnnexDate = 1965,\n  /** Describes the type of broker confirmation executed between the parites. Can be used as an alterative to MasterConfirmationDesc(1962). See http://www.fpml.org/coding-scheme/broker-confirmation-type for values. */\n  BrokerConfirmationDesc = 1966,\n  /** The type of ISDA Credit Support Agreement. See http://www.fpml.org/coding-scheme/credit-support-agreement-type for values. */\n  CreditSupportAgreementDesc = 1967,\n  /** The date of the ISDA Credit Support Agreement executed between the parties and intended to govern collateral arrangements for all OTC derivatives transactions between those parties. */\n  CreditSupportAgreementDate = 1968,\n  /** A common reference or unique identifier to identify the ISDA Credit Support Agreement executed between the parties. */\n  CreditSupportAgreementID = 1969,\n  /** Identification of the law governing the transaction. See http://www.fpml.org/coding-scheme/governing-law for values. */\n  GoverningLaw = 1970,\n  /** Number of regulatory IDs in the repeating group. */\n  NoSideRegulatoryTradeIDs = 1971,\n  /** Trade identifier required by government regulators or other regulatory organziations for regulatory reporting purposes. For example, unique swap identifier (USI) as required by the U.S. Commodity Futures Trading Commission. */\n  SideRegulatoryTradeID = 1972,\n  SideRegulatoryTradeIDSource = 1973,\n  /** Identifies the event which caused origination of the identifier in SideRegulatoryTradeID(1972). When more than one event is the cause, use the higher enumeration value. For example, if the identifier is originated due to an allocated trade which was cleared and reported, use the enumeration value 2 (Clearing). */\n  SideRegulatoryTradeIDEvent = 1974,\n  /** Specifies the type of trade identifier provided in SideRegulatoryTradeID(1972), within the context of the hierarchy of trade events. */\n  SideRegulatoryTradeIDType = 1975,\n  /** Number of secondary asset classes in the repeating group. */\n  NoSecondaryAssetClasses = 1976,\n  /** The broad asset category for assessing risk exposure for a multi-asset trade. */\n  SecondaryAssetClass = 1977,\n  /** An indication of the general description of the asset class. */\n  SecondaryAssetSubClass = 1978,\n  SecondaryAssetType = 1979,\n  /** Indication that a block trade will be allocated. */\n  BlockTrdAllocIndicator = 1980,\n  /** Number of events in the repeating group. */\n  NoUnderlyingEvents = 1981,\n  /** Code to represent the type of event. */\n  UnderlyingEventType = 1982,\n  /** The date of the event. */\n  UnderlyingEventDate = 1983,\n  /** The time of the event. To be used in combination with UnderlyingEventDate(1983). */\n  UnderlyingEventTime = 1984,\n  /** Time unit associated with the event. */\n  UnderlyingEventTimeUnit = 1985,\n  /** Time unit multiplier for the event. */\n  UnderlyingEventTimePeriod = 1986,\n  /** Predetermined price of issue at event, if applicable. */\n  UnderlyingEventPx = 1987,\n  /** For a basket, or pool, describes the weight of each of the constituents within the basket. If not provided, it is assumed to be equal weighted. */\n  UnderlyingConstituentWeight = 1988,\n  /** Specifies the coupon type of the underlying bond. */\n  UnderlyingCouponType = 1989,\n  /** Specifies the total amount of the issue. Corresponds to the par value multiplied by the number of issued security. */\n  UnderlyingTotalIssuedAmount = 1990,\n  /** Time unit multiplier for the frequency of the bond's coupon payment. */\n  UnderlyingCouponFrequencyPeriod = 1991,\n  /** Time unit associated with the frequency of the bond's coupon payment. */\n  UnderlyingCouponFrequencyUnit = 1992,\n  /** The day count convention used in interest calculations for a bond or an interest bearing security. */\n  UnderlyingCouponDayCount = 1993,\n  UnderlyingObligationID = 1994,\n  /** Identifies the source scheme of the UnderlyingObligationID(1994). */\n  UnderlyingObligationIDSource = 1995,\n  /** Specifies the equity in which a convertible bond can be converted. */\n  UnderlyingEquityID = 1996,\n  /** Identifies the source of the UnderlyingEquityID(1996). */\n  UnderlyingEquityIDSource = 1997,\n  /** Indicates the seniority level of the lien in a loan. */\n  UnderlyingLienSeniority = 1998,\n  /** Specifies the type of loan when the credit default swap's reference obligation is a loan. */\n  UnderlyingLoanFacility = 1999,\n  /** Specifies the type of reference entity for first-to-default CDS basket contracts. */\n  UnderlyingReferenceEntityType = 2000,\n  /** Specifies the strike price offset from the named index. */\n  StrikeIndexSpread = 2001,\n  /** Specifies the source of trade valuation data. */\n  ValuationSource = 2002,\n  /** The series identifier of a credit default swap index. */\n  UnderlyingIndexSeries = 2003,\n  /** The version identifier of a credit default swap index annex. */\n  UnderlyingIndexAnnexVersion = 2004,\n  /** The date of a credit default swap index series annex. */\n  UnderlyingIndexAnnexDate = 2005,\n  /** The source of a credit default swap index series annex. */\n  UnderlyingIndexAnnexSource = 2006,\n  /** Identifies an entire suite of products for a given market. In Futures this may be \"interest rates\", \"agricultural\", \"equity indexes\", etc */\n  UnderlyingProductComplex = 2007,\n  /** An exchange specific name assigned to a group of related securities which may be concurrently affected by market events and actions. */\n  UnderlyingSecurityGroup = 2008,\n  /** Indicator to determine if Instrument is Settle on Open. */\n  UnderlyingSettleOnOpenFlag = 2009,\n  /** Method under which assignment was conducted */\n  UnderlyingAssignmentMethod = 2010,\n  /** Indicates the current state of the underlying instrument. */\n  UnderlyingSecurityStatus = 2011,\n  /** Type of reference obligation for credit derivatives contracts. */\n  UnderlyingObligationType = 2012,\n  /** The broad asset category for assessing risk exposure. */\n  UnderlyingAssetClass = 2013,\n  /** An indication of the general description of the asset class. */\n  UnderlyingAssetSubClass = 2014,\n  UnderlyingAssetType = 2015,\n  /** The type or classification of swap. Additional values may be used by mutual agreement of the counterparties. */\n  UnderlyingSwapClass = 2016,\n  /** The Nth reference obligation to default in a CDS reference basket. If specified without UnderlyingMthToDefault(2018) the default will trigger a CDS payout. If UnderlyingMthToDefault(2018) is also present then payout occurs between the Nth and Mth obligations to default. */\n  UnderlyingNthToDefault = 2017,\n  /** The Mth reference obligation to default in a CDS reference basket. When UnderlyingNthToDefault(2017) and UnderlyingMthToDefault(2018) are represented then the CDS payout occurs between the Nth and Mth obligations to default. */\n  UnderlyingMthToDefault = 2018,\n  /** Relevant settled entity matrix source. */\n  UnderlyingSettledEntityMatrixSource = 2019,\n  /** Specifies the publication date of the applicable version of the matrix. If not specified, the Standard Terms Supplement defines rules for which version of the matrix is applicable. */\n  UnderlyingSettledEntityMatrixPublicationDate = 2020,\n  /** Used for derivatives. Multiplier applied to the strike price for the purpose of calculating the settlement value. */\n  UnderlyingStrikeMultiplier = 2021,\n  /** Used for derivatives. The number of shares/units for the financial instrument involved in the option trade. */\n  UnderlyingStrikeValue = 2022,\n  /** Specifies how the strike price is determined at the point of option exercise. The strike may be fixed throughout the life of the option, set at expiration to the value of the underlying, set to the average value of the underlying , or set to the optimal value of the underlying. */\n  UnderlyingStrikePriceDeterminationMethod = 2023,\n  /** Specifies the boundary condition to be used for the strike price relative to the underlying price at the point of option exercise. */\n  UnderlyingStrikePriceBoundaryMethod = 2024,\n  /** Used in combination with StrikePriceBoundaryMethod(1479) to specify the percentage of the strike price in relation to the underlying price. The percentage is generally 100 or greater for puts and 100 or less for calls. */\n  UnderlyingStrikePriceBoundaryPrecision = 2025,\n  /** Minimum price increment for the instrument. Could also be used to represent tick value. */\n  UnderlyingMinPriceIncrement = 2026,\n  /** Minimum price increment amount associated with the UnderlyingMinPriceIncrement(2026). For listed derivatives, the value can be calculated by multiplying UnderlyingMinPriceIncrement(2026) by UnderlyingContractMultiplier(436). */\n  UnderlyingMinPriceIncrementAmount = 2027,\n  /** Indicates the type of valuation method or payout trigger for an in-the-money option. */\n  UnderlyingOptPayoutType = 2028,\n  /** Cash amount indicating the pay out associated with an option. For binary options this is a fixed amount. */\n  UnderlyingOptPayoutAmount = 2029,\n  /** Method for price quotation. */\n  UnderlyingPriceQuoteMethod = 2030,\n  /** Indicates type of valuation method used. */\n  UnderlyingValuationMethod = 2031,\n  /** Indicates whether the instruments are pre-listed only or can also be defined via user request. */\n  UnderlyingListMethod = 2032,\n  /** Used to express the ceiling price of a capped call. */\n  UnderlyingCapPrice = 2033,\n  /** Used to express the floor price of a capped put. */\n  UnderlyingFloorPrice = 2034,\n  /** Used to indicate if a security has been defined as flexible according to \"non-standard\" means. Analog to CFICode Standard/Non-standard indicator. */\n  UnderlyingFlexibleIndicator = 2035,\n  /** Used to indicate if a product or group of product supports the creation of flexible securities. */\n  UnderlyingFlexProductEligibilityIndicator = 2036,\n  /** Position limit for the instrument. */\n  UnderlyingPositionLimit = 2037,\n  /** Position Limit in the near-term contract for a given exchange-traded product. */\n  UnderlyingNTPositionLimit = 2038,\n  /** Identifies the mortgage backed security (MBS) / asset backed security (ABS) pool. */\n  UnderlyingPool = 2039,\n  /** Specifies when the contract (i.e. MBS/TBA) will settle. Must be present for MBS/TBA. */\n  UnderlyingContractSettlMonth = 2040,\n  /** If different from IssueDate() */\n  UnderlyingDatedDate = 2041,\n  /** If different from IssueDate and DatedDate */\n  UnderlyingInterestAccrualDate = 2042,\n  /** Indicates whether a restriction applies to short selling a security. */\n  UnderlyingShortSaleRestriction = 2043,\n  /** Spread table code referred by the security or symbol. */\n  UnderlyingRefTickTableID = 2044,\n  /** Number of complex events in the repeating group. */\n  NoUnderlyingComplexEvents = 2045,\n  /** Identifies the type of complex event. */\n  UnderlyingComplexEventType = 2046,\n  /** Cash amount indicating the pay out associated with an event. For binary options this is a fixed amount. */\n  UnderlyingComplexOptPayoutAmount = 2047,\n  /** Specifies the price at which the complex event takes effect. Impact of the event price is determined by the UnderlyingComplexEventType(2046). */\n  UnderlyingComplexEventPrice = 2048,\n  /** Specifies the boundary condition to be used for the event price relative to the UnderlyingComplexEventPrice(2048) at the point the complex event outcome takes effect as determined by the UnderlyingComplexEventPriceTimeType(2051). */\n  UnderlyingComplexEventPriceBoundaryMethod = 2049,\n  /** Used in combination with UnderlyingComplexEventPriceBoundaryMethod(2049) to specify the percentage of the strike price in relation to the underlying price. The percentage is generally 100 or greater for puts and 100 or less for calls. */\n  UnderlyingComplexEventPriceBoundaryPrecision = 2050,\n  /** Specifies when the complex event outcome takes effect. The outcome of a complex event is a payout or barrier action as specified by the UnderlyingComplexEventType(2046). */\n  UnderlyingComplexEventPriceTimeType = 2051,\n  UnderlyingComplexEventCondition = 2052,\n  /** Number of underlying complex event dates in the repeating group. */\n  NoUnderlyingComplexEventDates = 2053,\n  UnderlyingComplexEventStartDate = 2054,\n  UnderlyingComplexEventEndDate = 2055,\n  /** Number of complex event times in the repeating group. */\n  NoUnderlyingComplexEventTimes = 2056,\n  UnderlyingComplexEventStartTime = 2057,\n  UnderlyingComplexEventEndTime = 2058,\n  /** Number of events in the repeating group */\n  NoLegEvents = 2059,\n  /** Code to represent the type of event. */\n  LegEventType = 2060,\n  /** The date of the event. */\n  LegEventDate = 2061,\n  /** Specific time of event. To be used in combination with LegEventDate(2061). */\n  LegEventTime = 2062,\n  /** Time unit associated with the event. */\n  LegEventTimeUnit = 2063,\n  /** Time unit multiplier for the event. */\n  LegEventTimePeriod = 2064,\n  /** Predetermined price of issue at event, if applicable. */\n  LegEventPx = 2065,\n  /** Free form text to specify additional information or enumeration description when a standard value does not apply. */\n  LegEventText = 2066,\n  /** The broad asset category for assessing risk exposure. */\n  LegAssetClass = 2067,\n  /** The general subcategory description of the asset class. */\n  LegAssetSubClass = 2068,\n  LegAssetType = 2069,\n  /** Swap type. */\n  LegSwapClass = 2070,\n  /** Free form text to specify comments related to the event. */\n  UnderlyingEventText = 2071,\n  /** Byte length of encoded (non-ASCII characters) EncodedUnderlyingEventText(2073) field. */\n  EncodedUnderlyingEventTextLen = 2072,\n  /** Encoded (non-ASCII characters) representation of the UnderlyingEventText(2071) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the UnderlyingEventText(2071) field. */\n  EncodedUnderlyingEventText = 2073,\n  /** Byte length of encoded (non-ASCII characters) EncodedLegEventText(2075) field. */\n  EncodedLegEventTextLen = 2074,\n  /** Encoded (non-ASCII characters) representation of the LegEventText(2066) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the LegEventText(2066) field. */\n  EncodedLegEventText = 2075,\n  /** Number of secondary asset classes in the repeating group. */\n  NoLegSecondaryAssetClasses = 2076,\n  /** The broad asset category for assessing risk exposure for a multi-asset trade. */\n  LegSecondaryAssetClass = 2077,\n  /** An indication of the general description of the asset class. */\n  LegSecondaryAssetSubClass = 2078,\n  LegSecondaryAssetType = 2079,\n  /** Number of secondary asset classes in the repeating group. */\n  NoUnderlyingSecondaryAssetClasses = 2080,\n  /** The broad asset category for assessing risk exposure for a multi-asset trade. */\n  UnderlyingSecondaryAssetClass = 2081,\n  /** An indication of the general description of the asset class. */\n  UnderlyingSecondaryAssetSubClass = 2082,\n  UnderlyingSecondaryAssetType = 2083,\n  /** The date of the previous clearing business day. */\n  PreviousClearingBusinessDate = 2084,\n  /** The valuation date of the trade. */\n  ValuationDate = 2085,\n  /** The valuation time of the trade. */\n  ValuationTime = 2086,\n  ValuationBusinessCenter = 2087,\n  /** Foreign exchange rate used to compute the MarginAmt(1645) from the MarginAmtCcy(1646) and the Currency(15). */\n  MarginAmtFXRate = 2088,\n  /** Specifies whether or not MarginAmtFXRate(2088) should be multipled or divided. */\n  MarginAmtFXRateCalc = 2089,\n  /** Foreign exchange rate used to compute the CurrentCollateralAmount(1704) from the CollateralCurrency(1646) and the Currency(15). */\n  CollateralFXRate = 2090,\n  /** Specifies whether or not CollateralFXRate(2090) should be multipled or divided. */\n  CollateralFXRateCalc = 2091,\n  /** Market segment associated with the collateral amount. */\n  CollateralAmountMarketSegmentID = 2092,\n  /** Market associated with the collateral amount. */\n  CollateralAmountMarketID = 2093,\n  /** Foreign exchange rate used to compute the PayAmount(1710) or CollectAmount(1711) from the PayCollectCurrency(1709) and the Currency(15). */\n  PayCollectFXRate = 2094,\n  /** Specifies whether or not PayCollectFXRate(2094) should be multipled or divided. */\n  PayCollectFXRateCalc = 2095,\n  /** Corresponds to the value in StreamDesc(40051) in the StreamGrp component. */\n  PosAmtStreamDesc = 2096,\n  /** Foreign exchange rate used to compute the PosAmt(708) from the PositionCurrency(1055) and the Currency (15). */\n  PositionFXRate = 2097,\n  /** Specifies whether or not PositionFXRate(2097) should be multipled or divided. */\n  PositionFXRateCalc = 2098,\n  /** Market segment associated with the position amount. */\n  PosAmtMarketSegmentID = 2099,\n  /** Market associated with the position amount. */\n  PosAmtMarketID = 2100,\n  /** Indicates if the position has been terminated. */\n  TerminatedIndicator = 2101,\n  /** Indicates whether the originating account is exempt (Y) from marking orders as short or not (N). This designation may be used on both buy and sell orders. */\n  ShortMarkingExemptIndicator = 2102,\n  /** Specifies the identifier of the reporting entity as assigned by regulatory agency. */\n  RelatedRegulatoryTradeIDSource = 2103,\n  /** The number of attached files. */\n  NoAttachments = 2104,\n  /** Specifies the file name of the attachment. */\n  AttachmentName = 2105,\n  AttachmentMediaType = 2106,\n  AttachmentClassification = 2107,\n  /** Used to specify an external URL where the attachment can be obtained. */\n  AttachmentExternalURL = 2108,\n  AttachmentEncodingType = 2109,\n  /** Unencoded content length in bytes. Can be used to validate successful unencoding. */\n  UnencodedAttachmentLen = 2110,\n  /** Byte length of encoded the EncodedAttachment(2112) field. */\n  EncodedAttachmentLen = 2111,\n  /** The content of the attachment in the encoding format specified in the AttachmentEncodingType(2109) field. */\n  EncodedAttachment = 2112,\n  /** The number of attachment keywords. */\n  NoAttachmentKeywords = 2113,\n  /** Can be used to provide data or keyword tagging of the content of the attachment. */\n  AttachmentKeyword = 2114,\n  /** Specifies the negotiation method to be used. */\n  NegotiationMethod = 2115,\n  /** The time of the next auction. */\n  NextAuctionTime = 2116,\n  /** Trade side of payout payer. */\n  ComplexOptPayoutPaySide = 2117,\n  /** Trade side of payout receiver. */\n  ComplexOptPayoutReceiveSide = 2118,\n  /** Reference to the underlier whose payments are being passed through. */\n  ComplexOptPayoutUnderlier = 2119,\n  /** Percentage of observed price for calculating the payout associated with the event. */\n  ComplexOptPayoutPercentage = 2120,\n  /** Specifies when the payout is to occur. */\n  ComplexOptPayoutTime = 2121,\n  ComplexOptPayoutCurrency = 2122,\n  /** Specifies the price percentage at which the complex event takes effect. Impact of the event price is determined by the ComplexEventType(1484). */\n  ComplexEventPricePercentage = 2123,\n  ComplexEventCurrencyOne = 2124,\n  ComplexEventCurrencyTwo = 2125,\n  /** For foreign exchange Quanto option feature. */\n  ComplexEventQuoteBasis = 2126,\n  /** Specifies the fixed FX rate alternative for FX Quantro options. */\n  ComplexEventFixedFXRate = 2127,\n  ComplexEventDeterminationMethod = 2128,\n  /** Used to identify the calculation agent. */\n  ComplexEventCalculationAgent = 2129,\n  /** Upper strike price for Asian option feature. Strike percentage for a Strike Spread. */\n  ComplexEventStrikePrice = 2130,\n  /** Strike factor for Asian option feature. Upper strike percentage for a Strike Spread. */\n  ComplexEventStrikeFactor = 2131,\n  /** Upper string number of options for a Strike Spread. */\n  ComplexEventStrikeNumberOfOptions = 2132,\n  /** Reference to credit event table elsewhere in the message. */\n  ComplexEventCreditEventsXIDRef = 2133,\n  /** The notifying party is the party that notifies the other party when a credit event has occurred by means of a credit event notice. If more than one party is referenced as being the notifying party then either party may notify the other of a credit event occurring. */\n  ComplexEventCreditEventNotifyingParty = 2134,\n  ComplexEventCreditEventBusinessCenter = 2135,\n  /** When this element is specified and set to 'Y', indicates that ISDA defined Standard Public Sources are applicable. */\n  ComplexEventCreditEventStandardSources = 2136,\n  ComplexEventCreditEventMinimumSources = 2137,\n  /** Identifier of this complex event for cross referencing elsewhere in the message. */\n  ComplexEventXID = 2138,\n  /** Reference to a complex event elsewhere in the message. */\n  ComplexEventXIDRef = 2139,\n  /** Specifies the methodology and/or assumptions used to generate the trade value. */\n  ValuationReferenceModel = 2140,\n  /** Specifies the type of trade strategy. */\n  StrategyType = 2141,\n  /** When this element is specified and set to 'Y', it indicates that common pricing applies. Common pricing may be relevant for a transaction that references more than one commodity reference price. */\n  CommonPricingIndicator = 2142,\n  /** Specifies the consequences of bullion settlement disruption events. */\n  SettlDisruptionProvision = 2143,\n  /** Specifies the rounding direction if not overridden elsewhere. */\n  InstrumentRoundingDirection = 2144,\n  /** Specifies the rounding precision in terms of a number of decimal places. Note how a percentage rate rounding of 5 decimal places is expressed as a rounding precision of 7. */\n  InstrumentRoundingPrecision = 2145,\n  /** Indicator to determine if the instrument is to settle on open. */\n  LegSettleOnOpenFlag = 2146,\n  /** Specifies the method under which assignment was conducted. */\n  LegInstrmtAssignmentMethod = 2147,\n  /** Indicates the current state of the leg instrument. */\n  LegSecurityStatus = 2148,\n  LegRestructuringType = 2149,\n  LegSeniority = 2150,\n  LegNotionalPercentageOutstanding = 2151,\n  /** Used to reflect the Original value prior to the application of a credit event. See LegNotionalPercentageOutstanding(2151). */\n  LegOriginalNotionalPercentageOutstanding = 2152,\n  /** Lower bound percentage of the loss that the tranche can endure. */\n  LegAttachmentPoint = 2153,\n  /** Upper bound percentage of the loss the tranche can endure. */\n  LegDetachmentPoint = 2154,\n  /** Type of reference obligation for credit derivatives contracts. */\n  LegObligationType = 2155,\n  /** The sub-classification or notional schedule type of the swap. */\n  LegSwapSubClass = 2156,\n  /** The Nth reference obligation in a CDS reference basket. If specified without LegMthToDefault(2158) the default will trigger a CDS payout. If LegMthToDefault(2158) is also present then payout occurs between the Nth and Mth obligations to default. */\n  LegNthToDefault = 2157,\n  /** The Mth reference obligation to default in a CDS reference basket. When an NthToDefault(2157) to MthToDefault(2158) are represented then the CDS payout occurs between the Nth and Mth obligations to default. */\n  LegMthToDefault = 2158,\n  /** Relevant settled entity matrix source. */\n  LegSettledEntityMatrixSource = 2159,\n  /** The publication date of the applicable version of the matrix. When this element is omitted, the Standard Terms Supplement defines rules for which version of the matrix is applicable. */\n  LegSettledEntityMatrixPublicationDate = 2160,\n  /** Specifies the coupon type of the bond. */\n  LegCouponType = 2161,\n  /** Specifies the total amount of the issue. Corresponds to the par value multiplied by the number of issued security. */\n  LegTotalIssuedAmount = 2162,\n  /** Time unit multiplier for the frequency of the bond's coupon payment. */\n  LegCouponFrequencyPeriod = 2163,\n  /** Time unit associated with the frequency of the bond's coupon payment. */\n  LegCouponFrequencyUnit = 2164,\n  /** The day count convention used in interest calculations for a bond or an interest bearing security. */\n  LegCouponDayCount = 2165,\n  /** Identifies the equity in which a convertible bond can be converted to. */\n  LegConvertibleBondEquityID = 2166,\n  /** Identifies class or source of the LegConvertibleBondEquitySecurityID(2166) value. */\n  LegConvertibleBondEquityIDSource = 2167,\n  /** Reference month if there is no applicable LegMaturityMonthYear(610) value for the contract or security. */\n  LegContractPriceRefMonth = 2168,\n  /** Indicates the seniority level of the lien in a loan. */\n  LegLienSeniority = 2169,\n  /** Specifies the type of loan when the credit default swap's reference obligation is a loan. */\n  LegLoanFacility = 2170,\n  /** Specifies the type of reference entity for first-to-default CDS basket contracts. */\n  LegReferenceEntityType = 2171,\n  /** The series identifier of a credit default swap index. */\n  LegIndexSeries = 2172,\n  /** The version of a credit default swap index annex. */\n  LegIndexAnnexVersion = 2173,\n  /** The date of a credit default swap index series annex. */\n  LegIndexAnnexDate = 2174,\n  /** The source of a credit default swap series annex. */\n  LegIndexAnnexSource = 2175,\n  /** In an outright or forward commodity trade that is cash settled this is the index used to determine the cash payment. */\n  LegSettlRateIndex = 2176,\n  /** This is an optional qualifying attribute of LegSettlementRateIndex(2176) such as the delivery zone for an electricity contract. */\n  LegSettlRateIndexLocation = 2177,\n  /** Description of the option expiration. */\n  LegOptionExpirationDesc = 2178,\n  /** Byte length of encoded (non-ASCII characters) EncodedLegOptionExpirationDesc(2180) field. */\n  EncodedLegOptionExpirationDescLen = 2179,\n  /** Encoded (non-ASCII characters) representation of the LegOptionExpirationDesc(2178) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the LegOptionExpirationDesc(2178). */\n  EncodedLegOptionExpirationDesc = 2180,\n  /** Used for derivatives. Multiplier applied to the strike price for the purpose of calculating the settlement value. */\n  LegStrikeMultiplier = 2181,\n  /** The number of shares/units for the financial instrument involved in the option trade. Used for derivatives. */\n  LegStrikeValue = 2182,\n  /** Used to express the unit of measure (UOM) of the price if different from the contract. */\n  LegStrikeUnitOfMeasure = 2183,\n  /** Specifies the index used to calculate the strike price. */\n  LegStrikeIndex = 2184,\n  /** Specifies the strike price offset from the named index. */\n  LegStrikeIndexSpread = 2185,\n  /** Specifies how the strike price is determined at the point of option exercise. The strike may be fixed throughout the life of the option, set at expiration to the value of the underlying, set to the average value of the underlying , or set to the optimal value of the underlying. */\n  LegStrikePriceDeterminationMethod = 2186,\n  /** Specifies the boundary condition to be used for the strike price relative to the underlying price at the point of option exercise. */\n  LegStrikePriceBoundaryMethod = 2187,\n  /** Used in combination with StrikePriceBoundaryMethod(2187) to specify the percentage of the strike price in relation to the underlying price. The percentage is generally 100 or greater for puts and 100 or less for calls. */\n  LegStrikePriceBoundaryPrecision = 2188,\n  /** Specifies how the underlying price is determined at the point of option exercise. The underlying price may be set to the current settlement price, set to a special reference, set to the optimal value of the underlying during the defined period (\"Look-back\") or set to the average value of the underlying during the defined period (\"Asian option\"). */\n  LegUnderlyingPriceDeterminationMethod = 2189,\n  /** Minimum price increment for a given exchange-traded instrument. Could also be used to represent tick value. */\n  LegMinPriceIncrement = 2190,\n  /** Minimum price increment amount associated with the LegMinPriceIncrement(2190). For listed derivatives, the value can be calculated by multiplying LegMinPriceIncrement(2190) by LegContractMultiplier(614). */\n  LegMinPriceIncrementAmount = 2191,\n  /** Settlement method for a contract or instrument. Additional values may be used with bilateral agreement. */\n  LegSettlMethod = 2192,\n  /** Indicates the type of valuation method or trigger payout for an in-the-money option. */\n  LegOptPayoutType = 2193,\n  /** Cash amount indicating the pay out associated with an option. For binary options this is a fixed amount. */\n  LegOptPayoutAmount = 2194,\n  /** Specifies the method for price quotation. */\n  LegPriceQuoteMethod = 2195,\n  /** Specifies the type of valuation method applied. */\n  LegValuationMethod = 2196,\n  /** Specifies the source of trade valuation data. */\n  LegValuationSource = 2197,\n  /** Specifies the methodology and/or assumptions used to generate the trade value. */\n  LegValuationReferenceModel = 2198,\n  /** Indicates whether instruments are pre-listed only or can also be defined via user request. */\n  LegListMethod = 2199,\n  /** Used to express the ceiling price of a capped call. */\n  LegCapPrice = 2200,\n  /** Used to express the floor price of a capped put. */\n  LegFloorPrice = 2201,\n  /** Used to indicate a derivatives security that can be defined using flexible terms. The terms commonly permitted to be defined by market participants are expiration date and strike price. FlexibleIndicator is an alternative to LegCFICode(608) Standard/Non-standard attribute. */\n  LegFlexibleIndicator = 2202,\n  /** Used to indicate if a product or group of product supports the creation of flexible securities. */\n  LegFlexProductEligibilityIndicator = 2203,\n  LegComplexEventStartTime = 2204,\n  /** Position Limit for a given exchange-traded product. */\n  LegPositionLimit = 2205,\n  /** Position limit in the near-term contract for a given exchange-traded product. */\n  LegNTPositionLimit = 2206,\n  /** The program under which a commercial paper is issued. */\n  LegCPProgram = 2207,\n  /** The registration type of a commercial paper issuance. */\n  LegCPRegType = 2208,\n  /** Indicates whether a restriction applies to short selling a security. */\n  LegShortSaleRestriction = 2209,\n  /** Indicates the broad product or asset classification. May be used to provide grouping for the product taxonomy (Product(460), SecurityType(167), etc.) and/or the risk taxonomy (AssetClass(1938), AssetSubClass(1939), AssetType(1940), etc.). */\n  AssetGroup = 2210,\n  /** Specifies the type of trade strategy. */\n  LegStrategyType = 2211,\n  /** When this element is specified and set to 'Y', it indicates that common pricing applies. Common pricing may be relevant for a transaction that references more than one commodity reference price. */\n  LegCommonPricingIndicator = 2212,\n  /** Specifies the consequences of bullion settlement disruption events. */\n  LegSettlDisruptionProvision = 2213,\n  LegInstrumentRoundingDirection = 2214,\n  /** Specifies the rounding precision in terms of a number of decimal places. Note how a percentage rate rounding of 5 decimal places is expressed as a rounding precision of 7. */\n  LegInstrumentRoundingPrecision = 2215,\n  /** The fee rate when MiscFeeAmt(137) is a percentage of trade quantity. */\n  MiscFeeRate = 2216,\n  /** The fee amount due if different from MiscFeeAmt(137). */\n  MiscFeeAmountDue = 2217,\n  /** Number of complex events in the repeating group. */\n  NoLegComplexEvents = 2218,\n  /** Identifies the type of complex event. */\n  LegComplexEventType = 2219,\n  /** Trade side of payout payer. */\n  LegComplexOptPayoutPaySide = 2220,\n  /** Trade side of payout receiver. */\n  LegComplexOptPayoutReceiveSide = 2221,\n  /** Reference to the underlier whose payments are being passed through. */\n  LegComplexOptPayoutUnderlier = 2222,\n  /** Cash amount indicating the pay out associated with an event. For binary options this is a fixed amount. */\n  LegComplexOptPayoutAmount = 2223,\n  /** Percentage of observed price for calculating the payout associated with the event. */\n  LegComplexOptPayoutPercentage = 2224,\n  /** Specifies when the payout is to occur. */\n  LegComplexOptPayoutTime = 2225,\n  LegComplexOptPayoutCurrency = 2226,\n  /** Specifies the price at which the complex event takes effect. Impact of the event price is determined by the LegComplexEventType(2219). */\n  LegComplexEventPrice = 2227,\n  /** Specifies the price percentage at which the complex event takes effect. Impact of the event price is determined by the LegComplexEventType(2219). */\n  LegComplexEventPricePercentage = 2228,\n  /** Specifies the boundary condition to be used for the event price relative to the complex event price at the point the complex event outcome takes effect as determined by the LegComplexEventPriceTimeType(2231). */\n  LegComplexEventPriceBoundaryMethod = 2229,\n  /** Used in combination with LegComplexEventPriceBoundaryMethod(2229) to specify the percentage of the strike price in relation to the underlying price. The percentage is generally 100 or greater for puts and 100 or less for calls. */\n  LegComplexEventPriceBoundaryPrecision = 2230,\n  /** Specifies when the complex event outcome takes effect. The outcome of a complex event is a payout or barrier action as specified by the LegComplexEventType(2219). */\n  LegComplexEventPriceTimeType = 2231,\n  LegComplexEventCondition = 2232,\n  LegComplexEventCurrencyOne = 2233,\n  LegComplexEventCurrencyTwo = 2234,\n  /** For foreign exchange Quanto option feature. */\n  LegComplexEventQuoteBasis = 2235,\n  /** Specifies the fixed FX rate alternative for FX Quantro options. */\n  LegComplexEventFixedFXRate = 2236,\n  LegComplexEventDeterminationMethod = 2237,\n  /** Used to identify the calculation agent. */\n  LegComplexEventCalculationAgent = 2238,\n  /** Upper strike price for Asian option feature. Strike percentage for a Strike Spread. */\n  LegComplexEventStrikePrice = 2239,\n  /** Strike factor for Asian option feature. Upper strike percentage for a Strike Spread. */\n  LegComplexEventStrikeFactor = 2240,\n  /** Upper string number of options for a Strike Spread. */\n  LegComplexEventStrikeNumberOfOptions = 2241,\n  /** Reference to credit event table elsewhere in the message. */\n  LegComplexEventCreditEventsXIDRef = 2242,\n  /** The notifying party is the party that notifies the other party when a credit event has occurred by means of a credit event notice. If more than one party is referenced as being the notifying party then either party may notify the other of a credit event occurring. */\n  LegComplexEventCreditEventNotifyingParty = 2243,\n  LegComplexEventCreditEventBusinessCenter = 2244,\n  /** When this element is specified and set to 'Y', indicates that ISDA defined Standard Public Sources are applicable. */\n  LegComplexEventCreditEventStandardSources = 2245,\n  LegComplexEventCreditEventMinimumSources = 2246,\n  LegComplexEventEndTime = 2247,\n  /** Identifier of this complex event for cross referencing elsewhere in the message. */\n  LegComplexEventXID = 2248,\n  /** Reference to a complex event elsewhere in the message. */\n  LegComplexEventXIDRef = 2249,\n  /** Number of complex event dates in the repeating group. */\n  NoLegComplexEventDates = 2250,\n  LegComplexEventStartDate = 2251,\n  LegComplexEventEndDate = 2252,\n  /** Number of complex event times in the repeating group. */\n  NoLegComplexEventTimes = 2253,\n  /** Number of parties in the repeating group. */\n  NoLegInstrumentParties = 2254,\n  /** Used to identify party id related to instrument. */\n  LegInstrumentPartyID = 2255,\n  /** Used to identify source of instrument party id. */\n  LegInstrumentPartyIDSource = 2256,\n  /** Used to identify the role of instrument party id. */\n  LegInstrumentPartyRole = 2257,\n  /** Number of parties sub-IDs in the repeating group. */\n  NoLegInstrumentPartySubIDs = 2258,\n  /** PartySubID value within an instrument party repeating group. */\n  LegInstrumentPartySubID = 2259,\n  /** Type of LegInstrumentPartySubID (2259) value. */\n  LegInstrumentPartySubIDType = 2260,\n  /** Trade side of payout payer. */\n  UnderlyingComplexOptPayoutPaySide = 2261,\n  /** Trade side of payout receiver. */\n  UnderlyingComplexOptPayoutReceiveSide = 2262,\n  /** Reference to the underlier whose payments are being passed through. */\n  UnderlyingComplexOptPayoutUnderlier = 2263,\n  /** Percentage of observed price for calculating the payout associated with the event. */\n  UnderlyingComplexOptPayoutPercentage = 2264,\n  /** The time when the payout is to occur. */\n  UnderlyingComplexOptPayoutTime = 2265,\n  UnderlyingComplexOptPayoutCurrency = 2266,\n  /** Specifies the price percentage at which the complex event takes effect. Impact of the event price is determined by the UnderlyingComplexEventType(2046). */\n  UnderlyingComplexEventPricePercentage = 2267,\n  UnderlyingComplexEventCurrencyOne = 2268,\n  UnderlyingComplexEventCurrencyTwo = 2269,\n  /** Specifies the currency pairing for the quote. */\n  UnderlyingComplexEventQuoteBasis = 2270,\n  /** Specifies the fixed FX rate alternative for FX Quantro options. */\n  UnderlyingComplexEventFixedFXRate = 2271,\n  UnderlyingComplexEventDeterminationMethod = 2272,\n  /** Used to identify the calculation agent. */\n  UnderlyingComplexEventCalculationAgent = 2273,\n  /** Upper strike price for Asian option feature. Strike percentage for a Strike Spread. */\n  UnderlyingComplexEventStrikePrice = 2274,\n  /** Strike factor for Asian option feature. Upper strike percentage for a Strike Spread. */\n  UnderlyingComplexEventStrikeFactor = 2275,\n  /** Upper string number of options for a Strike Spread. */\n  UnderlyingComplexEventStrikeNumberOfOptions = 2276,\n  /** Reference to credit event table elsewhere in the message. */\n  UnderlyingComplexEventCreditEventsXIDRef = 2277,\n  /** The notifying party is the party that notifies the other party when a credit event has occurred by means of a credit event notice. If more than one party is referenced as being the notifying party then either party may notify the other of a credit event occurring. */\n  UnderlyingComplexEventCreditEventNotifyingParty = 2278,\n  UnderlyingComplexEventCreditEventBusinessCenter = 2279,\n  /** When this element is specified and set to 'Y', indicates that ISDA defined Standard Public Sources are applicable. */\n  UnderlyingComplexEventCreditEventStandardSources = 2280,\n  UnderlyingComplexEventCreditEventMinimumSources = 2281,\n  /** Identifier of this complex event for cross referencing elsewhere in the message. */\n  UnderlyingComplexEventXID = 2282,\n  /** Reference to a complex event elsewhere in the message. */\n  UnderlyingComplexEventXIDRef = 2283,\n  /** In an outright or forward commodity trade that is cash settled this is the index used to determine the cash payment. */\n  UnderlyingSettlRateIndex = 2284,\n  /** This is an optional qualifying attribute of UnderlyingSettlementRateIndex(2284) such as the delivery zone for an electricity contract. */\n  UnderlyingSettlRateIndexLocation = 2285,\n  /** Description of the option expiration. */\n  UnderlyingOptionExpirationDesc = 2286,\n  /** Byte length of encoded (non-ASCII characters) EncodedUnderlyingOptionExpirationDesc(2288) field. */\n  EncodedUnderlyingOptionExpirationDescLen = 2287,\n  /** Encoded (non-ASCII characters) representation of the UnderlyingOptionExpirationDesc(2286) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the UnderlyingOptionExpirationDesc(2286). */\n  EncodedUnderlyingOptionExpirationDesc = 2288,\n  /** The sub-classification or notional schedule type of the swap. */\n  UnderlyingSwapSubClass = 2289,\n  /** Used to express the unit of measure (UOM) of the price if different from the contract. */\n  UnderlyingStrikeUnitOfMeasure = 2290,\n  /** Specifies the index used to calculate the strike price. */\n  UnderlyingStrikeIndex = 2291,\n  /** Specifies the strike price offset from the named index. */\n  UnderlyingStrikeIndexSpread = 2292,\n  /** Specifies the source of trade valuation data. */\n  UnderlyingValuationSource = 2293,\n  /** Specifies the methodology and/or assumptions used to generate the trade value. */\n  UnderlyingValuationReferenceModel = 2294,\n  /** Specifies the type of trade strategy. */\n  UnderlyingStrategyType = 2295,\n  /** When this element is specified and set to 'Y', it indicates that common pricing applies. Common pricing may be relevant for a transaction that references more than one commodity reference price. */\n  UnderlyingCommonPricingIndicator = 2296,\n  /** Specifies the consequences of settlement disruption events. */\n  UnderlyingSettlDisruptionProvision = 2297,\n  /** Specifies the rounding direction if not overridden elsewhere. */\n  UnderlyingInstrumentRoundingDirection = 2298,\n  /** Specifies the rounding precision in terms of a number of decimal places. Note how a percentage rate rounding of 5 decimal places is expressed as a rounding precision of 7. */\n  UnderlyingInstrumentRoundingPrecision = 2299,\n  /** Total amount traded for this account (i.e. quantity * price) expressed in units of currency. */\n  AllocGrossTradeAmt = 2300,\n  /** The positive or negative change in quantity when this report is a trade correction or continuation. */\n  LastQtyChanged = 2301,\n  /** Specifies the version of a trade or contract. This is used by systems or trading platforms in conjunction with TradeID(1003) to uniquely identify the version of a trade or contract. If used the conditions for a change of version are subject to bilateral agreement. It is recommended to change the version only for significant updates to the business entity rather than for minor changes to trade details or systematic distribution of reports. Examples where the version would change are trade quantity modification, customer account assignment or trade novation. */\n  TradeVersion = 2302,\n  /** Indicates that the trade or event being reported occurred in the past and the trade is terminated or no longer active. */\n  HistoricalReportIndicator = 2303,\n  /** The number of asset attribute entries in the group. */\n  NoAssetAttributes = 2304,\n  AssetAttributeType = 2305,\n  /** Specifies the value of the asset attribute. */\n  AssetAttributeValue = 2306,\n  /** Limit or lower acceptable value of the attribute. */\n  AssetAttributeLimit = 2307,\n  /** Number of asset attribute entries in the group. */\n  NoLegAssetAttributes = 2308,\n  LegAssetAttributeType = 2309,\n  /** Specifies the value of the attribute. */\n  LegAssetAttributeValue = 2310,\n  /** Limit or lower acceptable value of the attribute. */\n  LegAssetAttributeLimit = 2311,\n  /** Number of asset attribute entries in the group. */\n  NoUnderlyingAssetAttributes = 2312,\n  UnderlyingAssetAttributeType = 2313,\n  /** Specifies the value of the attribute. */\n  UnderlyingAssetAttributeValue = 2314,\n  /** Limit or lower acceptable value of the attribute. */\n  UnderlyingAssetAttributeLimit = 2315,\n  /** Status of risk limit report. */\n  RiskLimitReportStatus = 2316,\n  /** The reason for rejecting the PartyRiskLimitsReport(35=CM) or PartyRiskLimitsUpdateReport(35=CR). */\n  RiskLimitReportRejectReason = 2317,\n  /** The unique identifier of the PartyRiskLimitCheckRequest(35=DF) message. */\n  RiskLimitCheckRequestID = 2318,\n  /** The unique and static identifier, at the business entity level, of a risk limit check request. */\n  RiskLimitCheckID = 2319,\n  /** Specifies the transaction type of the risk limit check request. */\n  RiskLimitCheckTransType = 2320,\n  /** Specifies the type of limit check message. */\n  RiskLimitCheckType = 2321,\n  /** Specifies the message reference identifier of the risk limit check request message. */\n  RiskLimitCheckRequestRefID = 2322,\n  /** Specifies the type of limit amount check being requested. */\n  RiskLimitCheckRequestType = 2323,\n  /** Specifies the amount being requested for approval. */\n  RiskLimitCheckAmount = 2324,\n  /** Indicates the status of the risk limit check request. */\n  RiskLimitCheckRequestStatus = 2325,\n  /** Result of the credit limit check request. */\n  RiskLimitCheckRequestResult = 2326,\n  /** The credit/risk limit amount approved. */\n  RiskLimitApprovedAmount = 2327,\n  /** The unique identifier of the PartyActionRequest(35=DH) message. */\n  PartyActionRequestID = 2328,\n  /** Specifies the type of action to take or was taken for a given party. */\n  PartyActionType = 2329,\n  /** Used to indicate whether the message being sent is to test the receiving application's availability to process the message. When set to \"Y\" the message is a test message. If not specified, the message is by default not a test message. */\n  ApplTestMessageIndicator = 2330,\n  /** The unique identifier of the PartyActionReport(35=DI) message as assigned by the message sender. */\n  PartyActionReportID = 2331,\n  /** Specifies the action taken as a result of the PartyActionType(2239) of the PartyActionRequest(35=DH) message. */\n  PartyActionResponse = 2332,\n  /** Specifies the reason the PartyActionRequest(35=DH) was rejected. */\n  PartyActionRejectReason = 2333,\n  /** The reference identifier of the PartyRiskLimitCheckRequest(35=DF) message, or a similar out of band message, that contained the approval for the risk/credit limit check request. */\n  RefRiskLimitCheckID = 2334,\n  /** Specifies which type of identifier is specified in RefRiskLimitCheckID(2334) field. */\n  RefRiskLimitCheckIDType = 2335,\n  /** The time interval for which the clip size limit applies. The velocity time unit is expressed in RiskLimitVelocityUnit(2337). */\n  RiskLimitVelocityPeriod = 2336,\n  /** Unit of time in which RiskLimitVelocityPeriod(2336) is expressed. */\n  RiskLimitVelocityUnit = 2337,\n  /** Qualifies the value of RequestingPartyRole(1660). */\n  RequestingPartyRoleQualifier = 2338,\n  /** Specifies the type of credit limit check model workflow to apply for the specified party */\n  RiskLimitCheckModelType = 2339,\n  EventMonthYear = 2340,\n  LegEventMonthYear = 2341,\n  UnderlyingEventMonthYear = 2342,\n  /** Indicates the status of the risk limit check performed on a trade. */\n  RiskLimitCheckStatus = 2343,\n  /** Indicates the status of the risk limit check performed on the side of a trade. */\n  SideRiskLimitCheckStatus = 2344,\n  /** Number of entitlement types in the repeating group. */\n  NoEntitlementTypes = 2345,\n  LegMidPx = 2346,\n  /** Specifies the regulatory mandate or rule that the transaction complies with. */\n  RegulatoryTransactionType = 2347,\n  /** Indicates the broad product or asset classification. May be used to provide grouping for the product taxonomy (Product(460), SecurityType(167), etc.) and/or the risk taxonomy (AssetClass(1938), AssetSubClass(1939), AssetType(1940), etc.). */\n  LegAssetGroup = 2348,\n  PricePrecision = 2349,\n  /** Identifier of the collateral portfolio when reporting on a portfolio basis. */\n  CollateralPortfolioID = 2350,\n  /** Byte length of encoded (non-ASCII characters) EncodedComplianceText(2352) field. */\n  EncodedComplianceTextLen = 2351,\n  /** Encoded (non-ASCII characters) representation of the ComplianceText(2404) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the ComplianceText(2404) field. */\n  EncodedComplianceText = 2352,\n  TradingUnitPeriodMultiplier = 2353,\n  LegTradingUnitPeriodMultiplier = 2354,\n  /** The status of risk limits for a party. */\n  PartyRiskLimitStatus = 2355,\n  RemunerationIndicator = 2356,\n  /** Expresses the total quantity traded over the life of the contract when LegLastQty(1418) is to be repeated periodically over the term of the contract. The value is the product of LegLastQty(1418) and LegTradingUnitPeriodMultiplier(2353). */\n  LegTotalTradeQty = 2357,\n  /** Expresses the quantity bought/sold when LastQty is expressed in contracts. Used in addition to LegLastQty(1418), it is the product of LegLastQty(1418) and LegContractMultiplier(614). */\n  LegLastMultipliedQty = 2358,\n  /** Expresses the full total monetary value of the traded contract. The value is the product of LegLastPx(637) and LegTotalTradeQty(2357) or LegTotalTradeMultipliedQty(2360), if priced in units instead of contracts. */\n  LegTotalGrossTradeAmt = 2359,\n  /** Expresses the total trade quantity in units where LegContractMultiplier(614) is not 1. The value is the product of LegTotalTradeQty(2357) and LegContractMultiplier(614). */\n  LegTotalTradeMultipliedQty = 2360,\n  /** Use to identify a netting or compression group where trades in the group were netted or compressed. This includes both terminating trades and any remnant trades that result from the operation. */\n  CompressionGroupID = 2361,\n  /** Identifies an order or trade that should not be matched to an opposite order or trade if both buy and sell orders for the same asset contain the same SelfMatchPreventionID(2362) and submitted by the same firm. */\n  SelfMatchPreventionID = 2362,\n  UnderlyingTradingUnitPeriodMultiplier = 2363,\n  /** Indicates action that triggered the Position Report. */\n  PosReportAction = 2364,\n  SettlForwardPoints = 2365,\n  /** Specifies whether LastPx(31) [TradeCaptureReport] or SettlPrice(730) [PositionReport] should be multiplied or divided. */\n  SettlPriceFxRateCalc = 2366,\n  /** Expresses the total quantity traded over the life of the contract when LastQty(32) is repeated periodically over the term of the contract. The value is the product of LastQty(32) and TradingUnitPeriodMultiplier(2353). */\n  TotalTradeQty = 2367,\n  /** Expresses the quantity bought or sold when LastQty(32) is expressed in number of contracts. Used in addition to LastQty(32). It is the product of LastQty(32) and ContractMultiplier(231). */\n  LastMultipliedQty = 2368,\n  /** Expresses the full total monetary value of the traded contract. The value is the product of LastPx(31) and TotalTradeQty(2367) or TotalTradeMultipliedQty(2370), if priced in units instead of contracts. */\n  TotalGrossTradeAmt = 2369,\n  /** Expresses the total trade quantity in units where ContractMultiplier(231) is not 1. The value is the product of TotalTradeQty(2367) and ContractMultiplier(231). */\n  TotalTradeMultipliedQty = 2370,\n  /** Encoded (non-ASCII characters) representation of the TradeContinuationText(2374) field in the encoded format specified via the MessageEncoding(347) field. If used, the ASCII (English) representation should also be specified in the TradeContinuationText(2374) field. */\n  EncodedTradeContinuationText = 2371,\n  /** Byte length of encoded (non-ASCII characters) EncodedTradeContinuationText(2371) field. */\n  EncodedTradeContinuationTextLen = 2372,\n  IntraFirmTradeIndicator = 2373,\n  /** Free form text to specify additional trade continuation information or data. */\n  TradeContinuationText = 2374,\n  /** The type of identification taxonomy used to identify the security. */\n  TaxonomyType = 2375,\n  /** Used to further qualify the value of PartyRole(452). */\n  PartyRoleQualifier = 2376,\n  /** Used to further qualify the value of DerivativeInstrumentPartyRole(1295). */\n  DerivativeInstrumentPartyRoleQualifier = 2377,\n  /** Used to further qualify the value of InstrumentPartyRole(1051). */\n  InstrumentPartyRoleQualifier = 2378,\n  /** Used to further qualify the value of LegInstrumentPartyRole(2257). */\n  LegInstrumentPartyRoleQualifier = 2379,\n  /** Used to further qualify the value of LegProvisionPartyRole(40536). */\n  LegProvisionPartyRoleQualifier = 2380,\n  /** Used to further qualify the value of Nested2PartyRole(759). */\n  Nested2PartyRoleQualifier = 2381,\n  /** Used to further qualify the value of Nested3PartyRole(951). */\n  Nested3PartyRoleQualifier = 2382,\n  /** Used to further qualify the value of Nested4PartyRole(1417). */\n  Nested4PartyRoleQualifier = 2383,\n  /** Used to further qualify the value of NestedPartyRole(538). */\n  NestedPartyRoleQualifier = 2384,\n  /** Used to further qualify the value of ProvisionPartyRole(40177). */\n  ProvisionPartyRoleQualifier = 2385,\n  /** Used to further qualify the value of RequestedPartyRole(1509). */\n  RequestedPartyRoleQualifier = 2386,\n  /** Indicates the contingency attribute for a trade in an asset class that may be contingent on the clearing of a corresponding paired trade (for example Exchange for Physical (EFP), Exchange for Swap (EFS), Exchange for Related (EFR) or Exchange for Option (EFO), collectively called EFRPs). Once the paired trade clears or fails to clear, the related trade (the trade which carries this attribute) ceases to exist. */\n  TradeContingency = 2387,\n  /** Used to further qualify the value of RootPartyRole(1119). */\n  RootPartyRoleQualifier = 2388,\n  /** Used to further qualify the value of SettlPartyRole(784). */\n  SettlPartyRoleQualifier = 2389,\n  TradeConfirmationReferenceID = 2390,\n  /** Used to further qualify the value of UnderlyingInstrumentPartyRole(1061). */\n  UnderlyingInstrumentPartyRoleQualifier = 2391,\n  /** The reference identifier to the PartyRiskLimitCheckRequest(35=DF), or a similar out of band message, message that contained the approval or rejection for risk/credit limit check for this allocation. */\n  AllocRefRiskLimitCheckID = 2392,\n  /** Specifies which type of identifier is specified in AllocRefRiskLimitCheckID(2392) field. */\n  AllocRefRiskLimitCheckIDType = 2393,\n  /** The total amount of the limit that has been drawn down against the counterparty. This includes the amount for prior trades. It may or may not include the amount for the given trade, specified in LastLimitAmt(1632), depending upon whether the given trade is considered pending. */\n  LimitUtilizationAmt = 2394,\n  /** The limit for the counterparty. This represents the total limit amount, independent of any amount already utilized. */\n  LimitAmt = 2395,\n  LimitRole = 2396,\n  /** Specifies the scope to which the RegulatoryTradeID(1903) applies. Used when a trade must be assigned more than one identifier, e.g. one for the clearing member and another for the client on a cleared trade as with the principal model in Europe. */\n  RegulatoryTradeIDScope = 2397,\n  /** Specifies the scope to which the SideRegulatoryTradeID(1972) applies. Used when a trade must be assigned more than one identifier, e.g. one for the clearing member and another for the client on a cleared trade as with the principal model in Europe. */\n  SideRegulatoryTradeIDScope = 2398,\n  /** Specifies the scope to which the AllocRegulatoryTradeID(1909) applies. Used when a trade must be assigned more than one identifier, e.g. one for the clearing member and another for the client on a cleared trade as with the principal model in Europe. */\n  AllocRegulatoryTradeIDScope = 2399,\n  /** Specifies an explicit business date for associated reference data or transaction. Used when an implicit date is not sufficiently specific. */\n  EffectiveBusinessDate = 2400,\n  /** Indicates if the list of orders was initially received manually (as opposed to electronically) or if it was entered manually (as opposed to entered by automated trading software). */\n  ListManualOrderIndicator = 2401,\n  /** Subtype of an entitlement specified in EntitlementType(1775). */\n  EntitlementSubType = 2402,\n  /** Quote model type */\n  QuoteModelType = 2403,\n  /** Free text for compliance information required for regulatory reporting. */\n  ComplianceText = 2404,\n  /** Specifies how the transaction was executed, e.g. via an automated execution platform or other method. */\n  ExecMethod = 2405,\n  /** Identifies the leg of the trade the entry applies to by referencing the leg's LegID(1788). */\n  AllocRegulatoryLegRefID = 2406,\n  /** FX spot rate. */\n  ComplexEventSpotRate = 2407,\n  /** FX forward points added to spot rate. May be a negative value. */\n  ComplexEventForwardPoints = 2408,\n  /** FX spot rate. */\n  LegComplexEventSpotRate = 2409,\n  /** FX forward points added to spot rate. May be a negative value. */\n  LegComplexEventForwardPoints = 2410,\n  /** Identifies the leg of the trade the entry applies to by referencing the leg's LegID(1788). */\n  RegulatoryLegRefID = 2411,\n  /** Identifies the page heading from the rate source. */\n  RateSourceReferemcePageHeading = 2412,\n  /** The security identifier of the instrument, instrument leg or underlying instrument with which the related instrument has correlation. */\n  RelatedToSecurityID = 2413,\n  /** Identifies class or source of the RelatedToSecurityID(2413) value. */\n  RelatedToSecurityIDSource = 2414,\n  /** StreamXID(41303), LegStreamXID(41700) or UnderlyingStreamXID(42016) of the stream with which the related instrument has correlation. */\n  RelatedToStreamXIDRef = 2415,\n  /** Identifies the leg of the trade the entry applies to by referencing the leg's LegID(1788). */\n  SideRegulatoryLegRefID = 2416,\n  /** The DividendPeriodXID(42293) of the stream dividend period with which the related instrument has correlation. */\n  RelatedToDividendPeriodXIDRef = 2417,\n  /** An identifier created by the trading party for the life cycle event associated with this report. */\n  FirmTradeEventID = 2418,\n  /** FX spot rate. */\n  UnderlyingComplexEventSpotRate = 2419,\n  /** FX forward points added to spot rate. May be a negative value. */\n  UnderlyingComplexEventForwardPoints = 2420,\n  /** A reference to either the value of the FillExecID(1363) or an implicit position of a fills instance in the FillsGrp component. */\n  FillRefID = 2421,\n  /** Unique message identifier for an order request as assigned by the submitter of the request. */\n  OrderRequestID = 2422,\n  /** Unique message identifier for a mass order request as assigned by the submitter of the orders. */\n  MassOrderRequestID = 2423,\n  /** Unique message identifier for the response to a mass order request as assigned by the receiver of the orders. */\n  MassOrderReportID = 2424,\n  /** Status of mass order request. */\n  MassOrderRequestStatus = 2425,\n  /** Request result of mass order request. */\n  MassOrderRequestResult = 2426,\n  /** The level of response requested from receiver of mass order messages. A default value should be bilaterally agreed. */\n  OrderResponseLevel = 2427,\n  /** Number of order entries. */\n  NoOrderEntries = 2428,\n  /** Specifies the action to be taken for the given order. */\n  OrderEntryAction = 2429,\n  /** Unique identifier for an order within a single MassOrder(35=DJ) message that can be used as a reference in the MassOrderAck(35=DK) message. */\n  OrderEntryID = 2430,\n  /** The initiating event when an ExecutionReport(35=8) is sent. */\n  ExecTypeReason = 2431,\n  /** Totals number of orders for a mass order or its acknowledgment being fragmented across multiple messages. */\n  TotNoOrderEntries = 2432,\n  /** Number of target party sub IDs in the repeating group. */\n  NoTargetPartySubIDs = 2433,\n  /** Party sub-identifier value within a target party repeating group. */\n  TargetPartySubID = 2434,\n  /** Type of TargetPartySubID(2434) value. */\n  TargetPartySubIDType = 2435,\n  /** Unique identifier for the transfer instruction assigned by the submitter. */\n  TransferInstructionID = 2436,\n  /** The unique identifier assigned to the transfer entity once it is received, for example, by the CCP or the party governing the transfer process. Generally this same identifier for the transfer is used by all parties involved. */\n  TransferID = 2437,\n  /** Unique identifier for the transfer report message. */\n  TransferReportID = 2438,\n  /** Indicates the type of transfer transaction. */\n  TransferTransType = 2439,\n  /** Indicates the type of transfer request. */\n  TransferType = 2440,\n  /** Indicates the type of transfer. */\n  TransferScope = 2441,\n  /** Status of the transfer. */\n  TransferStatus = 2442,\n  /** Reason the transfer instruction was rejected. */\n  TransferRejectReason = 2443,\n  /** Indicates the type of transfer report. */\n  TransferReportType = 2444,\n  /** Timestamp of aggressive order or quote resulting in match event. */\n  AggressorTime = 2445,\n  /** Side of aggressive order or quote resulting in match event. */\n  AggressorSide = 2446,\n  FastMarketIndicator = 2447,\n  /** Indicate whether linkage handling is in effect for an instrument or not. */\n  LinkageHandlingIndicator = 2448,\n  /** Number of buy orders involved in a trade. */\n  NumberOfBuyOrders = 2449,\n  /** Number of sell orders involved in a trade. */\n  NumberOfSellOrders = 2450,\n  /** Calculation method used to determine settlement price. */\n  SettlPriceDeterminationMethod = 2451,\n  /** Message identifier for a statistics request. */\n  MDStatisticReqID = 2452,\n  /** Message identifier for a statistics report. */\n  MDStatisticRptID = 2453,\n  /** The short name or acronym for a set of statistic parameters. */\n  MDStatisticName = 2454,\n  /** Can be used to provide an optional textual description for a statistic. */\n  MDStatisticDesc = 2455,\n  /** Type of statistic value. */\n  MDStatisticType = 2456,\n  /** Entities used as basis for the statistics. */\n  MDStatisticScope = 2457,\n  /** Sub-scope of the statistics to further reduce the entities used as basis for the statistics. */\n  MDStatisticSubScope = 2458,\n  /** Scope details of the statistics to reduce the number of events being used as basis for the statistics. */\n  MDStatisticScopeType = 2459,\n  MDStatisticFrequencyPeriod = 2460,\n  /** Time unit for MDStatisticFrequencyPeriod(2460). */\n  MDStatisticFrequencyUnit = 2461,\n  /** Number of time units between the calculation of the statistic and its dissemination. Can be used to defer or delay publication. */\n  MDStatisticDelayPeriod = 2462,\n  /** Time unit for MDStatisticDelayPeriod(2462). */\n  MDStatisticDelayUnit = 2463,\n  /** Type of interval over which statistic is calculated. */\n  MDStatisticIntervalType = 2464,\n  /** Time unit for MDStatisticIntervalType(2464). */\n  MDStatisticIntervalTypeUnit = 2465,\n  /** Length of time over which the statistic is calculated. Special meaning for a value of zero to express that there is no aggregation over time. Can be used with other interval types expressing relative date and time ranges to combine them with sliding window peaks, e.g. highest volume across 1 minute intervals of the previous day. */\n  MDStatisticIntervalPeriod = 2466,\n  /** Time unit for MDStatisticIntervalPeriod(2466). */\n  MDStatisticIntervalUnit = 2467,\n  /** First day of range for which statistical data is collected. */\n  MDStatisticStartDate = 2468,\n  /** Last day of range for which statistical data is collected. */\n  MDStatisticEndDate = 2469,\n  /** Start time of the time range for which statistical data is collected. */\n  MDStatisticStartTime = 2470,\n  /** End time of the time range for which statistical data is collected. */\n  MDStatisticEndTime = 2471,\n  /** Ratios between various entities. */\n  MDStatisticRatioType = 2472,\n  /** Result returned in response to MarketDataStatisticsRequest (35=DO). */\n  MDStatisticRequestResult = 2473,\n  /** Number of market data statistics. */\n  NoMDStatistics = 2474,\n  /** Unique identifier for a statistic. */\n  MDStatisticID = 2475,\n  /** Time of calculation of a statistic. */\n  MDStatisticTime = 2476,\n  /** Status for a statistic to indicate its availability. */\n  MDStatisticStatus = 2477,\n  /** Statistical value. */\n  MDStatisticValue = 2478,\n  /** Type of statistical value. */\n  MDStatisticValueType = 2479,\n  /** Unit of time for statistical value. */\n  MDStatisticValueUnit = 2480,\n  /** Byte length of encoded (non-ASCII characters) EncodedMDStatisticDesc(2482) field. */\n  EncodedMDStatisticDescLen = 2481,\n  /** Encoded (non-ASCII characters) representation of the MDStatisticDesc(2455) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the MDStatisticDesc(2455) field. */\n  EncodedMDStatisticDesc = 2482,\n  /** Indicates the status of the risk limit check performed on a trade for this allocation instance. */\n  AllocRiskLimitCheckStatus = 2483,\n  /** The unique transaction entity identifier assigned by the firm. */\n  FirmTransactionID = 2484,\n  /** The unique transaction entity identifier. */\n  TransactionID = 2485,\n  /** The reference to a wire transfer associated with the transaction. Wire references done via wire services such as Fedwire Output Message Accountabilitty Data \"OMAD\" or SWIFT Output Sequence Number \"OSN\". */\n  WireReference = 2486,\n  /** Reject reason code for rejecting the collateral report. */\n  CollRptRejectReason = 2487,\n  /** The status of the collateral report. */\n  CollRptStatus = 2488,\n  /** Identifier assigned to a collection of trades so that they can be analyzed as one atomic unit for risk assessment and clearing. */\n  PackageID = 2489,\n  /** Ordinal number of the trade within a series of related trades. */\n  TradeNumber = 2490,\n  /** Indicates the broad product or asset classification. May be used to provide grouping for the product taxonomy (Product(460), SecurityType(167), etc.) and/or the risk taxonomy (AssetClass(1938), AssetSubClass(1939), AssetType(1940), etc.). */\n  UnderlyingAssetGroup = 2491,\n  /** Used in pricing a group of individual Trade at Settlement (TAS) and Trade At Marker (TAM) contracts as an atomic unit. The value is the negotiated currency offset either at settlement (TAS) or at the time specified in the product definition (TAM). The final contract price is reported in LegLastPx(637). */\n  LegDifferentialPrice = 2492,\n  /** Encoded (non-ASCII characters) representation of the LegDocumentationText(2505) field in the encoded format specified via the MessageEncoding(347) field. If used, the ASCII (English) representation should also be specified in the LegDocumentationText(2505) field. */\n  EncodedLegDocumentationText = 2493,\n  /** Byte length of encoded (non-ASCII characters) EncodedLegDocumentationText(2493) field. */\n  EncodedLegDocumentationTextLen = 2494,\n  /** Contractual currency forming the basis of a financing agreement and associated transactions. Usually, but not always, the same as the trade currency. */\n  LegAgreementCurrency = 2495,\n  /** A reference to the date the underlying agreement specified by LegAgreementID(2498) and LegAgreementDesc(2497) was executed. */\n  LegAgreementDate = 2496,\n  /** The full name of the base standard agreement, annexes and amendments in place between the principals applicable to a financing transaction. See http://www.fpml.org/coding-scheme/master-agreement-type for derivative values. */\n  LegAgreementDesc = 2497,\n  /** A common reference to the applicable standing agreement between the counterparties to a financing transaction. */\n  LegAgreementID = 2498,\n  /** The version of the master agreement. */\n  LegAgreementVersion = 2499,\n  /** Describes the type of broker confirmation executed between the parties. Can be used as an alternative to MasterConfirmationDesc(1962). See http://www.fpml.org/coding-scheme/broker-confirmation-type for values. */\n  LegBrokerConfirmationDesc = 2500,\n  /** The date of the ISDA Credit Support Agreement executed between the parties and intended to govern collateral arrangements for all OTC derivatives transactions between those parties. */\n  LegCreditSupportAgreementDate = 2501,\n  /** The type of ISDA Credit Support Agreement. See http://www.fpml.org/coding-scheme/credit-support-agreement-type for values. */\n  LegCreditSupportAgreementDesc = 2502,\n  /** A common reference or unique identifier to identify the ISDA Credit Support Agreement executed between the parties. */\n  LegCreditSupportAgreementID = 2503,\n  /** Identifies type of settlement. */\n  LegDeliveryType = 2504,\n  /** A sentence or phrase pertinent to the trade, not a reference to an external document. E.g. \"To be registered with the U.S. Environmental Protection Agency, Acid Rain Division, SO2 Allowance Tracking System\". */\n  LegDocumentationText = 2505,\n  /** End date of a financing deal, i.e. the date the seller reimburses the buyer and takes back control of the collateral. */\n  LegEndDate = 2506,\n  /** Identification of the law governing the transaction. See http://www.fpml.org/coding-scheme/governing-law for values. */\n  LegGoverningLaw = 2507,\n  /** The fraction of the cash consideration that must be collateralized, expressed as a percent. A MarginRatio of 2% indicates that the value of the collateral (after deducting for \"haircut\") must exceed the cash consideration by 2%. */\n  LegMarginRatio = 2508,\n  /** The date that an annexation to the master confirmation was executed between the parties. */\n  LegMasterConfirmationAnnexDate = 2509,\n  /** Alternative to broker confirmation. The date of the confirmation executed between the parties and intended to govern all relevant transactions between those parties. */\n  LegMasterConfirmationDate = 2510,\n  /** The type of master confirmation executed between the parties. See http://www.fpml.org/coding-scheme/master-confirmation-type for values. */\n  LegMasterConfirmationDesc = 2511,\n  /** The type of master confirmation annexation executed between the parties. See http://www.fpml.org/coding-scheme/master-confirmation-annex-type for values. */\n  LegMasterConfirmationAnnexDesc = 2512,\n  /** Start date of a financing deal, i.e. the date the buyer pays the seller cash and takes control of the collateral. */\n  LegStartDate = 2513,\n  /** Type of financing termination. */\n  LegTerminationType = 2514,\n  /** Used for the calculated quantity of the other side of the currency trade applicable to the allocation instance. */\n  AllocCalculatedCcyQty = 2515,\n  /** An encoded collateral request processing instruction to the receiver. */\n  CollateralRequestInstruction = 2516,\n  /** A unique identifier to link together a set or group of requests. */\n  CollateralRequestLinkID = 2517,\n  /** Ordinal number of the request within a set or group of requests. */\n  CollateralRequestNumber = 2518,\n  /** Total number of request messages within a set or group of requests. */\n  TotNumCollateralRequests = 2519,\n  /** Communicates the underlying condition when the request response indicates \"warning\". */\n  WarningText = 2520,\n  /** Encoded (non-ASCII characters) representation of the WarningText(2520) field in the encoded format specified via the MessageEncoding(347) field. If used, the ASCII (English) representation should also be specified in the WarningText(2520) field. */\n  EncodedWarningText = 2521,\n  /** Byte length of encoded (non-ASCII characters) EncodedWarningtText(2521) field. */\n  EncodedWarningTextLen = 2522,\n  /** Indicates whether the order or quote was crossed with another order or quote having the same context, e.g. having accounts with a common ownership. */\n  CrossedIndicator = 2523,\n  TradeReportingIndicator = 2524,\n  AffiliatedFirmsTradeIndicator = 2525,\n  InternationalSwapIndicator = 2526,\n  MultiAssetSwapIndicator = 2527,\n  /** Clearing settlement price. */\n  ClearingSettlPrice = 2528,\n  /** Number of relative value metrics entries in the repeating group. */\n  NoRelativeValues = 2529,\n  /** Indicates the type of relative value measurement being specified. */\n  RelativeValueType = 2530,\n  /** The valuation of an instrument relative to a base measurement specified in RelativeValueType(2530). This value can be negative. */\n  RelativeValue = 2531,\n  /** Specifies the side of the relative value. */\n  RelativeValueSide = 2532,\n  /** Basis points relative to a benchmark curve on the bid side, such as LIBOR, or a known security, such as 10Y US Treasury bond. The benchmark security or curve name is specified in the SpreadOrBenchmarkCurveData component. */\n  BidSpread = 2533,\n  /** Basis points relative to a benchmark curve on the offer side, such as LIBOR, or a known security, such as 10Y US Treasury bond. The benchmark security or curve name is specified in the SpreadOrBenchmarkCurveData component. */\n  OfferSpread = 2534,\n  /** Technical event within market data feed. */\n  MDReportEvent = 2535,\n  /** Number of reference and market data messages in-between two MarketDataReport(35=DR) messages. */\n  MDReportCount = 2536,\n  /** Total number of reports related to market segments. */\n  TotNoMarketSegmentReports = 2537,\n  /** Total number of reports related to instruments. */\n  TotNoInstrumentReports = 2538,\n  /** Total number of reports related to party detail information. */\n  TotNoPartyDetailReports = 2539,\n  /** Total number of reports related to party entitlement information. */\n  TotNoEntitlementReports = 2540,\n  /** Total number of reports related to party risk limit information. */\n  TotNoRiskLimitReports = 2541,\n  /** Status of market segment. */\n  MarketSegmentStatus = 2542,\n  /** Used to classify the type of market segment. */\n  MarketSegmentType = 2543,\n  /** Used to further categorize market segments within a MarketSegmentType(2543). */\n  MarketSegmentSubType = 2544,\n  /** Number of related market segments. */\n  NoRelatedMarketSegments = 2545,\n  /** Identifies a related market segment. */\n  RelatedMarketSegmentID = 2546,\n  /** Type of relationship between two or more market segments. */\n  MarketSegmentRelationship = 2547,\n  /** Number of auction order types. */\n  NoAuctionTypeRules = 2548,\n  /** Identifies an entire suite of products for which the auction order type rule applies. */\n  AuctionTypeProductComplex = 2549,\n  /** Number of rules related to price ranges. */\n  NoPriceRangeRules = 2550,\n  /** Lower boundary for price range. */\n  StartPriceRange = 2551,\n  /** Upper boundary for price range. */\n  EndPriceRange = 2552,\n  /** Maximum range expressed as absolute value. */\n  PriceRangeValue = 2553,\n  /** Maximum range expressed as percentage. */\n  PriceRangePercentage = 2554,\n  /** Identifies an entire suite of products in the context of trading rules related to price ranges. */\n  PriceRangeProductComplex = 2555,\n  /** Identifier for a price range rule. */\n  PriceRangeRuleID = 2556,\n  /** The percentage factor to be applied to trading rule parameters (e.g. price ranges, size ranges, etc.) when fast market conditions are applicable. */\n  FastMarketPercentage = 2557,\n  /** Number of rules related to quote sizes. */\n  NoQuoteSizeRules = 2558,\n  /** Indicates whether single sided quotes are allowed. */\n  QuoteSideIndicator = 2559,\n  /** Number of eligibility indicators for the creation of flexible securities. */\n  NoFlexProductEligibilities = 2560,\n  /** Identifies an entire suite of products which are eligible for the creation of flexible securities. */\n  FlexProductEligibilityComplex = 2561,\n  /** Represents the total number of multileg securities or user defined securities that make up the security. */\n  NumOfComplexInstruments = 2562,\n  /** Specifies the time interval used for netting market data in a price depth feed. */\n  MarketDepthTimeInterval = 2563,\n  /** The time unit associated with the time interval of the netting of market data in a price depth feed. */\n  MarketDepthTimeIntervalUnit = 2564,\n  /** Specifies the time interval between two repetitions of the same market data for cyclic recovery feeds. */\n  MDRecoveryTimeInterval = 2565,\n  /** The time unit associated with the time interval between two cycles of the same market data in cyclic data recovery feeds. */\n  MDRecoveryTimeIntervalUnit = 2566,\n  /** Primary service location identifier. */\n  PrimaryServiceLocationID = 2567,\n  /** Secondary or alternate service location identifier. */\n  SecondaryServiceLocationID = 2568,\n  /** Identifies an entire suite of products for which the matching rule applies. */\n  MatchRuleProductComplex = 2569,\n  /** Specifies the kind of priority given to customers. */\n  CustomerPriority = 2570,\n  /** Identifies an entire suite of products for which the price tick rule applies. */\n  TickRuleProductComplex = 2571,\n  /** Previous day's adjusted open interest. */\n  PreviousAdjustedOpenInterest = 2572,\n  /** Previous day's unadjusted open interest. */\n  PreviousUnadjustedOpenInterest = 2573,\n  /** Indicates if a given option instrument permits low exercise prices (LEPO). */\n  LowExercisePriceOptionIndicator = 2574,\n  /** Indicates if a given instrument is eligible for block trading. */\n  BlockTradeEligibilityIndicator = 2575,\n  /** Specifies the number of decimal places for instrument prices. */\n  InstrumentPricePrecision = 2576,\n  /** Specifies the number of decimal places for exercise price. */\n  StrikePricePrecision = 2577,\n  /** Original exercise price, e.g. after corporate action requiring changes. */\n  OrigStrikePrice = 2578,\n  /** Specifies a suitable settlement sub-method for a given settlement method. */\n  SettlSubMethod = 2579,\n  /** Number of parameter sets for clearing prices. */\n  NoClearingPriceParameters = 2580,\n  /** Relative identification of a business day. */\n  BusinessDayType = 2581,\n  /** Constant value required for the calculation of the clearing price, e.g. for variance futures. */\n  ClearingPriceOffset = 2582,\n  /** Constant value required for the calculation of the clearing quantity, e.g. for variance futures. */\n  VegaMultiplier = 2583,\n  /** Number of trading business days in a year. */\n  AnnualTradingBusinessDays = 2584,\n  /** Number of trading business days over the lifetime of an instrument. */\n  TotalTradingBusinessDays = 2585,\n  /** Number of actual trading business days of an instrument. */\n  TradingBusinessDays = 2586,\n  /** Actual or realized variance of an instrument used to calculate settlement prices, e.g. for variance futures. */\n  RealizedVariance = 2587,\n  /** Standard variance (over the lifetime of an instrument) or initial variance used to calculate settlement prices, e.g. for variance futures. */\n  StandardVariance = 2588,\n  /** Closing price of the underlying required to calculate the RealizedVariance(2587). */\n  RelatedClosePrice = 2589,\n  /** Overnight interest rate. */\n  OvernightInterestRate = 2590,\n  /** The economic cost of the variation margin from one trading day to the next. */\n  AccumulatedReturnModifiedVariationMargin = 2591,\n  /** Specifies how the calculation will be made. */\n  CalculationMethod = 2592,\n  /** Number of order attribute entries. */\n  NoOrderAttributes = 2593,\n  /** The type of order attribute. */\n  OrderAttributeType = 2594,\n  /** The value associated with the order attribute type specified in OrderAttributeType(2594). */\n  OrderAttributeValue = 2595,\n  /** Indicates that the party has taken a position on both a put and a call on the same underlying asset. */\n  DeltaCrossed = 2596,\n  /** Indicates whether the official settlement price as announced by the related exchange is applicable, in accordance with the ISDA 2002 definitions. Applicable only to futures contracts. */\n  ComplexEventFuturesPriceValuation = 2597,\n  /** Indicates whether the official settlement price as announced by the related exchange is applicable, in accordance with the ISDA 2002 definitions. Applicable only to options contracts. */\n  ComplexEventOptionsPriceValuation = 2598,\n  /** Specifies the fallback provisions for the hedging party in the determination of the final settlement price. */\n  ComplexEventPVFinalPriceElectionFallback = 2599,\n  StrikeIndexCurvePoint = 2600,\n  /** The quote side from which the index price is to be determined. */\n  StrikeIndexQuote = 2601,\n  /** Defines how adjustments will be made to the contract should one or more of the extraordinary events occur. */\n  ExtraordinaryEventAdjustmentMethod = 2602,\n  ExchangeLookAlike = 2603,\n  LegStrikeIndexCurvePoint = 2604,\n  /** The quote side from which the index price is to be determined. */\n  LegStrikeIndexQuote = 2605,\n  /** Defines how adjustments will be made to the contract should one or more of the extraordinary events occur. */\n  LegExtraordinaryEventAdjustmentMethod = 2606,\n  LegExchangeLookAlike = 2607,\n  /** Indicates whether the official settlement price as announced by the related exchange is applicable, in accordance with the ISDA 2002 definitions. Applicable only to futures contracts. */\n  LegComplexEventFuturesPriceValuation = 2608,\n  /** Indicates whether the official settlement price as announced by the related exchange is applicable, in accordance with the ISDA 2002 definitions. Applicable only to options contracts. */\n  LegComplexEventOptionsPriceValuation = 2609,\n  /** Specifies the fallback provisions for the hedging party in the determination of the final settlement price */\n  LegComplexEventPVFinalPriceElectionFallback = 2610,\n  /** Indicates whether the official settlement price as announced by the related exchange is applicable, in accordance with the ISDA 2002 definitions. Applicable only to futures contracts. */\n  UnderlyingComplexEventFuturesPriceValuation = 2611,\n  /** Indicates whether the official settlement price as announced by the related exchange is applicable, in accordance with the ISDA 2002 definitions. Applicable only to options contracts. */\n  UnderlyingComplexEventOptionsPriceValuation = 2612,\n  /** Specifies the fallback provisions for the hedging party in the determination of the final settlement price */\n  UnderlyingComplexEventPVFinalPriceElectionFallback = 2613,\n  /** Notional value for the equity or bond underlier. */\n  UnderlyingNotional = 2614,\n  UnderlyingNotionalCurrency = 2615,\n  UnderlyingNotionalDeterminationMethod = 2616,\n  /** Specifies the conditions that govern the adjustment to the number of units of the return swap. */\n  UnderlyingNotionalAdjustments = 2617,\n  /** Unique identifier for a position entity. Refer to PosMaintRptID(721) for a unique identifier of a position report message. */\n  PositionID = 2618,\n  /** Cross reference to another notional amount for duplicating its properties. */\n  UnderlyingNotionalXIDRef = 2619,\n  /** In the case of an index underlier specifies the unique identifier for the referenced futures contract. */\n  UnderlyingFutureID = 2620,\n  /** Identifies the source of the UnderlyingFutureID(2620). */\n  UnderlyingFutureIDSource = 2621,\n  UnderlyingStrikeIndexCurvePoint = 2622,\n  /** The quote side from which the index price is to be determined. */\n  UnderlyingStrikeIndexQuote = 2623,\n  /** Defines how adjustments will be made to the contract should one or more of the extraordinary events occur. */\n  UnderlyingExtraordinaryEventAdjustmentMethod = 2624,\n  UnderlyingExchangeLookAlike = 2625,\n  /** The limit of average percentage of individual securities traded in a day or a number of days. */\n  UnderlyingAverageVolumeLimitationPercentage = 2626,\n  /** Specifies the limitation period for average daily trading volume in number of days. */\n  UnderlyingAverageVolumeLimitationPeriodDays = 2627,\n  UnderlyingDepositoryReceiptIndicator = 2628,\n  /** The number of units (units of the index or number of securities, par amount of a bond) that constitute the underlier. In the case of a basket swap, this is used to reference both the number of basket units, and the number of each asset components of the basket when these are expressed in absolute terms. */\n  UnderlyingOpenUnits = 2629,\n  /** Specifies the basket divisor amount. This value is normally used to adjust the constituent weight for pricing or to adjust for dividends, or other corporate actions. */\n  UnderlyingBasketDivisor = 2630,\n  /** Identifier for referencing this UnderlyingInstrument from a parent instrument or a convertible instrument. */\n  UnderlyingInstrumentXID = 2631,\n  /** The type of value in CurrentCollateralAmount(1704). */\n  CollateralAmountType = 2632,\n  /** Specifies the number of miscellaneous fee sub-types. */\n  NoMiscFeeSubTypes = 2633,\n  MiscFeeSubType = 2634,\n  /** The amount of the specified MiscFeeSubType(2634). */\n  MiscFeeSubTypeAmt = 2635,\n  /** Can be used to provide an optional textual description of the fee sub-type. */\n  MiscFeeSubTypeDesc = 2636,\n  /** Byte length of encoded (non-ASCII characters) EncodedMiscFeeSubTypeDesc(2638) field. */\n  EncodedMiscFeeSubTypeDescLen = 2637,\n  /** Encoded (non-ASCII characters) representation of the MiscFeeSubTypeDesc(2636) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the MiscFeeSubTypeDesc(2636) field. */\n  EncodedMiscFeeSubTypeDesc = 2638,\n  /** Number of commissions in the repeating group. */\n  NoCommissions = 2639,\n  /** The commission amount. */\n  CommissionAmount = 2640,\n  /** Indicates what type of commission is being expressed in CommissionAmount(2640). */\n  CommissionAmountType = 2641,\n  /** Specifies the basis or unit used to calculate the commission. */\n  CommissionBasis = 2642,\n  CommissionCurrency = 2643,\n  /** The commission rate unit of measure. */\n  CommissionUnitOfMeasure = 2644,\n  /** Indicates the currency of the unit of measure. Conditionally required when CommissionUnitOfMeasure(2644) = Ccy (Amount of currency). */\n  CommissionUnitOfMeasureCurrency = 2645,\n  /** The commission rate when CommissionAmount(2640) is based on a percentage of quantity, amount per unit or a factor of \"unit of measure\". If the rate is a percentage or expressed in basis points, use the decimalized form, e.g. \"0.05\" for a 5% commission or \"0.005\" for 50 basis points. */\n  CommissionRate = 2646,\n  /** Indicates whether the amount in CommissionAmount(2640) is to be shared with a third party, e.g. as part of a directed brokerage commission sharing arrangement. */\n  CommissionSharedIndicator = 2647,\n  /** Commission amount to be shared with a third party, e.g. as part of a directed brokerage commission sharing arrangement. If specified, this amount should not exceed the amount in CommissionAmount(2640). */\n  CommissionAmountShared = 2648,\n  /** Identifies the leg of the trade the entry applies to by referencing the leg's LegID(1788). */\n  CommissionLegRefID = 2649,\n  /** Description of the commission. */\n  CommissionDesc = 2650,\n  /** Byte length of the encoded (non-ASCII characters) EncodedCommissionDesc(2652) field. */\n  EncodedCommissionDescLen = 2651,\n  /** Encoded (non-ASCII characters) representation of the CommissionDesc(2650) field in the encoded format specified via the MessageEncoding(347) field. If used, the ASCII (English) representation should also be specified in the CommissionDesc(2650) field. */\n  EncodedCommissionDesc = 2652,\n  /** Number of commissions in the repeating group. */\n  NoAllocCommissions = 2653,\n  /** The commission amount. */\n  AllocCommissionAmount = 2654,\n  /** Indicates what type of commission is being expressed in AllocCommissionAmount(2654). */\n  AllocCommissionAmountType = 2655,\n  /** Specifies the basis or unit used to calculate the commission. */\n  AllocCommissionBasis = 2656,\n  AllocCommissionCurrency = 2657,\n  /** The commission rate unit of measure. */\n  AllocCommissionUnitOfMeasure = 2658,\n  /** Indicates the currency of the unit of measure. Conditionally required when AllocCommissionUnitOfMeasure(2658) = Ccy (Currency). */\n  AllocCommissionUnitOfMeasureCurrency = 2659,\n  /** The commission rate when AllocCommissionAmount(2654) is based on a percentage of quantity, amount per unit or a factor of \"unit of measure\". If the rate is a percentage or expressed in basis points, use the decimalized form, e.g. \"0.05\" for a 5% commission or \"0.005\" for 50 basis points. */\n  AllocCommissionRate = 2660,\n  /** Indicates whether the amount in AllocCommissionAmount(2654) is to be shared with a third party, e.g. as part of a directed brokerage commission sharing arrangement. */\n  AllocCommissionSharedIndicator = 2661,\n  /** Commission amount to be shared with a third party, e.g. as part of a directed brokerage commission sharing arrangement. If specified, this amount should not exceed the amount in AllocCommissionAmount(2654). */\n  AllocCommissionAmountShared = 2662,\n  /** Identifies the leg of the trade the entry applies to by referencing the leg's LegID(1788). */\n  AllocCommissionLegRefID = 2663,\n  /** Description of the commission. */\n  AllocCommissionDesc = 2664,\n  /** Byte length of the encoded (non-ASCII characters) EncodedAllocCommissionDesc(2666) field. */\n  EncodedAllocCommissionDescLen = 2665,\n  /** Encoded (non-ASCII characters) representation of the AllocCommissionDesc(2664) field in the encoded format specified via the MessageEncoding(347) field. If used, the ASCII (English) representation should also be specified in the AllocCommissionDesc(2664) field. */\n  EncodedAllocCommissionDesc = 2666,\n  /** Indicates that the order or trade originates from a computer program or algorithm requiring little-to-no human intervention. */\n  AlgorithmicTradeIndicator = 2667,\n  /** Number of regulatory publication rules in repeating group. */\n  NoTrdRegPublications = 2668,\n  TrdRegPublicationType = 2669,\n  TrdRegPublicationReason = 2670,\n  SideTradeReportingIndicator = 2671,\n  /** Unique message identifier for a cross request as assigned by the submitter of the request. */\n  CrossRequestID = 2672,\n  /** Identifier assigned by a matching system to a match event containing multiple executions. */\n  FillMatchID = 2673,\n  /** Identifier assigned by a matching system to a price level (e.g. match step, clip) within a match event containing multiple executions. */\n  FillMatchSubID = 2674,\n  /** Reason for submission of mass action. */\n  MassActionReason = 2675,\n  /** Maximum deviation, in percentage terms, of an execution price from a reference price, e.g. the initial price of a match event. */\n  MaximumPriceDeviation = 2676,\n  /** Reason for order being unaffected by mass action even though it belongs to the orders covered by MassActionScope(1374). */\n  NotAffectedReason = 2677,\n  /** Total number of orders unaffected by either the OrderMassActionRequest(35=CA) or OrderMassCancelRequest(35=Q). */\n  TotalNotAffectedOrders = 2678,\n  /** Change of ownership of an order to a specific party. */\n  OrderOwnershipIndicator = 2679,\n  /** Account mnemonic as agreed between buy and sell sides, e.g. broker and institution or investor/intermediary and fund manager. */\n  LegAccount = 2680,\n  /** Specifies an option instrument's \"in the money\" condition. */\n  InTheMoneyCondition = 2681,\n  /** Specifies an option instrument's \"in the money\" condition in general terms. */\n  LegInTheMoneyCondition = 2682,\n  /** Specifies an option instrument's \"in the money\" condition in general terms. */\n  UnderlyingInTheMoneyCondition = 2683,\n  DerivativeInTheMoneyCondition = 2684,\n  /** Identifies whether the option instrument is eligible for contrary instructions at the time of exercise. The contrariness of an instruction will be determined in the context of InTheMoneyCondition(2681). When not specified, the eligibility is undefined or not applicable. */\n  ContraryInstructionEligibilityIndicator = 2685,\n  /** Identifies whether the option instrument is eligible for contrary instructions at the time of exercise. The contrariness of an instruction will be determined in the context of LegInTheMoneyCondition(2682). When not specified, the eligibility is undefined or not applicable. */\n  LegContraryInstructionEligibilityIndicator = 2686,\n  /** Identifies whether the option instrument is eligible for contrary instructions at the time of exercise. The contrariness of an instruction will be determined in the context of UnderlyingInTheMoneyCondition(2683). When not specified, the eligibility is undefined or not applicable. */\n  UnderlyingContraryInstructionEligibilityIndicator = 2687,\n  DerivativeContraryInstructionEligibilityIndicator = 2688,\n  /** Market price of the collateral, either from market sources or pre-agreed by the counterparties. */\n  CollateralMarketPrice = 2689,\n  /** Percentage of over-collateralization particularly when CollateralAmountType(2632) = 4 (Additional collateral value) */\n  CollateralPercentOverage = 2690,\n  /** Number of side collateral amount entries. */\n  NoSideCollateralAmounts = 2691,\n  /** Market associated with the collateral amount. */\n  SideCollateralAmountMarketID = 2692,\n  /** Market segment associated with the collateral amount. */\n  SideCollateralAmountMarketSegmentID = 2693,\n  /** The type of value in CurrentCollateralAmount(1704). */\n  SideCollateralAmountType = 2694,\n  SideCollateralCurrency = 2695,\n  /** Foreign exchange rate used to compute the SideCurrentCollateralAmount(2702) from the SideCollateralCurrency(2695) and the Currency(15). */\n  SideCollateralFXRate = 2696,\n  /** Specifies whether or not SideCollateralFXRate(2696) should be multiplied or divided. */\n  SideCollateralFXRateCalc = 2697,\n  /** Market price of the collateral, either from market sources or pre-agreed by the counterparties. */\n  SideCollateralMarketPrice = 2698,\n  /** Percentage of over-collateralization particularly when SideCollateralAmountType(2694) = 4 (Additional collateral value). */\n  SideCollateralPercentOverage = 2699,\n  /** Identifier of the collateral portfolio when reporting on a portfolio basis. */\n  SideCollateralPortfolioID = 2700,\n  /** Type of collateral on deposit being reported. */\n  SideCollateralType = 2701,\n  /** Currency value currently attributed to the collateral. */\n  SideCurrentCollateralAmount = 2702,\n  /** Indicates, if \"Y\", that a stated valuation includes a haircut, e.g. that the stated value reflects the subtraction of the haircut. Note that a value of \"N\" does not imply a haircut is not applicable, only that the haircut (if any) is not reflected in the stated valuation. */\n  SideHaircutIndicator = 2703,\n  /** Identifies the type of execution destination for the order. */\n  ExDestinationType = 2704,\n  /** Market condition. In the context of ESMA RTS 8 it is important that trading venues communicate the condition of the market, particularly \"stressed\" and \"exceptional\", in order to provide incentives for firms contributing to liquidity. */\n  MarketCondition = 2705,\n  /** Number of quote attributes entries. */\n  NoQuoteAttributes = 2706,\n  /** The type of attribute for the quote. */\n  QuoteAttributeType = 2707,\n  /** The value associated with the quote attribute type specified in QuoteAttributeType(2707). */\n  QuoteAttributeValue = 2708,\n  /** Number of price qualifiers in the repeating group. */\n  NoPriceQualifiers = 2709,\n  /** Qualifier for price. May be used when the price needs to be explicitly qualified. */\n  PriceQualifier = 2710,\n  MDValueTier = 2711,\n  /** Identifies whether the current entry contributes to the trade or transaction economics, i.e. affects NetMoney(118). */\n  MiscFeeQualifier = 2712,\n  /** Can be used to provide a textual description of the fee type. */\n  MiscFeeDesc = 2713,\n  FinancialInstrumentFullName = 2714,\n  /** Byte length of encoded (non-ASCII characters) EncodedFinancialInstrumentFullName(2716) field. */\n  EncodedFinancialInstrumentFullNameLen = 2715,\n  /** Encoded (non-ASCII characters) representation of the FinancialInstrumentFullName(2714) field in the encoded format specified via the MessageEncoding(347) field. If used, the ASCII (English) representation should also be specified in the FinancialInstrumentFullName(2714) field. */\n  EncodedFinancialInstrumentFullName = 2716,\n  LegFinancialInstrumentFullName = 2717,\n  /** Byte length of encoded (non-ASCII characters) individual multileg instrument's EncodedLegFinancialInstrumentFullName(2719). */\n  EncodedLegFinancialInstrumentFullNameLen = 2718,\n  /** Encoded (non-ASCII characters) representation of the LegFinancialInstrumentFullName(2717) field in the encoded format specified via the MessageEncoding(347) field. If used, the ASCII (English) representation should also be specified in the LegFinancialInstrumentFullName(2717) field. */\n  EncodedLegFinancialInstrumentFullName = 2719,\n  UnderlyingFinancialInstrumentFullName = 2720,\n  /** Byte length of encoded (non-ASCII characters) underlying instrument's EncodedUnderlyingFinancialInstrumentFullName(2722). */\n  EncodedUnderlyingFinancialInstrumentFullNameLen = 2721,\n  /** Encoded (non-ASCII characters) representation of the UnderlyingFinancialInstrumentFullName(2720) field in the encoded format specified via the MessageEncoding(347) field. If used, the ASCII (English) representation should also be specified in the UnderlyingFinancialInstrumentFullName(2720) field. */\n  EncodedUnderlyingFinancialInstrumentFullName = 2722,\n  /** Curve time unit associated with the underlying index. */\n  UnderlyingIndexCurveUnit = 2723,\n  /** Curve time multiplier for the underlying index. */\n  UnderlyingIndexCurvePeriod = 2724,\n  /** Further sub classification of the CommissionAmountType(2641). */\n  CommissionAmountSubType = 2725,\n  /** Further sub classification of the AllocCommissionAmountType(2655). */\n  AllocCommissionAmountSubType = 2726,\n  /** Unique identifier for a specific leg (uniqueness not defined as part of the FIX specification). AllocLegRefID(2727) references the value from LegID(1788) in the current multileg order or trade message specifying to which leg the allocation instance applies. */\n  AllocLegRefID = 2727,\n  /** Time unit multiplier for the floating rate index identified in FloatingRateIndexID(2731). */\n  FloatingRateIndexCurvePeriod = 2728,\n  /** Spread from the floating rate index. */\n  FloatingRateIndexCurveSpread = 2729,\n  /** Time unit associated with the floating rate index identified in FloatingRateIndexID(2731). */\n  FloatingRateIndexCurveUnit = 2730,\n  /** Security identifier of the floating rate index. */\n  FloatingRateIndexID = 2731,\n  /** Source for the floating rate index identified in FloatingRateIndexID(2731). */\n  FloatingRateIndexIDSource = 2732,\n  IndexRollMonth = 2733,\n  /** Number of instances of the index roll month. */\n  NoIndexRollMonths = 2734,\n  AssetSubType = 2735,\n  /** Final price type of the commodity as specified by the trading venue. */\n  CommodityFinalPriceType = 2736,\n  FinancialInstrumentShortName = 2737,\n  /** Next index roll date. */\n  NextIndexRollDate = 2738,\n  LegAssetSubType = 2739,\n  LegFinancialInstrumentShortName = 2740,\n  SecondaryAssetSubType = 2741,\n  UnderlyingFinancialInstrumentShortName = 2742,\n  LegSecondaryAssetSubType = 2743,\n  UnderlyingAssetSubType = 2744,\n  UnderlyingSecondaryAssetSubType = 2745,\n  /** Number of instances of reference data dates. */\n  NoReferenceDataDates = 2746,\n  /** Reference data entry's date-time of the type specified in ReferenceDataDateType(2748). */\n  ReferenceDataDate = 2747,\n  /** Reference data entry's date-time type. */\n  ReferenceDataDateType = 2748,\n  /** Time of the individual execution. */\n  ExecutionTimestamp = 2749,\n  /** Represents the reportable price on fill when an instance of the Parties component with PartyRole(452) = 73 (Execution Venue) is present to prevent having to compute running totals. */\n  ReportingPx = 2750,\n  /** Represents the reportable quantity on fill when an instance of the Parties component with PartyRole(452) = 73 (Execution Venue) is present to prevent having to compute running totals. */\n  ReportingQty = 2751,\n  /** Specific delivery route or time charter average. Applicable to commodity freight contracts. */\n  DeliveryRouteOrCharter = 2752,\n  /** Indicates the type of return or payout trigger for the swap or forward. */\n  ReturnTrigger = 2753,\n  /** Specific delivery route or time charter average. Applicable to commodity freight contracts. */\n  LegDeliveryRouteOrCharter = 2754,\n  /** Indicates the type of return or payout trigger for the swap or forward. */\n  LegReturnTrigger = 2755,\n  /** Specific delivery route or time charter average. Applicable to commodity freight contracts. */\n  UnderlyingDeliveryRouteOrCharter = 2756,\n  /** Indicates the type of return or payout trigger for the swap or forward. */\n  UnderlyingReturnTrigger = 2757,\n  /** Unique identifier for the request message. */\n  AllocRequestID = 2758,\n  GroupAmount = 2759,\n  GroupRemainingAmount = 2760,\n  AllocGroupAmount = 2761,\n  PriceMarkup = 2762,\n  /** The average pricing model used for block trades. */\n  AveragePriceType = 2763,\n  /** Start of the time period during which price averaging occurred. */\n  AveragePriceStartTime = 2764,\n  /** End of the time period during which price averaging occurred. */\n  AveragePriceEndTime = 2765,\n  OrderPercentOfTotalVolume = 2766,\n  /** Status of the trade give-up relative to the group identified in AllocGroupID(1730). */\n  AllocGroupStatus = 2767,\n  /** Status of the AllocationInstructionAlertRequest(35=DU). */\n  AllocRequestStatus = 2768,\n  /** Average pricing indicator at the allocation level. */\n  AllocAvgPxIndicator = 2769,\n  /** Used by submitting firm to group trades being sub-allocated into an average price group. The trades in the average price group will be used to calculate an average price for the group. */\n  AllocAvgPxGroupID = 2770,\n  /** When reporting a group change by the central counterparty to allocations of trades for the same instrument traded at the same price this identifies the previous group identifier. */\n  PreviousAllocGroupID = 2771,\n  /** Number of match exceptions in the repeating group. */\n  NoMatchExceptions = 2772,\n  /** Type of matching exception. */\n  MatchExceptionType = 2773,\n  /** Identifies the data point used in the matching operation which resulted in an exception. */\n  MatchExceptionElementType = 2774,\n  /** The matching exception data point name, for example: \"Trade currency\". This may be used for display purposes, providing a corresponding description for the value in MatchExceptionElementType(2774). */\n  MatchExceptionElementName = 2775,\n  /** The allocating party's data value used in the match operation. */\n  MatchExceptionAllocValue = 2776,\n  /** The confirming party's data value used in the match operation. */\n  MatchExceptionConfirmValue = 2777,\n  /** The data element's tolerance value. Omitted if no tolerance is allowed or not applicable. */\n  MatchExceptionToleranceValue = 2778,\n  MatchExceptionToleranceValueType = 2779,\n  /** Description of the exception. */\n  MatchExceptionText = 2780,\n  /** Number of matching data points in the repeating group. */\n  NoMatchingDataPoints = 2781,\n  /** Data point's matching type. */\n  MatchingDataPointIndicator = 2782,\n  /** Value of the matching data point. */\n  MatchingDataPointValue = 2783,\n  MatchingDataPointType = 2784,\n  /** The matching data point name, for example: \"Trade currency\". This may be used for display purposes, providing a corresponding description for the value in MatchingDataPointType(2784). */\n  MatchingDataPointName = 2785,\n  /** The message identifier for the trade aggregation request. */\n  TradeAggregationRequestID = 2786,\n  /** Reference identifier to a previously sent trade aggregation message being cancelled or replaced. */\n  TradeAggregationRequestRefID = 2787,\n  /** Identifies the trade aggregation transaction type. */\n  TradeAggregationTransType = 2788,\n  /** Total quantity of orders or fills quantity aggregated. */\n  AggregatedQty = 2789,\n  /** Status of the trade aggregation request. */\n  TradeAggregationRequestStatus = 2790,\n  /** Reason for trade aggregation request being rejected. */\n  TradeAggregationRejectReason = 2791,\n  /** Unique identifier for the TradeAggregationReport(35=DX). */\n  TradeAggregationReportID = 2792,\n  /** The average FX spot rate. */\n  AvgSpotRate = 2793,\n  /** The average forward points. May be a negative value. */\n  AvgForwardPoints = 2794,\n  /** Indicates the type of the currency rate being used. This is relevant for currencies that have offshore rate that different from onshore rate. */\n  OffshoreIndicator = 2795,\n  /** Specifies the foreign exchange benchmark rate fixing to be used in valuing the transaction. For example \"London 4 p.m.\" or \"Tokyo 3 p.m.\" */\n  FXBenchmarkRateFix = 2796,\n  /** Byte length of encoded (non-ASCII characters) EncodedMatchExceptionText(2798) field. */\n  EncodedMatchExceptionTextLen = 2797,\n  EncodedMatchExceptionText = 2798,\n  /** Unique ID of the PayManagementReport(35=EA) message. */\n  PayReportID = 2799,\n  PayDisputeReason = 2800,\n  /** Encoded (non-ASCII characters) representation of the ReplaceText(2805) field in the encoded format specified via the MessageEncoding(347) field. If used, the ASCII (English) representation should also be specified in the ReplaceText(2805) field. */\n  EncodedReplaceText = 2801,\n  /** Byte length of encoded (non-ASCII characters) EncodedReplaceText(2801) field. */\n  EncodedReplaceTextLen = 2802,\n  /** Reference identifier of the PayManagementReport(35=EA). To be used with PayReportTransType(2804)=1 (Replace). */\n  PayReportRefID = 2803,\n  /** Identifies the message transaction type. */\n  PayReportTransType = 2804,\n  /** Identifies the reason for amendment. */\n  ReplaceText = 2805,\n  /** Identifies status of the payment report. */\n  PayReportStatus = 2806,\n  /** Identifies the reason for cancelation. */\n  CancelText = 2807,\n  /** Encoded (non-ASCII characters) representation of the CancelText(2807) field in the encoded format specified via the MessageEncoding(347) field. If used, the ASCII (English) representation should also be specified in the CancelText(2807) field. */\n  EncodedCancelText = 2808,\n  /** Byte length of encoded (non-ASCII characters) EncodedCancelText(2808) field. */\n  EncodedCancelTextLen = 2809,\n  /** Reference identifier of the PayManagementRequest(35=DY). To be used with PayRequestTransType(2811)=1 (Cancel). */\n  PayRequestRefID = 2810,\n  /** Identifies the message transaction type. */\n  PayRequestTransType = 2811,\n  /** Unique ID of the PayManagementRequest(35=DY) message. */\n  PayRequestID = 2812,\n  /** Identifies status of the request being responded to. */\n  PayRequestStatus = 2813,\n  /** Encoded (non-ASCII characters) representation of the PostTradePaymentDesc(2820) field in the encoded format specified via the MessageEncoding(347) field. If used, the ASCII (English) representation should also be specified in the PostTradePaymentDesc(2820) field. */\n  EncodedPostTradePaymentDesc = 2814,\n  /** Byte length of encoded (non-ASCII characters) EncodedPostTradePaymentDesc(2814) field. */\n  EncodedPostTradePaymentDescLen = 2815,\n  /** The cash account on the books of the receiver of the request or the sender of the report to be debited or credited. */\n  PostTradePaymentAccount = 2816,\n  /** The payment amount for the specified PostTradePaymentType(2824). */\n  PostTradePaymentAmount = 2817,\n  PostTradePaymentCurrency = 2818,\n  /** Payment side of this individual payment from the requesting firm's perspective. */\n  PostTradePaymentDebitOrCredit = 2819,\n  /** A short descriptive name given to the payment, e.g. Premium, Upfront, etc. The description may be used as reference. */\n  PostTradePaymentDesc = 2820,\n  /** The identifier for the individual payment. */\n  PostTradePaymentID = 2821,\n  /** Used to link a group of payments together, e.g. cross-currency payments associated with a swap. */\n  PostTradePaymentLinkID = 2822,\n  /** Used to indicate the status of a post-trade payment. */\n  PostTradePaymentStatus = 2823,\n  PostTradePaymentType = 2824,\n  /** The (actual) date the periodic payments calculations are made. */\n  PostTradePaymentCalculationDate = 2825,\n  /** The adjusted (for holidays and other non-business days) payment date on which the payment is expected to settle. */\n  PostTradePaymentValueDate = 2826,\n  /** The actual or final payment date on which the payment was made. */\n  PostTradePaymentFinalValueDate = 2827,\n  CurrentDisplayPrice = 2828,\n  DuplicateClOrdIDIndicator = 2829,\n  /** Indicates the type of entity who initiated an event, e.g. modification or cancellation of an order or quote. */\n  EventInitiatorType = 2830,\n  /** Type of NBBO information. */\n  NBBOEntryType = 2831,\n  /** Price related to NBBO. NBBOEntryType(2831) may be used to indicate entry type, e.g. bid or offer. */\n  NBBOPrice = 2832,\n  /** Quantity related to NBBO. NBBOEntryType(2831) may be used to indicte entry type, e.g. bid or offer. */\n  NBBOQty = 2833,\n  /** Source of NBBO information. */\n  NBBOSource = 2834,\n  /** Identifier for the original owner of an order as part of the RelatedOrderGrp component. Use the Parties component with PartyRole(452) = 13 (Order Origination Firm) to identify the original owner of an individual order. */\n  OrderOriginationFirmID = 2835,\n  /** Timestamp for the assignment of a (unique) identifier to an order. */\n  RelatedOrderTime = 2836,\n  /** Used to indicate whether the quoting system allows only one quote to be active at a time for the quote issuer or market maker. */\n  SingleQuoteIndicator = 2837,\n  CurrentWorkingPrice = 2838,\n  /** Indicates whether a given timestamp was manually captured. */\n  TrdRegTimestampManualIndicator = 2839,\n  CollateralReinvestmentRate = 2840,\n  /** Identifies the underlying instrument the entity applies to by referencing the underlying instrument's UnderlyingID(2874). */\n  UnderlyingRefID = 2841,\n  /** The cash amount of the specified re-investment type. */\n  CollateralReinvestmentAmount = 2842,\n  CollateralReinvestmentCurrency = 2843,\n  /** Indicates the type of investment the cash collateral is re-invested in. */\n  CollateralReinvestmentType = 2844,\n  /** Number of instances of CollateralReinvestmentType(2844) in the repeating group. */\n  NoCollateralReinvestments = 2845,\n  /** Specifies the funding source used to finance margin or collateralized loan. */\n  FundingSource = 2846,\n  FundingSourceCurrency = 2847,\n  /** Market value of the funding source. */\n  FundingSourceMarketValue = 2848,\n  /** Number of instances of FundingSource(2846) in the repeating group. */\n  NoFundingSources = 2849,\n  /** Indicates whether the margin described is posted or received. */\n  MarginDirection = 2851,\n  SideCollateralReinvestmentRate = 2862,\n  /** Identifies the underlying instrument the entity applies to by referencing the underlying instrument's UnderlyingID(2874). */\n  SideUnderlyingRefID = 2863,\n  /** Number of instances of SideCollateralReinvestmentType(2867) in the repeating group. */\n  NoSideCollateralReinvestments = 2864,\n  /** The cash amount of the specified re-investment type. */\n  SideCollateralReinvestmentAmount = 2865,\n  SideCollateralReinvestmentCurrency = 2866,\n  /** Indicates the type of investment the cash collateral is re-invested in. */\n  SideCollateralReinvestmentType = 2867,\n  /** Date when the collateral is to be assessed or assigned. */\n  CollateralizationValueDate = 2868,\n  RegulatoryReportTypeBusinessDate = 2869,\n  ClearingPortfolioID = 2870,\n  /** Number of instances of TransactionAttributeType(2872) in the repeating group. */\n  NoTransactionAttributes = 2871,\n  /** Type of attribute(s) or characteristic(s) associated with the transaction. */\n  TransactionAttributeType = 2872,\n  /** Value associated with the specificed TransactionAttributeType(2872). */\n  TransactionAttributeValue = 2873,\n  UnderlyingID = 2874,\n  PosAmtPrice = 2876,\n  /** Specifies the type of price for PosAmtPrice(2876). */\n  PosAmtPriceType = 2877,\n  /** The date of a contract's early termination or other post-trade event when the event is prior to the contract natural end or maturity not defined as part of the security's reference data or contractual terms/agreement. */\n  TerminationDate = 2878,\n  /** The industry name of the day count convention not listed in CouponDayCount(1950). */\n  CouponOtherDayCount = 2879,\n  /** The industry name of the day count convention not listed in LegCouponDayCount(2165). */\n  LegCouponOtherDayCount = 2880,\n  /** The industry name of the day count convention not listed in UnderlyingCouponDayCount(1993). */\n  UnderlyingCouponOtherDayCount = 2881,\n  /** Identifies the origin of the order from the counterparty of the execution or trade. */\n  ContraOrderOrigination = 2882,\n  RoutingArrangmentIndicator = 2883,\n  /** Indicates whether a routing arrangement is in place, e.g. between two brokers. May be used together with ContraOrderOrigination(2882) to further describe the origin of an order. */\n  ContraRoutingArrangmentIndicator = 2884,\n  /** Amount of accrued interest of underlying security. */\n  UnderlyingAccruedInterestAmt = 2885,\n  /** Number of days of interest for underlying security. */\n  UnderlyingNumDaysInterest = 2886,\n  /** Identifier of a related order. */\n  RelatedOrderID = 2887,\n  /** Describes the source of the identifier that RelatedOrderID(2887) represents. */\n  RelatedOrderIDSource = 2888,\n  /** Quantity of the related order which can be less than its total quantity. For example, when only parts of an order contribute to an aggregated order. */\n  RelatedOrderQty = 2889,\n  /** Describes the type of relationship between the order identified by RelatedOrderID(2887) and the order outside of the RelatedOrderGrp component. */\n  OrderRelationship = 2890,\n  /** Uniquely identifies the product of a security using ISO 4914 standard, Unique Product Identifier (UPI). The DSB (Derivative Service Bureau Ltd) is acting as designated service provider for UPI System. */\n  UPICode = 2891,\n  /** Uniquely identifies the product of a derivative instrument using ISO 4914. See UPICode(2891) for complete definition. */\n  DerivativeUPICode = 2892,\n  /** Uniquely identifies the product of a leg instrument using ISO 4914. See UPICode(2891) for further detail. */\n  LegUPICode = 2893,\n  /** Uniquely identifies the product of an underlying instrument using ISO 4914. See UPICode(2891) for further detail. */\n  UnderlyingUPICode = 2894,\n  /** Uniquely identifies the product of a security using ISO 4914 as filter criteria. See UPICode(2891) for further detail. */\n  InstrumentScopeUPICode = 2895,\n  /** Type of trade assigned to a trade. Used in addition to TrdType(828) and SecondaryTrdType(855). Must not be used when only one additional trade type needs to be assigned. */\n  TertiaryTrdType = 2896,\n  /** Identifies class or source of the Currency(15) value. */\n  CurrencyCodeSource = 2897,\n  /** Identifies class or source of the LegCurrency(556) value. */\n  LegCurrencyCodeSource = 2898,\n  /** Identifies class or source of the SettlCurrency(120) value. */\n  SettlCurrencyCodeSource = 2899,\n  /** Identifies class or source of the LegSettlCurrency(675) value. */\n  LegSettlCurrencyCodeSource = 2900,\n  /** Identifies class or source of the SideCurrency(1154) value. */\n  SideCurrencyCodeSource = 2901,\n  /** Identifies class or source of the SideSettlCurrency(1155) value. */\n  SideSettlCurrencyCodeSource = 2902,\n  /** Identifies class or source of the SettlementAmountCurrency(1702) value. */\n  SettlementAmountCurrencyCodeSource = 2903,\n  /** Identifies class or source of the StrikeCurrency(947) value. */\n  StrikeCurrencyCodeSource = 2904,\n  /** Identifies class or source of the UnitOfMeasureCurrency(1716) value. */\n  UnitOfMeasureCurrencyCodeSource = 2905,\n  /** Identifies class or source of the PriceUnitOfMeasureCurrency(1717) value. */\n  PriceUnitOfMeasureCurrencyCodeSource = 2906,\n  /** Identifies class or source of the PriceQuoteCurrency(1524) value. */\n  PriceQuoteCurrencyCodeSource = 2907,\n  /** Identifies class or source of the LegStrikeCurrency(942) value. */\n  LegStrikeCurrencyCodeSource = 2908,\n  /** Identifies class or source of the LegUnitOfMeasureCurrency(1720) value. */\n  LegUnitOfMeasureCurrencyCodeSource = 2909,\n  /** Identifies class or source of the LegPriceUnitOfMeasureCurrency(1721) value. */\n  LegPriceUnitOfMeasureCurrencyCodeSource = 2910,\n  /** Identifies class or source of the LegPriceQuoteCurrency(1528) value. */\n  LegPriceQuoteCurrencyCodeSource = 2911,\n  /** Identifies class or source of the DerivativeStrikeCurrency(1262) value. */\n  DerivativeStrikeCurrencyCodeSource = 2912,\n  /** Identifies class or source of the DerivativeUnitOfMeasureCurrency(1722) value. */\n  DerivativeUnitOfMeasureCurrencyCodeSource = 2913,\n  /** Identifies class or source of the DerivativePriceUnitOfMeasureCurrency(1723) value. */\n  DerivativePriceUnitOfMeasureCurrencyCodeSource = 2914,\n  /** Identifies class or source of the DerivativePriceQuoteCurrency(1576) value. */\n  DerivativePriceQuoteCurrencyCodeSource = 2915,\n  /** Identifies class or source of the UnderlyingCurrency(318) value. */\n  UnderlyingCurrencyCodeSource = 2916,\n  /** Identifies class or source of the UnderlyingStrikeCurrency(941) value. */\n  UnderlyingStrikeCurrencyCodeSource = 2917,\n  /** Identifies class or source of the UnderlyingUnitOfMeasureCurrency(1718) value. */\n  UnderlyingUnitOfMeasureCurrencyCodeSource = 2918,\n  /** Identifies class or source of the UnderlyingPriceUnitOfMeasureCurrency(1719) value. */\n  UnderlyingPriceUnitOfMeasureCurrencyCodeSource = 2919,\n  /** Identifies class or source of the UnderlyingPriceQuoteCurrency(1526) value. */\n  UnderlyingPriceQuoteCurrencyCodeSource = 2920,\n  /** Identifies class or source of the UnderlyingNotionalCurrency(2615) value. */\n  UnderlyingNotionalCurrencyCodeSource = 2921,\n  /** Identifies class or source of the CommCurrency(479) value. */\n  CommCurrencyCodeSource = 2922,\n  /** Identifies class or source of the CommissionCurrency(2643) value. */\n  CommissionCurrencyCodeSource = 2923,\n  /** Identifies class or source of the CommissionUnitOfMeasureCurrency(2645) value. */\n  CommissionUnitOfMeasureCurrencyCodeSource = 2924,\n  /** Identifies class or source of the AllocCommissionCurrency(2657) value. */\n  AllocCommissionCurrencyCodeSource = 2925,\n  /** Identifies class or source of the AllocCommissionUnitOfMeasureCurrency(2659) value. */\n  AllocCommissionUnitOfMeasureCurrencyCodeSource = 2926,\n  /** Identifies class or source of the AllocSettlCurrency(736) value. */\n  AllocSettlCurrencyCodeSource = 2927,\n  /** Identifies class or source of the LegAllocSettlCurrency(1367) value. */\n  LegAllocSettlCurrencyCodeSource = 2928,\n  /** Identifies class or source of the CollateralCurrency(1705) value. */\n  CollateralCurrencyCodeSource = 2929,\n  /** Identifies class or source of the SideCollateralCurrency(2695) value. */\n  SideCollateralCurrencyCodeSource = 2930,\n  /** Identifies class or source of the CollateralReinvestmentCurrency(2843) value. */\n  CollateralReinvestmentCurrencyCodeSource = 2931,\n  /** Identifies class or source of the SideCollateralReinvestmentCurrency(2866) value. */\n  SideCollateralReinvestmentCurrencyCodeSource = 2932,\n  /** Identifies class or source of the TradeAllocCurrency(1847) value. */\n  TradeAllocCurrencyCodeSource = 2933,\n  /** Identifies class or source of the TradingCurrency(1245) value. */\n  TradingCurrencyCodeSource = 2934,\n  /** Identifies class or source of the LimitAmtCurrency(1634) value. */\n  LimitAmtCurrencyCodeSource = 2935,\n  /** Identifies class or source of the PosQtyUnitOfMeasureCurrency(1835) value. */\n  PosQtyUnitOfMeasureCurrencyCodeSource = 2936,\n  /** Identifies class or source of the PositionCurrency(1055) value. */\n  PositionCurrencyCodeSource = 2937,\n  /** Identifies class or source of the LegPosCurrency(1589) value. */\n  LegPosCurrencyCodeSource = 2938,\n  /** Identifies class or source of the RiskLimitCurrency(1532) value. */\n  RiskLimitCurrencyCodeSource = 2939,\n  /** Identifies class or source of the EntitlementAttribCurrency(1781) value. */\n  EntitlementAttribCurrencyCodeSource = 2940,\n  /** Identifies class or source of the ComplexOptPayoutCurrency(2122) value. */\n  ComplexOptPayoutCurrencyCodeSource = 2941,\n  /** Identifies class or source of the ComplexEventCurrencyOne(2124) value. */\n  ComplexEventCurrencyOneCodeSource = 2942,\n  /** Identifies class or source of the ComplexEventCurrencyTwo(2125) value. */\n  ComplexEventCurrencyTwoCodeSource = 2943,\n  /** Identifies class or source of the LegComplexOptPayoutCurrency(2226) value. */\n  LegComplexOptPayoutCurrencyCodeSource = 2944,\n  /** Identifies class or source of the LegComplexEventCurrencyOne(2233) value. */\n  LegComplexEventCurrencyOneCodeSource = 2945,\n  /** Identifies class or source of the LegComplexEventCurrencyTwo(2234) value. */\n  LegComplexEventCurrencyTwoCodeSource = 2946,\n  /** Identifies class or source of the UnderlyingComplexOptPayoutCurrency(2266) value. */\n  UnderlyingComplexOptPayoutCurrencyCodeSource = 2947,\n  /** Identifies class or source of the UnderlyingComplexEventCurrencyOne(2268) value. */\n  UnderlyingComplexEventCurrencyOneCodeSource = 2948,\n  /** Identifies class or source of the UnderlyingComplexEventCurrencyTwo(2269) value. */\n  UnderlyingComplexEventCurrencyTwoCodeSource = 2949,\n  /** Identifies class or source of the BenchmarkCurveCurrency(220) value. */\n  BenchmarkCurveCurrencyCodeSource = 2950,\n  /** Identifies class or source of the LegBenchmarkCurveCurrency(676) value. */\n  LegBenchmarkCurveCurrencyCodeSource = 2951,\n  /** Identifies class or source of the AgreementCurrency(918) value. */\n  AgreementCurrencyCodeSource = 2952,\n  /** Identifies class or source of the LegAgreementCurrency(2495) value. */\n  LegAgreementCurrencyCodeSource = 2953,\n  /** Identifies class or source of the FundingSourceCurrency(2847) value. */\n  FundingSourceCurrencyCodeSource = 2954,\n  /** Identifies class or source of the PayCollectCurrency(1709) value. */\n  PayCollectCurrencyCodeSource = 2955,\n  /** Identifies class or source of the PostTradePaymentCurrency(2818) value. */\n  PostTradePaymentCurrencyCodeSource = 2956,\n  SymbolPositionNumber = 2957,\n  LegSymbolPositionNumber = 2958,\n  UnderlyingSymbolPositionNumber = 2959,\n  /** Identifies the class or source of the SettlPriceUnitOfMeasureCurrency(1887) value. */\n  SettlPriceUnitOfMeasureCurrencyCodeSource = 2960,\n  /** Indicates whether the trade or transaction was executed anonymously. */\n  AnonymousTradeIndicator = 2961,\n  SecurityReferenceDataSupplement = 2962,\n  /** Indicate whether a trade is eligible to be reported to more than one regulatory jurisdictions, e.g. due to overlapping reporting rules that require reporting to different jurisdictions. */\n  MultiJurisdictionReportingIndicator = 2963,\n  /** Indicate the instruction for self-match prevention when the incoming (aggressive) order has the same SelfMatchPreventionID(2362) as a resting (passive) order. */\n  SelfMatchPreventionInstruction = 2964,\n  /** Unique identifier of the SettlementStatusRequest(35=EC). */\n  SettlStatusRequestID = 2965,\n  /** Status of the SettlementStatusRequest(35=EC) message being responded to. */\n  SettlStatusRequestStatus = 2966,\n  /** Unique identifier of the SettlementStatusReport(35=EE). */\n  SettlStatusReportID = 2967,\n  SettlStatus = 2968,\n  SettlStatusReason = 2969,\n  SettlStatusReasonText = 2970,\n  /** Byte length of encoded (non-ASCII characters) EncodedSettlStatusReasonText(2972) field. */\n  EncodedSettlStatusReasonTextLen = 2971,\n  /** Encoded (non-ASCII characters) representation of the SettlStatusReasonText(2970) field in the encoded format specified via the MessageEncoding(347) field. If used, the ASCII (English) representation should also be specified in the SettlStatusReasonText(2970) field. */\n  EncodedSettlStatusReasonText = 2972,\n  /** Status of the report being responded to. */\n  SettlStatusReportStatus = 2973,\n  /** Identifier for quantity subgroup assigned by the clearinghouse. */\n  AllocGroupSubQtyID = 2974,\n  /** Indicates number of subgroups in an allocation group. */\n  NoAllocGroupSubQtys = 2975,\n  /** Total quantity in the subgroup of an allocation group. */\n  AllocGroupSubQty = 2976,\n  /** Change in quantity in the subgroup of an allocation group. */\n  AllocGroupSubQtyOffset = 2977,\n  /** Remaining quantity in the subgroup of an allocation group. */\n  AllocGroupRemainingSubQty = 2978,\n  /** Indicates number of trade attributes used to define a subgroup in an allocation group. */\n  NoAllocGroupSubQtyAttributes = 2979,\n  /** Type of trade attribute defining a subgroup in an allocation group. */\n  AllocGroupSubQtyType = 2980,\n  /** Value of the trade attribute defining a subgroup in an allocation group. */\n  AllocGroupSubQtyValue = 2981,\n  MaturityFrequencyUnit = 2982,\n  /** Time unit multiplier for the minimum frequency of the instrument maturity intervals. */\n  MaturityFrequencyPeriod = 2983,\n  UnderlyingMaturityFrequencyUnit = 2984,\n  /** Time unit multiplier for the minimum frequency of the instrument maturity intervals. */\n  UnderlyingMaturityFrequencyPeriod = 2985,\n  LegMaturityFrequencyUnit = 2986,\n  /** Time unit multiplier for the minimum frequency of the instrument maturity intervals. */\n  LegMaturityFrequencyPeriod = 2987,\n  /** Unique identifier for the SecurityRiskMetricsReport(35=EG) message. */\n  SecurityRiskMetricsReportID = 2988,\n  /** Describes a group of related instruments for which risk metrics are provided. */\n  RiskMetricsSecurityGroup = 2989,\n  /** Describes a sub-group of a group identified by RiskMetricsSecurityGroup(2989). */\n  RiskMetricsSecuritySubGroup = 2990,\n  /** Bid price of the underlying instrument. */\n  UnderlyingBidPx = 2991,\n  /** Offer price of the underlying instrument. */\n  UnderlyingOfferPx = 2992,\n  /** Specifies the source of the price(s) of the security used in the calculation of the metrics or analytics data. */\n  MetricsCalculationPriceSource = 2993,\n  /** Identifies the model used for asset valuation or pricing calculations. */\n  AssetValuationModel = 2994,\n  /** Number of instruments with security risk metrics data. */\n  NoSecurityRiskMetrics = 2995,\n  /** The rate of change of Delta over time. */\n  Gamma = 2996,\n  /** The security's value rate of change in response to a 1% change in (risk-free) interest rate. Measures the security's sensitivity to interest rate change. */\n  Rho = 2997,\n  /** The security's price rate of change in relation to passage of time. Also known as \"time decay\". */\n  Theta = 2998,\n  /** The security's price sensitivity to change in volatility of the underlying asset price. */\n  Vega = 2999,\n  /** Time at which volatility was computed. */\n  VolatilityTime = 3000,\n  /** Volatility based on bid prices. */\n  BidVolatility = 3001,\n  /** Volatility based on offer prices. */\n  OfferVolatility = 3002,\n  /** Volatility based on mid prices. */\n  MidVolatility = 3003,\n  /** Timestamp at which the relative valuation metric or analytic is calculated or captured. */\n  RelativeValueTimestamp = 3004,\n  /** Number of trade types in repeating group. */\n  NoTradeTypes = 3005,\n  TradeType = 3006,\n  /** Further qualification to the trade type defined in TradeType(3006). */\n  TradeSubType = 3007,\n  /** Number of allocation timestamps. */\n  NoAllocTrdRegTimestamps = 3008,\n  /** Same as TrdRegTimestamp(769). Used to provide relevant timestamp for the allocation account. */\n  AllocTrdRegTimestamp = 3009,\n  /** Same as TrdRegTimestampType(770). Used to indicate the timestamp type relevant for the allocation account. */\n  AllocTrdRegTimestampType = 3010,\n  /** Same as TrdRegTimestampOrigin(771). Used to indicate the \"origin\" or source of the timestamp relevant for the allocation account. */\n  AllocTrdRegTimestampSrc = 3011,\n  /** Unique identifier for a certificate issued by an algorithmic trading firm. */\n  AlgoCertificateID = 3012,\n  /** Description of a certificate issued by an algorithmic trading firm. */\n  AlgoCertificateDesc = 3013,\n  /** Unique identifier of the AlgoCertificateRequest(35=EH). */\n  AlgoCertificateRequestID = 3014,\n  /** Reference identifier of the AlgoCertificateRequest(35=EH). */\n  AlgoCertificateRequestRefID = 3015,\n  /** Identifies the message transaction type. */\n  AlgoCertificateRequestTransType = 3016,\n  /** Status of the AlgoCertificateRequest(35=EH) message being responded to. */\n  AlgoCertificateRequestStatus = 3017,\n  /** Unique identifier of the AlgoCertificateReport(35=EJ). */\n  AlgoCertificateReportID = 3018,\n  /** Reference identifier of the AlgoCertificateReport(35=EJ). */\n  AlgoCertificateReportRefID = 3019,\n  /** Identifies the message transaction type. */\n  AlgoCertificateReportTransType = 3020,\n  /** Status of the report being responded to. */\n  AlgoCertificateReportStatus = 3021,\n  /** Status of the certification as provided by the regulatory authority. */\n  AlgoCertificateStatus = 3022,\n  /** Date and time the details within the message have been approved. */\n  ApprovalTime = 3023,\n  /** Description of means of testing for an algorithm. */\n  AlgoTestDesc = 3024,\n  /** Number of components making up a system for algorithmic trading. */\n  NoAlgoSystemModules = 3025,\n  /** Name of the component of a system for algorithmic trading. */\n  AlgoSystemModuleName = 3026,\n  /** Version (e.g. build or commit number) of the component of a system for algorithmic trading. */\n  AlgoSystemModuleVersion = 3027,\n  /** Number of test scenarios for an algorithmic trading system. */\n  NoTestScenarios = 3028,\n  /** Unique identifier of a test scenario for a software system. */\n  TestScenarioID = 3029,\n  /** Identifies the overall result of a test scenario identified by TestScenarioID(3029). */\n  TestScenarioStatus = 3030,\n  /** Starting date and time of test scenario execution for a software system. */\n  TestScenarioStartTime = 3031,\n  /** Ending date and time of test scenario execution for a software system. */\n  TestScenarioEndTime = 3032,\n  /** Description of the origin of the market data. */\n  MDOriginDesc = 3033,\n  /** Date of the market data. */\n  MDOriginDate = 3034,\n  /** Unique identifier for the group of test steps constituting a test scenario. */\n  TestStepGroupID = 3035,\n  /** Number of test steps. */\n  NoTestSteps = 3036,\n  /** Unique identifier of a test step. */\n  TestStepID = 3037,\n  /** Description of a test step. */\n  TestStepDesc = 3038,\n  /** Starting time of a test step. */\n  TestStepStartTime = 3039,\n  /** Use for a starting time relative to TestScenarioStartTime(3031), i.e. the starting time of the test scenario. Required when TestStepStartOffsetUnit(3041) is specified. */\n  TestStepStartOffsetPeriod = 3040,\n  /** Use for a starting time relative to TestScenarioStartTime(3031), i.e. the starting time of the test scenario. Required when TestStepStartOffsetPeriod(3040) is specified. */\n  TestStepStartOffsetUnit = 3041,\n  /** Ending time of a test step. */\n  TestStepEndTime = 3042,\n  /** Use for an ending time relative to TestStepStartTime(3039), i.e. the starting time of this test step. Required when TestStepEndOffsetUnit(3044) is specified. */\n  TestStepEndOffsetPeriod = 3043,\n  /** Use for an ending time relative to TestStepStartTime(3039), i.e. the starting time of this test step. Required when TestStepEndOffsetPeriod(3043) is specified. */\n  TestStepEndOffsetUnit = 3044,\n  /** Number of test step parameters. */\n  NoTestStepParameters = 3045,\n  /** Name of the test step parameter. */\n  TestStepParameterName = 3046,\n  /** Datatype of the test step parameter. */\n  TestStepParameterType = 3047,\n  /** Value of the test step parameter. */\n  TestStepParameterValue = 3048,\n  /** Number of components making up a testing system. */\n  NoTestSystemModules = 3049,\n  /** Name of the component of a testing system. */\n  TestSystemModuleName = 3050,\n  /** Version (e.g. build or commit number) of the component of a testing system. */\n  TestSystemModuleVersion = 3051,\n  /** Number of results for a test scenario. */\n  NoTestMeasures = 3052,\n  /** Name of a test measure. */\n  TestMeasureName = 3053,\n  /** Description of a test measure. */\n  TestMeasureDesc = 3054,\n  /** Datatype of the metric being used for a test. */\n  TestMeasureType = 3055,\n  /** Number of decimal places for TestMeasureType(3055). */\n  TestMeasurePrecision = 3056,\n  /** Identifies the result of an individual test based on a measure. */\n  TestMeasureResult = 3057,\n  /** Identifies whether the value of a measure needs to be over or under a specific threshold to be successful. */\n  TestThresholdType = 3058,\n  /** Value of the measure upon which a warning is issued for the test. */\n  TestWarningLevelValue = 3059,\n  /** Value of the measure upon which the test is considered to have failed. */\n  TestFailLevelValue = 3060,\n  /** Peak value of the measure achieved in testing. */\n  TestPeakLevelValue = 3061,\n  /** Unique identifier of the TestSuiteDefinitionRequest(35=EL). */\n  TestSuiteRequestID = 3062,\n  /** Reference identifier of the TestSuiteDefinitionRequest(35=EL). */\n  TestSuiteRequestRefID = 3063,\n  /** Identifies the message transaction type. */\n  TestSuiteRequestTransType = 3064,\n  /** Status of the TestSuiteDefinitionRequest(35=EL) message being responded to. */\n  TestSuiteRequestStatus = 3065,\n  /** Unique identifier of the TestActionRequest(35=EN). */\n  TestActionRequestID = 3066,\n  /** Specifies the type of action to take or that was taken for a given test suite. */\n  TestActionType = 3067,\n  /** Status of the TestActionRequest(35=EN) message being responded to. */\n  TestActionRequestStatus = 3068,\n  /** Specifies the activity state the test suite is in. */\n  TestSuiteActivityState = 3069,\n  /** Identifies the overall test result of a group of individual test scenarios. */\n  TestSuiteStatus = 3070,\n  /** Identifier of the test action report. */\n  TestActionReportID = 3071,\n  /** Number of bonds in the repeating group. */\n  NoAdditionalTermBondRefs = 40000,\n  /** Security identifier of the bond. */\n  AdditionalTermBondSecurityID = 40001,\n  /** Identifies the source scheme of the AdditionalTermBondSecurityID(40001) value. */\n  AdditionalTermBondSecurityIDSource = 40002,\n  /** Description of the bond. */\n  AdditionalTermBondDesc = 40003,\n  /** Byte length of encoded (non-ASCII characters) EncodedAdditionalTermBondDesc(40005) field. */\n  EncodedAdditionalTermBondDescLen = 40004,\n  /** Encoded (non-ASCII characters) representation of the AdditionalTermBondDesc(40003) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the AdditionalTermBondDesc(40003) field. */\n  EncodedAdditionalTermBondDesc = 40005,\n  /** Specifies the currency the bond value is denominated in. Uses ISO 4217 currency codes. */\n  AdditionalTermBondCurrency = 40006,\n  /** Issuer of the bond. */\n  AdditionalTermBondIssuer = 40007,\n  /** Byte length of encoded (non-ASCII characters) EncodedAdditionalTermBondIssuer(40009) field. */\n  EncodedAdditionalTermBondIssuerLen = 40008,\n  /** Encoded (non-ASCII characters) representation of the AdditionalTermBondIssuer(40007) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the AdditionalTermBondIssuer(40007) field. */\n  EncodedAdditionalTermBondIssuer = 40009,\n  /** Specifies the bond's payment priority in the event of a default. */\n  AdditionalTermBondSeniority = 40010,\n  /** Coupon type of the bond. */\n  AdditionalTermBondCouponType = 40011,\n  /** Coupon rate of the bond. See also CouponRate(223). */\n  AdditionalTermBondCouponRate = 40012,\n  /** The maturity date of the bond. */\n  AdditionalTermBondMaturityDate = 40013,\n  /** The par value of the bond. */\n  AdditionalTermBondParValue = 40014,\n  /** Total issued amount of the bond. */\n  AdditionalTermBondCurrentTotalIssuedAmount = 40015,\n  /** Time unit multiplier for the frequency of the bond's coupon payment. */\n  AdditionalTermBondCouponFrequencyPeriod = 40016,\n  /** Time unit associated with the frequency of the bond's coupon payment. */\n  AdditionalTermBondCouponFrequencyUnit = 40017,\n  /** The day count convention used in interest calculations for a bond or an interest bearing security. */\n  AdditionalTermBondDayCount = 40018,\n  /** Number of additional terms in the repeating group. */\n  NoAdditionalTerms = 40019,\n  /** Indicates whether the condition precedent bond is applicable. The swap contract is only valid if the bond is issued and if there is any dispute over the terms of fixed stream then the bond terms would be used. */\n  AdditionalTermConditionPrecedentBondIndicator = 40020,\n  /** Indicates whether the discrepancy clause is applicable. */\n  AdditionalTermDiscrepancyClauseIndicator = 40021,\n  /** Number of elements in the repeating group. */\n  NoCashSettlTerms = 40022,\n  /** Specifies the currency the CashSettlAmount(40034) is denominated in. Uses ISO 4217 currency codes. */\n  CashSettlCurrency = 40023,\n  CashSettlValuationFirstBusinessDayOffset = 40024,\n  /** The time of valuation. */\n  CashSettlValuationTime = 40025,\n  /** Identifies the business center calendar used at valuation time for cash settlement purposes e.g. \"GBLO\". See http://www.fpml.org/coding-scheme/business-center for standard 4-character code values. */\n  CashSettlBusinessCenter = 40026,\n  /** The type of quote used to determine the cash settlement price. */\n  CashSettlQuoteMethod = 40027,\n  CashSettlQuoteAmount = 40028,\n  /** Specifies the currency the CashSettlQuoteAmount(40028) is denominated in. Uses ISO 4217 Currency Code. */\n  CashSettlQuoteCurrency = 40029,\n  CashSettlMinimumQuoteAmount = 40030,\n  /** Specifies the currency the CashSettlMinimumQuoteAmount(40030) is denominated in. Uses ISO 4217 Currency Code. */\n  CashSettlMinimumQuoteCurrency = 40031,\n  CashSettlDealer = 40032,\n  CashSettlBusinessDays = 40033,\n  CashSettlAmount = 40034,\n  /** Used for fixed recovery, this specifies the recovery level as determined at contract inception, to be applied in the event of a default. The factor is used to calculate the amount paid by the seller to the buyer for cash settlement on the cash settlement date. The amount calculated is (1 - CashSettlRecoveryFactor(40035)) x floating rate payer calculation amount. The currency is derived from the floating rate payer calculation amount. */\n  CashSettlRecoveryFactor = 40035,\n  /** Indicates whether fixed settlement is applicable or not applicable in a recovery lock. */\n  CashSettlFixedTermIndicator = 40036,\n  CashSettlAccruedInterestIndicator = 40037,\n  CashSettlValuationMethod = 40038,\n  /** A named string value referenced by UnderlyingSettlTermXIDRef(41315). */\n  CashSettlTermXID = 40039,\n  /** Number of financing definitions in the repeating group. */\n  NoContractualDefinitions = 40040,\n  /** Specifies which contract definition, such as those published by ISDA, will apply for the terms of the trade. See http://www.fpml.org/coding-scheme/contractual-definitions for values. */\n  ContractualDefinition = 40041,\n  /** Number of contractual matrices in the repeating group. */\n  NoContractualMatrices = 40042,\n  /** Identifies the applicable contract matrix. See http://www.fpml.org/coding-scheme/matrix-type-1-0.xml for values. */\n  ContractualMatrixSource = 40043,\n  /** The publication date of the applicable version of the contract matrix. If not specified, the ISDA Standard Terms Supplement defines rules for which version of the matrix is applicable. */\n  ContractualMatrixDate = 40044,\n  ContractualMatrixTerm = 40045,\n  /** Number of financing terms supplements in the repeating group. */\n  NoFinancingTermSupplements = 40046,\n  /** Identifies the applicable contractual supplement. See http://www.fpml.org/coding-scheme/contractual-supplement for values. */\n  FinancingTermSupplementDesc = 40047,\n  /** The publication date of the applicable version of the contractual supplement. */\n  FinancingTermSupplementDate = 40048,\n  /** Number of swap streams in the repeating group. */\n  NoStreams = 40049,\n  /** Type of swap stream. */\n  StreamType = 40050,\n  /** A short descriptive name given to the payment stream. Eg. CDS, Fixed, Float, Float2, GBP. The description has no intrinsic meaning but should be arbitrarily chosen by the remitter as reference. */\n  StreamDesc = 40051,\n  /** The side of the party paying the stream. */\n  StreamPaySide = 40052,\n  /** The side of the party receiving the stream. */\n  StreamReceiveSide = 40053,\n  /** Notional, or initial notional value for the payment stream. Use the PaymentScheduleGrp component to specify the rate steps. */\n  StreamNotional = 40054,\n  /** Specifies the currency the StreamNotional(40054) is denominated in. Uses ISO 4217 currency codes. */\n  StreamCurrency = 40055,\n  /** Free form text to specify additional information or enumeration description when a standard value does not apply. */\n  StreamText = 40056,\n  /** The unadjusted effective date. */\n  UnderlyingStreamEffectiveDateUnadjusted = 40057,\n  /** The business day convention used to adjust the underlying instrument's stream's effective, or relative effective, date. Used only to override the business day convention specified in the UnderlyingDateAdjustment component within the UnderlyingInstrument component. */\n  UnderlyingStreamEffectiveDateBusinessDayConvention = 40058,\n  UnderlyingStreamEffectiveDateBusinessCenter = 40059,\n  UnderlyingStreamEffectiveDateRelativeTo = 40060,\n  /** Time unit multiplier for the relative effective date offset. */\n  UnderlyingStreamEffectiveDateOffsetPeriod = 40061,\n  /** Time unit associated with the relative effective date offset. */\n  UnderlyingStreamEffectiveDateOffsetUnit = 40062,\n  /** Specifies the day type of the relative effective date offset. */\n  UnderlyingStreamEffectiveDateOffsetDayType = 40063,\n  /** The adjusted effective date. */\n  UnderlyingStreamEffectiveDateAdjusted = 40064,\n  /** The unadjusted termination date. */\n  StreamTerminationDateUnadjusted = 40065,\n  /** The business day convention used to adjust the instrument's stream's termination, or relative termination, date. Used only to override the business day convention specified in the DateAdjustment component within the Instrument component. */\n  StreamTerminationDateBusinessDayConvention = 40066,\n  StreamTerminationDateBusinessCenter = 40067,\n  StreamTerminationDateRelativeTo = 40068,\n  /** Time unit multiplier for the relative termination date offset. */\n  StreamTerminationDateOffsetPeriod = 40069,\n  /** Time unit associated with the relative termination date offset. */\n  StreamTerminationDateOffsetUnit = 40070,\n  /** Specifies the day type of the relative termination date offset. */\n  StreamTerminationDateOffsetDayType = 40071,\n  /** The adjusted termination date. */\n  StreamTerminationDateAdjusted = 40072,\n  /** The business day convention used to adjust calculation periods. Used only to override the business day convention specified in the DateAdjustment component within the Instrument component. */\n  StreamCalculationPeriodBusinessDayConvention = 40073,\n  StreamCalculationPeriodBusinessCenter = 40074,\n  /** The unadjusted first calculation period start date if before the effective date. */\n  StreamFirstPeriodStartDateUnadjusted = 40075,\n  /** The business day convention used to adjust the instrument's stream's first calculation period start date. Used only to override the business day convention specified in the DateAdjustment component within the Instrument component. */\n  StreamFirstPeriodStartDateBusinessDayConvention = 40076,\n  StreamFirstPeriodStartDateBusinessCenter = 40077,\n  /** The adjusted first calculation period start date, if it is before the effective date. */\n  StreamFirstPeriodStartDateAdjusted = 40078,\n  /** The unadjusted first start date of the regular calculation period, if there is an initial stub period. */\n  StreamFirstRegularPeriodStartDateUnadjusted = 40079,\n  /** The unadjusted end date of the initial compounding period. */\n  StreamFirstCompoundingPeriodEndDateUnadjusted = 40080,\n  /** The unadjusted last regular period end date if there is a final stub period. */\n  StreamLastRegularPeriodEndDateUnadjusted = 40081,\n  /** Time unit multiplier for the frequency at which calculation period end dates occur. */\n  StreamCalculationFrequencyPeriod = 40082,\n  /** Time unit associated with the frequency at which calculation period end dates occur. */\n  StreamCalculationFrequencyUnit = 40083,\n  /** The convention for determining the sequence of end dates. It is used in conjunction with a specified frequency. Used only to override the roll convention specified in the DateAdjustment component within the Instrument component. */\n  StreamCalculationRollConvention = 40084,\n  /** Number of settlement rate fallbacks in the repeating group */\n  NoSettlRateFallbacks = 40085,\n  /** The maximum number of days to wait for a quote from the disrupted settlement rate option before proceding to this method. */\n  SettlRatePostponementMaximumDays = 40086,\n  /** Identifies the source of the rate information. */\n  LegPaymentStreamNonDeliverableSettlRateSource = 40087,\n  /** Indicates whether to request a settlement rate quote from the market. */\n  SettlRatePostponementSurvey = 40088,\n  /** Used to identify the settlement rate postponement calculation agent. */\n  SettlRatePostponementCalculationAgent = 40089,\n  /** Number of provisions in the repeating group. */\n  NoProvisions = 40090,\n  /** Type of provisions. */\n  ProvisionType = 40091,\n  /** The unadjusted date of the provision. */\n  ProvisionDateUnadjusted = 40092,\n  /** The business day convention used to adjust the instrument's provision's dates. Used only to override the business day convention specified in the DateAdjustment component within the Instrument component. */\n  ProvisionDateBusinessDayConvention = 40093,\n  /** The business center calendar used to adjust the instrument's provision's dates, e.g. \"GBLO\". See http://www.fpml.org/coding-scheme/business-center for standard 4-character code values. */\n  ProvisionDateBusinessCenter = 40094,\n  /** The adjusted date of the provision. */\n  ProvisionDateAdjusted = 40095,\n  /** Time unit multiplier for the provision's tenor period. */\n  ProvisionDateTenorPeriod = 40096,\n  /** Time unit associated with the provision's tenor period. */\n  ProvisionDateTenorUnit = 40097,\n  /** Used to identify the calculation agent. The calculation agent may be identified in ProvisionCalculationAgent(40098) or in the ProvisionParties component. */\n  ProvisionCalculationAgent = 40098,\n  /** If optional early termination is not available to both parties then this component identifies the buyer of the option through its side of the trade. */\n  ProvisionOptionSinglePartyBuyerSide = 40099,\n  /** If optional early termination is not available to both parties then this component identifies the seller of the option through its side of the trade. */\n  ProvisionOptionSinglePartySellerSide = 40100,\n  /** The instrument provision option\u2019s exercise style. */\n  ProvisionOptionExerciseStyle = 40101,\n  /** A notional amount which restricts the amount of notional that can be exercised when partial exercise or multiple exercise is applicable. The integral multiple amount defines a lower limit of notional that can be exercised and also defines a unit multiple of notional that can be exercised, i.e. only integer multiples of this amount can be exercised. */\n  ProvisionOptionExerciseMultipleNotional = 40102,\n  /** The minimum notional amount that can be exercised on a given exercise date. */\n  ProvisionOptionExerciseMinimumNotional = 40103,\n  /** The maximum notional amount that can be exercised on a given exercise date. */\n  ProvisionOptionExerciseMaximumNotional = 40104,\n  /** The minimum number of options that can be exercised on a given exercise date. */\n  ProvisionOptionMinimumNumber = 40105,\n  /** The maximum number of options that can be exercised on a given exercise date. If the number is not specified, it means that the maximum number of options corresponds to the remaining unexercised options. */\n  ProvisionOptionMaximumNumber = 40106,\n  /** Used to indicate whether follow-up confirmation of exercise (written or electronic) is required following telephonic notice by the buyer to the seller or seller's agent. */\n  ProvisionOptionExerciseConfirmation = 40107,\n  /** An ISDA defined cash settlement method used for the determination of the applicable cash settlement amount. The method is defined in the 2006 ISDA Definitions, Section 18.3. Cash Settlement Methods, paragraph (e). */\n  ProvisionCashSettlMethod = 40108,\n  /** Specifies the currency of settlement. Uses ISO 4217 currency codes. */\n  ProvisionCashSettlCurrency = 40109,\n  /** Specifies the currency of settlement for a cross-currency provision. Uses ISO 4217 currency codes. */\n  ProvisionCashSettlCurrency2 = 40110,\n  /** Identifies the type of quote to be used. */\n  ProvisionCashSettlQuoteType = 40111,\n  /** Identifies the source of quote information. */\n  ProvisionCashSettlQuoteSource = 40112,\n  /** Free form text to specify additional information or enumeration description when a standard value does not apply. */\n  ProvisionText = 40113,\n  /** A time specified in 24-hour format, e.g. 11am would be represented as 11:00:00. The time of the cash settlement valuation date when the cash settlement amount will be determined according to the cash settlement method if the parties have not otherwise been able to agree to the cash settlement amount. */\n  ProvisionCashSettlValueTime = 40114,\n  /** Identifies the business center calendar used with the provision's cash settlement valuation time. See http://www.fpml.org/coding-scheme/business-center for standard 4-character code values. */\n  ProvisionCashSettlValueTimeBusinessCenter = 40115,\n  /** The cash settlement valuation date adjustment business day convention. Used only to override the business day convention specified in the DateAdjustment component within the Instrument component. */\n  ProvisionCashSettlValueDateBusinessDayConvention = 40116,\n  /** The business center calendar used to adjust the provision's cash settlement valuation date, e.g. \"GBLO\". See http://www.fpml.org/coding-scheme/business-center for standard 4-character code values. */\n  ProvisionCashSettlValueDateBusinessCenter = 40117,\n  ProvisionCashSettlValueDateRelativeTo = 40118,\n  /** Time unit multiplier for the relative cash settlement value date offset. */\n  ProvisionCashSettlValueDateOffsetPeriod = 40119,\n  /** Time unit associated with the relative cash settlement value date offset. */\n  ProvisionCashSettlValueDateOffsetUnit = 40120,\n  /** Specifies the day type of the provision's relative cash settlement value date offset. */\n  ProvisionCashSettlValueDateOffsetDayType = 40121,\n  /** The adjusted cash settlement value date. */\n  ProvisionCashSettlValueDateAdjusted = 40122,\n  /** The business day convention used to adjust the instrument's provision's option exercise date. Used only to override the business day convention specified in the DateAdjustment component within the Instrument component. */\n  ProvisionOptionExerciseBusinessDayConvention = 40123,\n  ProvisionOptionExerciseBusinessCenter = 40124,\n  /** Time unit multiplier for the interval to the first (and possibly only) exercise date in the exercise period. */\n  ProvisionOptionExerciseEarliestDateOffsetPeriod = 40125,\n  /** Time unit associated with the interval to the first (and possibly only) exercise date in the exercise period. */\n  ProvisionOptionExerciseEarliestDateOffsetUnit = 40126,\n  /** Time unit multiplier for the frequency of subsequent exercise dates in the exercise period following the earliest exercise date. An interval of 1 day should be used to indicate an American style exercise period. */\n  ProvisionOptionExerciseFrequencyPeriod = 40127,\n  /** Time unit associated with the frequency of subsequent exercise dates in the exercise period following the earliest exercise date. */\n  ProvisionOptionExerciseFrequencyUnit = 40128,\n  /** The unadjusted first day of the exercise period for an American style option. */\n  ProvisionOptionExerciseStartDateUnadjusted = 40129,\n  ProvisionOptionExerciseStartDateRelativeTo = 40130,\n  /** Time unit multiplier for the relative option exercise start date offset. */\n  ProvisionOptionExerciseStartDateOffsetPeriod = 40131,\n  /** Time unit associated with the relative option exercise start date offset. */\n  ProvisionOptionExerciseStartDateOffsetUnit = 40132,\n  /** Specifies the day type of the provision's relative option exercise start date offset. */\n  ProvisionOptionExerciseStartDateOffsetDayType = 40133,\n  /** The adjusted first day of the exercise period for an American style option. */\n  ProvisionOptionExerciseStartDateAdjusted = 40134,\n  /** The number of periods in the referenced date schedule that are between each date in the relative date schedule. Thus a skip of 2 would mean that dates are relative to every second date in the referenced schedule. If present this should have a value greater than 1. */\n  ProvisionOptionExercisePeriodSkip = 40135,\n  /** The unadjusted first date of a schedule. This can be used to restrict the range of exercise dates when they are relative. */\n  ProvisionOptionExerciseBoundsFirstDateUnadjusted = 40136,\n  /** The unadjusted last date of a schedule. This can be used to restrict the range of exercise dates when they are relative. */\n  ProvisionOptionExerciseBoundsLastDateUnadjusted = 40137,\n  /** The earliest time at which notice of exercise can be given by the buyer to the seller (or seller's agent) i) on the expriation date, in the case of a European style option, (ii) on each bermuda option exercise date and the expiration date, in the case of a Bermuda style option the commencement date to, and including, the expiration date, in the case of an American option. */\n  ProvisionOptionExerciseEarliestTime = 40138,\n  ProvisionOptionExerciseEarliestTimeBusinessCenter = 40139,\n  /** For a Bermuda or American style option, the latest time on an exercise business day (excluding the expiration date) within the exercise period that notice can be given by the buyer to the seller or seller's agent. Notice of exercise given after this time will be deemed to have been given on the next exercise business day. */\n  ProvisionOptionExerciseLatestTime = 40140,\n  ProvisionOptionExerciseLatestTimeBusinessCenter = 40141,\n  /** Number of provision option exercise fixed dates in the repeating group. */\n  NoProvisionOptionExerciseFixedDates = 40142,\n  /** A predetermined option exercise date, unadjusted or adjusted depending on ProvisionOptionExerciseFixedDateType(40144). */\n  ProvisionOptionExerciseFixedDate = 40143,\n  /** Specifies the type of date (e.g. adjusted for holidays). */\n  ProvisionOptionExerciseFixedDateType = 40144,\n  /** The unadjusted last day within an exercise period for an American style option. For a European style option it is the only day within the exercise period. */\n  ProvisionOptionExpirationDateUnadjusted = 40145,\n  /** The business day convention used to adjust the instrument's provision's option expiration date. Used only to override the business day convention specified in the DateAdjustment component within the Instrument component. */\n  ProvisionOptionExpirationDateBusinessDayConvention = 40146,\n  ProvisionOptionExpirationDateBusinessCenter = 40147,\n  ProvisionOptionExpirationDateRelativeTo = 40148,\n  /** Time unit multiplier for the relative option expiration date offset. */\n  ProvisionOptionExpirationDateOffsetPeriod = 40149,\n  /** Time unit associated with the relative option expiration date offset. */\n  ProvisionOptionExpirationDateOffsetUnit = 40150,\n  /** Specifies the day type of the provision's relative option expiration date offset. */\n  ProvisionOptionExpirationDateOffsetDayType = 40151,\n  /** The adjusted last date within an exercise period for an American style option. For a European style option it is the only date within the exercise period. */\n  ProvisionOptionExpirationDateAdjusted = 40152,\n  /** The latest time for exercise on the expiration date. */\n  ProvisionOptionExpirationTime = 40153,\n  ProvisionOptionExpirationTimeBusinessCenter = 40154,\n  /** The unadjusted date on the underlying set by the exercise of an option. What this date is depends on the option (e.g. in a swaption it is the swap effective date, in an extendible/cancelable provision it is the swap termination date). */\n  ProvisionOptionRelevantUnderlyingDateUnadjusted = 40155,\n  /** The business day convention used to adjust the instrument's provision's option underlying date. Used only to override the business day convention specified in the DateAdjustment component within the Instrument component. */\n  ProvisionOptionRelevantUnderlyingDateBusinessDayConvention = 40156,\n  ProvisionOptionRelevantUnderlyingDateBusinessCenter = 40157,\n  ProvisionOptionRelevantUnderlyingDateRelativeTo = 40158,\n  /** Time unit multiplier for the relative option relevant underlying date offset. */\n  ProvisionOptionRelevantUnderlyingDateOffsetPeriod = 40159,\n  /** Time unit associated with the relative option relevant underlying date offset. */\n  ProvisionOptionRelevantUnderlyingDateOffsetUnit = 40160,\n  /** Specifies the day type of the provision's relative option relevant underlying date offset. */\n  ProvisionOptionRelevantUnderlyingDateOffsetDayType = 40161,\n  /** The adjusted date on the underlying set by the exercise of an option. What this date is depends on the option (e.g. in a swaption it is the swap effective date, in an extendible/cancelable provision it is the swap termination date). */\n  ProvisionOptionRelevantUnderlyingDateAdjusted = 40162,\n  /** The business day convention used to adjust the provisional cash settlement payment's termination or relative termination date. Used only to override the business day convention specified in the DateAdjustment component within the Instrument component. */\n  ProvisionCashSettlPaymentDateBusinessDayConvention = 40163,\n  ProvisionCashSettlPaymentDateBusinessCenter = 40164,\n  ProvisionCashSettlPaymentDateRelativeTo = 40165,\n  /** Time unit multiplier for the relative cash settlement payment date offset. */\n  ProvisionCashSettlPaymentDateOffsetPeriod = 40166,\n  /** Time unit associated with the relative cash settlement payment date offset. */\n  ProvisionCashSettlPaymentDateOffsetUnit = 40167,\n  /** Specifies the day type of the provision's relative cash settlement payment date offset. */\n  ProvisionCashSettlPaymentDateOffsetDayType = 40168,\n  /** First date in range when a settlement date range is provided. */\n  ProvisionCashSettlPaymentDateRangeFirst = 40169,\n  /** The last date in range when a settlement date range is provided. */\n  ProvisionCashSettlPaymentDateRangeLast = 40170,\n  /** Number of provision cash settlement payment dates in the repeating group. */\n  NoProvisionCashSettlPaymentDates = 40171,\n  /** The cash settlement payment date, unadjusted or adjusted depending on ProvisionCashSettlPaymentDateType(40173). */\n  ProvisionCashSettlPaymentDate = 40172,\n  /** Specifies the type of date (e.g. adjusted for holidays). */\n  ProvisionCashSettlPaymentDateType = 40173,\n  /** Number of parties identified in the contract provision. */\n  NoProvisionPartyIDs = 40174,\n  /** The party identifier/code for the payment settlement party. */\n  ProvisionPartyID = 40175,\n  /** Identifies class or source of the ProvisionPartyID(40175) value. */\n  ProvisionPartyIDSource = 40176,\n  /** Identifies the type or role of ProvisionPartyID(40175) specified. */\n  ProvisionPartyRole = 40177,\n  /** Number of sub-party IDs to be reported for the party. */\n  NoProvisionPartySubIDs = 40178,\n  /** Party sub-identifier, if applicable, for ProvisionPartyID(40175). */\n  ProvisionPartySubID = 40179,\n  /** The type of ProvisionPartySubID(40179). */\n  ProvisionPartySubIDType = 40180,\n  /** Number of protection terms in the repeating group. */\n  NoProtectionTerms = 40181,\n  ProtectionTermNotional = 40182,\n  /** The currency of ProtectionTermNotional(40182). Uses ISO 4217 currency codes. */\n  ProtectionTermCurrency = 40183,\n  ProtectionTermSellerNotifies = 40184,\n  ProtectionTermBuyerNotifies = 40185,\n  /** When used, the business center indicates the local time of the business center that replaces the Greenwich Mean Time in Section 3.3 of the 2003 ISDA Credit Derivatives Definitions. See http://www.fpml.org/coding-scheme/business-center for standard 4-character code values. */\n  ProtectionTermEventBusinessCenter = 40186,\n  /** Indicates whether ISDA defined Standard Public Sources are applicable (ProtectionTermStandardSources(40187)=Y) or not. */\n  ProtectionTermStandardSources = 40187,\n  ProtectionTermEventMinimumSources = 40188,\n  /** Newspaper or electronic news service or source that may publish relevant information used in the determination of whether or not a credit event has occurred. */\n  ProtectionTermEventNewsSource = 40189,\n  /** A named string value referenced by UnderlyingProtectionTermXIDRef(41314). */\n  ProtectionTermXID = 40190,\n  /** Number of protection term events in the repeating group. */\n  NoProtectionTermEvents = 40191,\n  ProtectionTermEventType = 40192,\n  ProtectionTermEventValue = 40193,\n  /** Applicable currency if ProtectionTermEventValue(40193) is an amount. Uses ISO 4217 currency codes. */\n  ProtectionTermEventCurrency = 40194,\n  /** Time unit multiplier for protection term events. */\n  ProtectionTermEventPeriod = 40195,\n  /** Time unit associated with protection term events. */\n  ProtectionTermEventUnit = 40196,\n  /** Day type for events that specify a period and unit. */\n  ProtectionTermEventDayType = 40197,\n  /** Rate source for events that specify a rate source, e.g. Floating rate interest shortfall. */\n  ProtectionTermEventRateSource = 40198,\n  /** Number of qualifiers in the repeating group. */\n  NoProtectionTermEventQualifiers = 40199,\n  /** Protection term event qualifier. Used to further qualify ProtectionTermEventType(40192). */\n  ProtectionTermEventQualifier = 40200,\n  /** Number of obligations in the repeating group. */\n  NoProtectionTermObligations = 40201,\n  ProtectionTermObligationType = 40202,\n  ProtectionTermObligationValue = 40203,\n  /** Number of entries in the repeating group. */\n  NoPhysicalSettlTerms = 40204,\n  /** Specifies the currency of physical settlement. Uses ISO 4217 currency codes. */\n  PhysicalSettlCurrency = 40205,\n  PhysicalSettlBusinessDays = 40206,\n  /** A maximum number of business days. Its precise meaning depends on the context in which this element is used. Intended to be used to limit a particular ISDA fallback provision. */\n  PhysicalSettlMaximumBusinessDays = 40207,\n  /** A named string value referenced by UnderlyingSettlTermXIDRef(41315). */\n  PhysicalSettlTermXID = 40208,\n  /** Number of entries in the repeating group. */\n  NoPhysicalSettlDeliverableObligations = 40209,\n  /** Specifies the type of deliverable obligation applicable for physical settlement. See http://www.fixtradingcommunity.org/codelists#Deliverable_Obligation_Types for code list for applicable deliverable obligation types. */\n  PhysicalSettlDeliverableObligationType = 40210,\n  /** Physical settlement deliverable obligation value appropriate to PhysicalSettlDeliverableObligationType(40210). See http://www.fixtradingcommunity.org/codelists#Deliverable_Obligation_Types for applicable obligation type values. */\n  PhysicalSettlDeliverableObligationValue = 40211,\n  /** Number of additional settlement or bullet payments. */\n  NoPayments = 40212,\n  /** Type of payment. */\n  PaymentType = 40213,\n  /** The side of the party paying the payment. */\n  PaymentPaySide = 40214,\n  /** The side of the party receiving the payment. */\n  PaymentReceiveSide = 40215,\n  /** Specifies the currency in which PaymentAmount(40217) is denominated. Uses ISO 4271 currency codes. */\n  PaymentCurrency = 40216,\n  /** The total payment amount. */\n  PaymentAmount = 40217,\n  /** The price determining the payment amount expressed in terms specified in PaymentPriceType(40919) and expressed in market format. */\n  PaymentPrice = 40218,\n  /** The unadjusted payment date. */\n  PaymentDateUnadjusted = 40219,\n  /** The business day convention used to adjust the payment date. Used only to override the business day convention specified in the DateAdjustment component within the Instrument component. */\n  PaymentBusinessDayConvention = 40220,\n  /** The business center calendar used to adjust the payment date, e.g. \"GBLO\". See http://www.fpml.org/coding-scheme/business-center for standard 4-character code values. */\n  PaymentBusinessCenter = 40221,\n  /** The adjusted payment date. */\n  PaymentDateAdjusted = 40222,\n  /** Applicable value for LegMarketDisruptionEvent(41468). */\n  LegMarketDisruptionValue = 40223,\n  /** The value representing the discount factor used to calculate the present value of the cash flow. */\n  PaymentDiscountFactor = 40224,\n  /** The amount representing the present value of the forecast payment. */\n  PaymentPresentValueAmount = 40225,\n  /** Specifies the currency the PaymentPresentValueAmount(40225) is denominated in. Uses ISO 4217 currency codes. */\n  PaymentPresentValueCurrency = 40226,\n  /** Payment settlement style. */\n  PaymentSettlStyle = 40227,\n  LegPaymentStreamNonDeliverableSettlReferencePage = 40228,\n  /** Free form text to specify additional information or enumeration description when a sdtandard value does not apply. Identifies the payment type when PaymentType(40213) = 99 (Other). */\n  PaymentText = 40229,\n  /** Number of additional settlements or bullet payments. */\n  NoPaymentSettls = 40230,\n  /** The payment settlement amount. */\n  PaymentSettlAmount = 40231,\n  /** Specifies the currency the PaymentSettlAmount(40231) is denominated in. Uses ISO 4217 currency codes. */\n  PaymentSettlCurrency = 40232,\n  /** Number of parties identified in the additional settlement or bullet payment. */\n  NoPaymentSettlPartyIDs = 40233,\n  /** The payment settlement party identifier. */\n  PaymentSettlPartyID = 40234,\n  /** Identifies the class or source of PaymentSettlPartyID(40234) value (e.g. BIC). */\n  PaymentSettlPartyIDSource = 40235,\n  /** Identifies the role of PaymentSettlPartyID(40234) (e.g. the beneficiary's bank or depository institution). */\n  PaymentSettlPartyRole = 40236,\n  /** Qualifies the value of PaymentSettlPartyRole(40236). */\n  PaymentSettlPartyRoleQualifier = 40237,\n  /** Number of sub-party IDs to be reported for the party. */\n  NoPaymentSettlPartySubIDs = 40238,\n  /** Party sub-identifier, if applicable, for PaymentSettlPartyRole(40236). */\n  PaymentSettlPartySubID = 40239,\n  /** The type of PaymentSettlPartySubID(40239) value. */\n  PaymentSettlPartySubIDType = 40240,\n  /** Number of swap streams in the repeating group. */\n  NoLegStreams = 40241,\n  /** Type of swap stream. */\n  LegStreamType = 40242,\n  /** A short descriptive name given to the payment stream, e.g. CDS, Fixed, Float, Float2, GBP. The description has no intrinsic meaning but should be arbitrarily chosen by the remitter as a reference. */\n  LegStreamDesc = 40243,\n  /** The side of the party paying the stream. */\n  LegStreamPaySide = 40244,\n  /** The side of the party receiving the stream. */\n  LegStreamReceiveSide = 40245,\n  /** Notional, or initial notional value for the payment stream. The LegPaymentSchedule component should be used for specifying the steps. */\n  LegStreamNotional = 40246,\n  /** Specifies the currency the LegStreamNotional(40246) is denominated in. Uses ISO 4217 currency codes. */\n  LegStreamCurrency = 40247,\n  /** Free form text to specify additional information or enumeration description when a standard value does not apply. */\n  LegStreamText = 40248,\n  /** The unadjusted effective date. */\n  LegStreamEffectiveDateUnadjusted = 40249,\n  /** The business day convention used to adjust the instrument leg's stream's effective date or relative effective date. Used only to override the business day convention specified in the LegDateAdjustment component within the InstrumentLeg component. */\n  LegStreamEffectiveDateBusinessDayConvention = 40250,\n  LegStreamEffectiveDateBusinessCenter = 40251,\n  LegStreamEffectiveDateRelativeTo = 40252,\n  /** Time unit multiplier for the relative effective date offset. */\n  LegStreamEffectiveDateOffsetPeriod = 40253,\n  /** Time unit associated with the relative effective date offset. */\n  LegStreamEffectiveDateOffsetUnit = 40254,\n  /** Specifies the day type of the relative effective date offset. */\n  LegStreamEffectiveDateOffsetDayType = 40255,\n  /** The adjusted effective date. */\n  LegStreamEffectiveDateAdjusted = 40256,\n  /** The unadjusted termination date. */\n  LegStreamTerminationDateUnadjusted = 40257,\n  /** The business day convention used to adjust the instrument leg's stream's termination, or relative termination, date. Used only to override the business day convention specified in the LegDateAdjustment component within the InstrumentLeg component. */\n  LegStreamTerminationDateBusinessDayConvention = 40258,\n  LegStreamTerminationDateBusinessCenter = 40259,\n  LegStreamTerminationDateRelativeTo = 40260,\n  /** Time unit multiplier for the relative termination date offset. */\n  LegStreamTerminationDateOffsetPeriod = 40261,\n  /** Time unit associated with the relative termination date offset. */\n  LegStreamTerminationDateOffsetUnit = 40262,\n  /** Specifies the day type of the relative termination date offset. */\n  LegStreamTerminationDateOffsetDayType = 40263,\n  /** The adjusted termination date. */\n  LegStreamTerminationDateAdjusted = 40264,\n  /** The business day convention used to adjust calculation periods. Used only to override the business day convention specified in the LegDateAdjustment component within the InstrumentLeg component. */\n  LegStreamCalculationPeriodBusinessDayConvention = 40265,\n  LegStreamCalculationPeriodBusinessCenter = 40266,\n  /** The unadjusted first calculation period start date if before the effective date. */\n  LegStreamFirstPeriodStartDateUnadjusted = 40267,\n  /** The business day convention used to adjust the instrument leg's stream's first calculation period start date. Used only to override the business day convention specified in the LegDateAdjustment component within the InstrumentLeg component. */\n  LegStreamFirstPeriodStartDateBusinessDayConvention = 40268,\n  LegStreamFirstPeriodStartDateBusinessCenter = 40269,\n  /** The adjusted first calculation period start date, if it is before the effective date. */\n  LegStreamFirstPeriodStartDateAdjusted = 40270,\n  /** The unadjusted first start date of the regular calculation period, if there is an initial stub period. */\n  LegStreamFirstRegularPeriodStartDateUnadjusted = 40271,\n  /** The unadjusted end date of the initial compounding period. */\n  LegStreamFirstCompoundingPeriodEndDateUnadjusted = 40272,\n  /** The unadjusted last regular period end date if there is a final stub period. */\n  LegStreamLastRegularPeriodEndDateUnadjusted = 40273,\n  /** Time unit multiplier for the frequency at which calculation period end dates occur. */\n  LegStreamCalculationFrequencyPeriod = 40274,\n  /** Time unit associated with the frequency at which calculation period end dates occur. */\n  LegStreamCalculationFrequencyUnit = 40275,\n  /** The convention for determining the sequence of end dates. It is used in conjunction with a specified frequency. Used only to override the roll convention specified in the LegDateAdjustment component within the InstrumentLeg component. */\n  LegStreamCalculationRollConvention = 40276,\n  /** Number of dealers in the repeating group. */\n  NoCashSettlDealers = 40277,\n  /** Number of business centers in the repeating group. */\n  NoBusinessCenters = 40278,\n  /** Identifies the type of payment stream applicable to the swap stream associated with the instrument leg. */\n  LegPaymentStreamType = 40279,\n  /** Used only for credit index trade. This contains the credit spread (\"fair value\") at which the trade was executed. The market rate varies over the life of the index depending on market conditions. This is the price of the index as quoted by trading desks. */\n  LegPaymentStreamMarketRate = 40280,\n  LegPaymentStreamDelayIndicator = 40281,\n  /** Specifies the currency that the stream settles in (to support swaps that settle in a currency different from the notional currency). Uses ISO 4217 currency codes. */\n  LegPaymentStreamSettlCurrency = 40282,\n  /** The day count convention used in the payment stream calculations. */\n  LegPaymentStreamDayCount = 40283,\n  /** The number of days from the adjusted calculation period start date to the adjusted value date, calculated in accordance with the applicable day count fraction. */\n  LegPaymentStreamAccrualDays = 40284,\n  /** The method of calculating discounted payment amounts. */\n  LegPaymentStreamDiscountType = 40285,\n  /** Discount rate. The rate is expressed in decimal, e.g. 5% is expressed as 0.05. */\n  LegPaymentStreamDiscountRate = 40286,\n  /** The day count convention applied to the LegPaymentStreamDiscountRate(40286). */\n  LegPaymentStreamDiscountRateDayCount = 40287,\n  /** Compounding method. */\n  LegPaymentStreamCompoundingMethod = 40288,\n  /** Indicates whether there is an initial exchange of principal on the effective date. */\n  LegPaymentStreamInitialPrincipalExchangeIndicator = 40289,\n  /** Indicates whether there are intermediate or interim exchanges of principal during the term of the swap. */\n  LegPaymentStreamInterimPrincipalExchangeIndicator = 40290,\n  /** Indicates whether there is a final exchange of principal on the termination date. */\n  LegPaymentStreamFinalPrincipalExchangeIndicator = 40291,\n  /** The business day convention used to adjust the payment stream's payment date. Used only to override the business day convention specified in the LegDateAdjustment component within the InstrumentLeg component. */\n  LegPaymentStreamPaymentDateBusinessDayConvention = 40292,\n  LegPaymentStreamPaymentDateBusinessCenter = 40293,\n  /** Time unit multiplier for the frequency of payments. */\n  LegPaymentStreamPaymentFrequencyPeriod = 40294,\n  /** Time unit associated with the frequency of payments. */\n  LegPaymentStreamPaymentFrequencyUnit = 40295,\n  /** The convention for determining the sequence of end dates. It is used in conjunction with a specified frequency. Used only to override the roll convention specified in the LegDateAdjustment component within the InstrumentLeg component. */\n  LegPaymentStreamPaymentRollConvention = 40296,\n  /** The unadjusted first payment date. */\n  LegPaymentStreamFirstPaymentDateUnadjusted = 40297,\n  /** The unadjusted last regular payment date. */\n  LegPaymentStreamLastRegularPaymentDateUnadjusted = 40298,\n  LegPaymentStreamPaymentDateRelativeTo = 40299,\n  /** Time unit multiplier for the relative payment date offset. */\n  LegPaymentStreamPaymentDateOffsetPeriod = 40300,\n  /** Time unit associated with the relative payment date offset. */\n  LegPaymentStreamPaymentDateOffsetUnit = 40301,\n  /** Specifies the day type of the relative payment date offset. */\n  LegPaymentStreamPaymentDateOffsetDayType = 40302,\n  LegPaymentStreamResetDateRelativeTo = 40303,\n  /** The business day convention used to adjust the payment stream's reset date. Used only to override the business day convention specified in the LegDateAdjustment component within the InstrumentLeg component. */\n  LegPaymentStreamResetDateBusinessDayConvention = 40304,\n  LegPaymentStreamResetDateBusinessCenter = 40305,\n  /** Time unit multiplier for frequency of resets. */\n  LegPaymentStreamResetFrequencyPeriod = 40306,\n  /** Time unit associated with frequency of resets. */\n  LegPaymentStreamResetFrequencyUnit = 40307,\n  /** Used to specify the day of the week in which the reset occurs for payments that reset on a weekly basis. */\n  LegPaymentStreamResetWeeklyRollConvention = 40308,\n  LegPaymentStreamInitialFixingDateRelativeTo = 40309,\n  /** The business day convention used to adjust the payment stream's initial fixing date. Used only to override the business day convention specified in the LegDateAdjustment component within the InstrumentLeg component. */\n  LegPaymentStreamInitialFixingDateBusinessDayConvention = 40310,\n  LegPaymentStreamInitialFixingDateBusinessCenter = 40311,\n  /** Time unit multiplier for the relative initial fixing date offset. */\n  LegPaymentStreamInitialFixingDateOffsetPeriod = 40312,\n  /** Time unit associated with the relative initial fixing date offset. */\n  LegPaymentStreamInitialFixingDateOffsetUnit = 40313,\n  /** Specifies the day type of the relative initial fixing date offset. */\n  LegPaymentStreamInitialFixingDateOffsetDayType = 40314,\n  /** The adjusted initial fixing date. */\n  LegPaymentStreamInitialFixingDateAdjusted = 40315,\n  LegPaymentStreamFixingDateRelativeTo = 40316,\n  /** The business day convention used to adjust the payment stream's fixing date. Used only to override the business day convention specified in the LegDateAdjustment component within the InstrumentLeg component. */\n  LegPaymentStreamFixingDateBusinessDayConvention = 40317,\n  LegPaymentStreamFixingDateBusinessCenter = 40318,\n  /** Time unit multiplier for the relative fixing date offset. */\n  LegPaymentStreamFixingDateOffsetPeriod = 40319,\n  /** Time unit associated with the relative fixing date offset. */\n  LegPaymentStreamFixingDateOffsetUnit = 40320,\n  /** Specifies the day type of the relative fixing date offset. */\n  LegPaymentStreamFixingDateOffsetDayType = 40321,\n  /** The adjusted fixing date. */\n  LegPaymentStreamFixingDateAdjusted = 40322,\n  LegPaymentStreamRateCutoffDateOffsetPeriod = 40323,\n  /** Time unit associated with the relative rate cut-off date offset. */\n  LegPaymentStreamRateCutoffDateOffsetUnit = 40324,\n  /** Specifies the day type of the relative rate cut-off date offset. */\n  LegPaymentStreamRateCutoffDateOffsetDayType = 40325,\n  /** The rate applicable to the fixed rate payment stream. */\n  LegPaymentStreamRate = 40326,\n  /** The leg instrument payment stream's fixed payment amount. In a CDS, this can be an alternative to LegPaymentStreamRate(40326). */\n  LegPaymentStreamFixedAmount = 40327,\n  /** Specifies the currency in which LegPaymentStreamFixedAmount(40327) or LegPaymentStreamRate(40326) is denominated. Uses ISO 4217 currency codes. */\n  LegPaymentStreamRateOrAmountCurrency = 40328,\n  /** The future value notional is normally only required for certain non-deliverable interest rate swaps (e.g. Brazillian Real (BRL) vs. CETIP Interbank Deposit Rate (CDI)). The value is calculated as follows: Future Value Notional = Notional Amount * (1 + Fixed Rate) ^ (Fixed Rate Day Count Fraction). The currency is the same as the stream notional. */\n  LegPaymentStreamFutureValueNotional = 40329,\n  /** The adjusted value date of the future value amount. */\n  LegPaymentStreamFutureValueDateAdjusted = 40330,\n  /** The payment stream floating rate index. */\n  LegPaymentStreamRateIndex = 40331,\n  /** The source of the payment stream floating rate index. */\n  LegPaymentStreamRateIndexSource = 40332,\n  /** Time unit associated with the payment stream's floating rate index curve period. */\n  LegPaymentStreamRateIndexCurveUnit = 40333,\n  /** Time unit multiplier for the payment stream's floating rate index curve period. */\n  LegPaymentStreamRateIndexCurvePeriod = 40334,\n  /** A rate multiplier to apply to the floating rate. The multiplier can be less than or greater than 1 (one). This element should only be included if the multiplier is not equal to 1 (one) for the term of the stream. */\n  LegPaymentStreamRateMultiplier = 40335,\n  /** The basis points spread from the index specified in LegPaymentStreamRateIndex(40331). */\n  LegPaymentStreamRateSpread = 40336,\n  /** Identifies whether the rate spread is applied to a long or short position. */\n  LegPaymentStreamRateSpreadPositionType = 40337,\n  /** Specifies the yield calculation treatment for the index. */\n  LegPaymentStreamRateTreatment = 40338,\n  /** The cap rate, if any, which applies to the floating rate. It is only required where the floating rate on a swap stream is capped at a certain level The cap rate is assumed to be exclusive of any spread and is a per annum rate, expressed as a decimal. A cap rate of 5% would be represented as 0.05. */\n  LegPaymentStreamCapRate = 40339,\n  /** Reference to the buyer of the cap rate option through its trade side. */\n  LegPaymentStreamCapRateBuySide = 40340,\n  /** Reference to the seller of the cap rate option through its trade side. */\n  LegPaymentStreamCapRateSellSide = 40341,\n  /** The floor rate, if any, which applies to the floating rate. The floor rate (strike) is only required where the floating rate on a swap stream is floored at a certain strike level The floor rate is assumed to be exclusive of any spread and is a per annum rate. The rate is expressed as a decimal, e.g. 5% is represented as 0.05. */\n  LegPaymentStreamFloorRate = 40342,\n  /** Reference to the buyer of the floor rate option through its trade side. */\n  LegPaymentStreamFloorRateBuySide = 40343,\n  /** Reference to the seller of the floor rate option through its trade side. */\n  LegPaymentStreamFloorRateSellSide = 40344,\n  /** The initial floating rate reset agreed between the principal parties involved in the trade. This is assumed to be the first required reset rate for the first regular calculation period. It should only be included when the rate is not equal to the rate published on the source implied by the floating rate index. The initial rate is expressed in decimal form, e.g. 5% is represented as 0.05. */\n  LegPaymentStreamInitialRate = 40345,\n  /** Specifies the rounding direction. */\n  LegPaymentStreamFinalRateRoundingDirection = 40346,\n  /** Specifies the rounding precision in terms of a number of decimal places. Note how a percentage rate rounding of 5 decimal places is expressed as a rounding precision of 7. */\n  LegPaymentStreamFinalRatePrecision = 40347,\n  /** When averaging is applicable, used to specify whether a weighted or unweighted average method of calculation is to be used. */\n  LegPaymentStreamAveragingMethod = 40348,\n  /** The specification of any provisions for calculating payment obligations when a floating rate is negative (either due to a quoted negative floating rate or by operation of a spread that is subtracted from the floating rate). */\n  LegPaymentStreamNegativeRateTreatment = 40349,\n  /** Time unit multiplier for the inflation lag period. The lag period is the offsetting period from the payment date which determineds the reference period for which the inflation index is observed. */\n  LegPaymentStreamInflationLagPeriod = 40350,\n  /** Time unit associated with the inflation lag period. */\n  LegPaymentStreamInflationLagUnit = 40351,\n  /** The inflation lag period day type. */\n  LegPaymentStreamInflationLagDayType = 40352,\n  /** The method used when calculating the inflation index level from multiple points. The most common is linear method. */\n  LegPaymentStreamInflationInterpolationMethod = 40353,\n  /** The inflation index reference source. */\n  LegPaymentStreamInflationIndexSource = 40354,\n  /** The publication source, such as relevant web site, news publication or a government body, where inflation information is obtained. */\n  LegPaymentStreamInflationPublicationSource = 40355,\n  /** Initial known index level for the first calculation period. */\n  LegPaymentStreamInflationInitialIndexLevel = 40356,\n  /** Indicates whether a fallback bond as defined in the 2006 ISDA Inflation Derivatives Definitions, sections 1.3 and 1.8, is applicable or not. If not specified, the default value is \"Y\" (True/Yes). */\n  LegPaymentStreamInflationFallbackBondApplicable = 40357,\n  /** The method of Forward Rate Agreement (FRA) discounting, if any, that will apply. */\n  LegPaymentStreamFRADiscounting = 40358,\n  /** Non-deliverable settlement reference currency. Uses ISO 4217 currency codes. */\n  LegPaymentStreamNonDeliverableRefCurrency = 40359,\n  /** The business day convention used to adjust the payment stream's fixing date for the non-deliverable settlement terms. Used only to override the business day convention specified in the LegDateAdjustment component within the InstrumentLeg component. */\n  LegPaymentStreamNonDeliverableFixingDatesBusinessDayConvention = 40360,\n  /** The business center calendar used to adjust the payment stream's fixing date for the non-deliverable terms, e.g. \"GBLO\". See http://www.fpml.org/coding-scheme/business-center for standard 4-character code values. */\n  LegPaymentStreamNonDeliverableFixingDatesBusinessCenter = 40361,\n  LegPaymentStreamNonDeliverableFixingDatesRelativeTo = 40362,\n  /** Time unit multiplier for the relative non-deliverable fixing date offset. */\n  LegPaymentStreamNonDeliverableFixingDatesOffsetPeriod = 40363,\n  /** Time unit associated with the relative non-deliverable fixing date offset. */\n  LegPaymentStreamNonDeliverableFixingDatesOffsetUnit = 40364,\n  /** Specifies the day type of the relative non-deliverable fixing date offset. */\n  LegPaymentStreamNonDeliverableFixingDatesOffsetDayType = 40365,\n  /** Identifies the source of rate information. */\n  LegSettlRateFallbackRateSource = 40366,\n  /** Number of fixing dates in the repeating group. */\n  NoLegNonDeliverableFixingDates = 40367,\n  /** The non-deliverable fixing date. Type of date is specified in LegNonDeliverableFixingDateType(40369). */\n  LegNonDeliverableFixingDate = 40368,\n  /** Specifies the type of date (e.g. adjusted for holidays). */\n  LegNonDeliverableFixingDateType = 40369,\n  LegSettlRateFallbackReferencePage = 40370,\n  /** Identifies the source of rate information. */\n  PaymentStreamNonDeliverableSettlRateSource = 40371,\n  PaymentStreamNonDeliverableSettlReferencePage = 40372,\n  /** Identifies the source of rate information. */\n  SettlRateFallbackRateSource = 40373,\n  /** Number of swap schedules in the repeating group */\n  NoLegPaymentSchedules = 40374,\n  /** Specifies the type of schedule. */\n  LegPaymentScheduleType = 40375,\n  /** Indicates to which stub this schedule applies. */\n  LegPaymentScheduleStubType = 40376,\n  /** The unadjusted date on which the value is adjusted, or calculated if a future value notional for certain non-deliverable interest rate swaps (e.g. Brazillian Real (BRL) vs. CETIP Interbank Deposit Rate (CDI)), or the start date of a cashflow payment. */\n  LegPaymentScheduleStartDateUnadjusted = 40377,\n  /** The unadjusted end date of a cashflow payment. */\n  LegPaymentScheduleEndDateUnadjusted = 40378,\n  /** The side of the party paying the step schedule. */\n  LegPaymentSchedulePaySide = 40379,\n  /** The side of the party receiving the step schedule. */\n  LegPaymentScheduleReceiveSide = 40380,\n  /** The notional value for this step schedule, or amount of a cashflow payment. */\n  LegPaymentScheduleNotional = 40381,\n  /** The currency for this step schedule. Uses ISO 4217 currency codes. */\n  LegPaymentScheduleCurrency = 40382,\n  /** The rate value for this step schedule. */\n  LegPaymentScheduleRate = 40383,\n  /** A rate multiplier to apply to the floating rate. The multiplier can be less than or greater than 1 (one). This element should only be included if the multiplier is not equal to 1 (one) for the term of the stream. */\n  LegPaymentScheduleRateMultiplier = 40384,\n  /** The spread value for this step schedule. */\n  LegPaymentScheduleRateSpread = 40385,\n  /** Identifies whether the rate spread is applied to a long or a short position. */\n  LegPaymentScheduleRateSpreadPositionType = 40386,\n  /** Specifies the yield calculation treatment for the step schedule. */\n  LegPaymentScheduleRateTreatment = 40387,\n  /** The explicit payment amount for this step schedule. */\n  LegPaymentScheduleFixedAmount = 40388,\n  /** The currency of the fixed amount. Uses ISO 4217 currency codes. */\n  LegPaymentScheduleFixedCurrency = 40389,\n  /** Time unit multiplier for the step frequency. */\n  LegPaymentScheduleStepFrequencyPeriod = 40390,\n  /** Time unit associated with the step frequency. */\n  LegPaymentScheduleStepFrequencyUnit = 40391,\n  /** The explicit amount that the notional changes on each step date. This can be a positive or negative amount. */\n  LegPaymentScheduleStepOffsetValue = 40392,\n  /** The percentage by which the notional changes on each step date. The percentage is either a percentage applied to the initial notional amount or the previous outstanding notional, depending on the value specified in LegPaymentScheduleStepRelativeTo(40395). The percentage can be either positive or negative. */\n  LegPaymentScheduleStepRate = 40393,\n  /** The explicit amount that the rate changes on each step date. This can be a positive or negative value. */\n  LegPaymentScheduleStepOffsetRate = 40394,\n  /** Specifies whether the LegPaymentScheduleStepRate(40393) or LegPaymentScheduleStepOffsetValue(40392) should be applied to the initial notional or the previous notional in order to calculate the notional step change amount. */\n  LegPaymentScheduleStepRelativeTo = 40395,\n  /** The unadjusted fixing date. */\n  LegPaymentScheduleFixingDateUnadjusted = 40396,\n  /** Floating rate observation weight for cashflow payment. */\n  LegPaymentScheduleWeight = 40397,\n  LegPaymentScheduleFixingDateRelativeTo = 40398,\n  /** The business day convention used to adjust the payment schedule's fixing date. Used only to override the business day convention specified in the LegDateAdjustment component within the InstrumentLeg component. */\n  LegPaymentScheduleFixingDateBusinessDayConvention = 40399,\n  LegPaymentScheduleFixingDateBusinessCenter = 40400,\n  /** Time unit multiplier for the relative fixing date offset. */\n  LegPaymentScheduleFixingDateOffsetPeriod = 40401,\n  /** Time unit associated with the relative fixing date offset. */\n  LegPaymentScheduleFixingDateOffsetUnit = 40402,\n  /** Specifies the day type of the relative fixing date offset. */\n  LegPaymentScheduleFixingDateOffsetDayType = 40403,\n  /** The adjusted fixing date. */\n  LegPaymentScheduleFixingDateAdjusted = 40404,\n  /** The fxing time associated with the step schedule. */\n  LegPaymentScheduleFixingTime = 40405,\n  LegPaymentScheduleFixingTimeBusinessCenter = 40406,\n  LegPaymentScheduleInterimExchangePaymentDateRelativeTo = 40407,\n  /** The business day convention used to adjust the payment schedule's interim exchange date. Used only to override the business day convention specified in the LegDateAdjustment component within the InstrumentLeg component. */\n  LegPaymentScheduleInterimExchangeDatesBusinessDayConvention = 40408,\n  LegPaymentScheduleInterimExchangeDatesBusinessCenter = 40409,\n  /** Time unit multiplier for the relative interim exchange date offset. */\n  LegPaymentScheduleInterimExchangeDatesOffsetPeriod = 40410,\n  /** Time unit associated with the relative interim exchange date offset. */\n  LegPaymentScheduleInterimExchangeDatesOffsetUnit = 40411,\n  /** Specifies the day type of the relative interim exchange date offset. */\n  LegPaymentScheduleInterimExchangeDatesOffsetDayType = 40412,\n  /** The adjusted interim exchange date. */\n  LegPaymentScheduleInterimExchangeDateAdjusted = 40413,\n  /** Number of rate sources in the repeating group */\n  NoLegPaymentScheduleRateSources = 40414,\n  /** Identifies the source of rate information. */\n  LegPaymentScheduleRateSource = 40415,\n  /** Rate source type. */\n  LegPaymentScheduleRateSourceType = 40416,\n  LegPaymentScheduleReferencePage = 40417,\n  /** Number of stubs in the repeating group */\n  NoLegPaymentStubs = 40418,\n  /** Stub type. */\n  LegPaymentStubType = 40419,\n  /** Optional indication whether stub is shorter or longer than the regular swap period. */\n  LegPaymentStubLength = 40420,\n  /** The agreed upon fixed rate for this stub. */\n  LegPaymentStubRate = 40421,\n  /** A fixed payment amount for the stub. */\n  LegPaymentStubFixedAmount = 40422,\n  /** The currency of the fixed payment amount. Uses ISO 4217 currency codes. */\n  LegPaymentStubFixedCurrency = 40423,\n  /** The stub floating rate index. */\n  LegPaymentStubIndex = 40424,\n  /** The source for the stub floating rate index. */\n  LegPaymentStubIndexSource = 40425,\n  /** Time unit multiplier for the floating rate index. */\n  LegPaymentStubIndexCurvePeriod = 40426,\n  /** Time unit associated with the floating rate index. */\n  LegPaymentStubIndexCurveUnit = 40427,\n  /** A rate multiplier to apply to the floating rate. The multiplier can be less than or greater than 1 (one). This element should only be included if the multiplier is not equal to 1 (one) for the term of the stream. */\n  LegPaymentStubIndexRateMultiplier = 40428,\n  /** Spread from floating rate index. */\n  LegPaymentStubIndexRateSpread = 40429,\n  /** Identifies whether the rate spread is applied to a long or a short position. */\n  LegPaymentStubIndexRateSpreadPositionType = 40430,\n  /** Specifies the yield calculation treatment for the stub index. */\n  LegPaymentStubIndexRateTreatment = 40431,\n  /** The cap rate, if any, which applies to the floating rate. The cap rate (strike) is only required where the floating rate on a swap stream is capped at a certain level. The cap rate is assumed to be exclusive of any spread and is a per annum rate, expressed as a decimal. A cap rate of 5% would be represented as 0.05. */\n  LegPaymentStubIndexCapRate = 40432,\n  /** Reference to the buyer of the cap rate option through its trade side. */\n  LegPaymentStubIndexCapRateBuySide = 40433,\n  /** Reference to the seller of the cap rate option through its trade side. */\n  LegPaymentStubIndexCapRateSellSide = 40434,\n  /** The floor rate, if any, which applies to the floating rate. The floor rate (strike) is only required where the floating rate on a swap stream is floored at a certain strike level. The floor rate is assumed to be exclusive of any spread and is a per annum rate, expressed as a decimal. A floor rate of 5% would be represented as 0.05. */\n  LegPaymentStubIndexFloorRate = 40435,\n  /** Reference to the buyer of the floor rate option through its trade side. */\n  LegPaymentStubIndexFloorRateBuySide = 40436,\n  /** Reference to the seller of the floor rate option through its trade side. */\n  LegPaymentStubIndexFloorRateSellSide = 40437,\n  /** The second stub floating rate index. */\n  LegPaymentStubIndex2 = 40438,\n  /** The source for the second stub floating rate index. */\n  LegPaymentStubIndex2Source = 40439,\n  /** Secondary time unit multiplier for the stub floating rate index curve. */\n  LegPaymentStubIndex2CurvePeriod = 40440,\n  /** Secondary time unit associated with the stub floating rate index curve. */\n  LegPaymentStubIndex2CurveUnit = 40441,\n  /** A rate multiplier to apply to the second floating rate. The multiplier can be less than or greater than 1 (one). This element should only be included if the multiplier is not equal to 1 (one) for the term of the stream. */\n  LegPaymentStubIndex2RateMultiplier = 40442,\n  /** Spread from the second floating rate index. */\n  LegPaymentStubIndex2RateSpread = 40443,\n  /** Identifies whether the rate spread is applied to a long or a short position. */\n  LegPaymentStubIndex2RateSpreadPositionType = 40444,\n  /** Specifies the yield calculation treatment for the second stub index. */\n  LegPaymentStubIndex2RateTreatment = 40445,\n  /** The cap rate, if any, which applies to the second floating rate. The cap rate (strike) is only required where the floating rate on a swap stream is capped at a certain level. The cap rate is assumed to be exclusive of any spread and is a per annum rate, expressed as a decimal. A cap rate of 5% would be represented as 0.05. */\n  LegPaymentStubIndex2CapRate = 40446,\n  /** The floor rate, if any, which applies to the second floating rate. The floor rate (strike) is only required where the floating rate on a swap stream is floored at a certain strike level. The floor rate is assumed to be exclusive of any spread and is a per annum rate, expressed as a decimal. A floor rate of 5% would be represented as 0.05. */\n  LegPaymentStubIndex2FloorRate = 40447,\n  /** Number of provisions in the repeating group. */\n  NoLegProvisions = 40448,\n  /** Type of provisions. */\n  LegProvisionType = 40449,\n  /** The unadjusted date of the provision. */\n  LegProvisionDateUnadjusted = 40450,\n  /** The business day convention used to adjust the instrument leg's provision's date. Used only to override the business day convention specified in the LegDateAdjustment component within the InstrumentLeg component. */\n  LegProvisionDateBusinessDayConvention = 40451,\n  /** The business center calendar used to adjust the instrument leg's provision's date, e.g. \"GBLO\". See http://www.fpml.org/coding-scheme/business-center for standard 4-character code values. */\n  LegProvisionDateBusinessCenter = 40452,\n  /** The adjusted date of the provision. */\n  LegProvisionDateAdjusted = 40453,\n  /** Time unit multiplier for the leg provision's tenor period. */\n  LegProvisionDateTenorPeriod = 40454,\n  /** Time unit associated with the leg provision's tenor period. */\n  LegProvisionDateTenorUnit = 40455,\n  /** Used to identify the calculation agent. The calculation agent may be identified in LegProvisionCalculationAgent(40456) or in the ProvisionParties component. */\n  LegProvisionCalculationAgent = 40456,\n  /** If optional early termination is not available to both parties then this component identifies the buyer of the option through its side of the trade. */\n  LegProvisionOptionSinglePartyBuyerSide = 40457,\n  /** If optional early termination is not available to both parties then this component identifies the seller of the option through its side of the trade. */\n  LegProvisionOptionSinglePartySellerSide = 40458,\n  /** The instrument provision option exercise style. */\n  LegProvisionOptionExerciseStyle = 40459,\n  /** A notional amount which restricts the amount of notional that can be exercised when partial exercise or multiple exercise is applicable. The integral multiple amount defines a lower limit of notional that can be exercised and also defines a unit multiple of notional that can be exercised, i.e. only integer multiples of this amount can be exercised. */\n  LegProvisionOptionExerciseMultipleNotional = 40460,\n  /** The minimum notional amount that can be exercised on a given exercise date. */\n  LegProvisionOptionExerciseMinimumNotional = 40461,\n  /** The maximum notional amount that can be exercised on a given exercise date. */\n  LegProvisionOptionExerciseMaximumNotional = 40462,\n  /** The minimum number of options that can be exercised on a given exercise date. */\n  LegProvisionOptionMinimumNumber = 40463,\n  /** The maximum number of options that can be exercised on a given exercise date. If the number is not specified, it means that the maximum number of options corresponds to the remaining unexercised options. */\n  LegProvisionOptionMaximumNumber = 40464,\n  /** Used to indicate whether follow-up confirmation of exercise (written or electronic) is required following telephonic notice by the buyer to the seller or seller's agent. */\n  LegProvisionOptionExerciseConfirmation = 40465,\n  /** An ISDA defined cash settlement method used for the determination of the applicable cash settlement amount. The method is defined in the 2006 ISDA Definitions, Section 18.3. Cash Settlement Methods, paragraph (e). */\n  LegProvisionCashSettlMethod = 40466,\n  /** Specifies the currency of settlement. Uses ISO 4217 currency codes. */\n  LegProvisionCashSettlCurrency = 40467,\n  /** Specifies the currency of settlement for a cross-currency provision. Uses ISO 4217 currency codes. */\n  LegProvisionCashSettlCurrency2 = 40468,\n  /** Identifies the type of quote to be used. */\n  LegProvisionCashSettlQuoteType = 40469,\n  /** Identifies the source of quote information. */\n  LegProvisionCashSettlQuoteSource = 40470,\n  /** A business center whose calendar is used for date adjustment, e.g. \"GBLO\". See http://www.fpml.org/coding-scheme/business-center for standard 4-character code values. */\n  BusinessCenter = 40471,\n  /** Free form text to specify additional information or enumeration description when a standard value does not apply. */\n  LegProvisionText = 40472,\n  /** Number of provision cash settlement payment dates in the repeating group. */\n  NoLegProvisionCashSettlPaymentDates = 40473,\n  /** The cash settlement payment date, unadjusted or adjusted depending on LegProvisionCashSettlPaymentDateType(40521). */\n  LegProvisionCashSettlPaymentDate = 40474,\n  /** Specifies the type of date (e.g. adjusted for holidays). */\n  LegProvisionCashSettlPaymentDateType = 40475,\n  /** The business day convention used to adjust the instrument leg's provision's option exercise date. Used only to override the business day convention specified in the LegDateAdjustment component within the InstrumentLeg component. */\n  LegProvisionOptionExerciseBusinessDayConvention = 40476,\n  LegProvisionOptionExerciseBusinessCenter = 40477,\n  /** Time unit multiplier for the interval to the first (and possibly only) exercise date in the exercise period. */\n  LegProvisionOptionExerciseEarliestDateOffsetPeriod = 40478,\n  /** Time unit associated with the interval to the first (and possibly only) exercise date in the exercise period. */\n  LegProvisionOptionExerciseEarliestDateOffsetUnit = 40479,\n  /** Time unit multiplier for subsequent exercise dates in the exercise period following the earliest exercise date. An interval of 1 day should be used to indicate an American style exercise period. */\n  LegProvisionOptionExerciseFrequencyPeriod = 40480,\n  /** Time unit associated with subsequent exercise dates in the exercise period following the earliest exercise date. */\n  LegProvisionOptionExerciseFrequencyUnit = 40481,\n  /** The unadjusted first day of the exercise period for an American style option. */\n  LegProvisionOptionExerciseStartDateUnadjusted = 40482,\n  LegProvisionOptionExerciseStartDateRelativeTo = 40483,\n  /** Time unit multiplier for the relative option exercise start date offset. */\n  LegProvisionOptionExerciseStartDateOffsetPeriod = 40484,\n  /** Time unit associated with the relative option exercise start date offset. */\n  LegProvisionOptionExerciseStartDateOffsetUnit = 40485,\n  /** Specifies the day type of the provision's relative option exercise start date offset. */\n  LegProvisionOptionExerciseStartDateOffsetDayType = 40486,\n  /** The adjusted first day of the exercise period for an American style option. */\n  LegProvisionOptionExerciseStartDateAdjusted = 40487,\n  /** The number of periods in the referenced date schedule that are between each date in the relative date schedule. Thus a skip of 2 would mean that dates are relative to every second date in the referenced schedule. If present this should have a value greater than 1. */\n  LegProvisionOptionExercisePeriodSkip = 40488,\n  /** The unadjusted first date of a schedule. This can be used to restrict the range of exercise dates when they are relative. */\n  LegProvisionOptionExerciseBoundsFirstDateUnadjusted = 40489,\n  /** The unadjusted last date of a schedule. This can be used to restrict the range of exercise dates when they are relative. */\n  LegProvisionOptionExerciseBoundsLastDateUnadjusted = 40490,\n  /** The earliest time at which notice of exercise can be given by the buyer to the seller (or seller's agent) (i) on the expriation date, in the case of a European style option, (ii) on each bermuda option exercise date and the expiration date, in the case of a Bermuda style option the commencement date to, and including, the expiration date, in the case of an American option. */\n  LegProvisionOptionExerciseEarliestTime = 40491,\n  LegProvisionOptionExerciseEarliestTimeBusinessCenter = 40492,\n  /** For a Bermuda or American style option, the latest time on an exercise business day (excluding the expiration date) within the exercise period that notice can be given by the buyer to the seller or seller's agent. Notice of exercise given after this time will be deemed to have been given on the next exercise business day. */\n  LegProvisionOptionExerciseLatestTime = 40493,\n  LegProvisionOptionExerciseLatestTimeBusinessCenter = 40494,\n  /** Number of provision option exercise fixed dates in the repeating group. */\n  NoLegProvisionOptionExerciseFixedDates = 40495,\n  /** A predetermined option exercise date unadjusted or adjusted depending on LegProvisionOptionExerciseFixedDateType(40497). */\n  LegProvisionOptionExerciseFixedDate = 40496,\n  /** Specifies the type of date (e.g. adjusted for holidays). */\n  LegProvisionOptionExerciseFixedDateType = 40497,\n  /** The unadjusted last day within an exercise period for an American style option. For a European style option it is the only day within the exercise period. */\n  LegProvisionOptionExpirationDateUnadjusted = 40498,\n  /** The business day convention used to adjust the instrument leg's provision's option expiration date. Used only to override the business day convention specified in the LegDateAdjustment component within the InstrumentLeg component. */\n  LegProvisionOptionExpirationDateBusinessDayConvention = 40499,\n  LegProvisionOptionExpirationDateBusinessCenter = 40500,\n  LegProvisionOptionExpirationDateRelativeTo = 40501,\n  /** Time unit multiplier for the relative option expiration date offset. */\n  LegProvisionOptionExpirationDateOffsetPeriod = 40502,\n  /** Time unit associated with the relative option expiration date offset. */\n  LegProvisionOptionExpirationDateOffsetUnit = 40503,\n  /** Specifies the day type of the provision's relative option expiration date offset. */\n  LegProvisionOptionExpirationDateOffsetDayType = 40504,\n  /** The adjusted last date within an exercise period for an American style option. For a European style option it is the only date within the exercise period. */\n  LegProvisionOptionExpirationDateAdjusted = 40505,\n  /** The latest time for exercise on the expiration date. */\n  LegProvisionOptionExpirationTime = 40506,\n  LegProvisionOptionExpirationTimeBusinessCenter = 40507,\n  /** The unadjusted date on the underlying set by the exercise of an option. What this date is depends on the option (e.g. in a swaption it is the swap effective date, in an extendible/cancelable provision it is the swap termination date). */\n  LegProvisionOptionRelevantUnderlyingDateUnadjusted = 40508,\n  /** The business day convention used to adjust the instrument leg's provision's option relevant underlying date. Used only to override the business day convention specified in the LegDateAdjustment component within the InstrumentLeg component. */\n  LegProvisionOptionRelevantUnderlyingDateBusinessDayConvention = 40509,\n  LegProvisionOptionRelevantUnderlyingDateBusinessCenter = 40510,\n  LegProvisionOptionRelevantUnderlyingDateRelativeTo = 40511,\n  /** Time unit multiplier for the relative option relevant underlying date offset. */\n  LegProvisionOptionRelevantUnderlyingDateOffsetPeriod = 40512,\n  /** Time unit associated with the relative option relevant underlying date offset. */\n  LegProvisionOptionRelevantUnderlyingDateOffsetUnit = 40513,\n  /** Specifies the day type of the provision's relative option relevant underlying date offset. */\n  LegProvisionOptionRelevantUnderlyingDateOffsetDayType = 40514,\n  /** The adjusted date on the underlying set by the exercise of an option. What this date is depends on the option (e.g. in a swaption it is the swap effective date, in an extendible/cancelable provision it is the swap termination date). */\n  LegProvisionOptionRelevantUnderlyingDateAdjusted = 40515,\n  /** The business day convention used to adjust the provisional cash settlement payment's termination, or relative termination, date. Used only to override the business day convention specified in the LegDateAdjustment component within the InstrumentLeg component. */\n  LegProvisionCashSettlPaymentDateBusinessDayConvention = 40516,\n  LegProvisionCashSettlPaymentDateBusinessCenter = 40517,\n  LegProvisionCashSettlPaymentDateRelativeTo = 40518,\n  /** Time unit multiplier for the relative cash settlement payment date offset. */\n  LegProvisionCashSettlPaymentDateOffsetPeriod = 40519,\n  /** Time unit associated with the relative cash settlement payment date offset. */\n  LegProvisionCashSettlPaymentDateOffsetUnit = 40520,\n  /** Specifies the day type of the provision's relative cash settlement payment date offset. */\n  LegProvisionCashSettlPaymentDateOffsetDayType = 40521,\n  /** The first date in range when a settlement date range is provided. */\n  LegProvisionCashSettlPaymentDateRangeFirst = 40522,\n  /** The last date in range when a settlement date range is provided. */\n  LegProvisionCashSettlPaymentDateRangeLast = 40523,\n  /** A time specified in 24-hour format, e.g. 11am would be represented as 11:00:00. The time of the cash settlement valuation date when the cash settlement amount will be determined according to the cash settlement method if the parties have not otherwise been able to agree to the cash settlement amount. */\n  LegProvisionCashSettlValueTime = 40524,\n  LegProvisionCashSettlValueTimeBusinessCenter = 40525,\n  /** The business day convention used to adjust the provision's cash settlement valuation date. Used only to override the business day convention specified in the LegDateAdjustment component within the InstrumentLeg component. */\n  LegProvisionCashSettlValueDateBusinessDayConvention = 40526,\n  LegProvisionCashSettlValueDateBusinessCenter = 40527,\n  LegProvisionCashSettlValueDateRelativeTo = 40528,\n  /** Time unit multiplier for the relative cash settlement value date offset. */\n  LegProvisionCashSettlValueDateOffsetPeriod = 40529,\n  /** Time unit associated with the relative cash settlement value date offset. */\n  LegProvisionCashSettlValueDateOffsetUnit = 40530,\n  /** Specifies the day type of the provision's relative cash settlement value date offset. */\n  LegProvisionCashSettlValueDateOffsetDayType = 40531,\n  /** The adjusted cash settlement value date. */\n  LegProvisionCashSettlValueDateAdjusted = 40532,\n  /** Number of parties identified in the contract provision. */\n  NoLegProvisionPartyIDs = 40533,\n  /** The party identifier/code for the payment settlement party. */\n  LegProvisionPartyID = 40534,\n  /** Identifies the class or source of LegProvisionPartyID(40534). */\n  LegProvisionPartyIDSource = 40535,\n  /** Identifies the type or role of LegProvisionPartyID(40534) specified. */\n  LegProvisionPartyRole = 40536,\n  /** Number of sub-party IDs to be reported for the party. */\n  NoLegProvisionPartySubIDs = 40537,\n  /** Party sub-identifier, if applicable, for LegProvisionPartyRole(40536). */\n  LegProvisionPartySubID = 40538,\n  /** The type of LegProvisionPartySubID(40538) value. */\n  LegProvisionPartySubIDType = 40539,\n  /** Number of swap streams in the repeating group. */\n  NoUnderlyingStreams = 40540,\n  /** Type of swap stream. */\n  UnderlyingStreamType = 40541,\n  /** A short descriptive name given to payment stream. Eg. CDS, Fixed, Float, Float2, GBP. The description has no intrinsic meaning but should be arbitrarily chosen by the remitter as a reference. */\n  UnderlyingStreamDesc = 40542,\n  /** The side of the party paying the stream. */\n  UnderlyingStreamPaySide = 40543,\n  /** The side of the party receiving the stream. */\n  UnderlyingStreamReceiveSide = 40544,\n  /** Notional, or initial notional value for the payment stream. Use SwapSchedule for steps. */\n  UnderlyingStreamNotional = 40545,\n  /** Specifies the currency the UnderlyingStreamNotional(40545) is denominated in. Uses ISO 4217 currency codes. */\n  UnderlyingStreamCurrency = 40546,\n  /** Free form text to specify additional information or enumeration description when a standard value does not apply. */\n  UnderlyingStreamText = 40547,\n  /** The unadjusted termination date. */\n  UnderlyingStreamTerminationDateUnadjusted = 40548,\n  /** The business day convention used to adjust the underlying instrument's stream's termination, or relative termination, date. Used only to override the business day convention specified in the UnderlyingDateAdjustment component within the UnderlyingInstrument component. */\n  UnderlyingStreamTerminationDateBusinessDayConvention = 40549,\n  UnderlyingStreamTerminationDateBusinessCenter = 40550,\n  UnderlyingStreamTerminationDateRelativeTo = 40551,\n  /** Time unit multiplier for the relative termination date offset. */\n  UnderlyingStreamTerminationDateOffsetPeriod = 40552,\n  /** Time unit associated with the relative termination date offset. */\n  UnderlyingStreamTerminationDateOffsetUnit = 40553,\n  /** Specifies the day type of the relative termination date offset. */\n  UnderlyingStreamTerminationDateOffsetDayType = 40554,\n  /** The adjusted termination date. */\n  UnderlyingStreamTerminationDateAdjusted = 40555,\n  /** The business day convention used to adjust the calculation periods. Used only to override the business day convention specified in the UnderlyingDateAdjustment component within the UnderlyingInstrument component. */\n  UnderlyingStreamCalculationPeriodBusinessDayConvention = 40556,\n  UnderlyingStreamCalculationPeriodBusinessCenter = 40557,\n  /** The unadjusted first calculation period start date if before the effective date. */\n  UnderlyingStreamFirstPeriodStartDateUnadjusted = 40558,\n  /** The business day convention used to adjust the underlying instrument's stream's first calculation period start date. Used only to override the business day convention specified in the UnderlyingDateAdjustment component within the UnderlyingInstrument component. */\n  UnderlyingStreamFirstPeriodStartDateBusinessDayConvention = 40559,\n  UnderlyingStreamFirstPeriodStartDateBusinessCenter = 40560,\n  /** The adjusted first calculation period start date, if it is before the effective date. */\n  UnderlyingStreamFirstPeriodStartDateAdjusted = 40561,\n  /** The unadjusted first start date of the regular calculation period, if there is an initial stub period. */\n  UnderlyingStreamFirstRegularPeriodStartDateUnadjusted = 40562,\n  /** The unadjusted end date of the initial compounding period. */\n  UnderlyingStreamFirstCompoundingPeriodEndDateUnadjusted = 40563,\n  /** The unadjusted last regular period end date if there is a final stub period. */\n  UnderlyingStreamLastRegularPeriodEndDateUnadjusted = 40564,\n  /** Time unit multiplier for the frequency at which calculation period end dates occur. */\n  UnderlyingStreamCalculationFrequencyPeriod = 40565,\n  /** Time unit associated with the frequency at which calculation period end dates occur. */\n  UnderlyingStreamCalculationFrequencyUnit = 40566,\n  /** The convention for determining the sequence of end dates. It is used in conjunction with a specified frequency. Used only to override the roll convention specified in the UnderlyingDateAdjustment component within the UnderlyingInstrument component. */\n  UnderlyingStreamCalculationRollConvention = 40567,\n  /** Identifies the type of payment stream applicable to the swap stream associated with the underlying instrument. */\n  UnderlyingPaymentStreamType = 40568,\n  /** Used only for credit index trade. This contains the credit spread (\"fair value\") at which the trade was executed. The market rate varies over the life of the index depending on market conditions. This is the price of the index as quoted by trading desks. */\n  UnderlyingPaymentStreamMarketRate = 40569,\n  UnderlyingPaymentStreamDelayIndicator = 40570,\n  /** Specifies the currency that the stream settles in (to support swaps that settle in a currency different from the notional currency). Uses ISO 4217 currency codes. */\n  UnderlyingPaymentStreamSettlCurrency = 40571,\n  /** The day count convention used in the payment stream calculations. */\n  UnderlyingPaymentStreamDayCount = 40572,\n  /** The number of days from the adjusted calculation period start date to the adjusted value date, calculated in accordance with the applicable day count fraction. */\n  UnderlyingPaymentStreamAccrualDays = 40573,\n  /** The method of calculating discounted payment amounts */\n  UnderlyingPaymentStreamDiscountType = 40574,\n  /** Discount rate. The rate is expressed in decimal, e.g. 5% is expressed as 0.05. */\n  UnderlyingPaymentStreamDiscountRate = 40575,\n  /** The day count convention applied to the UnderlyingPaymentStreamDiscountRate(40575). */\n  UnderlyingPaymentStreamDiscountRateDayCount = 40576,\n  /** Compounding Method. */\n  UnderlyingPaymentStreamCompoundingMethod = 40577,\n  /** Indicates whether there is an initial exchange of principal on the effective date. */\n  UnderlyingPaymentStreamInitialPrincipalExchangeIndicator = 40578,\n  /** Indicates whether there are intermediate or interim exchanges of principal during the term of the swap. */\n  UnderlyingPaymentStreamInterimPrincipalExchangeIndicator = 40579,\n  /** Indicates whether there is a final exchange of principal on the termination date. */\n  UnderlyingPaymentStreamFinalPrincipalExchangeIndicator = 40580,\n  /** The business day convention used to adjust the payment stream's payment date. Used only to override the business day convention specified in the UnderlyingDateAdjustment component within the UnderlyingInstrument component. */\n  UnderlyingPaymentStreamPaymentDateBusinessDayConvention = 40581,\n  UnderlyingPaymentStreamPaymentDateBusinessCenter = 40582,\n  /** Time unit multiplier for the frequency of payments. */\n  UnderlyingPaymentStreamPaymentFrequencyPeriod = 40583,\n  /** Time unit associated with the frequency of payments. */\n  UnderlyingPaymentStreamPaymentFrequencyUnit = 40584,\n  /** The convention for determining the sequence of end dates. It is used in conjunction with a specified frequency. Used only to override the roll convention specified in the UnderlyingDateAdjustment component within the UnderlyingInstrument component. */\n  UnderlyingPaymentStreamPaymentRollConvention = 40585,\n  /** The unadjusted first payment date. */\n  UnderlyingPaymentStreamFirstPaymentDateUnadjusted = 40586,\n  /** The unadjusted last regular payment date. */\n  UnderlyingPaymentStreamLastRegularPaymentDateUnadjusted = 40587,\n  UnderlyingPaymentStreamPaymentDateRelativeTo = 40588,\n  /** Time unit multiplier for the relative payment date offset. */\n  UnderlyingPaymentStreamPaymentDateOffsetPeriod = 40589,\n  /** Time unit associated with the relative payment date offset. */\n  UnderlyingPaymentStreamPaymentDateOffsetUnit = 40590,\n  /** Specifies the day type of the relative payment date offset. */\n  UnderlyingPaymentStreamPaymentDateOffsetDayType = 40591,\n  UnderlyingPaymentStreamResetDateRelativeTo = 40592,\n  /** The business day convention used to adjust the payment stream's reset date. Used only to override the business day convention specified in the UnderlyingDateAdjustment component within the UnderlyingInstrument component. */\n  UnderlyingPaymentStreamResetDateBusinessDayConvention = 40593,\n  UnderlyingPaymentStreamResetDateBusinessCenter = 40594,\n  /** Time unit multiplier for frequency of resets. */\n  UnderlyingPaymentStreamResetFrequencyPeriod = 40595,\n  /** Time unit associated with frequency of resets. */\n  UnderlyingPaymentStreamResetFrequencyUnit = 40596,\n  /** Used to specify the day of the week in which the reset occurs for payments that reset on a weekly basis. */\n  UnderlyingPaymentStreamResetWeeklyRollConvention = 40597,\n  UnderlyingPaymentStreamInitialFixingDateRelativeTo = 40598,\n  /** The business day convention used to adjust the payment stream's initial fixing date. Used only to override the business day convention specified in the UnderlyingDateAdjustment component within the UnderlyingInstrument component. */\n  UnderlyingPaymentStreamInitialFixingDateBusinessDayConvention = 40599,\n  UnderlyingPaymentStreamInitialFixingDateBusinessCenter = 40600,\n  /** Time unit multiplier for the relative initial fixing date offset. */\n  UnderlyingPaymentStreamInitialFixingDateOffsetPeriod = 40601,\n  /** Time unit associated with the relative initial fixing date offset. */\n  UnderlyingPaymentStreamInitialFixingDateOffsetUnit = 40602,\n  /** Specifies the day type of the relative initial fixing date offset. */\n  UnderlyingPaymentStreamInitialFixingDateOffsetDayType = 40603,\n  /** The adjusted initial fixing date. */\n  UnderlyingPaymentStreamInitialFixingDateAdjusted = 40604,\n  UnderlyingPaymentStreamFixingDateRelativeTo = 40605,\n  /** The business day convention used to adjust the payment stream's fixing date. Used only to override the business day convention specified in the UnderlyingDateAdjustment component within the UnderlyingInstrument component. */\n  UnderlyingPaymentStreamFixingDateBusinessDayConvention = 40606,\n  UnderlyingPaymentStreamFixingDateBusinessCenter = 40607,\n  /** Time unit multiplier for the relative fixing date offset. */\n  UnderlyingPaymentStreamFixingDateOffsetPeriod = 40608,\n  /** Time unit associated with the relative fixing date offset. */\n  UnderlyingPaymentStreamFixingDateOffsetUnit = 40609,\n  /** Specifies the day type of the relative fixing date offset. */\n  UnderlyingPaymentStreamFixingDateOffsetDayType = 40610,\n  /** The adjusted fixing date. */\n  UnderlyingPaymentStreamFixingDateAdjusted = 40611,\n  /** Time unit multiplier for the relative rate cut-off date offset. */\n  UnderlyingPaymentStreamRateCutoffDateOffsetPeriod = 40612,\n  /** Time unit associated with the relative rate cut-off date offset. */\n  UnderlyingPaymentStreamRateCutoffDateOffsetUnit = 40613,\n  /** Specifies the day type of the relative rate cut-off date offset. */\n  UnderlyingPaymentStreamRateCutoffDateOffsetDayType = 40614,\n  /** The rate applicable to the fixed rate payment stream. */\n  UnderlyingPaymentStreamRate = 40615,\n  /** The underlying payment stream's fixed payment amount. In CDS an alternative to UnderlyingPaymentStreamRate(40615). */\n  UnderlyingPaymentStreamFixedAmount = 40616,\n  /** Specifies the currency in which UnderlyingPaymentStreamFixedAmount(40616) or UnderlyingPaymentStreamRate(40615) is denominated. Users ISO 4271 currency codes. */\n  UnderlyingPaymentStreamRateOrAmountCurrency = 40617,\n  /** The future value notional is normally only required for certain non-deliverable interest rate swaps (e.g. Brazillian Real (BRL) vs. CETIP Interbank Deposit Rate (CDI)). The value is calculated as follows: Future Value Notional = Notional Amount * (1 + Fixed Rate) ^ (Fixed Rate Day Count Fraction). The currency is the same as the stream notional. */\n  UnderlyingPaymentStreamFutureValueNotional = 40618,\n  /** The adjusted value date of the future value amount. */\n  UnderlyingPaymentStreamFutureValueDateAdjusted = 40619,\n  /** The payment stream's floating rate index. */\n  UnderlyingPaymentStreamRateIndex = 40620,\n  /** The source of the payment stream floating rate index. */\n  UnderlyingPaymentStreamRateIndexSource = 40621,\n  /** Time unit associated with the underlying instrument\u2019s floating rate index. */\n  UnderlyingPaymentStreamRateIndexCurveUnit = 40622,\n  /** Time unit multiplier for the underlying instrument\u2019s floating rate index. */\n  UnderlyingPaymentStreamRateIndexCurvePeriod = 40623,\n  /** A rate multiplier to apply to the floating rate. A multiplier schedule is expressed as explicit multipliers and dates. In the case of a schedule, the step dates may be subject to adjustment in accordance with any adjustments specified in the calculationPeriodDatesAdjustments. The multiplier can be less than or greater than 1 (one). This element should only be included if the multiplier is not equal to 1 (one) for the term of the stream. */\n  UnderlyingPaymentStreamRateMultiplier = 40624,\n  /** Spread from floating rate index. */\n  UnderlyingPaymentStreamRateSpread = 40625,\n  /** Identifies a short or long spread value. */\n  UnderlyingPaymentStreamRateSpreadPositionType = 40626,\n  /** Specifies the yield calculation treatment for the index. */\n  UnderlyingPaymentStreamRateTreatment = 40627,\n  /** The cap rate, if any, which applies to the floating rate. The cap rate (strike) is only required where the floating rate on a swap stream is capped at a certain level. The cap rate is assumed to be exclusive of any spread and is a per annum rate, expressed as a decimal. A cap rate of 5% would be represented as 0.05. */\n  UnderlyingPaymentStreamCapRate = 40628,\n  /** Reference to the buyer of the cap rate option through its trade side. */\n  UnderlyingPaymentStreamCapRateBuySide = 40629,\n  /** Reference to the seller of the cap rate option through its trade side. */\n  UnderlyingPaymentStreamCapRateSellSide = 40630,\n  /** The floor rate, if any, which applies to the floating rate. The floor rate (strike) is only required where the floating rate on a swap stream is floored at a certain strike level. The floor rate is assumed to be exclusive of any spread and is a per annum rate, expressed as a decimal. A floor rate of 5% would be represented as 0.05. */\n  UnderlyingPaymentStreamFloorRate = 40631,\n  /** Reference to the buyer of the floor rate option through its trade side. */\n  UnderlyingPaymentStreamFloorRateBuySide = 40632,\n  /** Reference to the seller of the floor rate option through its trade side. */\n  UnderlyingPaymentStreamFloorRateSellSide = 40633,\n  /** The initial floating rate reset agreed between the principal parties involved in the trade. This is assumed to be the first required reset rate for the first regular calculation period. It should only be included when the rate is not equal to the rate published on the source implied by the floating rate index. An initial rate of 5% would be represented as 0.05. */\n  UnderlyingPaymentStreamInitialRate = 40634,\n  /** Specifies the rounding direction. */\n  UnderlyingPaymentStreamFinalRateRoundingDirection = 40635,\n  /** Specifies the rounding precision in terms of a number of decimal places. Note how a percentage rate rounding of 5 decimal places is expressed as a rounding precision of 7. */\n  UnderlyingPaymentStreamFinalRatePrecision = 40636,\n  /** When rate averaging is applicable, used to specify whether a weighted or unweighted average calculation method is to be used. */\n  UnderlyingPaymentStreamAveragingMethod = 40637,\n  /** The specification of any provisions for calculating payment obligations when a floating rate is negative (either due to a quoted negative floating rate or by operation of a spread that is subtracted from the floating rate). */\n  UnderlyingPaymentStreamNegativeRateTreatment = 40638,\n  /** Time unit multiplier for the inflation lag period. The lag period is the offsetting period from the payment date which determines the reference period for which the inflation index is observed. */\n  UnderlyingPaymentStreamInflationLagPeriod = 40639,\n  /** Time unit associated with the inflation lag period. */\n  UnderlyingPaymentStreamInflationLagUnit = 40640,\n  /** The inflation lag period day type. */\n  UnderlyingPaymentStreamInflationLagDayType = 40641,\n  /** The method used when calculating the Inflation Index Level from multiple points - the most common is Linear. */\n  UnderlyingPaymentStreamInflationInterpolationMethod = 40642,\n  /** The inflation index reference source. */\n  UnderlyingPaymentStreamInflationIndexSource = 40643,\n  /** The current main publication source such as relevant web site or a government body. */\n  UnderlyingPaymentStreamInflationPublicationSource = 40644,\n  /** Initial known index level for the first calculation period. */\n  UnderlyingPaymentStreamInflationInitialIndexLevel = 40645,\n  /** Indicates whether a fallback bond as defined in the 2006 ISDA Inflation Derivatives Definitions, sections 1.3 and 1.8, is applicable or not. If not specified, the default value is \"Y\" (True/Yes). */\n  UnderlyingPaymentStreamInflationFallbackBondApplicable = 40646,\n  /** The method of Forward Rate Agreement (FRA) discounting, if any, that will apply. */\n  UnderlyingPaymentStreamFRADiscounting = 40647,\n  /** The non-deliverable settlement reference currency. Uses ISO 4217 currency codes. */\n  UnderlyingPaymentStreamNonDeliverableRefCurrency = 40648,\n  /** The business day convention used to adjust the payment stream's fixing date for the non-deliverable terms. Used only to override the business day convention specified in the UnderlyingDateAdjustment component within the UnderlyingInstrument component. */\n  UnderlyingPaymentStreamNonDeliverableFixingDatesBizDayConvention = 40649,\n  UnderlyingPaymentStreamNonDeliverableFixingDatesBusinessCenter = 40650,\n  UnderlyingPaymentStreamNonDeliverableFixingDatesRelativeTo = 40651,\n  /** Time unit multiplier for the relative non-deliverable fixing date offset. */\n  UnderlyingPaymentStreamNonDeliverableFixingDatesOffsetPeriod = 40652,\n  /** Time unit associated with the relative non-deliverable fixing date offset. */\n  UnderlyingPaymentStreamNonDeliverableFixingDatesOffsetUnit = 40653,\n  /** Specifies the day type of the relative non-deliverable fixing date offset. */\n  UnderlyingPaymentStreamNonDeliverableFixingDatesOffsetDayType = 40654,\n  SettlRateFallbackReferencePage = 40655,\n  /** Number of Fixing dates in the repeating group */\n  NoUnderlyingNonDeliverableFixingDates = 40656,\n  /** The non-deliverable fixing date unadjusted or adjusted depending on UnderlyingNonDeliverableFixingDateType(40658). */\n  UnderlyingNonDeliverableFixingDate = 40657,\n  /** Specifies the type of date (e.g. adjusted for holidays). */\n  UnderlyingNonDeliverableFixingDateType = 40658,\n  /** Number of settlement rate fallbacks in the repeating group */\n  NoUnderlyingSettlRateFallbacks = 40659,\n  /** The maximum number of days to wait for a quote from the disrupted settlement rate option before proceding to this method. */\n  UnderlyingSettlRatePostponementMaximumDays = 40660,\n  /** Identifies the source of rate information. */\n  UnderlyingPaymentStreamNonDeliverableSettlRateSource = 40661,\n  /** Indicates whether to request a settlement rate quote from the market. */\n  UnderlyingSettlRatePostponementSurvey = 40662,\n  /** Used to identify the settlement rate postponement calculation agent. */\n  UnderlyingSettlRatePostponementCalculationAgent = 40663,\n  /** Number of swap schedules in the repeating group */\n  NoUnderlyingPaymentSchedules = 40664,\n  /** Type of schedule. */\n  UnderlyingPaymentScheduleType = 40665,\n  /** Indicates to which stub this schedule applies. */\n  UnderlyingPaymentScheduleStubType = 40666,\n  /** The unadjusted date on which the value is adjusted, or calculated if a future value notional for certain non-deliverable interest rate swaps (e.g. Brazillian Real (BRL) vs. CETIP Interbank Deposit Rate (CDI)), or the start date of a cashflow payment. */\n  UnderlyingPaymentScheduleStartDateUnadjusted = 40667,\n  /** The unadjusted end date of a cashflow payment. */\n  UnderlyingPaymentScheduleEndDateUnadjusted = 40668,\n  /** The side of the party paying the step schedule. */\n  UnderlyingPaymentSchedulePaySide = 40669,\n  /** The side of the party receiving the step schedule. */\n  UnderlyingPaymentScheduleReceiveSide = 40670,\n  /** The notional value for this step, or amount of a cashflow payment. */\n  UnderlyingPaymentScheduleNotional = 40671,\n  /** The currency for this step. Uses ISO 4217 currency codes. */\n  UnderlyingPaymentScheduleCurrency = 40672,\n  /** The rate value for this step. */\n  UnderlyingPaymentScheduleRate = 40673,\n  /** A rate multiplier to apply to the floating rate. The multiplier can be less than or greater than 1 (one). This element should only be included if the multiplier is not equal to 1 (one) for the term of the stream. */\n  UnderlyingPaymentScheduleRateMultiplier = 40674,\n  /** The spread value for this step. */\n  UnderlyingPaymentScheduleRateSpread = 40675,\n  /** Identifies whether the rate spread is applied to a long or short position. */\n  UnderlyingPaymentScheduleRateSpreadPositionType = 40676,\n  /** Specifies the yield calculation treatment for the step schedule. */\n  UnderlyingPaymentScheduleRateTreatment = 40677,\n  /** The explicit payment amount for this step. */\n  UnderlyingPaymentScheduleFixedAmount = 40678,\n  /** The currency of the fixed amount. Uses ISO 4217 currency codes. */\n  UnderlyingPaymentScheduleFixedCurrency = 40679,\n  /** Time unit multiplier for the step frequency. */\n  UnderlyingPaymentScheduleStepFrequencyPeriod = 40680,\n  /** Time unit associated with the step frequency. */\n  UnderlyingPaymentScheduleStepFrequencyUnit = 40681,\n  /** The explicit amount that the notional changes on each step date. This can be a positive or negative amount. */\n  UnderlyingPaymentScheduleStepOffsetValue = 40682,\n  /** The percentage by which the notional changes on each step date. The percentage is either a percentage applied to the initial notional amount or the previous outstanding notional, depending on the value specified in UnderlyingPaymentScheduleStepRelativeTo(40685). The percentage can be either positive or negative. */\n  UnderlyingPaymentScheduleStepRate = 40683,\n  /** The explicit amount that the rate changes on each step date. This can be a positive or negative value. */\n  UnderlyingPaymentScheduleStepOffsetRate = 40684,\n  /** Specifies whether the UnderlyingPaymentScheduleStepRate(40683) or UnderlyingPaymentScheduleStepOffsetValue(40682) should be applied to the initial notional or the previous notional in order to calculate the notional step change amount. */\n  UnderlyingPaymentScheduleStepRelativeTo = 40685,\n  /** The unadjusted fixing date. */\n  UnderlyingPaymentScheduleFixingDateUnadjusted = 40686,\n  /** Floating rate observation weight for cashflow payment. */\n  UnderlyingPaymentScheduleWeight = 40687,\n  UnderlyingPaymentScheduleFixingDateRelativeTo = 40688,\n  /** The business day convention used to adjust the payment schedule's fixing date. Used only to override the business day convention specified in the UnderlyingDateAdjustment component within the UnderlyingInstrument component. */\n  UnderlyingPaymentScheduleFixingDateBusinessDayCnvtn = 40689,\n  /** The business center calendar used to adjust the payment schedule's fixing date, e.g. \"GBLO\". See http://www.fpml.org/coding-scheme/business-center for standard 4-character code values. */\n  UnderlyingPaymentScheduleFixingDateBusinessCenter = 40690,\n  /** Time unit multiplier for the relative fixing date offset. */\n  UnderlyingPaymentScheduleFixingDateOffsetPeriod = 40691,\n  /** Time unit associated with the relative fixing date offset. */\n  UnderlyingPaymentScheduleFixingDateOffsetUnit = 40692,\n  /** Specifies the day type of the relative fixing date offset. */\n  UnderlyingPaymentScheduleFixingDateOffsetDayType = 40693,\n  /** The adjusted fixing date. */\n  UnderlyingPaymentScheduleFixingDateAdjusted = 40694,\n  /** The fixing time. */\n  UnderlyingPaymentScheduleFixingTime = 40695,\n  /** Business center for determining fixing time. See http://www.fpml.org/coding-scheme/business-center for standard 4-character code values. */\n  UnderlyingPaymentScheduleFixingTimeBusinessCenter = 40696,\n  UnderlyingPaymentScheduleInterimExchangePaymentDateRelativeTo = 40697,\n  /** The business day convention used to adjust the payment schedule's interim exchange date. Used only to override the business day convention specified in the UnderlyingDateAdjustment component within the UnderlyingInstrument component. */\n  UnderlyingPaymentScheduleInterimExchangeDatesBizDayConvention = 40698,\n  UnderlyingPaymentScheduleInterimExchangeDatesBusinessCenter = 40699,\n  /** Time unit multiplier for the relative interim exchange date offset. */\n  UnderlyingPaymentScheduleInterimExchangeDatesOffsetPeriod = 40700,\n  /** Time unit associated with the relative interim exchange date offset. */\n  UnderlyingPaymentScheduleInterimExchangeDatesOffsetUnit = 40701,\n  /** Specifies the day type of the relative interim exchange date offset. */\n  UnderlyingPaymentScheduleInterimExchangeDatesOffsetDayType = 40702,\n  /** The adjusted interim exchange date. */\n  UnderlyingPaymentScheduleInterimExchangeDateAdjusted = 40703,\n  /** Number of rate sources in the repeating group */\n  NoUnderlyingPaymentScheduleRateSources = 40704,\n  /** Identifies the source of rate information. */\n  UnderlyingPaymentScheduleRateSource = 40705,\n  /** Rate source type. */\n  UnderlyingPaymentScheduleRateSourceType = 40706,\n  UnderlyingPaymentScheduleReferencePage = 40707,\n  /** Number of stubs in the repeating group */\n  NoUnderlyingPaymentStubs = 40708,\n  /** Stub type. */\n  UnderlyingPaymentStubType = 40709,\n  /** Optional indication whether stub is shorter or longer than the regular swap period. */\n  UnderlyingPaymentStubLength = 40710,\n  /** The agreed upon fixed rate for this stub. */\n  UnderlyingPaymentStubRate = 40711,\n  /** A fixed payment amount for the stub. */\n  UnderlyingPaymentStubFixedAmount = 40712,\n  /** The currency of the fixed payment amount. Uses ISO 4217 currency codes. */\n  UnderlyingPaymentStubFixedCurrency = 40713,\n  /** The stub floating rate index. */\n  UnderlyingPaymentStubIndex = 40714,\n  /** The source for the underlying payment stub floating rate index. */\n  UnderlyingPaymentStubIndexSource = 40715,\n  /** Time unit multiplier for the underlying payment stub floating rate index. */\n  UnderlyingPaymentStubIndexCurvePeriod = 40716,\n  /** Time unit associated with the underlying payment stub floating rate index. */\n  UnderlyingPaymentStubIndexCurveUnit = 40717,\n  /** A rate multiplier to apply to the floating rate. The multiplier can be less than or greater than 1 (one). This element should only be included if the multiplier is not equal to 1 (one) for the term of the stream. */\n  UnderlyingPaymentStubIndexRateMultiplier = 40718,\n  /** Spread from floating rate index. */\n  UnderlyingPaymentStubIndexRateSpread = 40719,\n  /** Identifies whether the rate spread is applied to a long or short position. */\n  UnderlyingPaymentStubIndexRateSpreadPositionType = 40720,\n  /** Specifies the yield calculation treatment for the stub index. */\n  UnderlyingPaymentStubIndexRateTreatment = 40721,\n  /** The cap rate, if any, which applies to the floating rate. The cap rate (strike) is only required where the floating rate on a swap stream is capped at a certain level. The cap rate is assumed to be exclusive of any spread and is a per annum rate, expressed as a decimal. A cap rate of 5% would be represented as 0.05. */\n  UnderlyingPaymentStubIndexCapRate = 40722,\n  /** Reference to the buyer of the cap rate option through its trade side. */\n  UnderlyingPaymentStubIndexCapRateBuySide = 40723,\n  /** Reference to the seller of the cap rate option through its trade side. */\n  UnderlyingPaymentStubIndexCapRateSellSide = 40724,\n  /** The floor rate, if any, which applies to the floating rate. The floor rate (strike) is only required where the floating rate on a swap stream is floored at a certain strike level. The floor rate is assumed to be exclusive of any spread and is a per annum rate, expressed as a decimal. A floor rate of 5% would be represented as 0.05. */\n  UnderlyingPaymentStubIndexFloorRate = 40725,\n  /** Reference to the buyer of the floor rate option through its trade side. */\n  UnderlyingPaymentStubIndexFloorRateBuySide = 40726,\n  /** Reference to the seller of the floor rate option through its trade side. */\n  UnderlyingPaymentStubIndexFloorRateSellSide = 40727,\n  /** The second stub floating rate index. */\n  UnderlyingPaymentStubIndex2 = 40728,\n  /** The source of the second stub floating rate index. */\n  UnderlyingPaymentStubIndex2Source = 40729,\n  /** Secondary time unit multiplier for the stub floating rate index curve. */\n  UnderlyingPaymentStubIndex2CurvePeriod = 40730,\n  /** Secondary time unit associated with the stub floating rate index curve. */\n  UnderlyingPaymentStubIndex2CurveUnit = 40731,\n  /** A rate multiplier to apply to the second floating rate. The multiplier can be less than or greater than 1 (one). This element should only be included if the multiplier is not equal to 1 (one) for the term of the stream. */\n  UnderlyingPaymentStubIndex2RateMultiplier = 40732,\n  /** Spread from the second floating rate index. */\n  UnderlyingPaymentStubIndex2RateSpread = 40733,\n  /** Identifies whether the rate spread is applied to a long or short position. */\n  UnderlyingPaymentStubIndex2RateSpreadPositionType = 40734,\n  /** Specifies the yield calculation treatment for the second stub index. */\n  UnderlyingPaymentStubIndex2RateTreatment = 40735,\n  /** The cap rate, if any, which applies to the second floating rate. The cap rate (strike) is only required where the floating rate on a swap stream is capped at a certain level. The cap rate is assumed to be exclusive of any spread and is a per annum rate, expressed as a decimal. A cap rate of 5% would be represented as 0.05. */\n  UnderlyingPaymentStubIndex2CapRate = 40736,\n  /** The floor rate, if any, which applies to the second floating rate. The floor rate (strike) is only required where the floating rate on a swap stream is floored at a certain strike level. The floor rate is assumed to be exclusive of any spread and is a per annum rate, expressed as a decimal. A floor rate of 5% would be represented as 0.05. */\n  UnderlyingPaymentStubIndex2FloorRate = 40737,\n  /** Identifies the type of payment stream associated with the swap. */\n  PaymentStreamType = 40738,\n  /** Used only for credit index trade. This contains the credit spread (\"fair value\") at which the trade was executed. The market rate varies over the life of the index depending on market conditions. This is the price of the index as quoted by trading desks. */\n  PaymentStreamMarketRate = 40739,\n  PaymentStreamDelayIndicator = 40740,\n  /** Specifies the currency that the stream settles in (to support swaps that settle in a currency different from the notional currency). Uses ISO 4217 currency codes. */\n  PaymentStreamSettlCurrency = 40741,\n  /** The day count convention used in the payment stream calculations. */\n  PaymentStreamDayCount = 40742,\n  /** The number of days from the adjusted calculation period start date to the adjusted value date, calculated in accordance with the applicable day count fraction. */\n  PaymentStreamAccrualDays = 40743,\n  /** The method of calculating discounted payment amounts */\n  PaymentStreamDiscountType = 40744,\n  /** Discount rate. The rate is expressed in decimal, e.g. 5% is expressed as 0.05. */\n  PaymentStreamDiscountRate = 40745,\n  /** The day count convention applied to the PaymentStreamDiscountRate(40745). */\n  PaymentStreamDiscountRateDayCount = 40746,\n  /** Compounding method. */\n  PaymentStreamCompoundingMethod = 40747,\n  /** Indicates whether there is an initial exchange of principal on the effective date. */\n  PaymentStreamInitialPrincipalExchangeIndicator = 40748,\n  /** Indicates whether there are intermediate or interim exchanges of principal during the term of the swap. */\n  PaymentStreamInterimPrincipalExchangeIndicator = 40749,\n  /** Indicates whether there is a final exchange of principal on the termination date. */\n  PaymentStreamFinalPrincipalExchangeIndicator = 40750,\n  /** The business day convention used to adjust the payment stream's payment date. Used only to override the business day convention specified in the DateAdjustment component within the Instrument component. */\n  PaymentStreamPaymentDateBusinessDayConvention = 40751,\n  PaymentStreamPaymentDateBusinessCenter = 40752,\n  /** Time unit multiplier for the frequency of payments. */\n  PaymentStreamPaymentFrequencyPeriod = 40753,\n  /** Time unit associated with the frequency of payments. */\n  PaymentStreamPaymentFrequencyUnit = 40754,\n  /** The convention for determining the sequence of end dates. It is used in conjunction with a specified frequency. Used only to override the roll convention specified in the DateAdjustment component within the Instrument component. */\n  PaymentStreamPaymentRollConvention = 40755,\n  /** The unadjusted first payment date. */\n  PaymentStreamFirstPaymentDateUnadjusted = 40756,\n  /** The unadjusted last regular payment date. */\n  PaymentStreamLastRegularPaymentDateUnadjusted = 40757,\n  PaymentStreamPaymentDateRelativeTo = 40758,\n  /** Time unit multiplier for the relative payment date offset. */\n  PaymentStreamPaymentDateOffsetPeriod = 40759,\n  /** Time unit multiplier for the relative initial fixing date offset. */\n  PaymentStreamPaymentDateOffsetUnit = 40760,\n  PaymentStreamResetDateRelativeTo = 40761,\n  /** The business day convention used to adjust the payment stream's reset date. Used only to override the business day convention specified in the DateAdjustment component within the Instrument component. */\n  PaymentStreamResetDateBusinessDayConvention = 40762,\n  PaymentStreamResetDateBusinessCenter = 40763,\n  /** Time unit multiplier for the frequency of resets. */\n  PaymentStreamResetFrequencyPeriod = 40764,\n  /** Time unit associated with the frequency of resets. */\n  PaymentStreamResetFrequencyUnit = 40765,\n  /** Used to specify the day of the week in which the reset occurs for payments that reset on a weekly basis. */\n  PaymentStreamResetWeeklyRollConvention = 40766,\n  PaymentStreamInitialFixingDateRelativeTo = 40767,\n  /** The business day convention used to adjust the payment stream's initial fixing date. Used only to override the business day convention specified in the DateAdjustment component within the Instrument component. */\n  PaymentStreamInitialFixingDateBusinessDayConvention = 40768,\n  PaymentStreamInitialFixingDateBusinessCenter = 40769,\n  /** Time unit multiplier for the relative initial fixing date offset. */\n  PaymentStreamInitialFixingDateOffsetPeriod = 40770,\n  /** Time unit associated with the relative initial fixing date offset. */\n  PaymentStreamInitialFixingDateOffsetUnit = 40771,\n  /** Specifies the day type of the relative initial fixing date offset. */\n  PaymentStreamInitialFixingDateOffsetDayType = 40772,\n  /** The adjusted initial fixing date. */\n  PaymentStreamInitialFixingDateAdjusted = 40773,\n  PaymentStreamFixingDateRelativeTo = 40774,\n  /** The business day convention used to adjust the payment stream's fixing date. Used only to override the business day convention specified in the DateAdjustment component within the Instrument component. */\n  PaymentStreamFixingDateBusinessDayConvention = 40775,\n  PaymentStreamFixingDateBusinessCenter = 40776,\n  /** Time unit multiplier for the relative fixing date offset. */\n  PaymentStreamFixingDateOffsetPeriod = 40777,\n  /** Time unit associated with the relative fixing date offset. */\n  PaymentStreamFixingDateOffsetUnit = 40778,\n  /** Specifies the day type of the relative fixing date offset. */\n  PaymentStreamFixingDateOffsetDayType = 40779,\n  /** The adjusted fixing date. */\n  PaymentStreamFixingDateAdjusted = 40780,\n  /** Time unit multiplier for the relative rate cut-off date offset. */\n  PaymentStreamRateCutoffDateOffsetPeriod = 40781,\n  /** Time unit associated with the relative rate cut-off date offset. */\n  PaymentStreamRateCutoffDateOffsetUnit = 40782,\n  /** Specifies the day type of the relative rate cut-off date offset. */\n  PaymentStreamRateCutoffDateOffsetDayType = 40783,\n  /** The rate applicable to the fixed rate payment stream. */\n  PaymentStreamRate = 40784,\n  /** The payment stream's fixed payment amount. In CDS an alternative to PaymentStreamRate(40784). */\n  PaymentStreamFixedAmount = 40785,\n  /** Specifies the currency in which PaymentStreamFixedAmount(40785) or PaymentStreamRate(40784) is denominated. Uses ISO 4271 currency codes. */\n  PaymentStreamRateOrAmountCurrency = 40786,\n  /** The future value notional is normally only required for certain non-deliverable interest rate swaps (e.g. Brazillian Real (BRL) vs. CETIP Interbank Deposit Rate (CDI)). The value is calculated as follows: Future Value Notional = Notional Amount * (1 + Fixed Rate) ^ (Fixed Rate Day Count Fraction). The currency is the same as the stream notional. */\n  PaymentStreamFutureValueNotional = 40787,\n  /** The adjusted value date of the future value amount. */\n  PaymentStreamFutureValueDateAdjusted = 40788,\n  /** The payment stream floating rate index. */\n  PaymentStreamRateIndex = 40789,\n  /** The source of the payment stream floating rate index. */\n  PaymentStreamRateIndexSource = 40790,\n  /** Time unit associated with the floating rate index. */\n  PaymentStreamRateIndexCurveUnit = 40791,\n  /** Time unit multiplier for the floating rate index. */\n  PaymentStreamRateIndexCurvePeriod = 40792,\n  /** A rate multiplier to apply to the floating rate. A multiplier schedule is expressed as explicit multipliers and dates. In the case of a schedule, the step dates may be subject to adjustment in accordance with any adjustments specified in the calculationPeriodDatesAdjustments. The multiplier can be less than or greater than 1 (one). This element should only be included if the multiplier is not equal to 1 (one) for the term of the stream. */\n  PaymentStreamRateMultiplier = 40793,\n  /** Spread from floating rate index. */\n  PaymentStreamRateSpread = 40794,\n  /** Identifies whether the rate spread is applied to a long or short position. */\n  PaymentStreamRateSpreadPositionType = 40795,\n  /** Specifies the yield calculation treatment for the index. */\n  PaymentStreamRateTreatment = 40796,\n  /** The cap rate, if any, which applies to the floating rate. The cap rate (strike) is only required where the floating rate on a swap stream is capped at a certain level. The cap rate is assumed to be exclusive of any spread and is a per annum rate, expressed as a decimal. A cap rate of 5% would be represented as 0.05. */\n  PaymentStreamCapRate = 40797,\n  /** Reference to the buyer of the cap rate option through its trade side. */\n  PaymentStreamCapRateBuySide = 40798,\n  /** Reference to the seller of the cap rate option through its trade side. */\n  PaymentStreamCapRateSellSide = 40799,\n  /** The floor rate, if any, which applies to the floating rate. The floor rate (strike) is only required where the floating rate on a swap stream is floored at a certain strike level. The floor rate is assumed to be exclusive of any spread and is a per annum rate, expressed as a decimal. A floor rate of 5% would be represented as 0.05. */\n  PaymentStreamFloorRate = 40800,\n  /** Reference to the buyer of the floor rate option through its trade side. */\n  PaymentStreamFloorRateBuySide = 40801,\n  /** Reference to the seller of the floor rate option through its trade side. */\n  PaymentStreamFloorRateSellSide = 40802,\n  /** The initial floating rate reset agreed between the principal parties involved in the trade. This is assumed to be the first required reset rate for the first regular calculation period. It should only be included when the rate is not equal to the rate published on the source implied by the floating rate index. An initial rate of 5% would be represented as 0.05. */\n  PaymentStreamInitialRate = 40803,\n  /** Specifies the rounding direction. */\n  PaymentStreamFinalRateRoundingDirection = 40804,\n  /** Specifies the rounding precision in terms of a number of decimal places. Note how a percentage rate rounding of 5 decimal places is expressed as a rounding precision of 7. */\n  PaymentStreamFinalRatePrecision = 40805,\n  /** When rate averaging is applicable, used to specify whether a weighted or unweighted average calculation method is to be used. */\n  PaymentStreamAveragingMethod = 40806,\n  /** The specification of any provisions for calculating payment obligations when a floating rate is negative (either due to a quoted negative floating rate or by operation of a spread that is subtracted from the floating rate). */\n  PaymentStreamNegativeRateTreatment = 40807,\n  /** Time unit multiplier for the inflation lag period. The lag period is the offsetting period from the payment date which determines the reference period for which the inflation index is observed. */\n  PaymentStreamInflationLagPeriod = 40808,\n  /** Time unit associated with the inflation lag period. */\n  PaymentStreamInflationLagUnit = 40809,\n  /** The inflation lag period day type. */\n  PaymentStreamInflationLagDayType = 40810,\n  /** The method used when calculating the Inflation Index Level from multiple points - the most common is Linear. */\n  PaymentStreamInflationInterpolationMethod = 40811,\n  /** The inflation index reference source. */\n  PaymentStreamInflationIndexSource = 40812,\n  /** The current main publication source such as relevant web site or a government body. */\n  PaymentStreamInflationPublicationSource = 40813,\n  /** Initial known index level for the first calculation period. */\n  PaymentStreamInflationInitialIndexLevel = 40814,\n  /** Indicates whether a fallback bond as defined in the 2006 ISDA Inflation Derivatives Definitions, sections 1.3 and 1.8, is applicable or not. If not specified, the default value is \"Y\" (True/Yes). */\n  PaymentStreamInflationFallbackBondApplicable = 40815,\n  /** The method of Forward Rate Agreement (FRA) discounting, if any, that will apply. */\n  PaymentStreamFRADiscounting = 40816,\n  /** The non-deliverable settlement reference currency. Uses ISO 4217 currency codes. */\n  PaymentStreamNonDeliverableRefCurrency = 40817,\n  /** The business day convention used to adjust the payment stream's fixing date for the non-deliverable settlement terms. Used only to override the business day convention specified in the DateAdjustment component within the Instrument component */\n  PaymentStreamNonDeliverableFixingDatesBusinessDayConvention = 40818,\n  PaymentStreamNonDeliverableFixingDatesBusinessCenter = 40819,\n  PaymentStreamNonDeliverableFixingDatesRelativeTo = 40820,\n  /** Time unit multiplier for the relative non-deliverable fixing date offset. */\n  PaymentStreamNonDeliverableFixingDatesOffsetPeriod = 40821,\n  /** Time unit associated with the relative non-deliverable fixing date offset. */\n  PaymentStreamNonDeliverableFixingDatesOffsetUnit = 40822,\n  /** Specifies the day type of the relative non-deliverable fixing date offset. */\n  PaymentStreamNonDeliverableFixingDatesOffsetDayType = 40823,\n  UnderlyingPaymentStreamNonDeliverableSettlReferencePage = 40824,\n  /** Number of Fixing dates in the repeating group */\n  NoNonDeliverableFixingDates = 40825,\n  /** Non-deliverable fixing date unadjusted or adjusted depending on NonDeliverableFixingDateType(40827). */\n  NonDeliverableFixingDate = 40826,\n  /** Specifies the type of date (e.g. adjusted for holidays). */\n  NonDeliverableFixingDateType = 40827,\n  /** Number of swap schedules in the repeating group */\n  NoPaymentSchedules = 40828,\n  /** Type of schedule. */\n  PaymentScheduleType = 40829,\n  /** Indicates to which stub this schedule applies. */\n  PaymentScheduleStubType = 40830,\n  /** The date on which the value is adjusted, or calculated if a future value notional for certain non-deliverable interest rate swaps (e.g. Brazillian Real (BRL) vs. CETIP Interbank Deposit Rate (CDI)), or the start date of a cashflow payment. */\n  PaymentScheduleStartDateUnadjusted = 40831,\n  /** The unadjusted end date of a cash flow payment. */\n  PaymentScheduleEndDateUnadjusted = 40832,\n  /** The side of the party paying the step schedule. */\n  PaymentSchedulePaySide = 40833,\n  /** The side of the party receiving the stepf schedule. */\n  PaymentScheduleReceiveSide = 40834,\n  /** The notional value for this step, or amount of a cashflow payment. */\n  PaymentScheduleNotional = 40835,\n  /** The currency for this step. Uses ISO 4217 currency codes. */\n  PaymentScheduleCurrency = 40836,\n  /** The rate value for this step schedule. */\n  PaymentScheduleRate = 40837,\n  /** A rate multiplier to apply to the floating rate. The multiplier can be less than or greater than 1 (one). This element should only be included if the multiplier is not equal to 1 (one) for the term of the stream. */\n  PaymentScheduleRateMultiplier = 40838,\n  /** The spread value for this step schedule. */\n  PaymentScheduleRateSpread = 40839,\n  /** Identifies whether the rate spread is applied to a long or short position. */\n  PaymentScheduleRateSpreadPositionType = 40840,\n  /** Specifies the yield calculation treatment for the step schedule. */\n  PaymentScheduleRateTreatment = 40841,\n  /** The explicit payment amount for this step schedule. */\n  PaymentScheduleFixedAmount = 40842,\n  /** The currency of the fixed amount. Uses ISO 4217 currency codes. */\n  PaymentScheduleFixedCurrency = 40843,\n  /** Time unit multiplier for the step frequency. */\n  PaymentScheduleStepFrequencyPeriod = 40844,\n  /** Time unit associated with the step frequency. */\n  PaymentScheduleStepFrequencyUnit = 40845,\n  /** The explicit amount that the notional changes on each step date. This can be a positive or negative amount. */\n  PaymentScheduleStepOffsetValue = 40846,\n  /** The percentage by which the notional changes on each step date. The percentage is either a percentage applied to the initial notional amount or the previous outstanding notional, depending on the value specified in PaymentScheduleStepRelativeTo(40849). The percentage can be either positive or negative. */\n  PaymentScheduleStepRate = 40847,\n  /** The explicit amount that the rate changes on each step date. This can be a positive or negative value. */\n  PaymentScheduleStepOffsetRate = 40848,\n  /** Specifies whether the PaymentScheduleStepRate(40847) or PaymentScheduleStepOffsetValue(40846) should be applied to the initial notional or the previous notional in order to calculate the notional step change amount. */\n  PaymentScheduleStepRelativeTo = 40849,\n  /** The unadjusted fixing date. */\n  PaymentScheduleFixingDateUnadjusted = 40850,\n  /** Floating rate observation weight for cashflow payment. */\n  PaymentScheduleWeight = 40851,\n  PaymentScheduleFixingDateRelativeTo = 40852,\n  /** The business day convention used to adjust the payment schedule's fixing date. Used only to override the business day convention specified in the DateAdjustment component within the Instrument component. */\n  PaymentScheduleFixingDateBusinessDayConvention = 40853,\n  /** The business center calendar used to adjust the payment schedule's fixing date, e.g. \"GBLO\". See http://www.fpml.org/coding-scheme/business-center for standard 4-character code values. */\n  PaymentScheduleFixingDateBusinessCenter = 40854,\n  /** Time unit multiplier for the relative fixing date offset. */\n  PaymentScheduleFixingDateOffsetPeriod = 40855,\n  /** Time unit associated with the relative fixing date offset. */\n  PaymentScheduleFixingDateOffsetUnit = 40856,\n  /** Specifies the day type of the relative fixing date offset. */\n  PaymentScheduleFixingDateOffsetDayType = 40857,\n  /** The adjusted fixing date. */\n  PaymentScheduleFixingDateAdjusted = 40858,\n  /** The fixing time associated with the step schedule. */\n  PaymentScheduleFixingTime = 40859,\n  PaymentScheduleFixingTimeBusinessCenter = 40860,\n  PaymentScheduleInterimExchangePaymentDateRelativeTo = 40861,\n  /** The business day convention used to adjust the payment schedule's interim exchange date. Used only to override the business day convention specified in the DateAdjustment component within the Instrument component. */\n  PaymentScheduleInterimExchangeDatesBusinessDayConvention = 40862,\n  PaymentScheduleInterimExchangeDatesBusinessCenter = 40863,\n  /** Time unit multiplier for the relative interim exchange date offset. */\n  PaymentScheduleInterimExchangeDatesOffsetPeriod = 40864,\n  /** Time unit associated with the relative interim exchange date offset. */\n  PaymentScheduleInterimExchangeDatesOffsetUnit = 40865,\n  /** Specifies the day type of the relative interim exchange date offset. */\n  PaymentScheduleInterimExchangeDatesOffsetDayType = 40866,\n  /** The adjusted interim exchange date. */\n  PaymentScheduleInterimExchangeDateAdjusted = 40867,\n  /** Number of swap schedule rate sources. */\n  NoPaymentScheduleRateSources = 40868,\n  /** Identifies the source of rate information. */\n  PaymentScheduleRateSource = 40869,\n  /** Rate source type. */\n  PaymentScheduleRateSourceType = 40870,\n  PaymentScheduleReferencePage = 40871,\n  /** Number of stubs in the repeating group */\n  NoPaymentStubs = 40872,\n  /** Stub type. */\n  PaymentStubType = 40873,\n  /** Optional indication whether stub is shorter or longer than the regular swap period. */\n  PaymentStubLength = 40874,\n  /** The agreed upon fixed rate for this stub. */\n  PaymentStubRate = 40875,\n  /** A fixed payment amount for the stub. */\n  PaymentStubFixedAmount = 40876,\n  /** The currency of the fixed payment amount. Uses ISO 4217 currency codes. */\n  PaymentStubFixedCurrency = 40877,\n  /** The stub floating rate index. */\n  PaymentStubIndex = 40878,\n  /** The source of the stub floating rate index. */\n  PaymentStubIndexSource = 40879,\n  /** Time unit multiplier for the stub floating rate index. */\n  PaymentStubIndexCurvePeriod = 40880,\n  /** Time unit associated with the stub floating rate index. */\n  PaymentStubIndexCurveUnit = 40881,\n  /** A rate multiplier to apply to the floating rate. The multiplier can be less than or greater than 1 (one). This element should only be included if the multiplier is not equal to 1 (one) for the term of the stream. */\n  PaymentStubIndexRateMultiplier = 40882,\n  /** Spread from floating rate index. */\n  PaymentStubIndexRateSpread = 40883,\n  /** Identifies whether the rate spread is applied to a long or short position. */\n  PaymentStubIndexRateSpreadPositionType = 40884,\n  /** Specifies the yield calculation treatment for the payment stub index. */\n  PaymentStubIndexRateTreatment = 40885,\n  /** The cap rate, if any, which applies to the floating rate. The cap rate (strike) is only required where the floating rate on a swap stream is capped at a certain level. The cap rate is assumed to be exclusive of any spread and is a per annum rate, expressed as a decimal. A cap rate of 5% would be represented as 0.05. */\n  PaymentStubIndexCapRate = 40886,\n  /** Reference to the buyer of the cap rate option through its trade side. */\n  PaymentStubIndexCapRateBuySide = 40887,\n  /** Reference to the seller of the cap rate option through its trade side. */\n  PaymentStubIndexCapRateSellSide = 40888,\n  /** The floor rate, if any, which applies to the floating rate. The floor rate (strike) is only required where the floating rate on a swap stream is floored at a certain strike level. The floor rate is assumed to be exclusive of any spread and is a per annum rate, expressed as a decimal. A floor rate of 5% would be represented as 0.05. */\n  PaymentStubIndexFloorRate = 40889,\n  /** Reference to the buyer of the floor rate option through its trade side. */\n  PaymentStubIndexFloorRateBuySide = 40890,\n  /** Reference to the seller of the floor rate option through its trade side. */\n  PaymentStubIndexFloorRateSellSide = 40891,\n  /** The second stub floating rate index. */\n  PaymentStubIndex2 = 40892,\n  /** The source of the second stub floating rate index. */\n  PaymentStubIndex2Source = 40893,\n  /** Secondary time unit multiplier for the stub floating rate index curve. */\n  PaymentStubIndex2CurvePeriod = 40894,\n  /** Secondary time unit associated with the stub floating rate index curve. */\n  PaymentStubIndex2CurveUnit = 40895,\n  /** A rate multiplier to apply to the second floating rate. The multiplier can be less than or greater than 1 (one). This element should only be included if the multiplier is not equal to 1 (one) for the term of the stream. */\n  PaymentStubIndex2RateMultiplier = 40896,\n  /** Spread from the second floating rate index. */\n  PaymentStubIndex2RateSpread = 40897,\n  /** Identifies whether the rate spread is applied to a long or short position. */\n  PaymentStubIndex2RateSpreadPositionType = 40898,\n  /** Specifies the yield calculation treatment for the second stub index. */\n  PaymentStubIndex2RateTreatment = 40899,\n  /** The cap rate, if any, which applies to the second floating rate. The cap rate (strike) is only required where the floating rate on a swap stream is capped at a certain level. The cap rate is assumed to be exclusive of any spread and is a per annum rate, expressed as a decimal. A cap rate of 5% would be represented as 0.05. */\n  PaymentStubIndex2CapRate = 40900,\n  /** The floor rate, if any, which applies to the second floating rate. The floor rate (strike) is only required where the floating rate on a swap stream is floored at a certain strike level. The floor rate is assumed to be exclusive of any spread and is a per annum rate, expressed as a decimal. A floor rate of 5% would be represented as 0.05. */\n  PaymentStubIndex2FloorRate = 40901,\n  /** Number of settlement rate fallbacks in the repeating group */\n  NoLegSettlRateFallbacks = 40902,\n  /** The maximum number of days to wait for a quote from the disrupted settlement rate option before proceding to this method. */\n  LegSettlRatePostponementMaximumDays = 40903,\n  /** Identifies the source of rate information. */\n  UnderlyingSettlRateFallbackRateSource = 40904,\n  /** Indicates whether to request a settlement rate quote from the market. */\n  LegSettlRatePostponementSurvey = 40905,\n  /** Used to identify the settlement rate postponement calculation agent. */\n  LegSettlRatePostponementCalculationAgent = 40906,\n  /** The unadjusted effective date. */\n  StreamEffectiveDateUnadjusted = 40907,\n  /** The business day convention used to adjust the instrument's stream's effective, or relative effective, date. Used only to override the business day convention specified in the DateAdjustment component within the Instrument component. */\n  StreamEffectiveDateBusinessDayConvention = 40908,\n  StreamEffectiveDateBusinessCenter = 40909,\n  StreamEffectiveDateRelativeTo = 40910,\n  /** Time unit multiplier for the relative effective date offset. */\n  StreamEffectiveDateOffsetPeriod = 40911,\n  /** Time unit associated with the relative effective date offset. */\n  StreamEffectiveDateOffsetUnit = 40912,\n  /** Specifies the day type of the relative effective date offset. */\n  StreamEffectiveDateOffsetDayType = 40913,\n  /** The adjusted effective date. */\n  StreamEffectiveDateAdjusted = 40914,\n  UnderlyingSettlRateFallbackReferencePage = 40915,\n  CashSettlValuationSubsequentBusinessDaysOffset = 40916,\n  CashSettlNumOfValuationDates = 40917,\n  /** Used to further qualify the value of UnderlyingProvisionPartyRole(42176). */\n  UnderlyingProvisionPartyRoleQualifier = 40918,\n  /** Specifies the type of price for PaymentPrice(40218). */\n  PaymentPriceType = 40919,\n  /** Specifies the day type of the relative payment date offset. */\n  PaymentStreamPaymentDateOffsetDayType = 40920,\n  /** The business day convention used for adjusting dates. The value defined here applies to all adjustable dates in the instrument unless specifically overridden. */\n  BusinessDayConvention = 40921,\n  /** The convention for determining a sequence of dates. It is used in conjunction with a specified frequency. The value defined here applies to all adjustable dates in the instrument unless specifically overridden. Additional values may be used by mutual agreement of the counterparties. */\n  DateRollConvention = 40922,\n  /** Number of business centers in the repeating group. */\n  NoLegBusinessCenters = 40923,\n  LegBusinessCenter = 40924,\n  /** The business day convention used for adjusting dates. The value defined here applies to all adjustable dates in the instrument leg unless specifically overridden. */\n  LegBusinessDayConvention = 40925,\n  /** The convention for determining a sequence of dates. It is used in conjunction with a specified frequency. The value defined here applies to all adjustable dates in the instrument leg unless specifically overridden. */\n  LegDateRollConvention = 40926,\n  /** Number of business centers in the repeating group. */\n  NoLegPaymentScheduleFixingDateBusinessCenters = 40927,\n  /** Number of business centers in the repeating group. */\n  NoLegPaymentScheduleInterimExchangeDateBusinessCenters = 40928,\n  /** Number of business centers in the repeating group. */\n  NoLegPaymentStreamNonDeliverableFixingDateBusinessCenters = 40929,\n  /** Number of business centers in the repeating group. */\n  NoLegPaymentStreamPaymentDateBusinessCenters = 40930,\n  /** Number of business centers in the repeating group. */\n  NoLegPaymentStreamResetDateBusinessCenters = 40931,\n  /** Number of business centers in the repeating group. */\n  NoLegPaymentStreamInitialFixingDateBusinessCenters = 40932,\n  /** Number of business centers in the repeating group. */\n  NoLegPaymentStreamFixingDateBusinessCenters = 40933,\n  /** Number of business centers in the repeating group. */\n  NoLegProvisionCashSettlPaymentDateBusinessCenters = 40934,\n  /** Number of business centers in the repeating group. */\n  NoLegProvisionCashSettlValueDateBusinessCenters = 40935,\n  /** Number of business centers in the repeating group. */\n  NoLegProvisionOptionExerciseBusinessCenters = 40936,\n  /** Number of business centers in the repeating group. */\n  NoLegProvisionOptionExpirationDateBusinessCenters = 40937,\n  /** Number of business centers in the repeating group. */\n  NoLegProvisionOptionRelevantUnderlyingDateBusinessCenters = 40938,\n  /** Number of business centers in the repeating group. */\n  NoLegProvisionDateBusinessCenters = 40939,\n  /** Number of business centers in the repeating group. */\n  NoLegStreamCalculationPeriodBusinessCenters = 40940,\n  /** Number of business centers in the repeating group. */\n  NoLegStreamFirstPeriodStartDateBusinessCenters = 40941,\n  /** Number of business centers in the repeating group. */\n  NoLegStreamEffectiveDateBusinessCenters = 40942,\n  /** Number of business centers in the repeating group. */\n  NoLegStreamTerminationDateBusinessCenters = 40943,\n  /** Number of business centers in the repeating group. */\n  NoPaymentBusinessCenters = 40944,\n  /** Number of business centers in the repeating group. */\n  NoPaymentScheduleInterimExchangeDateBusinessCenters = 40945,\n  /** Number of business centers in the repeating group. */\n  NoPaymentStreamNonDeliverableFixingDatesBusinessCenters = 40946,\n  /** Number of business centers in the repeating group. */\n  NoPaymentStreamPaymentDateBusinessCenters = 40947,\n  /** Number of business centers in the repeating group. */\n  NoPaymentStreamResetDateBusinessCenters = 40948,\n  /** Number of business centers in the repeating group. */\n  NoPaymentStreamInitialFixingDateBusinessCenters = 40949,\n  /** Number of business centers in the repeating group. */\n  NoPaymentStreamFixingDateBusinessCenters = 40950,\n  /** Number of event news sources in the repeating group. */\n  NoProtectionTermEventNewsSources = 40951,\n  /** Number of business centers in the repeating group. */\n  NoProvisionCashSettlPaymentDateBusinessCenters = 40952,\n  /** Number of business centers in the repeating group. */\n  NoProvisionCashSettlValueDateBusinessCenters = 40953,\n  /** Number of business centers in the repeating group. */\n  NoProvisionOptionExerciseBusinessCenters = 40954,\n  /** Number of business centers in the repeating group. */\n  NoProvisionOptionExpirationDateBusinessCenters = 40955,\n  /** Number of business centers in the repeating group. */\n  NoProvisionOptionRelevantUnderlyingDateBusinessCenters = 40956,\n  /** Number of business centers in the repeating group. */\n  NoProvisionDateBusinessCenters = 40957,\n  /** Number of business centers in the repeating group. */\n  NoStreamCalculationPeriodBusinessCenters = 40958,\n  /** Number of business centers in the repeating group. */\n  NoStreamFirstPeriodStartDateBusinessCenters = 40959,\n  /** Number of business centers in the repeating group. */\n  NoStreamEffectiveDateBusinessCenters = 40960,\n  /** Number of business centers in the repeating group. */\n  NoStreamTerminationDateBusinessCenters = 40961,\n  /** Number of business centers in the repeating group. */\n  NoUnderlyingBusinessCenters = 40962,\n  /** A business center whose calendar is used for date adjustment, e.g. \"GBLO\". See http://www.fpml.org/coding-scheme/business-center for standard 4-character code values. */\n  UnderlyingBusinessCenter = 40963,\n  /** The business day convention used for adjusting dates. The value defined here applies to all adjustable dates in the underlying instrument unless specifically overridden. */\n  UnderlyingBusinessDayConvention = 40964,\n  /** The convention for determining a sequence of dates. It is used in conjunction with a specified frequency. The value defined here applies to all adjustable dates in the underlying instrument unless specifically overridden. */\n  UnderlyingDateRollConvention = 40965,\n  /** Number of business centers in the repeating group. */\n  NoUnderlyingPaymentScheduleFixingDateBusinessCenters = 40966,\n  /** Number of business centers in the repeating group. */\n  NoUnderlyingPaymentScheduleInterimExchangeDateBusinessCenters = 40967,\n  /** Number of business centers in the repeating group. */\n  NoUnderlyingPaymentStreamNonDeliverableFixingDatesBizCenters = 40968,\n  /** Number of business centers in the repeating group. */\n  NoUnderlyingPaymentStreamPaymentDateBusinessCenters = 40969,\n  /** Number of business centers in the repeating group. */\n  NoUnderlyingPaymentStreamResetDateBusinessCenters = 40970,\n  /** Number of business centers in the repeating group. */\n  NoUnderlyingPaymentStreamInitialFixingDateBusinessCenters = 40971,\n  /** Number of business centers in the repeating group. */\n  NoUnderlyingPaymentStreamFixingDateBusinessCenters = 40972,\n  /** Number of business centers in the repeating group. */\n  NoUnderlyingStreamCalculationPeriodBusinessCenters = 40973,\n  /** Number of business centers in the repeating group. */\n  NoUnderlyingStreamFirstPeriodStartDateBusinessCenters = 40974,\n  /** Number of business centers in the repeating group. */\n  NoUnderlyingStreamEffectiveDateBusinessCenters = 40975,\n  /** Number of business centers in the repeating group. */\n  NoUnderlyingStreamTerminationDateBusinessCenters = 40976,\n  /** Number of business centers in the repeating group. */\n  NoPaymentScheduleFixingDateBusinessCenters = 40977,\n  /** Byte length of encoded (non-ASCII characters) EncodedLegStreamText(40979) field. */\n  EncodedLegStreamTextLen = 40978,\n  /** Encoded (non-ASCII characters) representation of the LegStreamText(40248) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the LegStreamText(40248) field. */\n  EncodedLegStreamText = 40979,\n  /** Byte length of encoded (non-ASCII characters) EncodedLegProvisionText(40472) field. */\n  EncodedLegProvisionTextLen = 40980,\n  /** Encoded (non-ASCII characters) representation of the LegProvisionText(40472) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the LegProvisionText(40472) field. */\n  EncodedLegProvisionText = 40981,\n  /** Byte length of encoded (non-ASCII characters) EncodedStreamText(40983) field. */\n  EncodedStreamTextLen = 40982,\n  /** Encoded (non-ASCII characters) representation of the StreamText(40056) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the StreamText(40056) field. */\n  EncodedStreamText = 40983,\n  /** Byte length of encoded (non-ASCII characters) EncodedPaymentText(40985) field. */\n  EncodedPaymentTextLen = 40984,\n  /** Encoded (non-ASCII characters) representation of the PaymentText(40229) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the PaymentText(40229) field. */\n  EncodedPaymentText = 40985,\n  /** Byte length of encoded (non-ASCII characters) EncodedProvisionText(40987) field. */\n  EncodedProvisionTextLen = 40986,\n  /** Encoded (non-ASCII characters) representation of the ProvisionText(40113) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the ProvisionText(40113) field. */\n  EncodedProvisionText = 40987,\n  /** Byte length of encoded (non-ASCII characters) EncodedUnderlyingStreamText(40989) field. */\n  EncodedUnderlyingStreamTextLen = 40988,\n  /** Encoded (non-ASCII characters) representation of the UnderlyingStreamText(40547) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the UnderlyingStreamText(40547) field. */\n  EncodedUnderlyingStreamText = 40989,\n  /** Applicable value for LegMarketDisruptionFallbackType(41470). */\n  LegMarketDisruptionFallbackValue = 40990,\n  /** Applicable value for MarketDisruptionEvent(41093). */\n  MarketDisruptionValue = 40991,\n  /** Applicable value for MarketDisruptionFallbackType(41095). */\n  MarketDisruptionFallbackValue = 40992,\n  /** Used to further clarify the value of PaymentType(40213). */\n  PaymentSubType = 40993,\n  /** The number of averaging observations in the repeating group. */\n  NoComplexEventAveragingObservations = 40994,\n  /** Cross reference to the ordinal observation as specified either in the ComplexEventScheduleGrp or ComplexEventPeriodDateGrp components. */\n  ComplexEventAveragingObservationNumber = 40995,\n  /** The weight factor to be applied to the observation. */\n  ComplexEventAveragingWeight = 40996,\n  /** The number of credit events specified in the repeating group. */\n  NoComplexEventCreditEvents = 40997,\n  ComplexEventCreditEventType = 40998,\n  ComplexEventCreditEventValue = 40999,\n  /** Specifies the applicable currency when ComplexEventCreditEventValue(40999) is an amount. Uses ISO 4217 currency codes. */\n  ComplexEventCreditEventCurrency = 41000,\n  /** Time unit multiplier for complex credit events. */\n  ComplexEventCreditEventPeriod = 41001,\n  /** Time unit associated with complex credit events. */\n  ComplexEventCreditEventUnit = 41002,\n  /** Specifies the day type for the complex credit events. */\n  ComplexEventCreditEventDayType = 41003,\n  ComplexEventCreditEventRateSource = 41004,\n  /** The number of qualifiers in the repeating group. */\n  NoComplexEventCreditEventQualifiers = 41005,\n  /** Specifies a complex event qualifier. Used to further qualify ComplexEventCreditEventType(40998). */\n  ComplexEventCreditEventQualifier = 41006,\n  /** The number of entries in the date-time repeating group. */\n  NoComplexEventPeriodDateTimes = 41007,\n  ComplexEventPeriodDate = 41008,\n  /** The averaging time for an Asian option. */\n  ComplexEventPeriodTime = 41009,\n  /** The number of periods in the repeating group. */\n  NoComplexEventPeriods = 41010,\n  /** Specifies the period type. */\n  ComplexEventPeriodType = 41011,\n  ComplexEventBusinessCenter = 41012,\n  /** The number of rate sources in the repeating group. */\n  NoComplexEventRateSources = 41013,\n  ComplexEventRateSource = 41014,\n  /** Indicates whether the rate source specified is a primary or secondary source. */\n  ComplexEventRateSourceType = 41015,\n  ComplexEventReferencePage = 41016,\n  /** Identifies the reference page heading from the rate source. */\n  ComplexEventReferencePageHeading = 41017,\n  /** The number of business centers in the repeating group. */\n  NoComplexEventDateBusinessCenters = 41018,\n  ComplexEventDateBusinessCenter = 41019,\n  ComplexEventDateUnadjusted = 41020,\n  ComplexEventDateRelativeTo = 41021,\n  /** Time unit multiplier for the relative date offset. */\n  ComplexEventDateOffsetPeriod = 41022,\n  /** Time unit associated with the relative date offset. */\n  ComplexEventDateOffsetUnit = 41023,\n  /** Specifies the day type of the relative date offset. */\n  ComplexEventDateOffsetDayType = 41024,\n  /** The business day convention used to adjust the complex event date. Used only to override the business day convention specified in the DateAdjustment component within the Instrument component. */\n  ComplexEventDateBusinessDayConvention = 41025,\n  /** The adjusted complex event date. */\n  ComplexEventDateAdjusted = 41026,\n  /** The local market fixing time. */\n  ComplexEventFixingTime = 41027,\n  ComplexEventFixingTimeBusinessCenter = 41028,\n  /** Number of event sources in the repeating group. */\n  NoComplexEventCreditEventSources = 41029,\n  /** A newspaper or electronic news service that may publish relevant information used in the determination of whether or not a credit event has occurred. */\n  ComplexEventCreditEventSource = 41030,\n  /** Number of schedules in the repeating group. */\n  NoComplexEventSchedules = 41031,\n  /** The start date of the schedule. */\n  ComplexEventScheduleStartDate = 41032,\n  /** The end date of the schedule. */\n  ComplexEventScheduleEndDate = 41033,\n  /** Time unit multiplier for the schedule date frequency. */\n  ComplexEventScheduleFrequencyPeriod = 41034,\n  /** Time unit associated with the schedule date frequency. */\n  ComplexEventScheduleFrequencyUnit = 41035,\n  /** The convention for determining the sequence of dates. It is used in conjunction with a specified frequency. Used only to override the roll convention defined in the DateAdjustment component in Instrument. */\n  ComplexEventScheduleRollConvention = 41036,\n  /** Number of delivery schedules in the repeating group. */\n  NoDeliverySchedules = 41037,\n  /** Specifies the type of delivery schedule. */\n  DeliveryScheduleType = 41038,\n  /** Identifier for this instance of delivery schedule for cross referencing elsewhere in the message. */\n  DeliveryScheduleXID = 41039,\n  /** Physical delivery quantity. */\n  DeliveryScheduleNotional = 41040,\n  /** Specifies the delivery quantity unit of measure (UOM). */\n  DeliveryScheduleNotionalUnitOfMeasure = 41041,\n  /** The frequency of notional delivery. */\n  DeliveryScheduleNotionalCommodityFrequency = 41042,\n  /** Specifies the negative tolerance value. The value may be an absolute quantity or a percentage, as specified in DeliveryScheduleToleranceType(41046). Percentage value is to be expressed relative to \"1.0\" representing 100% (e.g. a value of \"0.0575\" represents 5.75%). */\n  DeliveryScheduleNegativeTolerance = 41043,\n  /** Specifies the positive tolerance value. The value may be an absolute quantity or a percentage, as specified in DeliveryScheduleToleranceType(41046). Value may exceed agreed upon value. Percentage value is to be expressed relative to \"1.0\" representing 100% (e.g. a value of \"0.0575\" represents 5.75%). */\n  DeliverySchedulePositiveTolerance = 41044,\n  /** Specifies the tolerance value's unit of measure (UOM). */\n  DeliveryScheduleToleranceUnitOfMeasure = 41045,\n  /** Specifies the tolerance value type. */\n  DeliveryScheduleToleranceType = 41046,\n  /** Specifies the country where delivery takes place. Uses ISO 3166 2-character country code. */\n  DeliveryScheduleSettlCountry = 41047,\n  DeliveryScheduleSettlTimeZone = 41048,\n  /** Specifies the commodity delivery flow type. */\n  DeliveryScheduleSettlFlowType = 41049,\n  /** Indicates whether holidays are included in the settlement periods. Required for electricity contracts. */\n  DeliveryScheduleSettlHolidaysProcessingInstruction = 41050,\n  /** Number of delivery schedules in the repeating group. */\n  NoDeliveryScheduleSettlDays = 41051,\n  /** Specifies the day or group of days for delivery. */\n  DeliveryScheduleSettlDay = 41052,\n  /** The sum of the total hours specified in the DeliveryScheduleSettlTimeGrp component. */\n  DeliveryScheduleSettlTotalHours = 41053,\n  /** Number of hour ranges in the repeating group. */\n  NoDeliveryScheduleSettlTimes = 41054,\n  /** The scheduled start time for the delivery of the commodity where delivery occurs over specified times. The format of the time value is specified in DeliveryScheduleSettlTimeType(41057). */\n  DeliveryScheduleSettlStart = 41055,\n  /** The scheduled end time for the delivery of the commodity where delivery occurs over specified times. The format of the time value is specified in DeliveryScheduleSettlTimeType(41057). */\n  DeliveryScheduleSettlEnd = 41056,\n  /** Specifies the format of the delivery start and end time values. */\n  DeliveryScheduleSettlTimeType = 41057,\n  /** Specifies the type of delivery stream. */\n  DeliveryStreamType = 41058,\n  /** The name of the oil delivery pipeline. */\n  DeliveryStreamPipeline = 41059,\n  /** The point at which the commodity will enter the delivery mechanism or pipeline. */\n  DeliveryStreamEntryPoint = 41060,\n  /** The point at which the commodity product will be withdrawn prior to delivery. */\n  DeliveryStreamWithdrawalPoint = 41061,\n  DeliveryStreamDeliveryPoint = 41062,\n  /** Specifies under what conditions the buyer and seller should be excused of their delivery obligations. */\n  DeliveryStreamDeliveryRestriction = 41063,\n  DeliveryStreamDeliveryContingency = 41064,\n  /** The trade side value of the party responsible for electricity delivery contingency. */\n  DeliveryStreamDeliveryContingentPartySide = 41065,\n  /** When this element is specified and set to 'Y', delivery of the coal product is to be at its source. */\n  DeliveryStreamDeliverAtSourceIndicator = 41066,\n  DeliveryStreamRiskApportionment = 41067,\n  /** Specifies the title transfer location. */\n  DeliveryStreamTitleTransferLocation = 41068,\n  /** Specifies the condition of title transfer. */\n  DeliveryStreamTitleTransferCondition = 41069,\n  /** A party, not necessarily of the trade, who is the Importer of Record for the purposes of paying customs duties and applicable taxes or costs related to importation. */\n  DeliveryStreamImporterOfRecord = 41070,\n  /** Specifies the negative tolerance value. The value may be an absolute quantity or a percentage, as specified in DeliveryStreamToleranceType(41074). Percentage value is to be expressed relative to \"1.0\" representing 100% (e.g. a value of \"0.0575\" represents 5.75%). */\n  DeliveryStreamNegativeTolerance = 41071,\n  /** Specifies the positive tolerance value. The value may be an absolute quantity or a percentage, as specified in DeliveryStreamToleranceType(41074). Value may exceed agreed upon value. Percentage value is to be expressed relative to \"1.0\" representing 100% (e.g. a value of \"0.0575\" represents 5.75%). */\n  DeliveryStreamPositiveTolerance = 41072,\n  /** Specifies the tolerance value's unit of measure (UOM). */\n  DeliveryStreamToleranceUnitOfMeasure = 41073,\n  /** Specifies the tolerance value type. */\n  DeliveryStreamToleranceType = 41074,\n  /** Indicates whether the tolerance is at the seller's or buyer's option. */\n  DeliveryStreamToleranceOptionSide = 41075,\n  DeliveryStreamTotalPositiveTolerance = 41076,\n  DeliveryStreamTotalNegativeTolerance = 41077,\n  /** If the notional quantity is specified in a unit that does not match the unit in which the commodity reference price is quoted, the scaling or conversion factor used to convert the commodity reference price unit into the notional quantity unit should be stated here. If there is no conversion, this field is not intended to be used. */\n  DeliveryStreamNotionalConversionFactor = 41078,\n  DeliveryStreamTransportEquipment = 41079,\n  /** A reference to the party able to choose whether the gas is delivered for a particular period as found in a swing or interruptible contract. */\n  DeliveryStreamElectingPartySide = 41080,\n  /** Number of delivery cycles in the repeating group. */\n  NoDeliveryStreamCycles = 41081,\n  /** The delivery cycles during which the oil product will be transported in the pipeline. */\n  DeliveryStreamCycleDesc = 41082,\n  /** Byte length of encoded (non-ASCII characters) EncodedDeliveryStreamCycleDesc(41084) field. */\n  EncodedDeliveryStreamCycleDescLen = 41083,\n  /** Encoded (non-ASCII characters) representation of the DeliveryStreamCycleDesc(41082) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the DeliveryStreamCycleDesc(41082) field. */\n  EncodedDeliveryStreamCycleDesc = 41084,\n  /** Number of commodity sources in the repeating group. */\n  NoDeliveryStreamCommoditySources = 41085,\n  DeliveryStreamCommoditySource = 41086,\n  /** The consequences of market disruption events. */\n  MarketDisruptionProvision = 41087,\n  /** Specifies the location of the fallback provision documentation. */\n  MarketDisruptionFallbackProvision = 41088,\n  MarketDisruptionMaximumDays = 41089,\n  MarketDisruptionMaterialityPercentage = 41090,\n  MarketDisruptionMinimumFuturesContracts = 41091,\n  /** Number of disruption events in the repeating group. */\n  NoMarketDisruptionEvents = 41092,\n  MarketDisruptionEvent = 41093,\n  /** Number of fallbacks in the repeating group. */\n  NoMarketDisruptionFallbacks = 41094,\n  MarketDisruptionFallbackType = 41095,\n  /** Number of fallback reference securities in the repeating group. */\n  NoMarketDisruptionFallbackReferencePrices = 41096,\n  /** The type of reference price underlier. */\n  MarketDisruptionFallbackUnderlierType = 41097,\n  /** Specifies the identifier value of the security. */\n  MarketDisruptionFallbackUnderlierSecurityID = 41098,\n  /** Specifies the class or source scheme of the security identifier. */\n  MarketDisruptionFallbackUnderlierSecurityIDSource = 41099,\n  /** Specifies the description of the underlying security. */\n  MarketDisruptionFallbackUnderlierSecurityDesc = 41100,\n  /** Byte length of encoded (non-ASCII characters) EncodedMarketDisruptionFallbackUnderlierSecurityDesc(41102) field. */\n  EncodedMarketDisruptionFallbackUnderlierSecurityDescLen = 41101,\n  /** Encoded (non-ASCII characters) representation of the MarketDisruptionFallbackUnderlierSecurityDesc(41100) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the MarketDisruptionFallbackUnderlierSecurityDesc(41100) field. */\n  EncodedMarketDisruptionFallbackUnderlierSecurityDesc = 41102,\n  /** If there are multiple underlying assets, this specifies the number of units (index or securities) that constitute the underlier of the swap. In the case of a basket swap, this is used to reference both the number of basket units, and the number of each asset components of the basket when these are expressed in absolute terms. */\n  MarketDisruptionFallbackOpenUnits = 41103,\n  /** Specifies the currency if the underlier is a basket. Uses ISO 4217 currency codes. */\n  MarketDisruptionFallbackBasketCurrency = 41104,\n  /** Specifies the basket divisor amount. This value is normally used to adjust the constituent weight for pricing or to adjust for dividends, or other corporate actions. */\n  MarketDisruptionFallbackBasketDivisor = 41105,\n  /** A description of the option exercise. */\n  ExerciseDesc = 41106,\n  /** Byte length of encoded (non-ASCII characters) EncodedExerciseDesc(41102) field. */\n  EncodedExerciseDescLen = 41107,\n  /** Encoded (non-ASCII characters) representation of the ExerciseDesc(41106) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the ExerciseDesc(41106) field. */\n  EncodedExerciseDesc = 41108,\n  /** Indicates (when 'Y') that exercise is automatic when the strike price is crossed or the underlying trade is in the money. */\n  AutomaticExerciseIndicator = 41109,\n  /** The threshold rate for triggering automatic exercise. */\n  AutomaticExerciseThresholdRate = 41110,\n  /** Indicates whether follow-up confirmation of exercise (written or electronic) is required following telephonic notice by the buyer to the seller or seller's agent. */\n  ExerciseConfirmationMethod = 41111,\n  ManualNoticeBusinessCenter = 41112,\n  /** Indicates whether the notional amount of the underlying swap, not previously exercised under the option, will be automatically exercised at the expiration time on the expiration date if at such time the buyer is in-the-money, provided that the difference between the settlement rate and the fixed rate under the relevant underlying swap is not less than one tenth of a percentage point (0.10% or 0.001). */\n  FallbackExerciseIndicator = 41113,\n  /** Indicates whether the Seller may request the Buyer to confirm its intent to exercise if not done on or before the expiration time on the expiration date. If true (\"Y\") specific rules will apply in relation to the settlement mode. */\n  LimitedRightToConfirmIndicator = 41114,\n  /** Indicates in physical settlement of bond and convertible bond options whether the party required to deliver the bonds will divide those to be delivered as notifying party desires to facilitate delivery obligations. */\n  ExerciseSplitTicketIndicator = 41115,\n  /** Number of business centers in the repeating group. */\n  NoOptionExerciseBusinessCenters = 41116,\n  OptionExerciseBusinessCenter = 41117,\n  /** The business day convention used to adjust the option exercise dates. Used only to override the business day convention specified in the DateAdjustment component within the Instrument component. */\n  OptionExerciseBusinessDayConvention = 41118,\n  /** Specifies the day type of the relative earliest option exercise date offset. */\n  OptionExerciseEarliestDateOffsetDayType = 41119,\n  /** Time unit multiplier for the relative earliest exercise date offset. */\n  OptionExerciseEarliestDateOffsetPeriod = 41120,\n  /** Time unit associated with the relative earliest exercise date offset. */\n  OptionExerciseEarliestDateOffsetUnit = 41121,\n  /** Time unit multiplier for the frequency of exercise dates. */\n  OptionExerciseFrequencyPeriod = 41122,\n  /** Time unit associated with the frequency of exercise dates. */\n  OptionExerciseFrequencyUnit = 41123,\n  /** The unadjusted start date for calculating periodic exercise dates. */\n  OptionExerciseStartDateUnadjusted = 41124,\n  OptionExerciseStartDateRelativeTo = 41125,\n  /** Time unit multiplier for the relative exercise start date offset. */\n  OptionExerciseStartDateOffsetPeriod = 41126,\n  /** Time unit associated with the relative exercise start date offset. */\n  OptionExerciseStartDateOffsetUnit = 41127,\n  /** Specifies the day type of the relative option exercise start date offset. */\n  OptionExerciseStartDateOffsetDayType = 41128,\n  /** The adjusted start date for calculating periodic exercise dates. */\n  OptionExerciseStartDateAdjusted = 41129,\n  /** The number of periods in the referenced date schedule that are between each date in the relative date schedule. Thus a skip of 2 would mean that dates are relative to every second date in the referenced schedule. If present this should have a value greater than 1. */\n  OptionExerciseSkip = 41130,\n  /** Last date (adjusted) for establishing the option exercise terms. */\n  OptionExerciseNominationDeadline = 41131,\n  /** The unadjusted first exercise date. */\n  OptionExerciseFirstDateUnadjusted = 41132,\n  /** The unadjusted last exercise date. */\n  OptionExerciseLastDateUnadjusted = 41133,\n  /** The earliest time at which notice of exercise can be given by the buyer to the seller (or seller's agent) (i) on the expriation date, in the case of a European style option, (ii) on each Bermuda option exercise date and the expiration date, in the case of a Bermuda style option, (iii) the commencement date to, and including, the expiration date, in the case of an American option. */\n  OptionExerciseEarliestTime = 41134,\n  /** The latest exercise time. See also OptionExerciseEarliestTime(41134). */\n  OptionExerciseLatestTime = 41135,\n  OptionExerciseTimeBusinessCenter = 41136,\n  /** Number of dates in the repeating group. */\n  NoOptionExerciseDates = 41137,\n  /** The option exercise fixed date, unadjusted or adjusted depending on OptionExerciseDateType(41139). */\n  OptionExerciseDate = 41138,\n  /** Specifies the type of date. When specified it applies not only to the current date but to all subsequent dates in the group until overridden with a new type. */\n  OptionExerciseDateType = 41139,\n  /** Number of business centers in the repeating group. */\n  NoOptionExerciseExpirationDateBusinessCenters = 41140,\n  OptionExerciseExpirationDateBusinessCenter = 41141,\n  /** The business day convention used to adjust the option exercise expiration dates. Used only to override the business day convention specified in the DateAdjustment component within the Instrument component. */\n  OptionExerciseExpirationDateBusinessDayConvention = 41142,\n  OptionExerciseExpirationDateRelativeTo = 41143,\n  /** Time unit multiplier for the relative exercise expiration date offset. */\n  OptionExerciseExpirationDateOffsetPeriod = 41144,\n  /** Time unit associated with the relative exercise expiration date offset. */\n  OptionExerciseExpirationDateOffsetUnit = 41145,\n  /** Time unit multiplier for the frequency of exercise expiration dates. */\n  OptionExerciseExpirationFrequencyPeriod = 41146,\n  /** Time unit associated with the frequency of exercise expiration dates. */\n  OptionExerciseExpirationFrequencyUnit = 41147,\n  /** The convention for determining the sequence of exercise expiration dates. It is used in conjunction with a specified frequency. Used only to override the roll convention defined in the DateAdjustment component in Instrument. */\n  OptionExerciseExpirationRollConvention = 41148,\n  /** Specifies the day type of the relative option exercise expiration date offset. */\n  OptionExerciseExpirationDateOffsetDayType = 41149,\n  /** The option exercise expiration time. */\n  OptionExerciseExpirationTime = 41150,\n  OptionExerciseExpirationTimeBusinessCenter = 41151,\n  /** Number of fixed exercise expiration dates in the repeating group. */\n  NoOptionExerciseExpirationDates = 41152,\n  /** An adjusted or unadjusted fixed option exercise expiration date. */\n  OptionExerciseExpirationDate = 41153,\n  /** Specifies the type of option exercise expiration date. When specified it applies not only to the current date but to all subsequent dates in the group until overridden with a new type. */\n  OptionExerciseExpirationDateType = 41154,\n  /** Used to express the unit of measure (UOM) of the payment amount if not in the currency of the trade. */\n  PaymentUnitOfMeasure = 41155,\n  PaymentDateRelativeTo = 41156,\n  /** Time unit multiplier for the relative payment date offset. */\n  PaymentDateOffsetPeriod = 41157,\n  /** Time unit associated with the relative payment date offset. */\n  PaymentDateOffsetUnit = 41158,\n  /** Specifies the day type of the relative payment date offset. */\n  PaymentDateOffsetDayType = 41159,\n  /** Forward start premium type. */\n  PaymentForwardStartType = 41160,\n  /** Number of fixing days in the repeating group. */\n  NoPaymentScheduleFixingDays = 41161,\n  /** The day of the week on which fixing will take place. */\n  PaymentScheduleFixingDayOfWeek = 41162,\n  PaymentScheduleFixingDayNumber = 41163,\n  /** Identifier of this PaymentSchedule for cross referencing elsewhere in the message. */\n  PaymentScheduleXID = 41164,\n  /** Reference to payment schedule elsewhere in the message. */\n  PaymentScheduleXIDRef = 41165,\n  /** The currency of the schedule rate. Uses ISO 4217 currency codes. */\n  PaymentScheduleRateCurrency = 41166,\n  /** The schedule rate unit of measure (UOM). */\n  PaymentScheduleRateUnitOfMeasure = 41167,\n  /** The number to be multiplied by the derived floating rate of the payment schedule in order to arrive at the payment rate. If omitted, the schedule rate conversion factor is 1. */\n  PaymentScheduleRateConversionFactor = 41168,\n  /** Identifies whether the rate spread is an absolute value to be added to the index rate or a percentage of the index rate. */\n  PaymentScheduleRateSpreadType = 41169,\n  /** The schedule settlement period price. */\n  PaymentScheduleSettlPeriodPrice = 41170,\n  /** Specifies the currency of the schedule settlement period price. Uses ISO 4217 currency codes. */\n  PaymentScheduleSettlPeriodPriceCurrency = 41171,\n  /** The settlement period price unit of measure (UOM). */\n  PaymentScheduleSettlPeriodPriceUnitOfMeasure = 41172,\n  /** The schedule step unit of measure (UOM). */\n  PaymentScheduleStepUnitOfMeasure = 41173,\n  /** The distribution of fixing days. */\n  PaymentScheduleFixingDayDistribution = 41174,\n  /** The number of days over which fixing should take place. */\n  PaymentScheduleFixingDayCount = 41175,\n  /** Time unit multiplier for the fixing lag duration. */\n  PaymentScheduleFixingLagPeriod = 41176,\n  /** Time unit associated with the fixing lag duration. */\n  PaymentScheduleFixingLagUnit = 41177,\n  PaymentScheduleFixingFirstObservationDateOffsetPeriod = 41178,\n  /** Time unit associated with the relative first observation date offset. */\n  PaymentScheduleFixingFirstObservationDateOffsetUnit = 41179,\n  /** When this element is specified and set to 'Y', the Flat Rate is the New Worldwide Tanker Nominal Freight Scale for the Freight Index Route taken at the Trade Date of the transaction \u201CFixed\u201D. If 'N' it is taken on each Pricing Date \u201CFloating\u201D. */\n  PaymentStreamFlatRateIndicator = 41180,\n  /** Specifies the actual monetary value of the flat rate when PaymentStreamFlatRateIndicator(41180) = 'Y'. */\n  PaymentStreamFlatRateAmount = 41181,\n  /** Specifies the currency of the actual flat rate. Uses ISO 4217 currency codes. */\n  PaymentStreamFlatRateCurrency = 41182,\n  /** Specifies the limit on the total payment amount. */\n  PaymentStreamMaximumPaymentAmount = 41183,\n  /** Specifies the currency of total payment amount limit. Uses ISO 4217 currency codes. */\n  PaymentStreamMaximumPaymentCurrency = 41184,\n  /** Specifies the limit on the payment amount that goes out in any particular calculation period. */\n  PaymentStreamMaximumTransactionAmount = 41185,\n  /** Specifies the currency of the period payment amount limit. Uses ISO 4217 currency codes. */\n  PaymentStreamMaximumTransactionCurrency = 41186,\n  /** Specifies the fixed payment amount unit of measure (UOM). */\n  PaymentStreamFixedAmountUnitOfMeasure = 41187,\n  /** Specifies the total fixed payment amount. */\n  PaymentStreamTotalFixedAmount = 41188,\n  /** The number of Worldscale points for purposes of the calculation of a fixed amount for a wet voyage charter commodity swap. */\n  PaymentStreamWorldScaleRate = 41189,\n  /** The price per relevant unit for purposes of the calculation of a fixed amount for a dry voyage charter or time charter commodity swap. */\n  PaymentStreamContractPrice = 41190,\n  /** Specifies the currency of PaymentStreamContractPrice(41190). Uses ISO 4217 currency codes. */\n  PaymentStreamContractPriceCurrency = 41191,\n  /** Number of business centers in the repeating group. */\n  NoPaymentStreamPricingBusinessCenters = 41192,\n  PaymentStreamPricingBusinessCenter = 41193,\n  PaymentStreamRateIndex2CurvePeriod = 41194,\n  /** Secondary time unit associated with the payment stream's floating rate index curve. */\n  PaymentStreamRateIndex2CurveUnit = 41195,\n  /** Specifies the location of the floating rate index. */\n  PaymentStreamRateIndexLocation = 41196,\n  /** This is the weather Cooling Degree Days (CDD), Heating Degree Days (HDD) or HDD index level specified as the number of (amount of) weather index units specified by the parties in the related confirmation. */\n  PaymentStreamRateIndexLevel = 41197,\n  /** The unit of measure (UOM) of the rate index level. */\n  PaymentStreamRateIndexUnitOfMeasure = 41198,\n  /** Specifies how weather index units are to be calculated. */\n  PaymentStreamSettlLevel = 41199,\n  /** This is the weather Cooling Degree Days (CDD), Heating Degree Days (HDD) or HDD reference level specified as the number of (amount of) weather index units specified by the parties in the related confirmation. */\n  PaymentStreamReferenceLevel = 41200,\n  /** The unit of measure (UOM) of the rate reference level. */\n  PaymentStreamReferenceLevelUnitOfMeasure = 41201,\n  /** When set to 'Y', it indicates the weather reference level equals zero. */\n  PaymentStreamReferenceLevelEqualsZeroIndicator = 41202,\n  /** Specifies the currency of the floating rate spread. Uses ISO 4217 currency codes. */\n  PaymentStreamRateSpreadCurrency = 41203,\n  /** Species the unit of measure (UOM) of the floating rate spread. */\n  PaymentStreamRateSpreadUnitOfMeasure = 41204,\n  /** The number to be multiplied by the derived floating rate of the payment stream in order to arrive at the payment rate. If omitted, the floating rate conversion factor is 1. */\n  PaymentStreamRateConversionFactor = 41205,\n  /** Identifies whether the rate spread is an absolute value to be added to the index rate or a percentage of the index rate. */\n  PaymentStreamRateSpreadType = 41206,\n  /** The floating rate determined at the most recent reset. The rate is expressed in decimal form, e.g. 5% is represented as 0.05. */\n  PaymentStreamLastResetRate = 41207,\n  /** The floating rate determined at the final reset. The rate is expressed in decimal form, e.g. 5% is represented as 0.05. */\n  PaymentStreamFinalRate = 41208,\n  /** Time unit multiplier for the calculation lag duration. */\n  PaymentStreamCalculationLagPeriod = 41209,\n  /** Time unit associated with the calculation lag duration. */\n  PaymentStreamCalculationLagUnit = 41210,\n  PaymentStreamFirstObservationDateOffsetPeriod = 41211,\n  /** Time unit associated with the relative first observation date offset. */\n  PaymentStreamFirstObservationDateOffsetUnit = 41212,\n  /** Specifies the commodity pricing day type. */\n  PaymentStreamPricingDayType = 41213,\n  /** The distribution of pricing days. */\n  PaymentStreamPricingDayDistribution = 41214,\n  /** The number of days over which pricing should take place. */\n  PaymentStreamPricingDayCount = 41215,\n  PaymentStreamPricingBusinessCalendar = 41216,\n  /** The business day convention used to adjust the payent stream's pricing dates. Used only to override the business day convention specified in the DateAdjustment component within the Instrument component. */\n  PaymentStreamPricingBusinessDayConvention = 41217,\n  DeliveryStreamRiskApportionmentSource = 41218,\n  LegDeliveryStreamRiskApportionmentSource = 41219,\n  /** Number of payment dates in the repeating group. */\n  NoPaymentStreamPaymentDates = 41220,\n  /** The adjusted or unadjusted fixed stream payment date. */\n  PaymentStreamPaymentDate = 41221,\n  /** Specifies the type of payment date. When specified it applies not only to the current date but to all subsequent dates in the group until overridden with a new type. */\n  PaymentStreamPaymentDateType = 41222,\n  /** When set to 'Y', it indicates that payment dates are specified in the relevant master agreement. */\n  PaymentStreamMasterAgreementPaymentDatesIndicator = 41223,\n  /** Number of pricing dates in the repeating group. */\n  NoPaymentStreamPricingDates = 41224,\n  /** The adjusted or unadjusted fixed stream pricing date. */\n  PaymentStreamPricingDate = 41225,\n  /** Specifies the type of pricing date. When specified it applies not only to the current date but to all subsequent dates in the group until overridden with a new type. */\n  PaymentStreamPricingDateType = 41226,\n  /** Number of pricing days in the repeating group. */\n  NoPaymentStreamPricingDays = 41227,\n  /** The day of the week on which pricing takes place. */\n  PaymentStreamPricingDayOfWeek = 41228,\n  PaymentStreamPricingDayNumber = 41229,\n  /** Number of business centers in the repeating group. */\n  NoPricingDateBusinessCenters = 41230,\n  PricingDateBusinessCenter = 41231,\n  /** The unadjusted pricing or fixing date. */\n  PricingDateUnadjusted = 41232,\n  /** The business day convention used to adjust pricing or fixing dates. Used only to override the business day convention defined in the DateAdjustment component within the Instrument component. */\n  PricingDateBusinessDayConvention = 41233,\n  /** The adjusted pricing or fixing date. */\n  PricingDateAdjusted = 41234,\n  /** Specifies the local market time of the pricing or fixing. */\n  PricingTime = 41235,\n  /** Specifies the business center for determining the pricing or fixing time. See http://www.fpml.org/coding-scheme/business-center for standard 4-character code values. */\n  PricingTimeBusinessCenter = 41236,\n  /** Number of asset attribute entries in the group. */\n  NoStreamAssetAttributes = 41237,\n  StreamAssetAttributeType = 41238,\n  /** Specifies the value of the attribute. */\n  StreamAssetAttributeValue = 41239,\n  /** Limit or lower acceptable value of the attribute. */\n  StreamAssetAttributeLimit = 41240,\n  /** Number of calculation period dates in the repeating group. */\n  NoStreamCalculationPeriodDates = 41241,\n  /** The adjusted or unadjusted fixed calculation period date. */\n  StreamCalculationPeriodDate = 41242,\n  /** Specifies the type of fixed calculation period date. When specified it applies not only to the current date but to all subsequent dates in the group until overridden with a new type. */\n  StreamCalculationPeriodDateType = 41243,\n  /** Identifier of this calculation period for cross referencing elsewhere in the message. */\n  StreamCalculationPeriodDatesXID = 41244,\n  /** Cross reference to another calculation period for duplicating its properties. */\n  StreamCalculationPeriodDatesXIDRef = 41245,\n  /** When specified and set to 'Y', it indicates that the first calculation period should run from the effective date to the end of the calendar period in which the effective date falls (e.g. Jan 15 - Jan 31 if the calculation periods are one month long and effective date is Jan 15.). If 'N' or not specified, it indicates that the first calculation period should run from the effective date for one whole period (e.g. Jan 15 to Feb 14 if the calculation periods are one month long and the effective date is Jan 15.). */\n  StreamCalculationBalanceOfFirstPeriod = 41246,\n  /** Time unit multiplier for the length of time after the publication of the data when corrections can be made. */\n  StreamCalculationCorrectionPeriod = 41247,\n  /** Time unit associated with the length of time after the publication of the data when corrections can be made. */\n  StreamCalculationCorrectionUnit = 41248,\n  /** Number of business centers in the repeating group. */\n  NoStreamCommoditySettlBusinessCenters = 41249,\n  StreamCommoditySettlBusinessCenter = 41250,\n  StreamCommodityBase = 41251,\n  StreamCommodityType = 41252,\n  /** Specifies the market identifier for the commodity. */\n  StreamCommoditySecurityID = 41253,\n  /** Identifies the class or source of the StreamCommoditySecurityIDSource(41253) value. */\n  StreamCommoditySecurityIDSource = 41254,\n  /** Description of the commodity asset. */\n  StreamCommodityDesc = 41255,\n  /** Byte length of encoded (non-ASCII characters) EncodedStreamCommodityDesc(41257) field. */\n  EncodedStreamCommodityDescLen = 41256,\n  /** Encoded (non-ASCII characters) representation of the StreamCommodityDesc(41255) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the StreamCommodityDesc(41255) field. */\n  EncodedStreamCommodityDesc = 41257,\n  /** The unit of measure (UOM) of the commodity asset. */\n  StreamCommodityUnitOfMeasure = 41258,\n  /** Identifies the currency of the commodity asset. Uses ISO 4217 currency codes. */\n  StreamCommodityCurrency = 41259,\n  /** Identifies the exchange where the commodity is traded. */\n  StreamCommodityExchange = 41260,\n  StreamCommodityRateSource = 41261,\n  /** Identifies the reference \"page\" from the rate source. */\n  StreamCommodityRateReferencePage = 41262,\n  /** Identifies the page heading from the rate source. */\n  StreamCommodityRateReferencePageHeading = 41263,\n  StreamDataProvider = 41264,\n  StreamCommodityPricingType = 41265,\n  StreamCommodityNearbySettlDayPeriod = 41266,\n  /** Time unit associated with the nearby settlement day. */\n  StreamCommodityNearbySettlDayUnit = 41267,\n  /** The unadjusted commodity delivery date. */\n  StreamCommoditySettlDateUnadjusted = 41268,\n  /** The business day convention used to adjust the commodity delivery date. Used only to override the business day convention specified in the DateAdjustment component within the Instrument component. */\n  StreamCommoditySettlDateBusinessDayConvention = 41269,\n  /** The adjusted commodity delivery date. */\n  StreamCommoditySettlDateAdjusted = 41270,\n  StreamCommoditySettlMonth = 41271,\n  StreamCommoditySettlDateRollPeriod = 41272,\n  /** Time unit associated with the commodity delivery date roll. */\n  StreamCommoditySettlDateRollUnit = 41273,\n  /** Specifies the commodity delivery roll day type. */\n  StreamCommoditySettlDayType = 41274,\n  /** Identifier of this stream commodity for cross referencing elsewhere in the message. */\n  StreamCommodityXID = 41275,\n  /** Reference to a stream commodity elsewhere in the message. */\n  StreamCommodityXIDRef = 41276,\n  /** Number of alternate security identifers. */\n  NoStreamCommodityAltIDs = 41277,\n  /** Alternate security identifier value for the commodity. */\n  StreamCommodityAltID = 41278,\n  /** Identifies the class or source of the alternate commodity security identifier. */\n  StreamCommodityAltIDSource = 41279,\n  /** Number of data sources in the repeating group. The order of entry determines priority \u2013 first is the main source, second is fallback, third is second fallback. */\n  NoStreamCommodityDataSources = 41280,\n  /** Data source identifier. */\n  StreamCommodityDataSourceID = 41281,\n  /** Type of data source identifier. */\n  StreamCommodityDataSourceIDType = 41282,\n  /** Number of days in the repeating group. */\n  NoStreamCommoditySettlDays = 41283,\n  /** Specifies the day or group of days for delivery. */\n  StreamCommoditySettlDay = 41284,\n  /** Sum of the hours specified in StreamCommoditySettlTimeGrp. */\n  StreamCommoditySettlTotalHours = 41285,\n  /** Number of hour ranges in the repeating group. */\n  NoStreamCommoditySettlTimes = 41286,\n  /** The start time for commodities settlement where delivery occurs over time. The time format is specified by the settlement time type. */\n  StreamCommoditySettlStart = 41287,\n  /** The end time for commodities settlement where delivery occurs over time. The time format is specified by the settlement time type. */\n  StreamCommoditySettlEnd = 41288,\n  /** Number of commodity settlement periods in the repeating group. */\n  NoStreamCommoditySettlPeriods = 41289,\n  /** Specifies the country where delivery takes place. Uses ISO 3166 2-character country code. */\n  StreamCommoditySettlCountry = 41290,\n  StreamCommoditySettlTimeZone = 41291,\n  /** Specifies the commodity delivery flow type. */\n  StreamCommoditySettlFlowType = 41292,\n  /** Specifies the delivery quantity associated with this settlement period. */\n  StreamCommoditySettlPeriodNotional = 41293,\n  /** Specifies the unit of measure (UOM) of the delivery quantity associated with this settlement period. */\n  StreamCommoditySettlPeriodNotionalUnitOfMeasure = 41294,\n  /** Time unit multiplier for the settlement period frequency. */\n  StreamCommoditySettlPeriodFrequencyPeriod = 41295,\n  /** Time unit associated with the settlement period frequency. */\n  StreamCommoditySettlPeriodFrequencyUnit = 41296,\n  /** The settlement period price. */\n  StreamCommoditySettlPeriodPrice = 41297,\n  /** Specifies the settlement period price unit of measure (UOM). */\n  StreamCommoditySettlPeriodPriceUnitOfMeasure = 41298,\n  /** The currency of the settlement period price. Uses ISO 4217 currency codes. */\n  StreamCommoditySettlPeriodPriceCurrency = 41299,\n  /** Indicates whether holidays are included in the settlement periods. Required for electricity contracts. */\n  StreamCommoditySettlHolidaysProcessingInstruction = 41300,\n  /** Identifier of this settlement period for cross referencing elsewhere in the message. */\n  StreamCommoditySettlPeriodXID = 41301,\n  /** Cross reference to another settlement period for duplicating its properties. */\n  StreamCommoditySettlPeriodXIDRef = 41302,\n  /** Identifier of this Stream for cross referencing elsewhere in the message. */\n  StreamXID = 41303,\n  /** Identifies the instrument leg in which this payment applies to by referencing the leg's LegID(1788). */\n  PaymentLegRefID = 41304,\n  /** Cross reference to another Stream notional for duplicating its properties. */\n  StreamNotionalXIDRef = 41305,\n  /** Time unit multiplier for the swap stream's notional frequency. */\n  StreamNotionalFrequencyPeriod = 41306,\n  /** Time unit associated with the swap stream's notional frequency. */\n  StreamNotionalFrequencyUnit = 41307,\n  /** The commodity's notional or quantity delivery frequency. */\n  StreamNotionalCommodityFrequency = 41308,\n  /** Specifies the delivery stream quantity unit of measure (UOM). */\n  StreamNotionalUnitOfMeasure = 41309,\n  /** Total notional or delivery quantity over the term of the contract. */\n  StreamTotalNotional = 41310,\n  /** Specifies the unit of measure (UOM) for the total notional or delivery quantity over the term of the contract. */\n  StreamTotalNotionalUnitOfMeasure = 41311,\n  /** Number of mandatory clearing jurisdictions. */\n  NoMandatoryClearingJurisdictions = 41312,\n  /** Identifier of the regulatory jurisdiction requiring the trade to be cleared. */\n  MandatoryClearingJurisdiction = 41313,\n  /** Reference to the protection terms applicable to this entity or obligation. Contains the same XID named string value of the instance in the ProtectionTerms repeating group that applies to this Underlying. */\n  UnderlyingProtectionTermXIDRef = 41314,\n  /** Reference to the cash or physical settlement terms applicable to this entity or obligation. Contains the same XID named string value of the instance in the appropriate repeating group that applies to this Underlying. */\n  UnderlyingSettlTermXIDRef = 41315,\n  /** Number of bonds in the repeating group. */\n  NoLegAdditionalTermBondRefs = 41316,\n  /** Security identifier of the bond. */\n  LegAdditionalTermBondSecurityID = 41317,\n  /** Identifies the source scheme of the LegAdditionalTermBondSecurityID(41317) value. */\n  LegAdditionalTermBondSecurityIDSource = 41318,\n  /** Description of the bond. */\n  LegAdditionalTermBondDesc = 41319,\n  /** Byte length of encoded (non-ASCII characters) EncodedLegAdditionalTermBondDesc(41321) field. */\n  EncodedLegAdditionalTermBondDescLen = 41320,\n  /** Encoded (non-ASCII characters) representation of the LegAdditionalTermBondDesc(41319) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the LegAdditionalTermBondDesc(41319) field. */\n  EncodedLegAdditionalTermBondDesc = 41321,\n  /** Specifies the currency the bond value is denominated in. Uses ISO 4217 currency codes. */\n  LegAdditionalTermBondCurrency = 41322,\n  /** Issuer of the bond. */\n  LegAdditionalTermBondIssuer = 41323,\n  /** Byte length of encoded (non-ASCII characters) EncodedLegAdditionalTermBondIssuer(41325) field. */\n  EncodedLegAdditionalTermBondIssuerLen = 41324,\n  /** Encoded (non-ASCII characters) representation of the LegAdditionalTermBondIssuer(41323) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the LegAdditionalTermBondIssuer(41323) field. */\n  EncodedLegAdditionalTermBondIssuer = 41325,\n  /** Specifies the bond's payment priority in the event of a default. */\n  LegAdditionalTermBondSeniority = 41326,\n  /** Specifies the coupon type of the bond. */\n  LegAdditionalTermBondCouponType = 41327,\n  /** Coupon rate of the bond. See also CouponRate(223). */\n  LegAdditionalTermBondCouponRate = 41328,\n  /** The maturity date of the bond. */\n  LegAdditionalTermBondMaturityDate = 41329,\n  /** The par value of the bond. */\n  LegAdditionalTermBondParValue = 41330,\n  /** Total issued amount of the bond. */\n  LegAdditionalTermBondCurrentTotalIssuedAmount = 41331,\n  /** Time unit multiplier for the frequency of the bond's coupon payment. */\n  LegAdditionalTermBondCouponFrequencyPeriod = 41332,\n  /** Time unit associated with the frequency of the bond's coupon payment. */\n  LegAdditionalTermBondCouponFrequencyUnit = 41333,\n  /** The day count convention used in interest calculations for a bond or an interest bearing security. */\n  LegAdditionalTermBondDayCount = 41334,\n  /** Number of additional terms in the repeating group. */\n  NoLegAdditionalTerms = 41335,\n  /** Indicates whether the condition precedent bond is applicable. The swap contract is only valid if the bond is issued and if there is any dispute over the terms of fixed stream then the bond terms would be used. */\n  LegAdditionalTermConditionPrecedentBondIndicator = 41336,\n  /** Indicates whether the discrepancy clause is applicable. */\n  LegAdditionalTermDiscrepancyClauseIndicator = 41337,\n  /** Applicable value for UnderlyingMarketDisruptionEvent(41865). */\n  UnderlyingMarketDisruptionValue = 41338,\n  /** Applicable value for UnderlyingMarketDisruptionFallbackType(41867). */\n  UnderlyingMarketDisruptionFallbackValue = 41339,\n  /** Number of bonds in the repeating group. */\n  NoUnderlyingAdditionalTermBondRefs = 41340,\n  /** Security identifier of the bond. */\n  UnderlyingAdditionalTermBondSecurityID = 41341,\n  /** Number of dealers in the repeating group. */\n  NoLegCashSettlDealers = 41342,\n  LegCashSettlDealer = 41343,\n  /** Number of elements in the repeating group. */\n  NoLegCashSettlTerms = 41344,\n  /** Specifies the currency the LegCashSettlAmount(41357) is denominated in. Uses ISO 4217 currency codes. */\n  LegCashSettlCurrency = 41345,\n  LegCasSettlValuationFirstBusinessDayOffset = 41346,\n  /** The number of business days between successive valuation dates when multiple valuation dates are applicable for cash settlement. */\n  LegCashSettlValuationSubsequentBusinessDaysOffset = 41347,\n  LegCashSettlNumOfValuationDates = 41348,\n  /** Time of valuation. */\n  LegCashSettlValuationTime = 41349,\n  LegCashSettlBusinessCenter = 41350,\n  /** The type of quote used to determine the cash settlement price. */\n  LegCashSettlQuoteMethod = 41351,\n  LegCashSettlQuoteAmount = 41352,\n  /** Specifies the currency the LegCashSettlQuoteAmount(41352) is denominated in. Uses ISO 4217 Currency Code. */\n  LegCashSettlQuoteCurrency = 41353,\n  LegCashSettlMinimumQuoteAmount = 41354,\n  /** Specifies the currency the LegCashSettlQuoteMinimumAmount(41354) is denominated in. Uses ISO 4217 Currency Code. */\n  LegCashSettlMinimumQuoteCurrency = 41355,\n  LegCashSettlBusinessDays = 41356,\n  LegCashSettlAmount = 41357,\n  /** Used for fixed recovery, this specifies the recovery level as determined at contract inception, to be applied in the event of a default. The factor is used to calculate the amount paid by the seller to the buyer for cash settlement on the cash settlement date. The amount calculated is (1 - LegCashSettlRecoveryFactor(41358)) x floating rate payer calculation amount. The currency is derived from the floating rate payer calculation amount. */\n  LegCashSettlRecoveryFactor = 41358,\n  /** Indicates whether fixed settlement is applicable or not applicable in a recovery lock. */\n  LegCashSettlFixedTermIndicator = 41359,\n  LegCashSettlAccruedInterestIndicator = 41360,\n  LegCashSettlValuationMethod = 41361,\n  /** A named string value referenced by UnderlyingSettlTermXIDRef(41315). */\n  LegCashSettlTermXID = 41362,\n  /** The number of averaging observations in the repeating group. */\n  NoLegComplexEventAveragingObservations = 41363,\n  /** Cross reference to the ordinal observation as specified either in the LegComplexEventScheduleGrp or LegComplexEventPeriodDateGrp components. */\n  LegComplexEventAveragingObservationNumber = 41364,\n  /** The weight factor to be applied to the observation. */\n  LegComplexEventAveragingWeight = 41365,\n  /** The number of credit events specified in the repeating group. */\n  NoLegComplexEventCreditEvents = 41366,\n  LegComplexEventCreditEventType = 41367,\n  LegComplexEventCreditEventValue = 41368,\n  /** Specifies the applicable currency when LegComplexEventCreditEventCurrency(41368) is an amount. Uses ISO 4217 currency codes. */\n  LegComplexEventCreditEventCurrency = 41369,\n  /** Time unit multiplier for complex credit events. */\n  LegComplexEventCreditEventPeriod = 41370,\n  /** Time unit associated with complex credit events. */\n  LegComplexEventCreditEventUnit = 41371,\n  /** Specifies the day type for the complex credit events. */\n  LegComplexEventCreditEventDayType = 41372,\n  LegComplexEventCreditEventRateSource = 41373,\n  /** Number of qualifiers in the repeating group. */\n  NoLegComplexEventCreditEventQualifiers = 41374,\n  /** Specifies a complex event qualifier. Used to further qualify LegComplexEventCreditEventType(41367). */\n  LegComplexEventCreditEventQualifier = 41375,\n  /** Number of entries in the date-time repeating group. */\n  NoLegComplexEventPeriodDateTimes = 41376,\n  LegComplexEventPeriodDate = 41377,\n  /** Averaging time for an Asian option. */\n  LegComplexEventPeriodTime = 41378,\n  /** Number of periods in the repeating group. */\n  NoLegComplexEventPeriods = 41379,\n  /** Specifies the period type. */\n  LegComplexEventPeriodType = 41380,\n  LegComplexEventBusinessCenter = 41381,\n  /** Number of rate sources in the repeating group. */\n  NoLegComplexEventRateSources = 41382,\n  LegComplexEventRateSource = 41383,\n  /** Indicates whether the rate source specified is a primary or secondary source. */\n  LegComplexEventRateSourceType = 41384,\n  LegComplexEventReferencePage = 41385,\n  /** Identifies the reference page heading from the rate source. */\n  LegComplexEvenReferencePageHeading = 41386,\n  /** Number of business centers in the repeating group. */\n  NoLegComplexEventDateBusinessCenters = 41387,\n  LegComplexEventDateBusinessCenter = 41388,\n  LegComplexEventDateUnadjusted = 41389,\n  LegComplexEventDateRelativeTo = 41390,\n  /** Time unit multiplier for the relative date offset. */\n  LegComplexEventDateOffsetPeriod = 41391,\n  /** Time unit associated with the relative date offset. */\n  LegComplexEventDateOffsetUnit = 41392,\n  /** Specifies the day type of the relative date offset. */\n  LegComplexEventDateOffsetDayType = 41393,\n  /** The business day convention used to adjust the event date. Used only to override the business day convention specified in the LegDateAdjustment component within the InstrumentLeg component. */\n  LegComplexEventDateBusinessDayConvention = 41394,\n  /** The adjusted complex event date. */\n  LegComplexEventDateAdjusted = 41395,\n  /** The local market fixing time. */\n  LegComplexEventFixingTime = 41396,\n  LegComplexEventFixingTimeBusinessCenter = 41397,\n  /** Number of event sources in the repeating group. */\n  NoLegComplexEventCreditEventSources = 41398,\n  /** A newspaper or electronic news service that may publish relevant information used in the determination of whether or not a credit event has occurred. */\n  LegComplexEventCreditEventSource = 41399,\n  /** Number of schedules in the repeating group. */\n  NoLegComplexEventSchedules = 41400,\n  /** The start date of the schedule. */\n  LegComplexEventScheduleStartDate = 41401,\n  /** The end date of the schedule. */\n  LegComplexEventScheduleEndDate = 41402,\n  /** Time unit multiplier for the schedule date frequency. */\n  LegComplexEventScheduleFrequencyPeriod = 41403,\n  /** Time unit associated with the schedule date frequency. */\n  LegComplexEventScheduleFrequencyUnit = 41404,\n  /** The convention for determining the sequence of dates. It is used in conjunction with a specified frequency. Used only to override the roll convention defined in the LegDateAdjustment component in InstrumentLeg. */\n  LegComplexEventScheduleRollConvention = 41405,\n  /** Identifies the reference \"page\" from the quote source. */\n  ProvisionCashSettlQuoteReferencePage = 41406,\n  /** Identifies the reference \"page\" from the quote source. */\n  LegProvisionCashSettlQuoteReferencePage = 41407,\n  /** Number of delivery schedules in the repeating group. */\n  NoLegDeliverySchedules = 41408,\n  /** Specifies the type of delivery schedule. */\n  LegDeliveryScheduleType = 41409,\n  /** Identifier for this instance of delivery schedule for cross referencing elsewhere in the message. */\n  LegDeliveryScheduleXID = 41410,\n  /** Physical delivery quantity. */\n  LegDeliveryScheduleNotional = 41411,\n  /** Specifies the delivery quantity unit of measure (UOM). */\n  LegDeliveryScheduleNotionalUnitOfMeasure = 41412,\n  /** The frequency of notional delivery. */\n  LegDeliveryScheduleNotionalCommodityFrequency = 41413,\n  /** Specifies the negative tolerance value. The value may be an absolute quantity or a percentage, as specified in LegDeliveryScheduleToleranceType(41417). Percentage value is to be expressed relative to \"1.0\" representing 100% (e.g. a value of \"0.0575\" represents 5.75%). */\n  LegDeliveryScheduleNegativeTolerance = 41414,\n  /** Specifies the positive tolerance value. The value may be an absolute quantity or a percentage, as specified in LegDeliveryScheduleToleranceType(41417). Value may exceed agreed upon value. Percentage value is to be expressed relative to \"1.0\" representing 100% (e.g. a value of \"0.0575\" represents 5.75%). */\n  LegDeliverySchedulePositiveTolerance = 41415,\n  /** Specifies the tolerance value's unit of measure (UOM). */\n  LegDeliveryScheduleToleranceUnitOfMeasure = 41416,\n  /** Specifies the tolerance value type. */\n  LegDeliveryScheduleToleranceType = 41417,\n  /** Specifies the country where delivery takes place. Uses ISO 3166 2-character country code. */\n  LegDeliveryScheduleSettlCountry = 41418,\n  LegDeliveryScheduleSettlTimeZone = 41419,\n  /** Specifies the delivery flow type. */\n  LegDeliveryScheduleSettlFlowType = 41420,\n  /** Indicates whether holidays are included in the settlement periods. Required for electricity contracts. */\n  LegDeliveryScheduleSettlHolidaysProcessingInstruction = 41421,\n  /** Number of delivery schedules in the repeating group. */\n  NoLegDeliveryScheduleSettlDays = 41422,\n  /** Specifies the day or group of days for delivery. */\n  LegDeliveryScheduleSettlDay = 41423,\n  /** The sum of the total hours specified in the LegDeliveryScheduleSettlTimeGrp component. */\n  LegDeliveryScheduleSettlTotalHours = 41424,\n  /** Number of hour ranges in the repeating group. */\n  NoLegDeliveryScheduleSettlTimes = 41425,\n  /** The scheduled start time for the delivery of the commodity where delivery occurs over specified times. The format of the time value is specified in LegDeliveryScheduleSettlTimeType(41428). */\n  LegDeliveryScheduleSettlStart = 41426,\n  /** The scheduled end time for the delivery of the commodity where delivery occurs over specified times. The format of the time value is specified in LegDeliveryScheduleSettlTimeType(41428). */\n  LegDeliveryScheduleSettlEnd = 41427,\n  /** Specifies the format of the delivery start and end time values. */\n  LegDeliveryScheduleSettlTimeType = 41428,\n  /** Specifies the type of delivery stream. */\n  LegDeliveryStreamType = 41429,\n  /** The name of the oil delivery pipeline. */\n  LegDeliveryStreamPipeline = 41430,\n  /** The point at which the commodity will enter the delivery mechanism or pipeline. */\n  LegDeliveryStreamEntryPoint = 41431,\n  /** The point at which the commodity product will be withdrawn prior to delivery. */\n  LegDeliveryStreamWithdrawalPoint = 41432,\n  LegDeliveryStreamDeliveryPoint = 41433,\n  /** Specifies under what conditions the buyer and seller should be excused of their delivery obligations. */\n  LegDeliveryStreamDeliveryRestriction = 41434,\n  LegDeliveryStreamDeliveryContingency = 41435,\n  /** The trade side value of the party responsible for electricity delivery contingency. */\n  LegDeliveryStreamDeliveryContingentPartySide = 41436,\n  /** When this element is specified and set to 'Y', delivery of the coal product is to be at its source. */\n  LegDeliveryStreamDeliverAtSourceIndicator = 41437,\n  LegDeliveryStreamRiskApportionment = 41438,\n  /** Specifies the title transfer location. */\n  LegDeliveryStreamTitleTransferLocation = 41439,\n  /** Specifies the condition of title transfer. */\n  LegDeliveryStreamTitleTransferCondition = 41440,\n  /** A party, not necessarily of the trade, who is the Importer of Record for the purposes of paying customs duties and applicable taxes or costs related to importation. */\n  LegDeliveryStreamImporterOfRecord = 41441,\n  /** Specifies the negative tolerance value. The value may be an absolute quantity or a percentage, as specified in LegDeliveryStreamToleranceType(41445). Percentage value is to be expressed relative to \"1.0\" representing 100% (e.g. a value of \"0.0575\" represents 5.75%). */\n  LegDeliveryStreamNegativeTolerance = 41442,\n  /** Specifies the positive tolerance value. The value may be an absolute quantity or a percentage, as specified in LegDeliveryStreamToleranceType(41445). Value may exceed agreed upon value. Percentage value is to be expressed relative to \"1.0\" representing 100% (e.g. a value of \"0.0575\" represents 5.75%). */\n  LegDeliveryStreamPositiveTolerance = 41443,\n  /** Specifies the tolerance value's unit of measure (UOM). */\n  LegDeliveryStreamToleranceUnitOfMeasure = 41444,\n  /** Specifies the tolerance value type. */\n  LegDeliveryStreamToleranceType = 41445,\n  /** Indicates whether the tolerance is at the seller's or buyer's option. */\n  LegDeliveryStreamToleranceOptionSide = 41446,\n  LegDeliveryStreamTotalPositiveTolerance = 41447,\n  LegDeliveryStreamTotalNegativeTolerance = 41448,\n  /** If the notional quantity is specified in a unit that does not match the unit in which the commodity reference price is quoted, the scaling or conversion factor used to convert the commodity reference price unit into the notional quantity unit should be stated here. If there is no conversion, this field is not intended to be used. */\n  LegDeliveryStreamNotionalConversionFactor = 41449,\n  LegDeliveryStreamTransportEquipment = 41450,\n  /** A reference to the party able to choose whether the gas is delivered for a particular period e.g. a swing or interruptible contract. */\n  LegDeliveryStreamElectingPartySide = 41451,\n  /** Number of asset attribute entries in the group. */\n  NoLegStreamAssetAttributes = 41452,\n  LegStreamAssetAttributeType = 41453,\n  /** Specifies the value of the attribute. */\n  LegStreamAssetAttributeValue = 41454,\n  /** Limit or lower acceptable value of the attribute. */\n  LegStreamAssetAttributeLimit = 41455,\n  /** Number of commodity sources in the repeating group. */\n  NoLegDeliveryStreamCycles = 41456,\n  /** The delivery cycles during which the oil product will be transported in the pipeline. */\n  LegDeliveryStreamCycleDesc = 41457,\n  /** Byte length of encoded (non-ASCII characters) EncodedLegDeliveryStreamCycleDesc(41459) field. */\n  EncodedLegDeliveryStreamCycleDescLen = 41458,\n  /** Encoded (non-ASCII characters) representation of the LegDeliveryStreamCycleDesc(41457) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the LegLeg DeliveryStream(41457) field. */\n  EncodedLegDeliveryStreamCycleDesc = 41459,\n  /** Number of commodity sources in the repeating group. */\n  NoLegDeliveryStreamCommoditySources = 41460,\n  LegDeliveryStreamCommoditySource = 41461,\n  /** The consequences of market disruption events. */\n  LegMarketDisruptionProvision = 41462,\n  /** Specifies the location of the fallback provision documentation. */\n  LegMarketDisruptionFallbackProvision = 41463,\n  LegMarketDisruptionMaximumDays = 41464,\n  LegMarketDisruptionMaterialityPercentage = 41465,\n  LegMarketDisruptionMinimumFuturesContracts = 41466,\n  /** Number of disruption events in the repeating group. */\n  NoLegMarketDisruptionEvents = 41467,\n  LegMarketDisruptionEvent = 41468,\n  /** Number of fallbacks in the repeating group. */\n  NoLegMarketDisruptionFallbacks = 41469,\n  LegMarketDisruptionFallbackType = 41470,\n  /** Number of fallback reference securities in the repeating group. */\n  NoLegMarketDisruptionFallbackReferencePrices = 41471,\n  /** The type of reference price underlier. */\n  LegMarketDisruptionFallbackUnderlierType = 41472,\n  /** Specifies the identifier value of the security. */\n  LegMarketDisruptionFallbackUnderlierSecurityID = 41473,\n  /** Specifies the class or source scheme of the security identifier. */\n  LegMarketDisruptionFallbackUnderlierSecurityIDSource = 41474,\n  /** Specifies the description of the underlying security. */\n  LegMarketDisruptionFallbackUnderlierSecurityDesc = 41475,\n  /** Byte length of encoded (non-ASCII characters) EncodedLegMarketDisruptionFallbackUnderlierSecurityDesc (41477) field. */\n  EncodedLegMarketDisruptionFallbackUnderlierSecurityDescLen = 41476,\n  /** Encoded (non-ASCII characters) representation of the LegMarketDisruptionFallbackUnderlierSecurityDesc(41475) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the LegMarketDisruptionFallbackUnderlierSecurityDesc(41475) field. */\n  EncodedLegMarketDisruptionFallbackUnderlierSecurityDesc = 41477,\n  /** If there are multiple underlying assets, this specifies the number of units (index or securities) that constitute the underlier of the swap. In the case of a basket swap, this is used to reference both the number of basket units, and the number of each asset components of the basket when these are expressed in absolute terms. */\n  LegMarketDisruptionFallbackOpenUnits = 41478,\n  /** Specifies the currency if the underlier is a basket. Uses ISO 4217 currency codes. */\n  LegMarketDisruptionFallbackBasketCurrency = 41479,\n  /** Specifies the basket divisor amount. This value is normally used to adjust the constituent weight for pricing or to adjust for dividends, or other corporate actions. */\n  LegMarketDisruptionFallbackBasketDivisor = 41480,\n  /** A description of the option exercise. */\n  LegExerciseDesc = 41481,\n  /** Byte length of encoded (non-ASCII characters) EncodedLegExerciseDesc(41483) field. */\n  EncodedLegExerciseDescLen = 41482,\n  /** Encoded (non-ASCII characters) representation of the LegExerciseDesc(41481) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the LegExerciseDesc(41481) field. */\n  EncodedLegExerciseDesc = 41483,\n  /** Indicates (when 'Y') that exercise is automatic when the strike price is crossed or the underlying trade is in the money. */\n  LegAutomaticExerciseIndicator = 41484,\n  /** The threshold rate for triggering automatic exercise. */\n  LegAutomaticExerciseThresholdRate = 41485,\n  /** Indicates whether follow-up confirmation of exercise (written or electronic) is required following telephonic notice by the buyer to the seller or seller's agent. */\n  LegExerciseConfirmationMethod = 41486,\n  LegManualNoticeBusinessCenter = 41487,\n  /** Indicates whether the notional amount of the underlying swap, not previously exercised under the option, will be automatically exercised at the expiration time on the expiration date if at such time the buyer is in-the-money, provided that the difference between the settlement rate and the fixed rate under the relevant underlying swap is not less than one tenth of a percentage point (0.10% or 0.001). */\n  LegFallbackExerciseIndicator = 41488,\n  /** Indicates whether the Seller may request the Buyer to confirm its intent to exercise if not done on or before the expiration time on the expiration date. If true (\"Y\") specific rules will apply in relation to the settlement mode. */\n  LegLimitRightToConfirmIndicator = 41489,\n  /** Indicates in physical settlement of bond and convertible bond options whether the party required to deliver the bonds will divide those to be delivered as notifying party desires to facilitate delivery obligations. */\n  LegExerciseSplitTicketIndicator = 41490,\n  /** Number of business centers in the repeating group. */\n  NoLegOptionExerciseBusinessCenters = 41491,\n  LegOptionExerciseBusinessCenter = 41492,\n  /** The business day convention used to adjust the option exercise dates. Used only to override the business day convention specified in the LegDateAdjustment component within the InstrumentLeg component. */\n  LegOptionExerciseBusinessDayConvention = 41493,\n  /** Specifies the day type of the relative earliest exercise date offset. */\n  LegOptionExerciseEarliestDateOffsetDayType = 41494,\n  /** Time unit multiplier for the relative earliest exercise date offset. */\n  LegOptionExerciseEarliestDateOffsetPeriod = 41495,\n  /** Time unit associated with the relative earliest exercise date offset. */\n  LegOptionExerciseEarliestDateOffsetUnit = 41496,\n  /** Time unit multiplier for the frequency of exercise dates. */\n  LegOptionExerciseFrequencyPeriod = 41497,\n  /** Time unit associated with the frequency of exercise dates. */\n  LegOptionExerciseFrequencyUnit = 41498,\n  /** The unadjusted start date for calculating periodic exercise dates. */\n  LegOptionExerciseStartDateUnadjusted = 41499,\n  LegOptionExerciseStartDateRelativeTo = 41500,\n  /** Time unit multiplier for the relative exercise start date offset. */\n  LegOptionExerciseStartDateOffsetPeriod = 41501,\n  /** Time unit associated with the relative exercise start date offset. */\n  LegOptionExerciseStartDateOffsetUnit = 41502,\n  /** Specifies the day type of the relative option exercise start date offset. */\n  LegOptionExerciseStartDateOffsetDayType = 41503,\n  /** The adjusted start date for calculating periodic exercise dates. */\n  LegOptionExerciseStartDateAdjusted = 41504,\n  /** The number of periods in the referenced date schedule that are between each date in the relative date schedule. Thus a skip of 2 would mean that dates are relative to every second date in the referenced schedule. If present this should have a value greater than 1. */\n  LegOptionExerciseSkip = 41505,\n  /** The last date (adjusted) for establishing the option exercise terms. */\n  LegOptionExerciseNominationDeadline = 41506,\n  /** The unadjusted first exercise date. */\n  LegOptionExerciseFirstDateUnadjusted = 41507,\n  /** The unadjusted last exercise date. */\n  LegOptionExerciseLastDateUnadjusted = 41508,\n  /** The earliest time at which notice of exercise can be given by the buyer to the seller (or seller's agent) (i) on the expriation date, in the case of a European style option, (ii) on each Bermuda option exercise date and the expiration date, in the case of a Bermuda style option, (iii) the commencement date to, and including, the expiration date, in the case of an American option. */\n  LegOptionExerciseEarliestTime = 41509,\n  /** The latest exercise time. See also LegOptionExerciseEarliestTime(41509). */\n  LegOptionExerciseLatestTime = 41510,\n  LegOptionExerciseTimeBusinessCenter = 41511,\n  /** Number of dates in the repeating group. */\n  NoLegOptionExerciseDates = 41512,\n  /** The adjusted or unadjusted option exercise fixed date. */\n  LegOptionExerciseDate = 41513,\n  /** Specifies the type of option exercise date. When specified it applies not only to the current date but to all subsequent dates in the group until overridden with a new type. */\n  LegOptionExerciseDateType = 41514,\n  /** Number of business centers in the repeating group. */\n  NoLegOptionExerciseExpirationDateBusinessCenters = 41515,\n  LegOptionExerciseExpirationDateBusinessCenter = 41516,\n  /** The business day convention used to adjust the option exercise expiration dates. Used only to override the business day convention specified in the LegDateAdjustment component within the InstrumentLeg component. */\n  LegOptionExerciseExpirationDateBusinessDayConvention = 41517,\n  LegOptionExerciseExpirationDateRelativeTo = 41518,\n  /** Time unit multiplier for the relative exercise expiration date offset. */\n  LegOptionExerciseExpirationDateOffsetPeriod = 41519,\n  /** Time unit associated with the relative exercise expiration date offset. */\n  LegOptionExerciseExpirationDateOffsetUnit = 41520,\n  /** Time unit multiplier for the frequency of exercise expiration dates. */\n  LegOptionExerciseExpirationFrequencyPeriod = 41521,\n  /** Time unit associated with the frequency of exercise expiration dates. */\n  LegOptionExerciseExpirationFrequencyUnit = 41522,\n  /** The convention for determining the sequence of exercise expiration dates. It is used in conjunction with a specified frequency. Used only to override the roll convention defined in the LegDateAdjustment component in InstrumentLeg. */\n  LegOptionExerciseExpirationRollConvention = 41523,\n  /** Specifies the day type of the relative option exercise expiration date offset. */\n  LegOptionExerciseExpirationDateOffsetDayType = 41524,\n  /** The option exercise expiration time. */\n  LegOptionExerciseExpirationTime = 41525,\n  LegOptionExerciseExpirationTimeBusinessCenter = 41526,\n  /** Number of fixed exercise expiration dates in the repeating group. */\n  NoLegOptionExerciseExpirationDates = 41527,\n  /** The adjusted or unadjusted option exercise expiration fixed date. */\n  LegOptionExerciseExpirationDate = 41528,\n  /** Specifies the type of option exercise expiration date. When specified it applies not only to the current date but to all subsequent dates in the group until overridden with a new type. */\n  LegOptionExerciseExpirationDateType = 41529,\n  /** Number of fixing days in the repeating group. */\n  NoLegPaymentScheduleFixingDays = 41530,\n  /** The day of the week on which fixing takes place. */\n  LegPaymentScheduleFixingDayOfWeek = 41531,\n  LegPaymentScheduleFixingDayNumber = 41532,\n  /** Identifier of this LegPaymentSchedule for cross referencing elsewhere in the message. */\n  LegPaymentScheduleXID = 41533,\n  /** Reference to payment schedule elsewhere in the message. */\n  LegPaymentScheduleXIDRef = 41534,\n  /** The currency of the schedule rate. Uses ISO 4217 currency codes. */\n  LegPaymentScheduleRateCurrency = 41535,\n  /** The schedule rate unit of measure (UOM). */\n  LegPaymentScheduleRateUnitOfMeasure = 41536,\n  /** The number multipled by the derived floating rate of the leg's payment schedule in order to arrive at the payment rate. If omitted, the schedule rate conversion factor is 1. */\n  LegPaymentScheduleRateConversionFactor = 41537,\n  /** Identifies whether the rate spread is an absolute value to be added to the index rate or a percentage of the index rate. */\n  LegPaymentScheduleRateSpreadType = 41538,\n  /** The schedule settlement period price. */\n  LegPaymentScheduleSettlPeriodPrice = 41539,\n  /** The currency of the schedule settlement period price. Uses ISO 4217 currency codes. */\n  LegPaymentScheduleSettlPeriodPriceCurrency = 41540,\n  /** The settlement period price unit of measure (UOM). */\n  LegPaymentScheduleSettlPeriodPriceUnitOfMeasure = 41541,\n  /** The schedule step unit of measure (UOM). */\n  LegPaymentScheduleStepUnitOfMeasure = 41542,\n  /** The distribution of fixing days. */\n  LegPaymentScheduleFixingDayDistribution = 41543,\n  /** The number of days over which fixing should take place. */\n  LegPaymentScheduleFixingDayCount = 41544,\n  /** Time unit multiplier for the fixing lag duration. */\n  LegPaymentScheduleFixingLagPeriod = 41545,\n  /** Time unit associated with the fixing lag duration. */\n  LegPaymentScheduleFixingLagUnit = 41546,\n  LegPaymentScheduleFixingFirstObservationDateOffsetPeriod = 41547,\n  /** Time unit associated with the relative first observation date offset. */\n  LegPaymentScheduleFixingFirstObservationDateOffsetUnit = 41548,\n  /** When this element is specified and set to 'Y', the Flat Rate is the New Worldwide Tanker Nominal Freight Scale for the Freight Index Route taken at the trade date of the transaction \"Fixed\". If 'N' it is taken on each pricing date \"Floating\". */\n  LegPaymentStreamFlatRateIndicator = 41549,\n  /** Specifies the actual monetary value of the flat rate when LegPaymentStreamFlatRateIndicator(41549) = 'Y'. */\n  LegPaymentStreamFlatRateAmount = 41550,\n  /** Specifies the currency of the actual flat rate. Uses ISO 4217 currency codes. */\n  LegPaymentStreamFlatRateCurrency = 41551,\n  /** Specifies the limit on the total payment amount. */\n  LegStreamMaximumPaymentAmount = 41552,\n  /** Specifies the currency of total payment amount limit. Uses ISO 4217 currency codes. */\n  LegStreamMaximumPaymentCurrency = 41553,\n  /** Specifies the limit on the payment amount that goes out in any particular calculation period. */\n  LegStreamMaximumTransactionAmount = 41554,\n  /** Specifies the currency of the period payment amount limit. Uses ISO 4217 currency codes. */\n  LegStreamMaximumTransactionCurrency = 41555,\n  /** The fixed payment amount unit of measure (UOM). */\n  LegPaymentStreamFixedAmountUnitOfMeasure = 41556,\n  /** Specifies the total fixed payment amount. */\n  LegPaymentStreamTotalFixedAmount = 41557,\n  /** The number of Worldscale points for purposes of the calculation of a fixed amount for a wet voyage charter commodity swap. */\n  LegPaymentStreamWorldScaleRate = 41558,\n  /** The price per relevant unit for purposes of the calculation of a fixed amount for a dry voyage charter or time charter commodity swap. */\n  LegPaymentStreamContractPrice = 41559,\n  /** Specifies the currency of LegPaymentStreamContractPrice(41559). Uses ISO 4217 currency codes. */\n  LegPaymentStreamContractPriceCurrency = 41560,\n  /** Number of business centers in the repeating group. */\n  NoLegPaymentStreamPricingBusinessCenters = 41561,\n  LegPaymentStreamPricingBusinessCenter = 41562,\n  /** Secondary time unit associated with the payment stream's floating rate index curve. */\n  LegPaymentStreamRateIndex2CurveUnit = 41563,\n  LegPaymentStreamRateIndex2CurvePeriod = 41564,\n  /** Specifies the location of the floating rate index. */\n  LegPaymentStreamRateIndexLocation = 41565,\n  /** This is the weather Cooling Degree Days (CDD), Heating Degree Days (HDD) or HDD index level specified as the number of (amount of) weather index units specified by the parties in the related confirmation. */\n  LegPaymentStreamRateIndexLevel = 41566,\n  /** The unit of measure (UOM) of the rate index level. */\n  LegPaymentStreamRateIndexUnitOfMeasure = 41567,\n  /** Specifies how weather index units are to be calculated. */\n  LegPaymentStreamSettlLevel = 41568,\n  /** This is the weather Cooling Degree Days (CDD), Heating Degree Days (HDD) or HDD reference level specified as the number of (amount of) weather index units specified by the parties in the related confirmation. */\n  LegPaymentStreamReferenceLevel = 41569,\n  /** The unit of measure (UOM) of the rate reference level. */\n  LegPaymentStreamReferenceLevelUnitOfMeasure = 41570,\n  /** When set to 'Y', it indicates that the weather reference level equals zero. */\n  LegPaymentStreamReferenceLevelEqualsZeroIndicator = 41571,\n  /** Specifies the currency of the floating rate spread. Uses ISO 4217 currency codes. */\n  LegPaymentStreamRateSpreadCurrency = 41572,\n  /** Specifies the unit of measure (UOM) of the floating rate spread. */\n  LegPaymentStreamRateSpreadUnitOfMeasure = 41573,\n  /** The number to be multiplied by the derived floating rate of the leg's payment stream in order to arrive at the payment rate. If omitted, the floating rate conversion factor is 1. */\n  LegPaymentStreamRateConversionFactor = 41574,\n  /** Identifies whether the rate spread is an absolute value to be added to the index rate or a percentage of the index rate. */\n  LegPaymentStreamRateSpreadType = 41575,\n  /** The floating rate determined at the most recent reset. The rate is expressed in decimal form, e.g. 5% is represented as 0.05. */\n  LegPaymentStreamLastResetRate = 41576,\n  /** The floating rate determined at the final reset. The rate is expressed in decimal form, e.g. 5% is represented as 0.05. */\n  LegPaymentStreamFinalRate = 41577,\n  /** Time unit multiplier for the calculation lag duration. */\n  LegPaymentStreamCalculationLagPeriod = 41578,\n  /** Time unit associated with the calculation lag duration. */\n  LegPaymentStreamCalculationLagUnit = 41579,\n  LegPaymentStreamFirstObservationDateOffsetPeriod = 41580,\n  /** Time unit associated with the relative first observation date offset. */\n  LegPaymentStreamFirstObservationDateOffsetUnit = 41581,\n  /** Specifies the commodity pricing day type. */\n  LegPaymentStreamPricingDayType = 41582,\n  /** The distribution of pricing days. */\n  LegPaymentStreamPricingDayDistribution = 41583,\n  /** The number of days over which pricing should take place. */\n  LegPaymentStreamPricingDayCount = 41584,\n  LegPaymentStreamPricingBusinessCalendar = 41585,\n  /** The business day convention used to adjust the payment stream's pricing dates. Used only to override the business day convention specified in the LegDateAdjustment component within the InstrumentLeg component. */\n  LegPaymentStreamPricingBusinessDayConvention = 41586,\n  UnderlyingDeliveryStreamRiskApportionmentSource = 41587,\n  /** Specifies the format of the commodities settlement start and end times. */\n  StreamCommoditySettlTimeType = 41588,\n  /** Number of payment dates in the repeating group. */\n  NoLegPaymentStreamPaymentDates = 41589,\n  /** The adjusted or unadjusted fixed stream payment date. */\n  LegPaymentStreamPaymentDate = 41590,\n  /** Specifies the type of payment date. When specified it applies not only to the current date but to all subsequent dates in the group until overridden with a new type. */\n  LegPaymentStreamPaymentDateType = 41591,\n  /** When set to 'Y', it indicates that payment dates are specified in the relevant master agreement. */\n  LegPaymentStreamMasterAgreementPaymentDatesIndicator = 41592,\n  /** Number of pricing dates in the repeating group. */\n  NoLegPaymentStreamPricingDates = 41593,\n  /** The adjusted or unadusted fixed stream pricing date. */\n  LegPaymentStreamPricingDate = 41594,\n  /** Specifies the type of pricing date. When specified it applies not only to the current date but to all subsequent dates in the group until overridden with a new type. */\n  LegPaymentStreamPricingDateType = 41595,\n  /** Number of pricing days in the repeating group. */\n  NoLegPaymentStreamPricingDays = 41596,\n  /** The day of the week on which pricing takes place. */\n  LegPaymentStreamPricingDayOfWeek = 41597,\n  LegPaymentStreamPricingDayNumber = 41598,\n  /** Number of entries in the repeating group. */\n  NoLegPhysicalSettlTerms = 41599,\n  /** A named string value referenced by UnderlyingSettlTermXIDRef(41315). */\n  LegPhysicalSettlTermXID = 41600,\n  /** Specifies the currency of physical settlement. Uses ISO 4217 currency codes. */\n  LegPhysicalSettlCurency = 41601,\n  LegPhysicalSettlBusinessDays = 41602,\n  /** A maximum number of business days. Its precise meaning depends on the context in which this element is used. Intended to be used to limit a particular ISDA fallback provision. */\n  LegPhysicalSettlMaximumBusinessDays = 41603,\n  /** Number of entries in the repeating group. */\n  NoLegPhysicalSettlDeliverableObligations = 41604,\n  LegPhysicalSettlDeliverableObligationType = 41605,\n  LegPhysicalSettlDeliverableObligationValue = 41606,\n  /** Number of business centers in the repeating group. */\n  NoLegPricingDateBusinessCenters = 41607,\n  LegPricingDateBusinessCenter = 41608,\n  /** The unadjusted pricing or fixing date. */\n  LegPricingDateUnadjusted = 41609,\n  /** The business day convention used to adjust the pricing or fixing date. Used only to override the business day convention specified in the LegDateAdjustment component within the InstrumentLeg component. */\n  LegPricingDateBusinessDayConvention = 41610,\n  /** The adjusted pricing or fixing date. */\n  LegPricingDateAdjusted = 41611,\n  /** The local market pricing or fixing time. */\n  LegPricingTime = 41612,\n  /** Specifies the business center for determining the pricing or fixing time. See http://www.fpml.org/coding-scheme/business-center for standard 4-character code values. */\n  LegPricingTimeBusinessCenter = 41613,\n  /** Number of event sources in the repeating group. */\n  NoLegProtectionTermEventNewsSources = 41614,\n  /** A newspaper or electronic news service that may publish relevant information used in the determination of whether or not a credit event has occurred. */\n  LegProtectionTermEventNewsSource = 41615,\n  /** Number of protection terms in the repeating group. */\n  NoLegProtectionTerms = 41616,\n  /** A named string value referenced from UnderlyingProtectionTermXIDRef(41314). */\n  LegProtectionTermXID = 41617,\n  LegProtectionTermNotional = 41618,\n  /** The currency of LegProtectionTermNotional(41618). Uses ISO 4217 currency codes. */\n  LegProtectionTermCurrency = 41619,\n  LegProtectionTermSellerNotifies = 41620,\n  LegProtectionTermBuyerNotifies = 41621,\n  LegProtectionTermEventBusinessCenter = 41622,\n  /** Indicates whether ISDA defined Standard Public Sources are applicable (LegProtectionTermStandardSources(41623)=Y) or not. */\n  LegProtectionTermStandardSources = 41623,\n  LegProtectionTermEventMinimumSources = 41624,\n  /** Number of protection term events in the repeating group. */\n  NoLegProtectionTermEvents = 41625,\n  LegProtectionTermEventType = 41626,\n  /** Specifies the protection term event value appropriate to LegProtectionTermEventType(41626). See http:///www.fixtradingcommunity.org/codelists#Protection_Term_Event_Types for applicable event type values. */\n  LegProtectionTermEventValue = 41627,\n  /** Applicable currency if the event value is an amount. Uses ISO 4217 currency codes. */\n  LegProtectionTermEventCurrency = 41628,\n  /** Time unit multiplier for protection term events. */\n  LegProtectionTermEventPeriod = 41629,\n  /** Time unit associated with protection term events. */\n  LegProtectionTermEventUnit = 41630,\n  /** Day type for events that specify a period and unit. */\n  LegProtectionTermEventDayType = 41631,\n  /** Rate source for events that specify a rate source, e.g. floating rate interest shortfall. */\n  LegProtectionTermEventRateSource = 41632,\n  /** Number of qualifiers in the repeating group. */\n  NoLegProtectionTermEventQualifiers = 41633,\n  /** Specifies the protection term event qualifier. Used to further qualify LegProtectionTermEventType(41626). */\n  LegProtectionTermEventQualifier = 41634,\n  /** Number of obligations in the repeating group. */\n  NoLegProtectionTermObligations = 41635,\n  LegProtectionTermObligationType = 41636,\n  /** The value associated with the protection term obligation specified in LegProtectionTermObligationType(41636). See http://www.fixtradingcommunity.org/codelists#Protection_Term_Obligation_Types for applicable obligation type values. */\n  LegProtectionTermObligationValue = 41637,\n  /** Number of calculation period dates in the repeating group. */\n  NoLegStreamCalculationPeriodDates = 41638,\n  /** The adjusted or unadjusted fixed calculation period date. */\n  LegStreamCalculationPeriodDate = 41639,\n  /** Specifies the type of fixed calculation period date. When specified it applies not only to the current date but to all subsequent dates in the group until overridden with a new type. */\n  LegStreamCalculationPeriodDateType = 41640,\n  /** Identifier of this calculation period for cross referencing elsewhere in the message. */\n  LegStreamCalculationPeriodDatesXID = 41641,\n  /** Cross reference to another calculation period for duplicating its properties. */\n  LegStreamCalculationPeriodDatesXIDRef = 41642,\n  /** When specified and set to 'Y', it indicates that the first calculation period should run from the effective date to the end of the calendar period in which the effective date falls (e.g. Jan 15 - Jan 31 if the calculation periods are one month long and effective date is Jan 15.). If 'N' or not specified, it indicates that the first calculation period should run from the effective date for one whole period (e.g. Jan 15 to Feb 14 if the calculation periods are one month long and the effective date is Jan 15.). */\n  LegStreamCalculationBalanceOfFirstPeriod = 41643,\n  /** Time unit multiplier for the length of time after the publication of the data when corrections can be made. */\n  LegStreamCalculationCorrectionPeriod = 41644,\n  /** Time unit associated with the length of time after the publication of the data when corrections can be made. */\n  LegStreamCalculationCorrectionUnit = 41645,\n  /** Number of business centers in the repeating group. */\n  NoLegStreamCommoditySettlBusinessCenters = 41646,\n  LegStreamCommoditySettlBusinessCenter = 41647,\n  LegStreamCommodityBase = 41648,\n  LegStreamCommodityType = 41649,\n  /** Specifies the market identifier for the commodity. */\n  LegStreamCommoditySecurityID = 41650,\n  /** Identifies the class or source of the LegStreamCommoditySecurityIDSource(41650) value. */\n  LegStreamCommoditySecurityIDSource = 41651,\n  /** Description of the commodity asset. */\n  LegStreamCommodityDesc = 41652,\n  /** Byte length of encoded (non-ASCII characters) EncodedLegStreamCommodityDesc(41654) field. */\n  EncodedLegStreamCommodityDescLen = 41653,\n  /** Encoded (non-ASCII characters) representation of the LegStreamCommodityDesc(41652) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the LegStreamCommodityDesc(41652) field. */\n  EncodedLegStreamCommodityDesc = 41654,\n  /** The unit of measure (UOM) of the commodity asset. */\n  LegStreamCommodityUnitOfMeasure = 41655,\n  /** Identifies the currency of the commodity asset. Uses ISO 4217 currency codes. */\n  LegStreamCommodityCurrency = 41656,\n  /** Identifies the exchange where the commodity is traded. */\n  LegStreamCommodityExchange = 41657,\n  LegStreamCommodityRateSource = 41658,\n  /** Identifies the reference \"page\" from the rate source. */\n  LegStreamCommodityRateReferencePage = 41659,\n  /** Identifies the page heading from the rate source. */\n  LegStreamCommodityRateReferencePageHeading = 41660,\n  LegStreamDataProvider = 41661,\n  LegStreamCommodityPricingType = 41662,\n  LegStreamCommodityNearbySettlDayPeriod = 41663,\n  /** Time unit associated with the nearby settlement day. */\n  LegStreamCommodityNearbySettlDayUnit = 41664,\n  /** The unadjusted commodity delivery date. */\n  LegStreamCommoditySettlDateUnadjusted = 41665,\n  /** The business day convention used to adjust the commodity delivery date. Used only to override the business day convention specified in the LegDateAdjustment component within the InstrumentLeg component. */\n  LegStreamCommoditySettlDateBusinessDayConvention = 41666,\n  /** The adjusted commodity delivery date. */\n  LegStreamCommoditySettlDateAdjusted = 41667,\n  LegStreamCommoditySettlMonth = 41668,\n  LegStreamCommoditySettlDateRollPeriod = 41669,\n  /** Time unit associated with the commodity delivery date roll. */\n  LegStreamCommoditySettlDateRollUnit = 41670,\n  /** Specifies the commodity delivery roll day type. */\n  LegStreamCommoditySettlDayType = 41671,\n  /** Identifier of this stream commodity for cross referencing elsewhere in the message. */\n  LegStreamCommodityXID = 41672,\n  /** Reference to a stream commodity elsewhere in the message. */\n  LegStreamCommodityXIDRef = 41673,\n  /** Number of alternate security identifers. */\n  NoLegStreamCommodityAltIDs = 41674,\n  /** Alternate security identifier value for the commodity. */\n  LegStreamCommodityAltID = 41675,\n  /** Identifies the class or source of the alternate commodity security identifier. */\n  LegStreamCommodityAltIDSource = 41676,\n  /** Number of data sources in the repeating group. The order of entry determines priority \u2013 first is the main source, second is fallback, third is second fallback. */\n  NoLegStreamCommodityDataSources = 41677,\n  /** Specifies the data source identifier. */\n  LegStreamCommodityDataSourceID = 41678,\n  /** Specifies the type of data source identifier. */\n  LegStreamCommodityDataSourceIDType = 41679,\n  /** Number of days in the repeating group. */\n  NoLegStreamCommoditySettlDays = 41680,\n  /** Specifies the day or group of days for delivery. */\n  LegStreamCommoditySettlDay = 41681,\n  /** Sum of the hours specified in LegStreamCommoditySettlTimeGrp. */\n  LegStreamCommoditySettlTotalHours = 41682,\n  /** Number of hour ranges in the repeating group. */\n  NoLegStreamCommoditySettlTimes = 41683,\n  /** The start time for commodity settlement where delivery occurs over time. The time format is specified by the settlement time type. */\n  LegStreamCommoditySettlStart = 41684,\n  /** The end time for commodity settlement where delivery occurs over time. The time format is specified by the settlement time type. */\n  LegStreamCommoditySettlEnd = 41685,\n  /** Number of commodity settlement periods in the repeating group. */\n  NoLegStreamCommoditySettlPeriods = 41686,\n  /** Specifies the country where delivery takes place. Uses ISO 3166 2-character country code. */\n  LegStreamCommoditySettlCountry = 41687,\n  LegStreamCommoditySettlTimeZone = 41688,\n  /** Specifies the commodity delivery flow type. */\n  LegStreamCommoditySettlFlowType = 41689,\n  /** Delivery quantity associated with this settlement period. */\n  LegStreamCommoditySettlPeriodNotional = 41690,\n  /** Specifies the unit of measure (UOM) of the delivery quantity associated with this settlement period. */\n  LegStreamCommoditySettlPeriodNotionalUnitOfMeasure = 41691,\n  /** Time unit multiplier for the settlement period frequency. */\n  LegStreamCommoditySettlPeriodFrequencyPeriod = 41692,\n  /** Time unit associated with the settlement period frequency. */\n  LegStreamCommoditySettlPeriodFrequencyUnit = 41693,\n  /** The settlement period price. */\n  LegStreamCommoditySettlPeriodPrice = 41694,\n  /** The settlement period price unit of measure (UOM). */\n  LegStreamCommoditySettlPeriodPriceUnitOfMeasure = 41695,\n  /** The currency of the settlement period price. Uses ISO 4217 currency codes. */\n  LegStreamCommoditySettlPeriodPriceCurrency = 41696,\n  /** Indicates whether holidays are included in the settlement periods. Required for electricity contracts. */\n  LegStreamCommoditySettlHolidaysProcessingInstruction = 41697,\n  /** Identifier of this settlement period for cross referencing elsewhere in the message. */\n  LegStreamCommoditySettlPeriodXID = 41698,\n  /** Cross reference to another settlement period for duplicating its properties. */\n  LegStreamCommoditySettlPeriodXIDRef = 41699,\n  /** Identifier of this LegStream for cross referencing elsewhere in the message. */\n  LegStreamXID = 41700,\n  /** Identifies the source scheme of the UnderlyingAdditionalTermBondSecurityID(41341) value. */\n  UnderlyingAdditionalTermBondSecurityIDSource = 41701,\n  /** Cross reference to another LegStream notional for duplicating its properties. */\n  LegStreamNotionalXIDRef = 41702,\n  /** Time unit multiplier for the swap stream's notional frequency. */\n  LegStreamNotionalFrequencyPeriod = 41703,\n  /** Time unit associated with the swap stream's notional frequency. */\n  LegStreamNotionalFrequencyUnit = 41704,\n  /** The commodity's notional or quantity delivery frequency. */\n  LegStreamNotionalCommodityFrequency = 41705,\n  /** Specifies the delivery quantity unit of measure (UOM). */\n  LegStreamNotionalUnitOfMeasure = 41706,\n  /** Specifies the total notional or delivery quantity over the term of the contract. */\n  LegStreamTotalNotional = 41707,\n  /** Specifies the unit of measure (UOM) for the total notional or delivery quantity over the term of the contract. */\n  LegStreamTotalNotionalUnitOfMeasure = 41708,\n  /** Description of the bond. */\n  UnderlyingAdditionalTermBondDesc = 41709,\n  /** Byte length of encoded (non-ASCII characters) EncodedUnderlyingAdditionalTermBondDesc(41711) field. */\n  EncodedUnderlyingAdditionalTermBondDescLen = 41710,\n  /** Encoded (non-ASCII characters) representation of the UnderlyingAdditionalTermBondDesc(41709) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the UnderlyingAdditionalTermBondDesc(41709) field. */\n  EncodedUnderlyingAdditionalTermBondDesc = 41711,\n  /** Specifies the currency the bond value is denominated in. Uses ISO 4217 currency codes. */\n  UnderlyingAdditionalTermBondCurrency = 41712,\n  /** The number of averaging observations in the repeating group. */\n  NoUnderlyingComplexEventAveragingObservations = 41713,\n  /** Cross reference to the ordinal observation as specified either in the UnderlyingComplexEventScheduleGrp or UnderlyingComplexEventPeriodDateGrp components. */\n  UnderlyingComplexEventAveragingObservationNumber = 41714,\n  /** The weight factor to be applied to the observation. */\n  UnderlyingComplexEventAveragingWeight = 41715,\n  /** The number of credit events specified in the repeating group. */\n  NoUnderlyingComplexEventCreditEvents = 41716,\n  UnderlyingComplexEventCreditEventType = 41717,\n  UnderlyingComplexEventCreditEventValue = 41718,\n  /** Specifies the applicable currency when UnderlyingComplexEventCreditEventValue(41718) is an amount. Uses ISO 4217 currency codes. */\n  UnderlyingComplexEventCreditEventCurrency = 41719,\n  /** Time unit multiplier for complex credit events. */\n  UnderlyingComplexEventCreditEventPeriod = 41720,\n  /** Time unit associated with complex credit events. */\n  UnderlyingComplexEventCreditEventUnit = 41721,\n  /** Specifies the day type for the complex credit events. */\n  UnderlyingComplexEventCreditEventDayType = 41722,\n  UnderlyingComplexEventCreditEventRateSource = 41723,\n  /** Number of qualifiers in the repeating group. */\n  NoUnderlyingComplexEventCreditEventQualifiers = 41724,\n  /** Specifies a complex event qualifier. Used to further qualify UnderlyingComplexEventCreditEventType(41717). */\n  UnderlyingComplexEventCreditEventQualifier = 41725,\n  /** Number of entries in the date-time repeating group. */\n  NoUnderlyingComplexEventPeriodDateTimes = 41726,\n  UnderlyingComplexEventPeriodDate = 41727,\n  /** The averaging time for an Asian option. */\n  UnderlyingComplexEventPeriodTime = 41728,\n  /** Number of periods in the repeating group. */\n  NoUnderlyingComplexEventPeriods = 41729,\n  /** Specifies the period type. */\n  UnderlyingComplexEventPeriodType = 41730,\n  UnderlyingComplexEventBusinessCenter = 41731,\n  /** Number of rate sources in the repeating group. */\n  NoUnderlyingComplexEventRateSources = 41732,\n  UnderlyingComplexEventRateSource = 41733,\n  /** Indicates whether the rate source specified is a primary or secondary source. */\n  UnderlyingComplexEventRateSourceType = 41734,\n  UnderlyingComplexEventReferencePage = 41735,\n  /** Identifies the reference page heading from the rate source. */\n  UnderlyingComplexEventReferencePageHeading = 41736,\n  /** Number of business centers in the repeating group. */\n  NoUnderlyingComplexEventDateBusinessCenters = 41737,\n  UnderlyingComplexEventDateBusinessCenter = 41738,\n  UnderlyingComplexEventDateUnadjusted = 41739,\n  UnderlyingComplexEventDateRelativeTo = 41740,\n  /** Time unit multiplier for the relative date offset. */\n  UnderlyingComplexEventDateOffsetPeriod = 41741,\n  /** Time unit associated with the relative date offset. */\n  UnderlyingComplexEventDateOffsetUnit = 41742,\n  /** Specifies the day type of the relative date offset. */\n  UnderlyingComplexEventDateOffsetDayType = 41743,\n  /** The business day convention used to adjust the event date. Used only to override the business day convention specified in the UnderlyingDateAdjustment component within the UnderlyingInstrument component. */\n  UnderlyingComplexEventDateBusinessDayConvention = 41744,\n  /** The adjusted complex event date. */\n  UnderlyingComplexEventDateAdjusted = 41745,\n  /** The local market fixing time. */\n  UnderlyingComplexEventFixingTime = 41746,\n  UnderlyingComplexEventFixingTimeBusinessCenter = 41747,\n  /** Number of event sources in the repeating group. */\n  NoUnderlyingComplexEventCreditEventSources = 41748,\n  /** A newspaper or electronic news service that may publish relevant information used in the determination of whether or not a credit event has occurred. */\n  UnderlyingComplexEventCreditEventSource = 41749,\n  /** Number of schedules in the repeating group. */\n  NoUnderlyingComplexEventSchedules = 41750,\n  /** The start date of the schedule. */\n  UnderlyingComplexEventScheduleStartDate = 41751,\n  /** The end date of the schedule. */\n  UnderlyingComplexEventScheduleEndDate = 41752,\n  /** Time unit multiplier for the schedule date frequency. */\n  UnderlyingComplexEventScheduleFrequencyPeriod = 41753,\n  /** Time unit associated with the schedule date frequency. */\n  UnderlyingComplexEventScheduleFrequencyUnit = 41754,\n  /** The convention for determining the sequence of dates. It is used in conjunction with a specified frequency. Used only to override the roll convention defined in the UnderlyingDateAdjustment component in UnderlyingInstrument. */\n  UnderlyingComplexEventScheduleRollConvention = 41755,\n  /** Number of delivery schedules in the repeating group. */\n  NoUnderlyingDeliverySchedules = 41756,\n  /** Specifies the type of delivery schedule. */\n  UnderlyingDeliveryScheduleType = 41757,\n  /** Identifier for this instance of delivery schedule for cross referencing elsewhere in the message. */\n  UnderlyingDeliveryScheduleXID = 41758,\n  /** Physical delivery quantity. */\n  UnderlyingDeliveryScheduleNotional = 41759,\n  /** Specifies the delivery quantity unit of measure (UOM). */\n  UnderlyingDeliveryScheduleNotionalUnitOfMeasure = 41760,\n  /** The frequency of notional delivery. */\n  UnderlyingDeliveryScheduleNotionalCommodityFrequency = 41761,\n  /** Specifies the negative tolerance value. The value may be an absolute quantity or a percentage, as specified in UnderlyingDeliveryScheduleToleranceType(41765). Percentage value is to be expressed relative to \"1.0\" representing 100% (e.g. a value of \"0.0575\" represents 5.75%). */\n  UnderlyingDeliveryScheduleNegativeTolerance = 41762,\n  /** Specifies the positive tolerance value. The value may be an absolute quantity or a percentage, as specified in UnderlyingDeliveryScheduleToleranceType(41765). Value may exceed agreed upon value. Percentage value is to be expressed relative to \"1.0\" representing 100% (e.g. a value of \"0.0575\" represents 5.75%). */\n  UnderlyingDeliverySchedulePositiveTolerance = 41763,\n  /** Specifies the tolerance value's unit of measure (UOM). */\n  UnderlyingDeliveryScheduleToleranceUnitOfMeasure = 41764,\n  /** Specifies the tolerance value type. */\n  UnderlyingDeliveryScheduleToleranceType = 41765,\n  /** Specifies the country where delivery takes place. Uses ISO 3166 2-character country code. */\n  UnderlyingDeliveryScheduleSettlCountry = 41766,\n  UnderlyingDeliveryScheduleSettlTimeZone = 41767,\n  /** Specifies the delivery flow type. */\n  UnderlyingDeliveryScheduleSettlFlowType = 41768,\n  /** Indicates whether holidays are included in the settlement periods. Required for electricity contracts. */\n  UnderlyingDeliveryScheduleSettlHolidaysProcessingInstruction = 41769,\n  /** Number of delivery schedules in the repeating group. */\n  NoUnderlyingDeliveryScheduleSettlDays = 41770,\n  /** Specifies the day or group of days for delivery. */\n  UnderlyingDeliveryScheduleSettlDay = 41771,\n  /** The sum of the total hours specified in the UnderlyingDeliveryScheduleSettlTimeGrp component. */\n  UnderlyingDeliveryScheduleSettlTotalHours = 41772,\n  /** Number of hour ranges in the repeating group. */\n  NoUnderlyingDeliveryScheduleSettlTimes = 41773,\n  /** The scheduled start time for the delivery of the commodity where delivery occurs over specified times. The format of the time value is specified in UnderlyingDeliveryScheduleSettlTimeType(41776). */\n  UnderlyingDeliveryScheduleSettlStart = 41774,\n  /** The scheduled end time for the delivery of the commodity where delivery occurs over specified times. The format of the time value is specified in UnderlyingDeliveryScheduleSettlTimeType(41776). */\n  UnderlyingDeliveryScheduleSettlEnd = 41775,\n  /** Specifies the format of the delivery start and end time values. */\n  UnderlyingDeliveryScheduleSettlTimeType = 41776,\n  /** Specifies the type of delivery stream. */\n  UnderlyingDeliveryStreamType = 41777,\n  /** The name of the oil delivery pipeline. */\n  UnderlyingDeliveryStreamPipeline = 41778,\n  /** The point at which the commodity will enter the delivery mechanism or pipeline. */\n  UnderlyingDeliveryStreamEntryPoint = 41779,\n  /** The point at which the commodity product will be withdrawn prior to delivery. */\n  UnderlyingDeliveryStreamWithdrawalPoint = 41780,\n  UnderlyingDeliveryStreamDeliveryPoint = 41781,\n  /** Specifies under what conditions the buyer and seller should be excused of their delivery obligations. */\n  UnderlyingDeliveryStreamDeliveryRestriction = 41782,\n  UnderlyingDeliveryStreamDeliveryContingency = 41783,\n  /** The trade side value of the party responsible for electricity delivery contingency. */\n  UnderlyingDeliveryStreamDeliveryContingentPartySide = 41784,\n  /** When this element is specified and set to 'Y', delivery of the coal product is to be at its source. */\n  UnderlyingDeliveryStreamDeliverAtSourceIndicator = 41785,\n  UnderlyingDeliveryStreamRiskApportionment = 41786,\n  /** Specifies the title transfer location. */\n  UnderlyingDeliveryStreamTitleTransferLocation = 41787,\n  /** Specifies the title transfer condition. */\n  UnderlyingDeliveryStreamTitleTransferCondition = 41788,\n  /** A party, not necessarily of the trade, who is the Importer of Record for the purposes of paying customs duties and applicable taxes or costs related to importation. */\n  UnderlyingDeliveryStreamImporterOfRecord = 41789,\n  /** Specifies the negative tolerance value. The value may be an absolute quantity or a percentage, as specified in UnderlyingDeliveryStreamToleranceType(41793). Percentage value is to be expressed relative to \"1.0\" representing 100% (e.g. a value of \"0.0575\" represents 5.75%). */\n  UnderlyingDeliveryStreamNegativeTolerance = 41790,\n  /** Specifies the positive tolerance value. The value may be an absolute quantity or a percentage, as specified in UnderlyingDeliveryStreamToleranceType(41793). Value may exceed agreed upon value. Percentage value is to be expressed relative to \"1.0\" representing 100% (e.g. a value of \"0.0575\" represents 5.75%). */\n  UnderlyingDeliveryStreamPositiveTolerance = 41791,\n  /** Specifies the tolerance value's unit of measure (UOM). */\n  UnderlyingDeliveryStreamToleranceUnitOfMeasure = 41792,\n  /** Specifies the tolerance value type. */\n  UnderlyingDeliveryStreamToleranceType = 41793,\n  /** Indicates whether the tolerance is at the seller's or buyer's option. */\n  UnderlyingDeliveryStreamToleranceOptionSide = 41794,\n  UnderlyingDeliveryStreamTotalPositiveTolerance = 41795,\n  UnderlyingDeliveryStreamTotalNegativeTolerance = 41796,\n  /** If the notional quantity is specified in a unit that does not match the unit in which the commodity reference price is quoted, the scaling or conversion factor used to convert the commodity reference price unit into the notional quantity unit should be stated here. If there is no conversion, this field is not intended to be used. */\n  UnderlyingDeliveryStreamNotionalConversionFactor = 41797,\n  UnderlyingDeliveryStreamTransportEquipment = 41798,\n  /** A reference to the party able to choose whether the gas is delivered for a particular period e.g. a swing or interruptible contract. */\n  UnderlyingDeliveryStreamElectingPartySide = 41799,\n  /** Number of asset attribute entries in the group. */\n  NoUnderlyingStreamAssetAttributes = 41800,\n  UnderlyingStreamAssetAttributeType = 41801,\n  /** Specifies the value of the attribute. */\n  UnderlyingStreamAssetAttributeValue = 41802,\n  /** The limit or lower acceptable value of the attribute. */\n  UnderlyingStreamAssetAttributeLimit = 41803,\n  /** Number of delivery cycles in the repeating group. */\n  NoUnderlyingDeliveryStreamCycles = 41804,\n  /** The delivery cycles during which the oil product will be transported in the pipeline. */\n  UnderlyingDeliveryStreamCycleDesc = 41805,\n  /** Byte length of encoded (non-ASCII characters) EncodedUnderlyingDeliveryStreamCycleDesc(41807) field. */\n  EncodedUnderlyingDeliveryStreamCycleDescLen = 41806,\n  /** Encoded (non-ASCII characters) representation of the UnderlyingDeliveryStreamCycleDesc(41805) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the UnderlyingDeliveryStreamCycleDesc(41805) field. */\n  EncodedUnderlyingDeliveryStreamCycleDesc = 41807,\n  /** Number of commodity sources in the repeating group. */\n  NoUnderlyingDeliveryStreamCommoditySources = 41808,\n  UnderlyingDeliveryStreamCommoditySource = 41809,\n  /** A description of the option exercise. */\n  UnderlyingExerciseDesc = 41810,\n  /** Byte length of encoded (non-ASCII characters) EncodedUnderlyingExerciseDesc(41812) field. */\n  EncodedUnderlyingExerciseDescLen = 41811,\n  /** Encoded (non-ASCII characters) representation of the UnderlyingExerciseDesc(41810) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the UnderlyingExerciseDesc(41810) field. */\n  EncodedUnderlyingExerciseDesc = 41812,\n  /** Indicates (when 'Y') that exercise is automatic when the strike price is crossed or the underlying trade is in the money. */\n  UnderlyingAutomaticExerciseIndicator = 41813,\n  /** The threshold rate for triggering automatic exercise. */\n  UnderlyingAutomaticExerciseThresholdRate = 41814,\n  /** Indicates whether follow-up confirmation of exercise (written or electronic) is required following telephonic notice by the buyer to the seller or seller's agent. */\n  UnderlyingExerciseConfirmationMethod = 41815,\n  UnderlyingManualNoticeBusinessCenter = 41816,\n  /** Indicates whether the notional amount of the underlying swap, not previously exercised under the option, will be automatically exercised at the expiration time on the expiration date if at such time the buyer is in-the-money, provided that the difference between the settlement rate and the fixed rate under the relevant underlying swap is not less than one tenth of a percentage point (0.10% or 0.001). */\n  UnderlyingFallbackExerciseIndicator = 41817,\n  /** Indicates whether the Seller may request the Buyer to confirm its intent to exercise if not done on or before the expiration time on the Expiration date. If true (\"Y\") specific rules will apply in relation to the settlement mode. */\n  UnderlyingLimitedRightToConfirmIndicator = 41818,\n  /** Indicates in physical settlement of bond and convertible bond options whether the party required to deliver the bonds will divide those to be delivered as notifying party desires to facilitate delivery obligations. */\n  UnderlyingExerciseSplitTicketIndicator = 41819,\n  /** Number of business centers in the repeating group. */\n  NoUnderlyingOptionExerciseBusinessCenters = 41820,\n  UnderlyingOptionExerciseBusinessCenter = 41821,\n  /** The business day convention used to adjust the option exercise dates. Used only to override the business day convention specified in the UnderlyingDateAdjustment component within the UnderlyingInstrument component. */\n  UnderlyingOptionExerciseBusinessDayConvention = 41822,\n  /** Specifies the day type of the relative earliest exercise date offset. */\n  UnderlyingOptionExerciseEarliestDateOffsetDayType = 41823,\n  /** Time unit multiplier for the relative earliest exercise date offset. */\n  UnderlyingOptionExerciseEarliestDateOffsetPeriod = 41824,\n  /** Time unit associated with the relative earliest exercise date offset. */\n  UnderlyingOptionExerciseEarliestDateOffsetUnit = 41825,\n  /** Time unit multiplier for the frequency of exercise dates. */\n  UnderlyingOptionExerciseFrequencyPeriod = 41826,\n  /** Time unit associated with the frequency of exercise dates. */\n  UnderlyingOptionExerciseFrequencyUnit = 41827,\n  /** The unadjusted start date for calculating periodic exercise dates. */\n  UnderlyingOptionExerciseStartDateUnadjusted = 41828,\n  UnderlyingOptionExerciseStartDateRelativeTo = 41829,\n  /** Time unit multiplier for the relative exercise start date offset. */\n  UnderlyingOptionExerciseStartDateOffsetPeriod = 41830,\n  /** Time unit associated with the relative exercise start date offset. */\n  UnderlyingOptionExerciseStartDateOffsetUnit = 41831,\n  /** Specifies the day type of the relative option exercise start date offset. */\n  UnderlyingOptionExerciseStartDateOffsetDayType = 41832,\n  /** The adjusted start date for calculating periodic exercise dates. */\n  UnderlyingOptionExerciseStartDateAdjusted = 41833,\n  /** The number of periods in the referenced date schedule that are between each date in the relative date schedule. Thus a skip of 2 would mean that dates are relative to every second date in the referenced schedule. If present this should have a value greater than 1. */\n  UnderlyingOptionExerciseSkip = 41834,\n  /** The last date (adjusted) for establishing the option exercise terms. */\n  UnderlyingOptionExerciseNominationDeadline = 41835,\n  /** The unadjusted first exercise date. */\n  UnderlyingOptionExerciseFirstDateUnadjusted = 41836,\n  /** The unadjusted last exercise date. */\n  UnderlyingOptionExerciseLastDateUnadjusted = 41837,\n  /** The earliest time at which notice of exercise can be given by the buyer to the seller (or seller's agent) (i) on the expriation date, in the case of a European style option, (ii) on each Bermuda option exercise date and the expiration date, in the case of a Bermuda style option, (iii) the commencement date to, and including, the expiration date, in the case of an American option. */\n  UnderlyingOptionExerciseEarliestTime = 41838,\n  /** Latest exercise time. See also UnderlyingOptionExerciseEarliestTime(41838). */\n  UnderlyingOptionExerciseLatestTime = 41839,\n  UnderlyingOptionExerciseTimeBusinessCenter = 41840,\n  /** Number of dates in the repeating group. */\n  NoUnderlyingOptionExerciseDates = 41841,\n  /** The adjusted or unadjusted option exercise fixed date. */\n  UnderlyingOptionExerciseDate = 41842,\n  /** Specifies the type of option exercise date. When specified it applies not only to the current date but to all subsequent dates in the group until overridden with a new type. */\n  UnderlyingOptionExerciseDateType = 41843,\n  /** Number of business centers in the repeating group. */\n  NoUnderlyingOptionExerciseExpirationDateBusinessCenters = 41844,\n  UnderlyingOptionExerciseExpirationDateBusinessCenter = 41845,\n  /** The business day convention used to adjust the option exercise expiration dates. Used only to override the business day convention specified in the UnderlyingDateAdjustment component within the UnderlyingInstrument component. */\n  UnderlyingOptionExerciseExpirationDateBusinessDayConvention = 41846,\n  UnderlyingOptionExerciseExpirationDateRelativeTo = 41847,\n  /** Time unit multiplier for the relative exercise expiration date offset. */\n  UnderlyingOptionExerciseExpirationDateOffsetPeriod = 41848,\n  /** Time unit associated with the relative exercise expiration date offset. */\n  UnderlyingOptionExerciseExpirationDateOffsetUnit = 41849,\n  /** Time unit multiplier for the frequency of exercise expiration dates. */\n  UnderlyingOptionExerciseExpirationFrequencyPeriod = 41850,\n  /** Time unit associated with the frequency of exercise expiration dates. */\n  UnderlyingOptionExerciseExpirationFrequencyUnit = 41851,\n  /** The convention for determining the sequence of exercise expiration dates. It is used in conjunction with a specified frequency. Used only to override the roll convention defined in the UnderlyingDateAdjustment component in UnderlyingInstrument. */\n  UnderlyingOptionExerciseExpirationRollConvention = 41852,\n  /** Specifies the day type of the relative option exercise expiration date offset. */\n  UnderlyingOptionExerciseExpirationDateOffsetDayType = 41853,\n  /** The option exercise expiration time. */\n  UnderlyingOptionExerciseExpirationTime = 41854,\n  UnderlyingOptionExerciseExpirationTimeBusinessCenter = 41855,\n  /** Number of fixed exercise expiration dates in the repeating group. */\n  NoUnderlyingOptionExerciseExpirationDates = 41856,\n  /** The adjusted or unadjusted option exercise expiration fixed date. */\n  UnderlyingOptionExerciseExpirationDate = 41857,\n  /** Specifies the type of option exercise expiration date. When specified it applies not only to the current date but to all subsequent dates in the group until overridden with a new type. */\n  UnderlyingOptionExerciseExpirationDateType = 41858,\n  /** The consequences of market disruption events. */\n  UnderlyingMarketDisruptionProvision = 41859,\n  /** Specifies the location of the fallback provision documentation. */\n  UnderlyingMarketDisruptionFallbackProvision = 41860,\n  UnderlyingMarketDisruptionMaximumDays = 41861,\n  UnderlyingMarketDisruptionMaterialityPercentage = 41862,\n  UnderlyingMarketDisruptionMinimumFuturesContracts = 41863,\n  /** Number of disruption events in the repeating group. */\n  NoUnderlyingMarketDisruptionEvents = 41864,\n  UnderlyingMarketDisruptionEvent = 41865,\n  /** Number of fallbacks in the repeating group. */\n  NoUnderlyingMarketDisruptionFallbacks = 41866,\n  UnderlyingMarketDisruptionFallbackType = 41867,\n  /** Number of fallback reference securities in the repeating group. */\n  NoUnderlyingMarketDisruptionFallbackReferencePrices = 41868,\n  /** The type of reference price underlier. */\n  UnderlyingMarketDisruptionFallbackUnderlierType = 41869,\n  /** Specifies the identifier value of the security. */\n  UnderlyingMarketDisruptionFallbackUnderlierSecurityID = 41870,\n  /** Specifies the class or source scheme of the security identifier. */\n  UnderlyingMarketDisruptionFallbackUnderlierSecurityIDSource = 41871,\n  /** Specifies the description of underlying security. */\n  UnderlyingMarketDisruptionFallbackUnderlierSecurityDesc = 41872,\n  /** Byte length of encoded (non-ASCII characters) EncodedUnderlyingMarketDisruptionFallbackUnderlierSecurityDesc(41874) field. */\n  EncodedUnderlyingMarketDisruptionFallbackUnderlierSecDescLen = 41873,\n  /** Encoded (non-ASCII characters) representation of the UnderlyingMarketDisruptionFallbackUnderlierSecurityDesc(41872) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the UnderlyingMarketDisruptionFallbackUnderlierSecurityDesc(41872). */\n  EncodedUnderlyingMarketDisruptionFallbackUnderlierSecurityDesc = 41874,\n  /** If there are multiple underlying assets, this specifies the number of units (index or securities) that constitute the underlier of the swap. In the case of a basket swap, this is used to reference both the number of basket units, and the number of each asset components of the basket when these are expressed in absolute terms. */\n  UnderlyingMarketDisruptionFallbackOpenUnits = 41875,\n  /** Specifies the currency if the underlier is a basket. Uses ISO 4217 currency codes. */\n  UnderlyingMarketDisruptionFallbackBasketCurrency = 41876,\n  /** Specifies the basket divisor amount. This value is normally used to adjust the constituent weight for pricing or to adjust for dividends, or other corporate actions. */\n  UnderlyingMarketDisruptionFallbackBasketDivisor = 41877,\n  /** Number of fixing days in the repeating group. */\n  NoUnderlyingPaymentScheduleFixingDays = 41878,\n  /** The day of the week on which fixing takes place. */\n  UnderlyingPaymentScheduleFixingDayOfWeek = 41879,\n  UnderlyingPaymentScheduleFixingDayNumber = 41880,\n  /** Identifier of this UnderlyingPaymentSchedule for cross referencing elsewhere in the message. */\n  UnderlyingPaymentScheduleXID = 41881,\n  /** Reference to payment schedule elsewhere in the message. */\n  UnderlyingPaymentScheduleXIDRef = 41882,\n  /** Specifies the currency of the schedule rate. Uses ISO 4217 currency codes. */\n  UnderlyingPaymentScheduleRateCurrency = 41883,\n  /** The schedule rate unit of measure (UOM). */\n  UnderlyingPaymentScheduleRateUnitOfMeasure = 41884,\n  /** The number to be multiplied by the derived floating rate of the underlying's payment schedule in order to arrive at the payment rate. If omitted, the schedule rate conversion factor is 1. */\n  UnderlyingPaymentScheduleRateConversionFactor = 41885,\n  /** Specifies whether the rate spread is an absolute value to be added to the index rate or a percentage of the index rate. */\n  UnderlyingPaymentScheduleRateSpreadType = 41886,\n  /** The schedule settlement period price. */\n  UnderlyingPaymentScheduleSettlPeriodPrice = 41887,\n  /** The currency of the schedule settlement period price. Uses ISO 4217 currency codes. */\n  UnderlyingPaymentScheduleSettlPeriodPriceCurrency = 41888,\n  /** The settlement period price unit of measure (UOM). */\n  UnderlyingPaymentScheduleSettlPeriodPriceUnitOfMeasure = 41889,\n  /** The schedule step unit of measure (UOM). */\n  UnderlyingPaymentScheduleStepUnitOfMeasure = 41890,\n  /** The distribution of fixing days. */\n  UnderlyingPaymentScheduleFixingDayDistribution = 41891,\n  /** The number of days over which fixing should take place. */\n  UnderlyingPaymentScheduleFixingDayCount = 41892,\n  /** Time unit multiplier for the fixing lag duration. */\n  UnderlyingPaymentScheduleFixingLagPeriod = 41893,\n  /** Time unit associated with the fixing lag duration. */\n  UnderlyingPaymentScheduleFixingLagUnit = 41894,\n  UnderlyingPaymentScheduleFixingFirstObservationDateOffsetPeriod = 41895,\n  /** Time unit associated with the relative first observation date offset. */\n  UnderlyingPaymentScheduleFixingFirstObservationDateOffsetUnit = 41896,\n  /** When this element is specified and set to 'Y', the Flat Rate is the New Worldwide Tanker Nominal Freight Scale for the Freight Index Route taken at the Trade Date of the transaction \"Fixed\". If 'N' it is taken on each Pricing Date \"Floating\". */\n  UnderlyingPaymentStreamFlatRateIndicator = 41897,\n  /** Specifies the actual monetary value of the flat rate when UnderlyingPaymentStreamFlatRateIndicator(41897) = 'Y'. */\n  UnderlyingPaymentStreamFlatRateAmount = 41898,\n  /** Specifies the currency of the actual flat rate. Uses ISO 4217 currency codes. */\n  UnderlyingPaymentStreamFlatRateCurrency = 41899,\n  /** Specifies the limit on the total payment amount. */\n  UnderlyingPaymentStreamMaximumPaymentAmount = 41900,\n  /** Specifies the currency of total payment amount limit. Uses ISO 4217 currency codes. */\n  UnderlyingPaymentStreamMaximumPaymentCurrency = 41901,\n  /** Specifies the limit on the payment amount that goes out in any particular calculation period. */\n  UnderlyingPaymentStreamMaximumTransactionAmount = 41902,\n  /** Specifies the currency of the period payment amount limit. Uses ISO 4217 currency codes. */\n  UnderlyingPaymentStreamMaximumTransactionCurrency = 41903,\n  /** Fixed payment amount unit of measure (UOM). */\n  UnderlyingPaymentStreamFixedAmountUnitOfMeasure = 41904,\n  /** Specifies the total fixed payment amount. */\n  UnderlyingPaymentStreamTotalFixedAmount = 41905,\n  /** The number of Worldscale points for purposes of the calculation of a fixed amount for a wet voyage charter commodity swap. */\n  UnderlyingPaymentStreamWorldScaleRate = 41906,\n  /** The price per relevant unit for purposes of the calculation of a fixed amount for a dry voyage charter or time charter commodity swap. */\n  UnderlyingPaymentStreamContractPrice = 41907,\n  /** Specifies the currency of UnderlyingPaymentStreamContractPrice(41907). Uses ISO 4217 currency codes. */\n  UnderlyingPaymentStreamContractPriceCurrency = 41908,\n  /** Number of business centers in the repeating group. */\n  NoUnderlyingPaymentStreamPricingBusinessCenters = 41909,\n  UnderlyingPaymentStreamPricingBusinessCenter = 41910,\n  /** Secondary time unit associated with the payment stream\u2019s floating rate index curve. */\n  UnderlyingPaymentStreamRateIndex2CurveUnit = 41911,\n  UnderlyingPaymentStreamRateIndex2CurvePeriod = 41912,\n  /** Specifies the location of the floating rate index. */\n  UnderlyingPaymentStreamRateIndexLocation = 41913,\n  /** This is the weather Cooling Degree Days (CDD), Heating Degree Days (HDD) or HDD index level specified as the number of (amount of) weather index units specified by the parties in the related confirmation. */\n  UnderlyingPaymentStreamRateIndexLevel = 41914,\n  /** The unit of measure (UOM) of the rate index level. */\n  UnderlyingPaymentStreamRateIndexUnitOfMeasure = 41915,\n  /** Specifies how weather index units are to be calculated. */\n  UnderlyingPaymentStreamSettlLevel = 41916,\n  /** This is the weather Cooling Degree Days (CDD), Heating Degree Days (HDD) or HDD reference level specified as the number of (amount of) weather index units specified by the parties in the related confirmation. */\n  UnderlyingPaymentStreamReferenceLevel = 41917,\n  /** The unit of measure (UOM) of the rate reference level. */\n  UnderlyingPaymentStreamReferenceLevelUnitOfMeasure = 41918,\n  /** When set to 'Y', it indicates that the weather reference level equals zero. */\n  UnderlyingPaymentStreamReferenceLevelEqualsZeroIndicator = 41919,\n  /** Specifies the currency of the floating rate spread. Uses ISO 4217 currency codes. */\n  UnderlyingPaymentStreamRateSpreadCurrency = 41920,\n  /** Specifies the unit of measure (UOM) of the floating rate spread. */\n  UnderlyingPaymentStreamRateSpreadUnitOfMeasure = 41921,\n  /** The number to be multiplied by the derived floating rate of the underlying's payment stream in order to arrive at the payment rate. If omitted, the floating rate conversion factor is 1. */\n  UnderlyingPaymentStreamRateConversionFactor = 41922,\n  /** Identifies whether the rate spread is an absolute value to be added to the index rate or a percentage of the index rate. */\n  UnderlyingPaymentStreamRateSpreadType = 41923,\n  /** The floating rate determined at the most recent reset. The rate is expressed in decimal form, e.g. 5% is represented as 0.05. */\n  UnderlyingPaymentStreamLastResetRate = 41924,\n  /** The floating rate determined at the final reset. The rate is expressed in decimal form, e.g. 5% is represented as 0.05. */\n  UnderlyingPaymentStreamFinalRate = 41925,\n  /** Time unit multiplier for the calculation lag duration. */\n  UnderlyingPaymentStreamCalculationLagPeriod = 41926,\n  /** Time unit associated with the calculation lag duration. */\n  UnderlyingPaymentStreamCalculationLagUnit = 41927,\n  UnderlyingPaymentStreamFirstObservationDateOffsetPeriod = 41928,\n  /** Time unit associated with the relative first observation date offset. */\n  UnderlyingPaymentStreamFirstObservationDateOffsetUnit = 41929,\n  /** Specifies the commodity pricing day type. */\n  UnderlyingPaymentStreamPricingDayType = 41930,\n  /** The distribution of pricing days. */\n  UnderlyingPaymentStreamPricingDayDistribution = 41931,\n  /** The number of days over which pricing should take place. */\n  UnderlyingPaymentStreamPricingDayCount = 41932,\n  UnderlyingPaymentStreamPricingBusinessCalendar = 41933,\n  /** The business day convention used to adjust the payment stream's pricing dates. Used only to override the business day convention specified in the UnderlyingDateAdjustment component within the UnderlyingInstrument component. */\n  UnderlyingPaymentStreamPricingBusinessDayConvention = 41934,\n  /** Specifies the format of the commodity settlement start and end times. */\n  LegStreamCommoditySettlTimeType = 41935,\n  /** Specifies the format of the commodity settlement start and end times. */\n  UnderlyingStreamCommoditySettlTimeType = 41936,\n  /** Number of payment dates in the repeating group. */\n  NoUnderlyingPaymentStreamPaymentDates = 41937,\n  /** The adjusted or unadjusted fixed stream payment date. */\n  UnderlyingPaymentStreamPaymentDate = 41938,\n  /** Specifies the type of payment date. When specified it applies not only to the current date but to all subsequent dates in the group until overridden with a new type. */\n  UnderlyingPaymentStreamPaymentDateType = 41939,\n  /** When set to 'Y', it indicates that payment dates are specified in the relevant master agreement. */\n  UnderlyingPaymentStreamMasterAgreementPaymentDatesIndicator = 41940,\n  /** Number of pricing dates in the repeating group. */\n  NoUnderlyingPaymentStreamPricingDates = 41941,\n  /** An adjusted or unadjusted fixed pricing date. */\n  UnderlyingPaymentStreamPricingDate = 41942,\n  /** Specifies the type of pricing date. When specified it applies not only to the current date but to all subsequent dates in the group until overridden with a new type. */\n  UnderlyingPaymentStreamPricingDateType = 41943,\n  /** Number of pricing days in the repeating group. */\n  NoUnderlyingPaymentStreamPricingDays = 41944,\n  /** The day of the week on which pricing takes place. */\n  UnderlyingPaymentStreamPricingDayOfWeek = 41945,\n  UnderlyingPaymentStreamPricingDayNumber = 41946,\n  /** Number of business centers in the repeating group. */\n  NoUnderlyingPricingDateBusinessCenters = 41947,\n  UnderlyingPricingDateBusinessCenter = 41948,\n  /** The unadjusted pricing or fixing date. */\n  UnderlyingPricingDateUnadjusted = 41949,\n  /** The business day convention used to adjust the pricing or fixing date. Used only to override the business day convention specified in the UnderlyingDateAdjustment component within the UnderlyingInstrument component. */\n  UnderlyingPricingDateBusinessDayConvention = 41950,\n  /** The adjusted pricing or fixing date. */\n  UnderlyingPricingDateAdjusted = 41951,\n  /** The local market pricing or fixing time. */\n  UnderlyingPricingTime = 41952,\n  /** Specifies the business center for determining the pricing or fixing time. See http://www.fpml.org/coding-scheme/business-center for standard 4-character code values. */\n  UnderlyingPricingTimeBusinessCenter = 41953,\n  /** Number of calculation period dates in the repeating group. */\n  NoUnderlyingStreamCalculationPeriodDates = 41954,\n  /** The adjusted or unadjusted fixed calculation period date. */\n  UnderlyingStreamCalculationPeriodDate = 41955,\n  /** Specifies the type of fixed calculation period date. When specified it applies not only to the current date but to all subsequent dates in the group until overridden with a new type. */\n  UnderlyingStreamCalculationPeriodDateType = 41956,\n  /** Identifier of this calculation period for cross referencing elsewhere in the message. */\n  UnderlyingStreamCalculationPeriodDatesXID = 41957,\n  /** Cross reference to another calculation period for duplicating its properties. */\n  UnderlyingStreamCalculationPeriodDatesXIDRef = 41958,\n  /** When specified and set to 'Y', it indicates that the first calculation period should run from the effective date to the end of the calendar period in which the effective date falls (e.g. Jan 15 - Jan 31 if the calculation periods are one month long and effective date is Jan 15.). If 'N' or not specified, it indicates that the first calculation period should run from the effective date for one whole period (e.g. Jan 15 to Feb 14 if the calculation periods are one month long and the effective date is Jan 15.). */\n  UnderlyingStreamCalculationBalanceOfFirstPeriod = 41959,\n  /** Time unit multiplier for the length of time after the publication of the data when corrections can be made. */\n  UnderlyingStreamCalculationCorrectionPeriod = 41960,\n  /** Time unit associated with the length of time after the publication of the data when corrections can be made. */\n  UnderlyingStreamCalculationCorrectionUnit = 41961,\n  /** Number of business centers in the repeating group. */\n  NoUnderlyingStreamCommoditySettlBusinessCenters = 41962,\n  UnderlyingStreamCommoditySettlBusinessCenter = 41963,\n  UnderlyingStreamCommodityBase = 41964,\n  UnderlyingStreamCommodityType = 41965,\n  /** Specifies the market identifier for the commodity. */\n  UnderlyingStreamCommoditySecurityID = 41966,\n  /** Identifies the class or source of the UnderlyingStreamCommoditySecurityIDSource(41966) value. */\n  UnderlyingStreamCommoditySecurityIDSource = 41967,\n  /** Description of the commodity asset. */\n  UnderlyingStreamCommodityDesc = 41968,\n  /** Byte length of encoded (non-ASCII characters) EncodedUnderlyingStreamCommodityDesc(41970) field. */\n  EncodedUnderlyingStreamCommodityDescLen = 41969,\n  /** Encoded (non-ASCII characters) representation of the UnderlyingStreamCommodityDesc(41968) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the UnderlyingStreamCommodityDesc(41968) field. */\n  EncodedUnderlyingStreamCommodityDesc = 41970,\n  /** The unit of measure (UOM) of the commodity asset. */\n  UnderlyingStreamCommodityUnitOfMeasure = 41971,\n  /** Identifies the currency of the commodity asset. Uses ISO 4217 currency codes. */\n  UnderlyingStreamCommodityCurrency = 41972,\n  /** Identifies the exchange where the commodity is traded. */\n  UnderlyingStreamCommodityExchange = 41973,\n  UnderlyingStreamCommodityRateSource = 41974,\n  /** Identifies the reference \"page\" from the rate source. */\n  UnderlyingStreamCommodityRateReferencePage = 41975,\n  /** Identifies the page heading from the rate source. */\n  UnderlyingStreamCommodityRateReferencePageHeading = 41976,\n  UnderlyingStreamDataProvider = 41977,\n  UnderlyingStreamCommodityPricingType = 41978,\n  UnderlyingStreamCommodityNearbySettlDayPeriod = 41979,\n  /** Time unit associated with the nearby settlement day. */\n  UnderlyingStreamCommodityNearbySettlDayUnit = 41980,\n  /** The unadjusted commodity delivery date. */\n  UnderlyingStreamCommoditySettlDateUnadjusted = 41981,\n  /** The business day convention used to adjust the commodity delivery date. Used only to override the business day convention specified in the UnderlyingDateAdjustment component within the UnderlyingInstrument component. */\n  UnderlyingStreamCommoditySettlDateBusinessDayConvention = 41982,\n  /** The adjusted commodity delivery date. */\n  UnderlyingStreamCommoditySettlDateAdjusted = 41983,\n  UnderlyingStreamCommoditySettlMonth = 41984,\n  UnderlyingStreamCommoditySettlDateRollPeriod = 41985,\n  /** Time unit associated with the commodity delivery date roll. */\n  UnderlyingStreamCommoditySettlDateRollUnit = 41986,\n  /** Specifies the commodity delivery roll day type. */\n  UnderlyingStreamCommoditySettlDayType = 41987,\n  /** Identifier of this stream commodity for cross referencing elsewhere in the message. */\n  UnderlyingStreamCommodityXID = 41988,\n  /** Reference to a stream commodity elsewhere in the message. */\n  UnderlyingStreamCommodityXIDRef = 41989,\n  /** Number of alternate security identifers. */\n  NoUnderlyingStreamCommodityAltIDs = 41990,\n  /** Alternate security identifier value for the commodity. */\n  UnderlyingStreamCommodityAltID = 41991,\n  /** Identifies the class or source of the alternate commodity security identifier. */\n  UnderlyingStreamCommodityAltIDSource = 41992,\n  /** Number of commodity data sources in the repeating group. */\n  NoUnderlyingStreamCommodityDataSources = 41993,\n  /** Data source identifier. */\n  UnderlyingStreamCommodityDataSourceID = 41994,\n  /** Specifies the type of data source identifier. */\n  UnderlyingStreamCommodityDataSourceIDType = 41995,\n  /** Number of days in the repeating group. */\n  NoUnderlyingStreamCommoditySettlDays = 41996,\n  /** Specifies the day or group of days for delivery. */\n  UnderlyingStreamCommoditySettlDay = 41997,\n  /** Sum of the hours specified in UnderlyingStreamCommoditySettlTimeGrp. */\n  UnderlyingStreamCommoditySettlTotalHours = 41998,\n  /** Number of hour ranges in the repeating group. */\n  NoUnderlyingStreamCommoditySettlTimes = 41999,\n  /** The start time for commodity settlement where delivery occurs over time. The time format is specified by the settlement time type. */\n  UnderlyingStreamCommoditySettlStart = 42000,\n  /** The end time for commodity settlement where delivery occurs over time. The time format is specified by the settlement time type. */\n  UnderlyingStreamCommoditySettlEnd = 42001,\n  /** Number of commodity settlement periods in the repeating group. */\n  NoUnderlyingStreamCommoditySettlPeriods = 42002,\n  /** Specifies the country where delivery takes place. Uses ISO 3166 2-character country code. */\n  UnderlyingStreamCommoditySettlCountry = 42003,\n  UnderlyingStreamCommoditySettlTimeZone = 42004,\n  /** Specifies the commodity delivery flow type. */\n  UnderlyingStreamCommoditySettlFlowType = 42005,\n  /** Specifies the delivery quantity associated with this settlement period. */\n  UnderlyingStreamCommoditySettlPeriodNotional = 42006,\n  /** Specifies the unit of measure (UOM) of the delivery quantity associated with this settlement period. */\n  UnderlyingStreamCommoditySettlPeriodNotionalUnitOfMeasure = 42007,\n  /** Time unit multiplier for the settlement period frequency. */\n  UnderlyingStreamCommoditySettlPeriodFrequencyPeriod = 42008,\n  /** Time unit associated with the settlement period frequency. */\n  UnderlyingStreamCommoditySettlPeriodFrequencyUnit = 42009,\n  /** The settlement period price. */\n  UnderlyingStreamCommoditySettlPeriodPrice = 42010,\n  /** Specifies the settlement period price unit of measure (UOM). */\n  UnderlyingStreamCommoditySettlPeriodPriceUnitOfMeasure = 42011,\n  /** The currency of the settlement period price. Uses ISO 4217 currency codes. */\n  UnderlyingStreamCommoditySettlPeriodPriceCurrency = 42012,\n  /** Indicates whether holidays are included in the settlement periods. Required for electricity contracts. */\n  UnderlyingStreamCommoditySettlHolidaysProcessingInstruction = 42013,\n  /** Identifier of this settlement period for cross referencing elsewhere in the message. */\n  UnderlyingStreamCommoditySettlPeriodXID = 42014,\n  /** Cross reference to another settlement period for duplicating its properties. */\n  UnderlyingStreamCommoditySettlPeriodXIDRef = 42015,\n  /** Identifier of this UnderlyingStream for cross referencing elsewhere in the message. */\n  UnderlyingStreamXID = 42016,\n  /** Issuer of the bond. */\n  UnderlyingAdditionalTermBondIssuer = 42017,\n  /** Cross reference to another UnderlyingStream notional for duplicating its properties. */\n  UnderlyingStreamNotionalXIDRef = 42018,\n  /** Time unit multiplier for the swap stream's notional frequency. */\n  UnderlyingStreamNotionalFrequencyPeriod = 42019,\n  /** Time unit associated with the swap stream's notional frequency. */\n  UnderlyingStreamNotionalFrequencyUnit = 42020,\n  /** The commodity's notional or quantity delivery frequency. */\n  UnderlyingStreamNotionalCommodityFrequency = 42021,\n  /** Specifies the delivery quantity unit of measure (UOM). */\n  UnderlyingStreamNotionalUnitOfMeasure = 42022,\n  /** Specifies the total notional or delivery quantity over the term of the contract. */\n  UnderlyingStreamTotalNotional = 42023,\n  /** Specifies the unit of measure (UOM) for the total notional or delivery quantity over the term of the contract. */\n  UnderlyingStreamTotalNotionalUnitOfMeasure = 42024,\n  /** Byte length of encoded (non-ASCII characters) EncodedUnderlyingAdditionalTermBondIssuer(42026) field. */\n  EncodedUnderlyingAdditionalTermBondIssuerLen = 42025,\n  /** Encoded (non-ASCII characters) representation of the UnderlyingAdditionalTermBondIssuer(42017) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the UnderlyingAdditionalTermBondIssuer(42017) field. */\n  EncodedUnderlyingAdditionalTermBondIssuer = 42026,\n  /** Specifies the bond's payment priority in the event of a default. */\n  UnderlyingAdditionalTermBondSeniority = 42027,\n  /** Coupon type of the bond. */\n  UnderlyingAdditionalTermBondCouponType = 42028,\n  /** Coupon rate of the bond. See also CouponRate(223). */\n  UnderlyingAdditionalTermBondCouponRate = 42029,\n  /** The maturity date of the bond. */\n  UnderlyingAdditionalTermBondMaturityDate = 42030,\n  /** The par value of the bond. */\n  UnderlyingAdditionalTermBondParValue = 42031,\n  /** Total issued amount of the bond. */\n  UnderlyingAdditionalTermBondCurrentTotalIssuedAmount = 42032,\n  /** Time unit multiplier for the frequency of the bond's coupon payment. */\n  UnderlyingAdditionalTermBondCouponFrequencyPeriod = 42033,\n  /** Time unit associated with the frequency of the bond's coupon payment. */\n  UnderlyingAdditionalTermBondCouponFrequencyUnit = 42034,\n  /** The day count convention used in interest calculations for a bond or an interest bearing security. */\n  UnderlyingAdditionalTermBondDayCount = 42035,\n  /** Number of additional terms in the repeating group. */\n  NoUnderlyingAdditionalTerms = 42036,\n  /** Indicates whether the condition precedent bond is applicable. The swap contract is only valid if the bond is issued and if there is any dispute over the terms of fixed stream then the bond terms would be used. */\n  UnderlyingAdditionalTermConditionPrecedentBondIndicator = 42037,\n  /** Indicates whether the discrepancy clause is applicable. */\n  UnderlyingAdditionalTermDiscrepancyClauseIndicator = 42038,\n  /** Number of dealers in the repeating group. */\n  NoUnderlyingCashSettlDealers = 42039,\n  UnderlyingCashSettlDealer = 42040,\n  /** Number of elements in the repeating group. */\n  NoUnderlyingCashSettlTerms = 42041,\n  /** Specifies the currency the UnderlyingCashSettlAmount(42054) is denominated in. Uses ISO 4217 currency codes. */\n  UnderlyingCashSettlCurrency = 42042,\n  UnderlyingCashSettlValuationFirstBusinessDayOffset = 42043,\n  UnderlyingCashSettlValuationSubsequentBusinessDaysOffset = 42044,\n  UnderlyingCashSettlNumOfValuationDates = 42045,\n  /** Time of valuation. */\n  UnderlyingCashSettlValuationTime = 42046,\n  UnderlyingCashSettlBusinessCenter = 42047,\n  /** The type of quote used to determine the cash settlement price. */\n  UnderlyingCashSettlQuoteMethod = 42048,\n  UnderlyingCashSettlQuoteAmount = 42049,\n  /** Specifies the currency the UnderlyingCashSettlQuoteAmount(42049) is denominated in. Uses ISO 4217 currency codes. */\n  UnderlyingCashSettlQuoteCurrency = 42050,\n  UnderlyingCashSettlMinimumQuoteAmount = 42051,\n  /** Specifies the currency the UnderlyingCashSettlQuoteAmount(42049) is denominated in. Uses ISO 4217 currency codes. */\n  UnderlyingCashSettlMinimumQuoteCurrency = 42052,\n  UnderlyingCashSettlBusinessDays = 42053,\n  UnderlyingCashSettlAmount = 42054,\n  /** Used for fixed recovery, this specifies the recovery level as determined at contract inception, to be applied in the event of a default. The factor is used to calculate the amount paid by the seller to the buyer for cash settlement on the cash settlement date. The amount is calculated is (1 - UnderlyingCashSettlRecoveryFactor(42055)) x floating rate payer calculation amount. The currency is derived from the floating rate payer calculation amount. */\n  UnderlyingCashSettlRecoveryFactor = 42055,\n  /** Indicates whether fixed settlement is applicable or not applicable in a recovery lock. */\n  UnderlyingCashSettlFixedTermIndicator = 42056,\n  UnderlyingCashSettlAccruedInterestIndicator = 42057,\n  UnderlyingCashSettlValuationMethod = 42058,\n  /** Name referenced from UnderlyingSettlementTermXIDRef(41315). */\n  UnderlyingCashSettlTermXID = 42059,\n  /** Number of entries in the repeating group. */\n  NoUnderlyingPhysicalSettlTerms = 42060,\n  /** Currency of physical settlement. Uses ISO 4217 currency codes. */\n  UnderlyingPhysicalSettlCurrency = 42061,\n  UnderlyingPhysicalSettlBusinessDays = 42062,\n  /** A maximum number of business days. Its precise meaning is dependent on the context in which this element is used. Intended to be used to limit a particular ISDA fallback provision. */\n  UnderlyingPhysicalSettlMaximumBusinessDays = 42063,\n  /** A named string value referenced by UnderlyingSettlTermXIDRef(41315). */\n  UnderlyingPhysicalSettlTermXID = 42064,\n  /** Number of entries in the repeating group. */\n  NoUnderlyingPhysicalSettlDeliverableObligations = 42065,\n  UnderlyingPhysicalSettlDeliverableObligationType = 42066,\n  UnderlyingPhysicalSettlDeliverableObligationValue = 42067,\n  /** Number of protection terms in the repeating group. */\n  NoUnderlyingProtectionTerms = 42068,\n  UnderlyingProtectionTermNotional = 42069,\n  /** The currency of UnderlyingProtectionTermNotional(42069). Uses ISO 4217 currency codes. */\n  UnderlyingProtectionTermCurrency = 42070,\n  UnderlyingProtectionTermSellerNotifies = 42071,\n  UnderlyingProtectionTermBuyerNotifies = 42072,\n  UnderlyingProtectionTermEventBusinessCenter = 42073,\n  /** Indicates whether ISDA defined Standard Public Sources are applicable (UnderlyingProtectionTermStandardSources(42074)=Y) or not. */\n  UnderlyingProtectionTermStandardSources = 42074,\n  UnderlyingProtectionTermEventMinimumSources = 42075,\n  /** A named string value referenced by UnderlyingProtectionTermXIDRef(41314). */\n  UnderlyingProtectionTermXID = 42076,\n  /** Number of protection term events in the repeating group. */\n  NoUnderlyingProtectionTermEvents = 42077,\n  UnderlyingProtectionTermEventType = 42078,\n  UnderlyingProtectionTermEventValue = 42079,\n  /** Applicable currency if UnderlyingProtectionTermEventValue(42079) is an amount. Uses ISO 4217 currency codes. */\n  UnderlyingProtectionTermEventCurrency = 42080,\n  /** Time unit multiplier for protection term events. */\n  UnderlyingProtectionTermEventPeriod = 42081,\n  /** Time unit associated with protection term events. */\n  UnderlyingProtectionTermEventUnit = 42082,\n  /** Day type for events that specify a period and unit. */\n  UnderlyingProtectionTermEventDayType = 42083,\n  /** Rate source for events that specify a rate source, e.g. Floating rate interest shortfall. */\n  UnderlyingProtectionTermEventRateSource = 42084,\n  /** Number of qualifiers in the repeating group. */\n  NoUnderlyingProtectionTermEventQualifiers = 42085,\n  /** Protection term event qualifier. Used to further qualify UnderlyingProtectionTermEventType(43078). */\n  UnderlyingProtectionTermEventQualifier = 42086,\n  /** Number of obligations in the repeating group. */\n  NoUnderlyingProtectionTermObligations = 42087,\n  UnderlyingProtectionTermObligationType = 42088,\n  UnderlyingProtectionTermObligationValue = 42089,\n  /** Number of event news sources in the repeating group. */\n  NoUnderlyingProtectionTermEventNewsSources = 42090,\n  /** Newspaper or electronic news service or source that may publish relevant information used in the determination of whether or not a credit event has occurred. */\n  UnderlyingProtectionTermEventNewsSource = 42091,\n  /** The business day convention used to adjust the provisional cash settlement payment's termination, or relative termination, date. Used only to override the business day convention specified in the UnderlyingDateAdjustment component within the UnderlyingInstrument component. */\n  UnderlyingProvisionCashSettlPaymentDateBusinessDayConvention = 42092,\n  UnderlyingProvisionCashSettlPaymentDateRelativeTo = 42093,\n  /** Time unit multiplier for the relative cash settlement payment date offset. */\n  UnderlyingProvisionCashSettlPaymentDateOffsetPeriod = 42094,\n  /** Time unit associated with the relative cash settlement payment date offset. */\n  UnderlyingProvisionCashSettlPaymentDateOffsetUnit = 42095,\n  /** Specifies the day type of the provision's relative cash settlement payment date offset. */\n  UnderlyingProvisionCashSettlPaymentDateOffsetDayType = 42096,\n  /** First date in range when a settlement date range is provided. */\n  UnderlyingProvisionCashSettlPaymentDateRangeFirst = 42097,\n  /** Last date in range when a settlement date range is provided. */\n  UnderlyingProvisionCashSettlPaymentDateRangeLast = 42098,\n  /** Number of UnderlyingProvision cash settlement payment dates in the repeating group. */\n  NoUnderlyingProvisionCashSettlPaymentDates = 42099,\n  /** The cash settlement payment date, unadjusted or adjusted depending on UnderlyingProvisionCashSettlPaymentDateType(42101). */\n  UnderlyingProvisionCashSettlPaymentDate = 42100,\n  /** Specifies the type of date (e.g. adjusted for holidays). */\n  UnderlyingProvisionCashSettlPaymentDateType = 42101,\n  /** Identifies the source of quote information. */\n  UnderlyingProvisionCashSettlQuoteSource = 42102,\n  /** Identifies the reference \"page\" from the quote source. */\n  UnderlyingProvisionCashSettlQuoteReferencePage = 42103,\n  /** A time specified in 24-hour format, e.g. 11am would be represented as 11:00:00. The time of the cash settlement valuation date when the cash settlement amount will be determined according to the cash settlement method if the parties have not otherwise been able to agree to the cash settlement amount. */\n  UnderlyingProvisionCashSettlValueTime = 42104,\n  UnderlyingProvisionCashSettlValueTimeBusinessCenter = 42105,\n  /** The business day convention used to adjust the cash settlement valuation date. Used only to override the business day convention specified in the UnderlyingDateAdjustment component within the UnderlyingInstrument component. */\n  UnderlyingProvisionCashSettlValueDateBusinessDayConvention = 42106,\n  UnderlyingProvisionCashSettlValueDateRelativeTo = 42107,\n  /** Time unit multiplier for the relative cash settlement value date offset. */\n  UnderlyingProvisionCashSettlValueDateOffsetPeriod = 42108,\n  /** Time unit associated with the relative cash settlement value date offset. */\n  UnderlyingProvisionCashSettlValueDateOffsetUnit = 42109,\n  /** Specifies the day type of the provision's relative cash settlement value date offset. */\n  UnderlyingProvisionCashSettlValueDateOffsetDayType = 42110,\n  /** The adjusted cash settlement value date. */\n  UnderlyingProvisionCashSettlValueDateAdjusted = 42111,\n  /** Number of UnderlyingProvision option exercise fixed dates in the repeating group. */\n  NoUnderlyingProvisionOptionExerciseFixedDates = 42112,\n  /** A predetermined option exercise date, unadjusted or adjusted depending on UnderlyingProvisionOptionExerciseFixedDateType(42114). */\n  UnderlyingProvisionOptionExerciseFixedDate = 42113,\n  /** Specifies the type of date (e.g. adjusted for holidays). */\n  UnderlyingProvisionOptionExerciseFixedDateType = 42114,\n  /** The business day convention used to adjust the underlying instrument's provision's option exercise date. Used only to override the business day convention specified in the UnderlyingDateAdjustment component within the UnderlyingInstrument component. */\n  UnderlyingProvisionOptionExerciseBusinessDayConvention = 42115,\n  /** Time unit multiplier for the interval to the first (and possibly only) exercise date in the exercise period. */\n  UnderlyingProvisionOptionExerciseEarliestDateOffsetPeriod = 42116,\n  /** Time unit associated with the interval to the first (and possibly only) exercise date in the exercise period. */\n  UnderlyingProvisionOptionExerciseEarliestDateOffsetUnit = 42117,\n  /** Time unit multiplier for the frequency of subsequent exercise dates in the exercise period following the earliest exercise date. An interval of 1 day should be used to indicate an American style exercise frequency. */\n  UnderlyingProvisionOptionExerciseFrequencyPeriod = 42118,\n  /** Time unit associated with the frequency of subsequent exercise dates in the exercise period following the earliest exercise date. */\n  UnderlyingProvisionOptionExerciseFrequencyUnit = 42119,\n  /** The unadjusted first day of the exercise period for an American style option. */\n  UnderlyingProvisionOptionExerciseStartDateUnadjusted = 42120,\n  UnderlyingProvisionOptionExerciseStartDateRelativeTo = 42121,\n  /** Time unit multiplier for the relative option exercise start date offset. */\n  UnderlyingProvisionOptionExerciseStartDateOffsetPeriod = 42122,\n  /** Time unit associated with the relative option exercise start date offset. */\n  UnderlyingProvisionOptionExerciseStartDateOffsetUnit = 42123,\n  /** Specifies the day type of the provision's relative option exercise start date offset. */\n  UnderlyingProvisionOptionExerciseStartDateOffsetDayType = 42124,\n  /** The adjusted first day of the exercise period for an American style option. */\n  UnderlyingProvisionOptionExerciseStartDateAdjusted = 42125,\n  /** The number of periods in the referenced date schedule that are between each date in the relative date schedule. Thus a skip of 2 would mean that dates are relative to every second date in the referenced schedule. If present this should have a value greater than 1. */\n  UnderlyingProvisionOptionExercisePeriodSkip = 42126,\n  /** The unadjusted first date of a schedule. This can be used to restrict the range of exercise dates when they are relative. */\n  UnderlyingProvisionOptionExerciseBoundsFirstDateUnadjusted = 42127,\n  /** The unadjusted last date of a schedule. This can be used to restrict the range of exercise dates when they are relative. */\n  UnderlyingProvisionOptionExerciseBoundsLastDateUnadjusted = 42128,\n  /** The earliest time at which notice of exercise can be given by the buyer to the seller (or seller's agent) i) on the expriation date, in the case of a European style option, (ii) on each bermuda option exercise date and the expiration date, in the case of a Bermuda style option the commencement date to, and including, the expiration date, in the case of an American option. */\n  UnderlyingProvisionOptionExerciseEarliestTime = 42129,\n  UnderlyingProvisionOptionExerciseEarliestTimeBusinessCenter = 42130,\n  /** For a Bermuda or American style option, the latest time on an exercise business day (excluding the expiration date) within the exercise period that notice can be given by the buyer to the seller or seller's agent. Notice of exercise given after this time will be deemed to have been given on the next exercise business day. */\n  UnderlyingProvisionOptionExerciseLatestTime = 42131,\n  UnderlyingProvisionOptionExerciseLatestTimeBusinessCenter = 42132,\n  /** The unadjusted last day within an exercise period for an American style option. For a European style option it is the only day within the exercise period. */\n  UnderlyingProvisionOptionExpirationDateUnadjusted = 42133,\n  /** The business day convention used to adjust the underlying instrument's provision's option expiration date. Used only to override the business day convention specified in the UnderlyingDateAdjustment component within the UnderlyingInstrument component. */\n  UnderlyingProvisionOptionExpirationDateBusinessDayConvention = 42134,\n  UnderlyingProvisionOptionExpirationDateRelativeTo = 42135,\n  /** Time unit multiplier for the relative option expiration date offset. */\n  UnderlyingProvisionOptionExpirationDateOffsetPeriod = 42136,\n  /** Time unit associated with the relative option expiration date offset. */\n  UnderlyingProvisionOptionExpirationDateOffsetUnit = 42137,\n  /** Specifies the day type of the provision's relative option expiration date offset. */\n  UnderlyingProvisionOptionExpirationDateOffsetDayType = 42138,\n  /** The adjusted last date within an exercise period for an American style option. For a European style option it is the only date within the exercise period. */\n  UnderlyingProvisionOptionExpirationDateAdjusted = 42139,\n  /** The latest time for exercise on the expiration date. */\n  UnderlyingProvisionOptionExpirationTime = 42140,\n  UnderlyingProvisionOptionExpirationTimeBusinessCenter = 42141,\n  /** The unadjusted date on the underlying set by the exercise of an option. What this date is depends on the option (e.g. in a swaption it is the swap effective date, in an extendible/cancelable provision it is the swap termination date). */\n  UnderlyingProvisionOptionRelevantUnderlyingDateUnadjusted = 42142,\n  /** The business day convnetion used to adjust the underlying instrument provision's option underlying date. Used only to override the business day convention specified in the UnderlyingDateAdjustment component within the UnderlyingInstrument component. */\n  UnderlyingProvisionOptionRelevantUnderlyingDateBizDayConvention = 42143,\n  UnderlyingProvisionOptionRelevantUnderlyingDateRelativeTo = 42144,\n  /** Time unit multiplier for the relative option relevant underlying date offset. */\n  UnderlyingProvisionOptionRelevantUnderlyingDateOffsetPeriod = 42145,\n  /** Time unit associated with the relative option relevant underlying date offset. */\n  UnderlyingProvisionOptionRelevantUnderlyingDateOffsetUnit = 42146,\n  /** Specifies the day type of the provision's relative option relevant underlying date offset. */\n  UnderlyingProvisionOptionRelevantUnderlyingDateOffsetDayType = 42147,\n  /** The adjusted date on the underlying set by the exercise of an option. What this date is depends on the option (e.g. in a swaption it is the swap effective date, in an extendible/cancelable provision it is the swap termination date). */\n  UnderlyingProvisionOptionRelevantUnderlyingDateAdjusted = 42148,\n  /** Number of provisions in the repeating group. */\n  NoUnderlyingProvisions = 42149,\n  /** Type of provision. */\n  UnderlyingProvisionType = 42150,\n  /** The unadjusted date of the provision. */\n  UnderlyingProvisionDateUnadjusted = 42151,\n  /** The business day convention used to adjust the underlying instrument's provision's date. Used only to override the business day convention specified in the UnderlyingDateAdjustment component within the UnderlyingInstrument component. */\n  UnderlyingProvisionDateBusinessDayConvention = 42152,\n  /** The adjusted date of the provision. */\n  UnderlyingProvisionDateAdjusted = 42153,\n  /** Time unit multiplier for the provision's tenor period. */\n  UnderlyingProvisionDateTenorPeriod = 42154,\n  /** Time unit associated with the provision's tenor period. */\n  UnderlyingProvisionDateTenorUnit = 42155,\n  /** Used to identify the calculation agent. The calculation agent may be identified in UnderlyingProvisionCalculationAgent(42156) or in the underlying provision parties component. */\n  UnderlyingProvisionCalculationAgent = 42156,\n  /** If optional early termination is not available to both parties then this component identifies the buyer of the option through its side of the trade. */\n  UnderlyingProvisionOptionSinglePartyBuyerSide = 42157,\n  /** If optional early termination is not available to both parties then this component identifies the seller of the option through its side of the trade. */\n  UnderlyingProvisionOptionSinglePartySellerSide = 42158,\n  /** The instrument provision's exercise style. */\n  UnderlyingProvisionOptionExerciseStyle = 42159,\n  /** A notional amount which restricts the amount of notional that can be exercised when partial exercise or multiple exercise is applicable. The integral multiple amount defines a lower limit of notional that can be exercised and also defines a unit multiple of notional that can be exercised, i.e. only integer multiples of this amount can be exercised. */\n  UnderlyingProvisionOptionExerciseMultipleNotional = 42160,\n  /** The minimum notional amount that can be exercised on a given exercise date. */\n  UnderlyingProvisionOptionExerciseMinimumNotional = 42161,\n  /** The maximum notional amount that can be exercised on a given exercise date. */\n  UnderlyingProvisionOptionExerciseMaximumNotional = 42162,\n  /** The minimum number of options that can be exercised on a given exercise date. */\n  UnderlyingProvisionOptionMinimumNumber = 42163,\n  /** The maximum number of options that can be exercised on a given exercise date. If the number is not specified, it means that the maximum number of options corresponds to the remaining unexercised options. */\n  UnderlyingProvisionOptionMaximumNumber = 42164,\n  /** Used to indicate whether follow-up confirmation of exercise (written or electronic) is required following telephonic notice by the buyer to the seller or seller's agent. */\n  UnderlyingProvisionOptionExerciseConfirmation = 42165,\n  /** An ISDA defined cash settlement method used for the determination of the applicable cash settlement amount. The method is defined in the 2006 ISDA Definitions, Section 18.3. Cash Settlement Methods, paragraph (e). */\n  UnderlyingProvisionCashSettlMethod = 42166,\n  /** Specifies the currency of settlement. Uses ISO 4217 currency codes. */\n  UnderlyingProvisionCashSettlCurrency = 42167,\n  /** Specifies the currency of settlement for a cross-currency provision. Uses ISO 4217 currency codes. */\n  UnderlyingProvisionCashSettlCurrency2 = 42168,\n  /** Identifies the type of quote to be used. */\n  UnderlyingProvisionCashSettlQuoteType = 42169,\n  /** Free form text to specify additional information or enumeration description when a standard value does not apply. */\n  UnderlyingProvisionText = 42170,\n  /** Byte length of encoded (non-ASCII characters) EncodedUnderlyingProvisionText(42712) field. */\n  EncodedUnderlyingProvisionTextLen = 42171,\n  /** Encoded (non-ASCII characters) representation of the UnderlyingProvisionText(42170) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the UnderlyingProvisionText(42170) field. */\n  EncodedUnderlyingProvisionText = 42172,\n  /** Number of parties identified in the contract provision. */\n  NoUnderlyingProvisionPartyIDs = 42173,\n  /** The party identifier for the payment settlement party. */\n  UnderlyingProvisionPartyID = 42174,\n  /** Identifies the class or source of the UnderlyingProvisionPartyID(42174) value. */\n  UnderlyingProvisionPartyIDSource = 42175,\n  /** Identifies the type or role of UnderlyingProvisionPartyID(42174) specified. */\n  UnderlyingProvisionPartyRole = 42176,\n  /** Number of sub-party IDs to be reported for the party. */\n  NoUnderlyingProvisionPartySubIDs = 42177,\n  /** Underlying provision party sub-identifier, if applicable for UnderlyingProvisionPartyID(42174). */\n  UnderlyingProvisionPartySubID = 42178,\n  /** The type of UnderlyingProvisionPartySubID(42178). */\n  UnderlyingProvisionPartySubIDType = 42179,\n  /** Number of business centers in the repeating group. */\n  NoUnderlyingProvisionCashSettlPaymentDateBusinessCenters = 42180,\n  UnderlyingProvisionCashSettlPaymentDateBusinessCenter = 42181,\n  /** Number of business centers in the repeating group. */\n  NoUnderlyingProvisionCashSettlValueDateBusinessCenters = 42182,\n  UnderlyingProvisionCashSettlValueDateBusinessCenter = 42183,\n  /** Number of business centers in the repeating group. */\n  NoUnderlyingProvisionOptionExerciseBusinessCenters = 42184,\n  UnderlyingProvisionOptionExerciseBusinessCenter = 42185,\n  /** Number of business centers in the repeating group. */\n  NoUnderlyingProvisionOptionExpirationDateBusinessCenters = 42186,\n  UnderlyingProvisionOptionExpirationDateBusinessCenter = 42187,\n  /** Number of business centers in the repeating group. */\n  NoUnderlyingProvisionOptionRelevantUnderlyingDateBusinessCenters = 42188,\n  UnderlyingProvisionOptionRelevantUnderlyingDateBusinessCenter = 42189,\n  /** Number of business centers in the repeating group. */\n  NoUnderlyingProvisionDateBusinessCenters = 42190,\n  UnderlyingProvisionDateBusinessCenter = 42191,\n  /** Identifies the class or source of DeliveryStreamDeliveryPoint(41062). */\n  DeliveryStreamDeliveryPointSource = 42192,\n  /** Description of the delivery point identified in DeliveryStreamDeliveryPoint(41062). */\n  DeliveryStreamDeliveryPointDesc = 42193,\n  /** Identifies the class or source of LegDeliveryStreamDeliveryPoint(41433). */\n  LegDeliveryStreamDeliveryPointSource = 42194,\n  /** Description of the delivery point identified in LegDeliveryStreamDeliveryPoint(41433). */\n  LegDeliveryStreamDeliveryPointDesc = 42195,\n  /** Identifies the class or source of UnderlyingDeliveryStreamDeliveryPoint(41781). */\n  UnderlyingDeliveryStreamDeliveryPointSource = 42196,\n  /** Description of the delivery point identified in UnderlyingDeliveryStreamDeliveryPoint(41781). */\n  UnderlyingDeliveryStreamDeliveryPointDesc = 42197,\n  /** Number of financing definitions in the repeating group. */\n  NoLegContractualDefinitions = 42198,\n  /** Specifies which contract definition, such as those published by ISDA, will apply for the terms of the trade. See http://www.fpml.org/coding-scheme/contractual-definitions for values. */\n  LegContractualDefinition = 42199,\n  /** Number of financing terms supplements in the repeating group. */\n  NoLegFinancingTermSupplements = 42200,\n  /** Identifies the applicable contractual supplement. See http://www.fpml.org/coding-scheme/contractual-supplement for values. */\n  LegFinancingTermSupplementDesc = 42201,\n  /** Specifies the publication date of the applicable version of the contractual supplement. */\n  LegFinancingTermSupplementDate = 42202,\n  /** Number of contractual matrices in the repeating group. */\n  NoLegContractualMatrices = 42203,\n  /** Identifies the applicable contract matrix. See http://www.fpml.org/coding-scheme/matrix-type-1-0.xml for values. */\n  LegContractualMatrixSource = 42204,\n  /** Specifies the publication date of the applicable version of the contract matrix. If not specified, the ISDA Standard Terms Supplement defines rules for which version of the matrix is applicable. */\n  LegContractualMatrixDate = 42205,\n  /** Specifies the applicable key into the relevant contract matrix. In the case of 2000 ISDA Definitions Settlement Matrix for Early Termination and Swaptions, the LegContractualMatrixTerm(42206) is not applicable and is to be omitted. See http://www.fpml.org/coding-scheme/credit-matrix-transaction-type for values. */\n  LegContractualMatrixTerm = 42206,\n  /** The unadjusted cash settlement date. */\n  CashSettlDateUnadjusted = 42207,\n  /** The business day convention used to adjust the cash settlement provision's date. Used only to override the business day convention defined in the Instrument component. */\n  CashSettlDateBusinessDayConvention = 42208,\n  CashSettlDateRelativeTo = 42209,\n  /** Time unit multiplier for the relative cash settlement date offset. */\n  CashSettlDateOffsetPeriod = 42210,\n  /** Time unit associated with the relative cash settlement date offset. */\n  CashSettlDateOffsetUnit = 42211,\n  /** Specifies the day type of the relative cash settlement date offset. */\n  CashSettlDateOffsetDayType = 42212,\n  /** The adjusted cash settlement date. */\n  CashSettlDateAdjusted = 42213,\n  /** Number of business centers in the repeating group. */\n  NoCashSettlDateBusinessCenters = 42214,\n  CashSettlDateBusinessCenter = 42215,\n  CashSettlPriceSource = 42216,\n  /** The default election for determining settlement price. */\n  CashSettlPriceDefault = 42217,\n  /** The dividend accrual floating rate index. */\n  DividendFloatingRateIndex = 42218,\n  /** Time unit multiplier for the dividend accrual floating rate index curve. */\n  DividendFloatingRateIndexCurvePeriod = 42219,\n  /** Time unit associated with the dividend accrual floating rate index curve period. */\n  DividendFloatingRateIndexCurveUnit = 42220,\n  /** A rate multiplier to apply to the floating rate. The multiplier can be less than or greater than 1 (one). This should only be included if the multiplier is not equal to 1 (one) for the term of the contract. */\n  DividendFloatingRateMultiplier = 42221,\n  /** The basis points spread from the index specified in DividendFloatingRateIndex(42218). */\n  DividendFloatingRateSpread = 42222,\n  /** Identifies whether the rate spread is applied to a long or short position. */\n  DividendFloatingRateSpreadPositionType = 42223,\n  /** Specifies the yield calculation treatment for the index. */\n  DividendFloatingRateTreatment = 42224,\n  /** The cap rate, if any, which applies to the floating rate. It is only required where the floating rate is capped at a certain level. The cap rate is assumed to be exclusive of any spread and is a per annum rate, expressed as a decimal. A cap rate of 5% would be represented as \"0.05\". */\n  DividendCapRate = 42225,\n  /** Reference to the buyer of the cap rate option through its trade side. */\n  DividendCapRateBuySide = 42226,\n  /** Reference to the seller of the cap rate option through its trade side. */\n  DividendCapRateSellSide = 42227,\n  /** The floor rate, if any, which applies to the floating rate. The floor rate (strike) is only required where the floating rate is floored at a certain strike level. The floor rate is assumed to be exclusive of any spread and is a per annum rate. The rate is expressed as a decimal, e.g. 5% is represented as \"0.05\". */\n  DividendFloorRate = 42228,\n  /** Reference to the buyer of the floor rate option through its trade side. */\n  DividendFloorRateBuySide = 42229,\n  /** Reference to the seller of the floor rate option through its trade side. */\n  DividendFloorRateSellSide = 42230,\n  /** The initial floating rate reset agreed between the principal parties involved in the trade. This is assumed to be the first required reset rate for the first regular calculation period. It should only be included when the rate is not equal to the rate published on the source implied by the floating rate index. The initial rate is expressed in decimal form, e.g. 5% is represented as \"0.05\". */\n  DividendInitialRate = 42231,\n  /** Specifies the rounding direction of the final rate. */\n  DividendFinalRateRoundingDirection = 42232,\n  /** Specifies the rounding precision of the final rate in terms of a number of decimal places. Note how a percentage rate rounding of 5 decimal places is expressed as a rounding precision of 7. */\n  DividendFinalRatePrecision = 42233,\n  /** When averaging is applicable, used to specify whether a weighted or unweighted average method of calculation is to be used. */\n  DividendAveragingMethod = 42234,\n  /** The specification of any provisions for calculating payment obligations when a floating rate is negative (either due to a quoted negative floating rate or by operation of a spread that is subtracted from the floating rate). */\n  DividendNegativeRateTreatment = 42235,\n  /** Number of entries in the DividendAccrualPaymentDateBusinessCenterGrp. */\n  NoDividendAccrualPaymentDateBusinessCenters = 42236,\n  DividendAccrualPaymentDateBusinessCenter = 42237,\n  DividendAccrualPaymentDateRelativeTo = 42238,\n  /** Time unit multiplier for the relative accrual payment date offset. */\n  DividendAccrualPaymentDateOffsetPeriod = 42239,\n  /** Time unit associated with the relative accrual payment date offset. */\n  DividendAccrualPaymentDateOffsetUnit = 42240,\n  /** Specifies the day type of the relative accrual payment date offset. */\n  DividendAccrualPaymentDateOffsetDayType = 42241,\n  /** The unadjusted accrual payment date. */\n  DividendAccrualPaymentDateUnadjusted = 42242,\n  /** Accrual payment date adjustment business day convention. */\n  DividendAccrualPaymeentDateBusinessDayConvention = 42243,\n  /** The adjusted accrual payment date. */\n  DividendAccrualPaymentDateAdjusted = 42244,\n  /** Indicates whether the dividend will be reinvested. */\n  DividendReinvestmentIndicator = 42245,\n  /** Defines the contract event which the receiver of the derivative is entitled to the dividend. */\n  DividendEntitlementEvent = 42246,\n  /** Indicates how the gross cash dividend amount per share is determined. */\n  DividendAmountType = 42247,\n  /** References the dividend underlier through the instrument's UnderlyingSecurityID(309) which must be fully specified in an instance of the UnderlyingInstrument component. */\n  DividendUnderlierRefID = 42248,\n  /** Reference to the party through its side in the trade who makes the determination whether dividends are extraordinary in relation to normal levels. */\n  ExtraordinaryDividendPartySide = 42249,\n  /** Indicates how the extraordinary gross cash dividend per share is determined. */\n  ExtraordinaryDividendAmountType = 42250,\n  /** The currency in which the excess dividend is denominated. Uses ISO 4217 currency codes. */\n  ExtraordinaryDividendCurrency = 42251,\n  ExtraordinaryDividendDeterminationMethod = 42252,\n  DividendAccrualFixedRate = 42253,\n  /** The compounding method to be used when more than one dividend period contributes to a single payment. */\n  DividendCompoundingMethod = 42254,\n  /** The number of index units applicable to dividends. */\n  DividendNumOfIndexUnits = 42255,\n  DividendCashPercentage = 42256,\n  DividendCashEquivalentPercentage = 42257,\n  /** Defines the treatment of non-cash dividends. */\n  NonCashDividendTreatment = 42258,\n  /** Defines how the composition of dividends is to be determined. */\n  DividendComposition = 42259,\n  /** Indicates whether special dividends are applicable. */\n  SpecialDividendsIndicator = 42260,\n  /** Indicates whether material non-cash dividends are applicable. */\n  MaterialDividendsIndicator = 42261,\n  /** Indicates whether option exchange dividends are applicable. */\n  OptionsExchangeDividendsIndicator = 42262,\n  /** Indicates whether additional dividends are applicable. */\n  AdditionalDividendsIndicator = 42263,\n  /** Represents the European Master Confirmation value of 'All Dividends' which, when applicable, signifies that, for a given Ex-Date, the daily observed share price for that day is adjusted (reduced) by the cash dividend and/or the cash value of any non-cash dividend per share (including extraordinary dividends) declared by the issuer. */\n  AllDividendsIndicator = 42264,\n  DividendFXTriggerDateRelativeTo = 42265,\n  /** Time unit multiplier for the relative FX trigger date offset. */\n  DividendFXTriggerDateOffsetPeriod = 42266,\n  /** Time unit associated with the relative FX trigger date offset. */\n  DividendFXTriggerDateOffsetUnit = 42267,\n  /** Specifies the day type of the relative FX trigger date offset. */\n  DividendFXTriggerDateOffsetDayType = 42268,\n  /** The unadjusted FX trigger date. */\n  DividendFXTriggerDateUnadjusted = 42269,\n  /** The business day convention used for the FX trigger date adjustment. */\n  DividendFXTriggerDateBusinessDayConvention = 42270,\n  /** The adjusted FX trigger date. */\n  DividendFXTriggerDateAdjusted = 42271,\n  /** Number of entries in the DividendFXTriggerDateBusinessCenterGrp. */\n  NoDividendFXTriggerDateBusinessCenters = 42272,\n  DividendFXTriggerDateBusinessCenter = 42273,\n  /** Number of entries in the DividendPeriodGrp component. */\n  NoDividendPeriods = 42274,\n  /** Defines the ordinal dividend period. E.g. 1 = First period, 2 = Second period, etc. */\n  DividendPeriodSequence = 42275,\n  /** The unadjusted date on which the dividend period will begin. */\n  DividendPeriodStartDateUnadjusted = 42276,\n  /** The unadjusted date on which the dividend period will end. */\n  DividendPeriodEndDateUnadjusted = 42277,\n  /** References the dividend underlier through the instrument's UnderlyingSecurityID(309) which must be fully specified in an instance of the UnderlyingInstrument component. */\n  DividendPeriodUnderlierRefID = 42278,\n  /** Specifies the fixed strike price of the dividend period. */\n  DividendPeriodStrikePrice = 42279,\n  /** The dividend period dates business day convention. */\n  DividendPeriodBusinessDayConvention = 42280,\n  /** The unadjusted dividend period valuation date. */\n  DividendPeriodValuationDateUnadjusted = 42281,\n  DividendPeriodValuationDateRelativeTo = 42282,\n  /** Time unit multiplier for the relative dividend period valuation date offset. */\n  DividendPeriodValuationDateOffsetPeriod = 42283,\n  /** Time unit associated with the relative dividend period valuation date offset. */\n  DividendPeriodValuationDateOffsetUnit = 42284,\n  /** Specifies the day type of the relative dividend period valuation date offset. */\n  DividendPeriodValuationDateOffsetDayType = 42285,\n  /** The adjusted dividend period valuation date. */\n  DividendPeriodValuationDateAdjusted = 42286,\n  /** The unadjusted dividend period payment date. */\n  DividendPeriodPaymentDateUnadjusted = 42287,\n  DividendPeriodPaymentDateRelativeTo = 42288,\n  /** Time unit multiplier for the relative dividend period payment date offset. */\n  DividendPeriodPaymentDateOffsetPeriod = 42289,\n  /** Time unit associated with the relative dividend period payment date offset. */\n  DividendPeriodPaymentDateOffsetUnit = 42290,\n  /** Specifies the day type of the relative dividend period payment date offset. */\n  DividendPeriodPaymentDateOffsetDayType = 42291,\n  /** The adjusted dividend period payment date. */\n  DividendPeriodPaymentDateAdjusted = 42292,\n  /** Identifier for linking this stream dividend period to an underlier through an instance of RelatedInstrumentGrp. */\n  DividendPeriodXID = 42293,\n  /** Number of entries in the DividendPeriodBusinessCenterGrp. */\n  NoDividendPeriodBusinessCenters = 42294,\n  DividendPeriodBusinessCenter = 42295,\n  /** Number of extraordinary events in the repeating group. */\n  NoExtraordinaryEvents = 42296,\n  ExtraordinaryEventType = 42297,\n  ExtraordinaryEventValue = 42298,\n  /** The unadjusted cash settlement date. */\n  LegCashSettlDateUnadjusted = 42299,\n  /** The business day convention used to adjust the cash settlement provision's date. Used only to override the business day convention defined in the InstrumentLeg component. */\n  LegCashSettlDateBusinessDayConvention = 42300,\n  LegCashSettlDateRelativeTo = 42301,\n  /** Time unit multiplier for the relative cash settlement date offset. */\n  LegCashSettlDateOffsetPeriod = 42302,\n  /** Time unit associated with the relative cash settlement date offset. */\n  LegCashSettlDateOffsetUnit = 42303,\n  /** Specifies the day type of the relative cash settlement date offset. */\n  LegCashSettlDateOffsetDayType = 42304,\n  /** The adjusted cash settlement date. */\n  LegCashSettlDateAdjusted = 42305,\n  /** Number of business centers in the repeating group. */\n  NoLegCashSettlDateBusinessCenters = 42306,\n  LegCashSettlDateBusinessCenter = 42307,\n  LegCashSettlPriceSource = 42308,\n  /** The default election for determining settlement price. */\n  LegCashSettlPriceDefault = 42309,\n  /** Number of entries in the LegDividendAccrualPaymentDateBusinessCenterGrp. */\n  NoLegDividendAccrualPaymentDateBusinessCenters = 42310,\n  LegDividendAccrualPaymentDateBusinessCenter = 42311,\n  /** The dividend accrual floating rate index. */\n  LegDividendFloatingRateIndex = 42312,\n  /** Time unit multiplier for the dividend accrual floating rate index curve. */\n  LegDividendFloatingRateIndexCurvePeriod = 42313,\n  /** Time unit associated with the dividend accrual floating rate index curve period. */\n  LegDividendFloatingRateIndexCurveUnit = 42314,\n  /** A rate multiplier to apply to the floating rate. The multiplier can be less than or greater than 1 (one). This should only be included if the multiplier is not equal to 1 (one) for the term of the contract. */\n  LegDividendFloatingRateMultiplier = 42315,\n  /** The basis points spread from the index specified in LegDividendFloatingRateIndex(42312). */\n  LegDividendFloatingRateSpread = 42316,\n  /** Identifies whether the rate spread is applied to a long or short position. */\n  LegDividendFloatingRateSpreadPositionType = 42317,\n  /** Specifies the yield calculation treatment for the index. */\n  LegDividendFloatingRateTreatment = 42318,\n  /** The cap rate, if any, which applies to the floating rate. It is only required where the floating rate is capped at a certain level. The cap rate is assumed to be exclusive of any spread and is a per annum rate, expressed as a decimal. A cap rate of 5% would be represented as \"0.05\". */\n  LegDividendCapRate = 42319,\n  /** Reference to the buyer of the cap rate option through its trade side. */\n  LegDividendCapRateBuySide = 42320,\n  /** Reference to the seller of the cap rate option through its trade side. */\n  LegDividendCapRateSellSide = 42321,\n  /** The floor rate, if any, which applies to the floating rate. The floor rate (strike) is only required where the floating rate is floored at a certain strike level. The floor rate is assumed to be exclusive of any spread and is a per annum rate. The rate is expressed as a decimal, e.g. 5% is represented as \"0.05\". */\n  LegDividendFloorRate = 42322,\n  /** Reference to the buyer of the floor rate option through its trade side. */\n  LegDividendFloorRateBuySide = 42323,\n  /** Reference to the seller of the floor rate option through its trade side. */\n  LegDividendFloorRateSellSide = 42324,\n  /** The initial floating rate reset agreed between the principal parties involved in the trade. This is assumed to be the first required reset rate for the first regular calculation period. It should only be included when the rate is not equal to the rate published on the source implied by the floating rate index. The initial rate is expressed in decimal form, e.g. 5% is represented as \"0.05\". */\n  LegDividendInitialRate = 42325,\n  /** Specifies the rounding direction of the final rate. */\n  LegDividendFinalRateRoundingDirection = 42326,\n  /** Specifies the rounding precision of the final rate in terms of a number of decimal places. Note how a percentage rate rounding of 5 decimal places is expressed as a rounding precision of 7. */\n  LegDividendFinalRatePrecision = 42327,\n  /** When averaging is applicable, used to specify whether a weighted or unweighted average method of calculation is to be used. */\n  LegDividendAveragingMethod = 42328,\n  /** The specification of any provisions for calculating payment obligations when a floating rate is negative (either due to a quoted negative floating rate or by operation of a spread that is subtracted from the floating rate). */\n  LegDividendNegativeRateTreatment = 42329,\n  LegDividendAccrualPaymentDateRelativeTo = 42330,\n  /** Time unit multiplier for the relative accrual payment date offset. */\n  LegDividendAccrualPaymentDateOffsetPeriod = 42331,\n  /** Time unit associated with the relative accrual payment date offset. */\n  LegDividendAccrualPaymentDateOffsetUnit = 42332,\n  /** Specifies the day type of the relative accrual payment date offset. */\n  LegDividendAccrualPaymentDateOffsetDayType = 42333,\n  /** The unadjusted accrual payment date. */\n  LegDividendAccrualPaymentDateUnadjusted = 42334,\n  /** Accrual payment date adjustment business day convention. */\n  LegDividendAccrualPaymentDateBusinessDayConvention = 42335,\n  /** The adjusted accrual payment date. */\n  LegDividendAccrualPaymentDateAdjusted = 42336,\n  /** Indicates whether the dividend will be reinvested. */\n  LegDividendReinvestmentIndicator = 42337,\n  /** Defines the contract event which the receiver of the derivative is entitled to the dividend. */\n  LegDividendEntitlementEvent = 42338,\n  /** Indicates how the gross cash dividend amount per share is determined. */\n  LegDividendAmountType = 42339,\n  /** References the dividend underlier through the instrument's UnderlyingSecurityID(309) which must be fully specified in an instance of the UnderlyingInstrument component. */\n  LegDividendUnderlierRefID = 42340,\n  /** Reference to the party through its side in the trade who makes the determination whether dividends are extraordinary in relation to normal levels. */\n  LegExtraordinaryDividendPartySide = 42341,\n  /** Indicates how the extraordinary gross cash dividend per share is determined. */\n  LegExtraordinaryDividendAmountType = 42342,\n  /** The currency in which the excess dividend is denominated. Uses ISO 4217 currency codes. */\n  LegExtraordinaryDividendCurrency = 42343,\n  LegExtraordinaryDividendDeterminationMethod = 42344,\n  LegDividendAccrualFixedRate = 42345,\n  /** The compounding method to be used when more than one dividend period contributes to a single payment. */\n  LegDividendCompoundingMethod = 42346,\n  /** The number of index units applicable to dividends. */\n  LegDividendNumOfIndexUnits = 42347,\n  LegDividendCashPercentage = 42348,\n  LegDividendCashEquivalentPercentage = 42349,\n  /** Defines the treatment of non-cash dividends. */\n  LegNonCashDividendTreatment = 42350,\n  /** Defines how the composition of dividends is to be determined. */\n  LegDividendComposition = 42351,\n  /** Indicates whether special dividends are applicable. */\n  LegSpecialDividendsIndicator = 42352,\n  /** Indicates whether material non-cash dividends are applicable. */\n  LegMaterialDividendsIndicator = 42353,\n  /** Indicates whether option exchange dividends are applicable. */\n  LegOptionsExchangeDividendsIndicator = 42354,\n  /** Indicates whether additional dividends are applicable. */\n  LegAdditionalDividendsIndicator = 42355,\n  /** Represents the European Master Confirmation value of 'All Dividends' which, when applicable, signifies that, for a given Ex-Date, the daily observed share price for that day is adjusted (reduced) by the cash dividend and/or the cash value of any non-cash dividend per share (including extraordinary dividends) declared by the issuer. */\n  LegAllDividendsIndicator = 42356,\n  LegDividendFXTriggerDateRelativeTo = 42357,\n  /** Time unit multiplier for the relative FX trigger date offset. */\n  LegDividendFXTriggerDateOffsetPeriod = 42358,\n  /** Time unit associated with the relative FX trigger date offset. */\n  LegDividendFXTriggerDateOffsetUnit = 42359,\n  /** Specifies the day type of the relative FX trigger date offset. */\n  LegDividendFXTriggerDateOffsetDayType = 42360,\n  /** The unadjusted FX trigger date. */\n  LegDividendFXTriggerDateUnadjusted = 42361,\n  /** The business day convention used for the FX trigger date adjustment. */\n  LegDividendFXTriggerDateBusinessDayConvention = 42362,\n  /** The adjusted FX trigger date. */\n  LegDividendFXTriggerDateAdjusted = 42363,\n  /** Number of entries in the LegDividendFXTriggerDateBusinessCenterGrp. */\n  NoLegDividendFXTriggerDateBusinessCenters = 42364,\n  LegDividendFXTriggerDateBusinessCenter = 42365,\n  /** Number of entries in the LegDividendPeriodGrp component. */\n  NoLegDividendPeriods = 42366,\n  /** Defines the ordinal dividend period. E.g. 1 = First period, 2 = Second period, etc. */\n  LegDividendPeriodSequence = 42367,\n  /** The unadjusted date on which the dividend period will begin. */\n  LegDividendPeriodStartDateUnadjusted = 42368,\n  /** The unadjusted date on which the dividend period will end. */\n  LegDividendPeriodEndDateUnadjusted = 42369,\n  /** References the dividend underlier through the instrument's UnderlyingSecurityID(309) which must be fully specified in an instance of the UnderlyingInstrument component. */\n  LegDividendPeriodUnderlierRefID = 42370,\n  /** Specifies the fixed strike price of the dividend period. */\n  LegDividendPeriodStrikePrice = 42371,\n  /** The dividend period dates business day convention. */\n  LegDividendPeriodBusinessDayConvention = 42372,\n  /** The unadjusted dividend period valuation date. */\n  LegDividendPeriodValuationDateUnadjusted = 42373,\n  LegDividendPeriodValuationDateRelativeTo = 42374,\n  /** Time unit multiplier for the relative dividend period valuation date offset. */\n  LegDividendPeriodValuationDateOffsetPeriod = 42375,\n  /** Time unit associated with the relative dividend period valuation date offset. */\n  LegDividendPeriodValuationDateOffsetUnit = 42376,\n  /** Specifies the day type of the relative dividend period valuation date offset. */\n  LegDividendPeriodValuationDateOffsetDayType = 42377,\n  /** The adjusted dividend period valuation date. */\n  LegDividendPeriodValuationDateAdjusted = 42378,\n  /** The unadjusted dividend period payment date. */\n  LegDividendPeriodPaymentDateUnadjusted = 42379,\n  LegDividendPeriodPaymentDateRelativeTo = 42380,\n  /** Time unit multiplier for the relative dividend period payment date offset. */\n  LegDividendPeriodPaymentDateOffsetPeriod = 42381,\n  /** Time unit associated with the relative dividend period payment date offset. */\n  LegDividendPeriodPaymentDateOffsetUnit = 42382,\n  /** Specifies the day type of the relative dividend period payment date offset. */\n  LegDividendPeriodPaymentDateOffsetDayType = 42383,\n  /** The adjusted dividend period payment date. */\n  LegDividendPeriodPaymentDateAdjusted = 42384,\n  /** Identifier for linking this stream dividend period to an underlier through an instance of RelatedInstrumentGrp. */\n  LegDividendPeriodXID = 42385,\n  /** The number of entries in the LegDividendPeriodBusinessCentersGrp component. */\n  NoLegDividendPeriodBusinessCenters = 42386,\n  LegDividendPeriodBusinessCenter = 42387,\n  /** Number of extraordinary events in the repeating group. */\n  NoLegExtraordinaryEvents = 42388,\n  LegExtraordinaryEventType = 42389,\n  LegExtraordinaryEventValue = 42390,\n  /** Side value of the party electing the settlement method. */\n  LegSettlMethodElectingPartySide = 42391,\n  /** The date through which option cannot be exercised without penalty. */\n  LegMakeWholeDate = 42392,\n  /** Amount to be paid by the buyer of the option if the option is exercised prior to the LegMakeWholeDate(42392). */\n  LegMakeWholeAmount = 42393,\n  /** Identifies the benchmark floating rate index. */\n  LegMakeWholeBenchmarkCurveName = 42394,\n  LegMakeWholeBenchmarkCurvePoint = 42395,\n  /** Spread over the floating rate index. */\n  LegMakeWholeRecallSpread = 42396,\n  /** The quote side of the benchmark to be used for calculating the \"make whole\" amount. */\n  LegMakeWholeBenchmarkQuote = 42397,\n  /** The method used when calculating the \"make whole\" amount. The most common is linear method. */\n  LegMakeWholeInterpolationMethod = 42398,\n  /** Indicates whether cash settlement is applicable. */\n  LegPaymentStreamCashSettlIndicator = 42399,\n  /** Reference to the stream which details the compounding fixed or floating rate. */\n  LegPaymentStreamCompoundingXIDRef = 42400,\n  /** The spread to be used for compounding. Used in scenarios where the interest payment is based on a compounding formula that uses a compounding spread in addition to the regular spread. */\n  LegPaymentStreamCompoundingSpread = 42401,\n  /** The method used when calculating the index rate from multiple points on the curve. The most common is linear method. */\n  LegPaymentStreamInterpolationMethod = 42402,\n  /** Defines applicable periods for interpolation. */\n  LegPaymentStreamInterpolationPeriod = 42403,\n  /** The compounding fixed rate applicable to the payment stream. */\n  LegPaymentStreamCompoundingFixedRate = 42404,\n  /** Number of dates in the repeating group. */\n  NoLegPaymentStreamCompoundingDates = 42405,\n  /** The compounding date. Type of date is specified in LegPaymentStreamCompoundingDateType(42407). */\n  LegPaymentStreamCompoundingDate = 42406,\n  /** Specifies the type of payment compounding date (e.g. adjusted for holidays). */\n  LegPaymentStreamCompoundingDateType = 42407,\n  /** The compounding dates business day convention. */\n  LegPaymentStreamCompoundingDatesBusinessDayConvention = 42408,\n  LegPaymentStreamCompoundingDatesRelativeTo = 42409,\n  /** Time unit multiplier for the relative compounding date offset. */\n  LegPaymentStreamCompoundingDatesOffsetPeriod = 42410,\n  /** Time unit associated with the relative compounding date offset. */\n  LegPaymentStreamCompoundingDatesOffsetUnit = 42411,\n  /** Specifies the day type of the relative compounding date offset. */\n  LegPaymentStreamCompoundingDatesOffsetDayType = 42412,\n  /** The number of periods in the \"RelativeTo\" schedule that are between each date in the compounding schedule. A skip of 2 would mean that compounding dates are relative to every second date in the \"RelativeTo\" schedule. If present this should have a value greater than 1. */\n  LegPaymentStreamCompoundingPeriodSkip = 42413,\n  /** Time unit multiplier for the frequency at which compounding dates occur. */\n  LegPaymentStreamCompoundingFrequencyPeriod = 42414,\n  /** Time unit associated with the frequency at which compounding dates occur. */\n  LegPaymentStreamCompoundingFrequencyUnit = 42415,\n  /** The convention for determining the sequence of compounding dates. It is used in conjunction with a specified frequency. */\n  LegPaymentStreamCompoundingRollConvention = 42416,\n  /** The unadjusted first date of the compounding schedule. This can be used to restrict the range of dates when they are relative. */\n  LegPaymentStreamBoundsFirstDateUnadjusted = 42417,\n  /** The unadjusted last date of the compounding schedule. This can be used to restrict the range of dates when they are relative. */\n  LegPaymentStreamBoundsLastDateUnadjusted = 42418,\n  /** Number of business centers in the repeating group. */\n  NoLegPaymentStreamCompoundingDatesBusinessCenters = 42419,\n  LegPaymentStreamCompoundingDatesBusinessCenter = 42420,\n  /** The unadjusted compounding end date. */\n  LegPaymentStreamCompoundingEndDateUnadjusted = 42421,\n  LegPaymentStreamCompoundingEndDateRelativeTo = 42422,\n  /** Time unit multiplier for the relative compounding end date offset. */\n  LegPaymentStreamCompoundingEndDateOffsetPeriod = 42423,\n  /** Time unit associated with the relative compounding end date offset. */\n  LegPaymentStreamCompoundingEndDateOffsetUnit = 42424,\n  /** Specifies the day type of the relative compounding end date offset. */\n  LegPaymentStreamCompoundingEndDateOffsetDayType = 42425,\n  /** The adjusted compounding end date. */\n  LegPaymentStreamCompoundingEndDateAdjusted = 42426,\n  /** The payment stream's compounding floating rate index. */\n  LegPaymentStreamCompoundingRateIndex = 42427,\n  /** Time unit multiplier for the payment stream's compounding floating rate index curve period. */\n  LegPaymentStreamCompoundingRateIndexCurvePeriod = 42428,\n  /** Time unit associated with the payment stream's compounding floating rate index curve period. */\n  LegPaymentStreamCompoundingRateIndexCurveUnit = 42429,\n  /** A rate multiplier to apply to the compounding floating rate. The multiplier can be less than or greater than 1 (one). This should only be included if the multiplier is not equal to 1 (one) for the term of the stream. */\n  LegPaymentStreamCompoundingRateMultiplier = 42430,\n  /** The basis points spread from the index specified in LegPaymentStreamCompoundingRateIndex(42427). */\n  LegPaymentStreamCompoundingRateSpread = 42431,\n  /** Identifies whether the rate spread is applied to a long or short position. */\n  LegPaymentStreamCompoundingRateSpreadPositionType = 42432,\n  /** Specifies the yield calculation treatment for the index. */\n  LegPaymentStreamCompoundingRateTreatment = 42433,\n  /** The cap rate, if any, which applies to the compounding floating rate. It is only required where the compounding floating rate on a swap stream is capped at a certain level. The cap rate is assumed to be exclusive of any spread and is a per annum rate, expressed as a decimal. A cap rate of 5% would be represented as \"0.05\". */\n  LegPaymentStreamCompoundingCapRate = 42434,\n  /** Reference to the buyer of the compounding cap rate option through its trade side. */\n  LegPaymentStreamCompoundingCapRateBuySide = 42435,\n  /** Reference to the seller of the compounding cap rate option through its trade side. */\n  LegPaymentStreamCompoundingCapRateSellSide = 42436,\n  /** The floor rate, if any, which applies to the compounding floating rate. The floor rate (strike) is only required where the compounding floating rate on a swap stream is floored at a certain strike level. The floor rate is assumed to be exclusive of any spread and is a per annum rate. The rate is expressed as a decimal, e.g. 5% is represented as \"0.05\". */\n  LegPaymentStreamCompoundingFloorRate = 42437,\n  /** Reference to the buyer of the compounding floor rate option through its trade side. */\n  LegPaymentStreamCompoundingFloorRateBuySide = 42438,\n  /** Reference to the seller of the floor rate option through its trade side. */\n  LegPaymentStreamCompoundingFloorRateSellSide = 42439,\n  /** The initial compounding floating rate reset agreed between the principal parties involved in the trade. It should only be included when the rate is not equal to the rate published on the source implied by the floating rate index. The initial rate is expressed in decimal form, e.g. 5% is represented as \"0.05\". */\n  LegPaymentStreamCompoundingInitialRate = 42440,\n  /** Specifies the rounding direction for the compounding floating rate. */\n  LegPaymentStreamCompoundingFinalRateRoundingDirection = 42441,\n  /** Specifies the compounding floating rate rounding precision in terms of a number of decimal places. Note how a percentage rate rounding of 5 decimal places is expressed as a rounding precision of 7. */\n  LegPaymentStreamCompoundingFinalRatePrecision = 42442,\n  /** Specifies the averaging method when compounding floating rate averaging is applicable (e.g. weighted or unweighted). */\n  LegPaymentStreamCompoundingAveragingMethod = 42443,\n  /** Specifies the method for calculating payment obligations when a compounding floating rate is negative (either due to a quoted negative floating rate or by operation of a spread that is subtracted from the floating rate). */\n  LegPaymentStreamCompoundingNegativeRateTreatment = 42444,\n  /** The unadjusted compounding start date. */\n  LegPaymentStreamCompoundingStartDateUnadjusted = 42445,\n  LegPaymentStreamCompoundingStartDateRelativeTo = 42446,\n  /** Time unit multiplier for the relative compounding start date offset. */\n  LegPaymentStreamCompoundingStartDateOffsetPeriod = 42447,\n  /** Time unit associated with the relative compounding start date offset. */\n  LegPaymentStreamCompoundingStartDateOffsetUnit = 42448,\n  /** Specifies the day type of the relative compounding start date offset. */\n  LegPaymentStreamCompoundingStartDateOffsetDayType = 42449,\n  /** The adjusted compounding start date. */\n  LegPaymentStreamCompoundingStartDateAdjusted = 42450,\n  /** Length in bytes of the LegPaymentStreamFormulaImage(42452) field. */\n  LegPaymentStreamFormulaImageLength = 42451,\n  /** Image of the formula image when represented through an encoded clip in base64Binary. */\n  LegPaymentStreamFormulaImage = 42452,\n  /** The unadjusted final price payment date. */\n  LegPaymentStreamFinalPricePaymentDateUnadjusted = 42453,\n  LegPaymentStreamFinalPricePaymentDateRelativeTo = 42454,\n  /** Time unit multiplier for the relative final price payment date offset. */\n  LegPaymentStreamFinalPricePaymentDateOffsetPeriod = 42455,\n  /** Time unit associated with the relative final price payment date offset. */\n  LegPaymentStreamFinalPricePaymentDateOffsetUnit = 42456,\n  /** Specifies the day type of the relative final price payment date offset. */\n  LegPaymentStreamFinalPricePaymentDateOffsetDayType = 42457,\n  /** The adjusted final price payment date. */\n  LegPaymentStreamFinalPricePaymentDateAdjusted = 42458,\n  /** Number of fixing dates in the repeating group. */\n  NoLegPaymentStreamFixingDates = 42459,\n  /** The fixing date. Type of date is specified in LegPaymentStreamFixingDateType(42461). */\n  LegPaymentStreamFixingDate = 42460,\n  /** Specifies the type of fixing date (e.g. adjusted for holidays). */\n  LegPaymentStreamFixingDateType = 42461,\n  /** The unadjusted initial price observation date. */\n  LegPaymentStreamFirstObservationDateUnadjusted = 42462,\n  LegPaymentStreamFirstObservationDateRelativeTo = 42463,\n  /** Specifies the day type of the initial price observation date offset. */\n  LegPaymentStreamFirstObservationDateOffsetDayType = 42464,\n  /** The adjusted initial price observation date. */\n  LegPaymentStreamFirstObservationDateAdjusted = 42465,\n  /** References the dividend underlier through the instrument's UnderlyingSecurityID(309) which must be fully specified in an instance of the UnderlyingInstrument component. */\n  LegPaymentStreamUnderlierRefID = 42466,\n  /** Indicates whether the term \"Equity Notional Reset\" as defined in the ISDA 2002 Equity Derivatives Definitions is applicable (\"Y\") or not. */\n  LegReturnRateNotionalReset = 42467,\n  /** Price level at which the correlation or variance swap contract will strike. */\n  LegPaymentStreamLinkInitialLevel = 42468,\n  /** Indicates whether the correlation or variance swap contract will (\"Y\") strike off the closing level of the default exchange traded contract or not. */\n  LegPaymentStreamLinkClosingLevelIndicator = 42469,\n  /** Indicates whether the correlation or variance swap contract will (\"Y\") strike off the expiring level of the default exchange traded contract or not. */\n  LegPaymentStreamLinkExpiringLevelIndicator = 42470,\n  /** The expected number of trading days in the variance or correlation swap stream. */\n  LegPaymentStreamLinkEstimatedTradingDays = 42471,\n  /** The strike price of a correlation or variance swap stream. */\n  LegPaymentStreamLinkStrikePrice = 42472,\n  /** For a variance swap specifies how LegPaymentStreamLinkStrikePrice(42472) is expressed. */\n  LegPaymentStreamLinkStrikePriceType = 42473,\n  LegPaymentStreamLinkMaximumBoundary = 42474,\n  LegPaymentStreamLinkMinimumBoundary = 42475,\n  /** Number of data series for a correlation swap. Normal market practice is that correlation data sets are drawn from geographic market areas, such as America, Europe and Asia Pacific. Each of these geographic areas will have its own data series to avoid contagion. */\n  LegPaymentStreamLinkNumberOfDataSeries = 42476,\n  /** Indicates the scaling factor to be multiplied by the variance strike price thereby making variance cap applicable. */\n  LegPaymentStreamVarianceUnadjustedCap = 42477,\n  /** Indicates which price to use to satisfy the boundary condition. */\n  LegPaymentStreamRealizedVarianceMethod = 42478,\n  /** Indicates whether the contract specifies that the notional should be scaled by the number of days in range divided by the estimate trading days or not. The number of \"days in range\" refers to the number of returns that contribute to the realized volatility. */\n  LegPaymentStreamDaysAdjustmentIndicator = 42479,\n  /** References a contract listed on an exchange through the instrument's UnderlyingSecurityID(309) which must be fully specified in an instance of the UnderlyingInstrument component. */\n  LegPaymentStreamNearestExchangeContractRefID = 42480,\n  /** Vega Notional represents the approximate gain/loss at maturity for a 1% difference between RVol (realized volatility) and KVol (strike volatility). It does not necessarily represent the Vega risk of the trade. */\n  LegPaymentStreamVegaNotionalAmount = 42481,\n  /** The currency in which the formula amount is denominated. Uses ISO 4217 currency codes. */\n  LegPaymentStreamFormulaCurrency = 42482,\n  LegPaymentStreamFormulaCurrencyDeterminationMethod = 42483,\n  LegPaymentStreamFormulaReferenceAmount = 42484,\n  /** Number of formulas in the repeating group. */\n  NoLegPaymentStreamFormulas = 42485,\n  /** Contains an XML representation of the formula. Defined for flexibility in choice of language (MathML, OpenMath or text). */\n  LegPaymentStreamFormula = 42486,\n  /** A description of the math formula in LegPaymentStreamFormula(42486). */\n  LegPaymentStreamFormulaDesc = 42487,\n  /** The unadjusted stub end date. */\n  LegPaymentStubEndDateUnadjusted = 42488,\n  /** The stub end date business day convention. */\n  LegPaymentStubEndDateBusinessDayConvention = 42489,\n  LegPaymentStubEndDateRelativeTo = 42490,\n  /** Time unit multiplier for the relative stub end date offset. */\n  LegPaymentStubEndDateOffsetPeriod = 42491,\n  /** Time unit associated with the relative stub end date offset. */\n  LegPaymentStubEndDateOffsetUnit = 42492,\n  /** Specifies the day type of the relative stub end date offset. */\n  LegPaymentStubEndDateOffsetDayType = 42493,\n  /** The adjusted stub end date. */\n  LegPaymentStubEndDateAdjusted = 42494,\n  /** Number of business centers in the repeating group. */\n  NoLegPaymentStubEndDateBusinessCenters = 42495,\n  LegPaymentStubEndDateBusinessCenter = 42496,\n  /** The unadjusted stub start date. */\n  LegPaymentStubStartDateUnadjusted = 42497,\n  /** The stub start date business day convention. */\n  LegPaymentStubStartDateBusinessDayConvention = 42498,\n  LegPaymentStubStartDateRelativeTo = 42499,\n  /** Time unit multiplier for the relative stub start date offset. */\n  LegPaymentStubStartDateOffsetPeriod = 42500,\n  /** Time unit associated with the relative stub start date offset. */\n  LegPaymentStubStartDateOffsetUnit = 42501,\n  /** Specifies the day type of the relative stub start date offset. */\n  LegPaymentStubStartDateOffsetDayType = 42502,\n  /** The adjusted stub start date. */\n  LegPaymentStubStartDateAdjusted = 42503,\n  /** Number of business centers in the repeating group. */\n  NoLegPaymentStubStartDateBusinessCenters = 42504,\n  LegPaymentStubStartDateBusinessCenter = 42505,\n  /** Type of fee elected for the break provision. */\n  LegProvisionBreakFeeElection = 42506,\n  /** Break fee election rate when the break fee is proportional to the notional. A fee rate of 5% would be represented as \"0.05\". */\n  LegProvisionBreakFeeRate = 42507,\n  /** Number of iterations in the return rate date repeating group. */\n  NoLegReturnRateDates = 42508,\n  /** Specifies the valuation type applicable to the return rate date. */\n  LegReturnRateDateMode = 42509,\n  LegReturnRateValuationDateRelativeTo = 42510,\n  /** Time unit multiplier for the relative return rate valuation date offset. */\n  LegReturnRateValuationDateOffsetPeriod = 42511,\n  /** Time unit associated with the relative return rate valuation date offset. */\n  LegReturnRateValuationDateOffsetUnit = 42512,\n  /** Specifies the day type of the relative return rate valuation date offset. */\n  LegReturnRateValuationDateOffsetDayType = 42513,\n  /** The unadjusted start date for return rate valuation. This can be used to restrict the range of dates when they are relative. */\n  LegReturnRateValuationStartDateUnadjusted = 42514,\n  LegReturnRateValuationStartDateRelativeTo = 42515,\n  /** Time unit multiplier for the relative return rate valuation start date offset. */\n  LegReturnRateValuationStartDateOffsetPeriod = 42516,\n  /** Time unit associated with the relative return rate valuation start date offset. */\n  LegReturnRateValuationStartDateOffsetUnit = 42517,\n  /** Specifies the day type of the relative return rate valuation start date offset. */\n  LegReturnRateValuationStartDateOffsetDayType = 42518,\n  /** The adjusted start date for return rate valuation. This can be used to restrict the range of dates when they are relative. */\n  LegReturnRateValuationStartDateAdjusted = 42519,\n  /** The unadjusted end date for return rate valuation. This can be used to restrict the range of dates when they are relative. */\n  LegReturnRateValuationEndDateUnadjusted = 42520,\n  LegReturnRateValuationEndDateRelativeTo = 42521,\n  /** Time unit multiplier for the relative return rate valuation end date offset. */\n  LegReturnRateValuationEndDateOffsetPeriod = 42522,\n  /** Time unit associated with the relative return rate valuation end date offset. */\n  LegReturnRateValuationEndDateOffsetUnit = 42523,\n  /** Specifies the day type of the relative return rate valuation end date offset. */\n  LegReturnRateValuationEndDateOffsetDayType = 42524,\n  /** The adjusted end date for return rate valuation. This can be used to restrict the range of dates when they are relative. */\n  LegReturnRateValuationEndDateAdjusted = 42525,\n  /** Time unit multiplier for the frequency at which return rate valuation dates occur. */\n  LegReturnRateValuationFrequencyPeriod = 42526,\n  /** Time unit associated with the frequency at which return rate valuation dates occur. */\n  LegReturnRateValuationFrequencyUnit = 42527,\n  /** The convention for determining the sequence of return rate valuation dates. It is used in conjunction with a specified frequency. */\n  LegReturnRateValuationFrequencyRollConvention = 42528,\n  /** The return rate valuation dates business day convention. */\n  LegReturnRateValuationDateBusinessDayConvention = 42529,\n  /** Number of iterations in the return rate FX conversion repeating group. */\n  NoLegReturnRateFXConversions = 42530,\n  /** Specifies the currency pair for the FX conversion expressed using the CCY1/CCY2 convention. Uses ISO 4217 currency codes. */\n  LegReturnRateFXCurrencySymbol = 42531,\n  /** The rate of exchange between the two currencies specified in LegReturnRateFXCurrencySymbol(42531). */\n  LegReturnRateFXRate = 42532,\n  /** The rate of exchange between the two currencies specified in LegReturnRateFXCurrencySymbol(42531). */\n  LegReturnRateFXRateCalc = 42533,\n  /** Number of iterations in the return rate repeating group. */\n  NoLegReturnRates = 42534,\n  /** Specifies the type of price sequence of the return rate. */\n  LegReturnRatePriceSequence = 42535,\n  /** Specifies the basis or unit used to calculate the commission. */\n  LegReturnRateCommissionBasis = 42536,\n  /** The commission amount. */\n  LegReturnRateCommissionAmount = 42537,\n  /** Specifies the currency the commission amount is denominated in. Uses ISO 4217 currency codes. */\n  LegReturnRateCommissionCurrency = 42538,\n  /** The total commission per trade. */\n  LegReturnRateTotalCommissionPerTrade = 42539,\n  LegReturnRateDeterminationMethod = 42540,\n  LegReturnRateAmountRelativeTo = 42541,\n  LegReturnRateQuoteMeasureType = 42542,\n  LegReturnRateQuoteUnits = 42543,\n  /** Specifies the type of quote used to determine the return rate of the swap. */\n  LegReturnRateQuoteMethod = 42544,\n  /** Specifies the currency the return rate quote is denominated in. Uses ISO 4217 Currency Code. */\n  LegReturnRateQuoteCurrency = 42545,\n  LegReturnRateQuoteCurrencyType = 42546,\n  /** Specifies how or the timing when the quote is to be obtained. */\n  LegReturnRateQuoteTimeType = 42547,\n  /** The time when the quote is to be generated. */\n  LegReturnRateQuoteTime = 42548,\n  /** The date when the quote is to be generated. */\n  LegReturnRateQuoteDate = 42549,\n  /** The time when the quote ceases to be valid. */\n  LegReturnRateQuoteExpirationTime = 42550,\n  LegReturnRateQuoteBusinessCenter = 42551,\n  /** Specifies the exchange (e.g. stock or listed futures/options exchange) from which the quote is obtained. */\n  LegReturnRateQuoteExchange = 42552,\n  LegReturnRateQuotePricingModel = 42553,\n  LegReturnRateCashFlowType = 42554,\n  /** Specifies the timing at which the calculation agent values the underlying. */\n  LegReturnRateValuationTimeType = 42555,\n  /** The time at which the calculation agent values the underlying asset. */\n  LegReturnRateValuationTime = 42556,\n  LegReturnRateValuationTimeBusinessCenter = 42557,\n  /** Indicates whether an ISDA price option applies, and if applicable which type of price. */\n  LegReturnRateValuationPriceOption = 42558,\n  /** Specifies the fallback provision for the hedging party in the determination of the final price. */\n  LegReturnRateFinalPriceFallback = 42559,\n  /** Number of iterations in the return rate information source repeating group. */\n  NoLegReturnRateInformationSources = 42560,\n  /** Identifies the source of rate information. For FX the references source to be used for the FX spot rate. */\n  LegReturnRateInformationSource = 42561,\n  LegReturnRateReferencePage = 42562,\n  /** Identifies the page heading from the rate source. */\n  LegReturnRateReferencePageHeading = 42563,\n  /** Number of iterations in the return rate price repeating group. */\n  NoLegReturnRatePrices = 42564,\n  /** The basis of the return price. */\n  LegReturnRatePriceBasis = 42565,\n  /** Specifies the price of the underlying swap asset. */\n  LegReturnRatePrice = 42566,\n  /** Specifies the currency of the price of the leg swap asset. Uses ISO 4217 currency codes. */\n  LegReturnRatePriceCurrency = 42567,\n  /** Specifies whether the LegReturnRatePrice(42566) is expressed in absolute or relative terms. */\n  LegReturnRatePriceType = 42568,\n  /** Number of iterations in the return rate valuation date business center repeating group. */\n  NoLegReturnRateValuationDateBusinessCenters = 42569,\n  LegReturnRateValuationDateBusinessCenter = 42570,\n  /** Number of iterations in the return rate valuation date repeating group. */\n  NoLegReturnRateValuationDates = 42571,\n  /** The return rate valuation date. The type of date is specified in LegReturnRateValuationDateType(42573). */\n  LegReturnRateValuationDate = 42572,\n  /** Specifies the type of return rate valuation date (e.g. adjusted for holidays). */\n  LegReturnRateValuationDateType = 42573,\n  /** The unadjusted settlement method election date. */\n  LegSettlMethodElectionDateUnadjusted = 42574,\n  /** The settlement method election date adjustment business day convention. */\n  LegSettlMethodElectionDateBusinessDayConvention = 42575,\n  LegSettlMethodElectionDateRelativeTo = 42576,\n  /** Time unit multiplier for the relative settlement method election date offset. */\n  LegSettlMethodElectionDateOffsetPeriod = 42577,\n  /** Time unit associated with the relative settlement method election date offset. */\n  LegSettlMethodElectionDateOffsetUnit = 42578,\n  /** Specifies the day type of the relative settlement method election date offset. */\n  LegSettlMethodElectionDateOffsetDayType = 42579,\n  /** The adjusted settlement method election date. */\n  LegSettlMethodElectionDateAdjusted = 42580,\n  /** Number of business centers in the repeating group. */\n  NoLegSettlMethodElectionDateBusinessCenters = 42581,\n  LegSettlMethodElectionDateBusinessCenter = 42582,\n  /** The stream version identifier when there have been modifications to the contract over time. Helps signal when there are embedded changes. */\n  LegStreamVersion = 42583,\n  /** The effective date of the LegStreamVersion(42583). */\n  LegStreamVersionEffectiveDate = 42584,\n  LegStreamNotionalDeterminationMethod = 42585,\n  /** For equity swaps this specifies the conditions that govern the adjustment to the number of units of the swap. */\n  LegStreamNotionalAdjustments = 42586,\n  StreamCommodityDeliveryPricingRegion = 42587,\n  LegStreamCommodityDeliveryPricingRegion = 42588,\n  UnderlyingStreamCommodityDeliveryPricingRegion = 42589,\n  /** Side value of the party electing the settlement method. */\n  SettlMethodElectingPartySide = 42590,\n  /** The date through which option cannot be exercised without penalty. */\n  MakeWholeDate = 42591,\n  /** Amount to be paid by the buyer of the option if the option is exercised prior to the MakeWholeDate(42591). */\n  MakeWholeAmount = 42592,\n  /** Identifies the benchmark floating rate index. */\n  MakeWholeBenchmarkCurveName = 42593,\n  MakeWholeBenchmarkCurvePoint = 42594,\n  /** Spread over the floating rate index. */\n  MakeWholeRecallSpread = 42595,\n  /** The quote side of the benchmark to be used for calculating the \"make whole\" amount. */\n  MakeWholeBenchmarkQuote = 42596,\n  /** The method used when calculating the \"make whole\" amount. The most common is linear method. */\n  MakeWholeInterpolationMethod = 42597,\n  PaymentAmountRelativeTo = 42598,\n  PaymentAmountDeterminationMethod = 42599,\n  /** Indicates whether cash settlement is applicable. */\n  PaymentStreamCashSettlIndicator = 42600,\n  /** Reference to the stream which details the compounding fixed or floating rate. */\n  PaymentStreamCompoundingXIDRef = 42601,\n  /** The spread to be used for compounding. Used in scenarios where the interest payment is based on a compounding formula that uses a compounding spread in addition to the regular spread. */\n  PaymentStreamCompoundingSpread = 42602,\n  /** The method used when calculating the index rate from multiple points on the curve. The most common is linear method. */\n  PaymentStreamInterpolationMethod = 42603,\n  /** Defines applicable periods for interpolation. */\n  PaymentStreamInterpolationPeriod = 42604,\n  /** The compounding fixed rate applicable to the payment stream. */\n  PaymentStreamCompoundingFixedRate = 42605,\n  /** Number of dates in the repeating group. */\n  NoPaymentStreamCompoundingDates = 42606,\n  /** The compounding date. The type of date is specified in PaymentStreamCompoundingDateType(42608). */\n  PaymentStreamCompoundingDate = 42607,\n  /** Specifies the type of payment compounding date (e.g. adjusted for holidays). */\n  PaymentStreamCompoundingDateType = 42608,\n  /** The compounding dates business day convention. */\n  PaymentStreamCompoundingDatesBusinessDayConvention = 42609,\n  PaymentStreamCompoundingDatesRelativeTo = 42610,\n  /** Time unit multiplier for the relative compounding date offset. */\n  PaymentStreamCompoundingDatesOffsetPeriod = 42611,\n  /** Time unit associated with the relative compounding date offset. */\n  PaymentStreamCompoundingDatesOffsetUnit = 42612,\n  /** Specifies the day type of the relative compounding date offset. */\n  PaymentStreamCompoundingDatesOffsetDayType = 42613,\n  /** The number of periods in the \"RelativeTo\" schedule that are between each date in the compounding schedule. A skip of 2 would mean that compounding dates are relative to every second date in the \"RelativeTo\" schedule. If present this should have a value greater than 1. */\n  PaymentStreamCompoundingPeriodSkip = 42614,\n  /** Time unit multiplier for the frequency at which compounding dates occur. */\n  PaymentStreamCompoundingFrequencyPeriod = 42615,\n  /** Time unit associated with the frequency at which compounding dates occur. */\n  PaymentStreamCompoundingFrequencyUnit = 42616,\n  /** The convention for determining the sequence of compounding dates. It is used in conjunction with a specified frequency. */\n  PaymentStreamCompoundingRollConvention = 42617,\n  /** The unadjusted first date of the compounding schedule. This can be used to restrict the range of dates when they are relative. */\n  PaymentStreamBoundsFirstDateUnadjusted = 42618,\n  /** The unadjusted last date of the compounding schedule. This can be used to restrict the range of dates when they are relative. */\n  PaymentStreamBoundsLastDateUnadjusted = 42619,\n  /** Number of business centers in the repeating group. */\n  NoPaymentStreamCompoundingDatesBusinessCenters = 42620,\n  PaymentStreamCompoundingDatesBusinessCenter = 42621,\n  /** The unadjusted compounding end date. */\n  PaymentStreamCompoundingEndDateUnadjusted = 42622,\n  PaymentStreamCompoundingEndDateRelativeTo = 42623,\n  /** Time unit multiplier for the relative compounding end date offset. */\n  PaymentStreamCompoundingEndDateOffsetPeriod = 42624,\n  /** Time unit associated with the relative compounding end date offset. */\n  PaymentStreamCompoundingEndDateOffsetUnit = 42625,\n  /** Specifies the day type of the relative compounding end date offset. */\n  PaymentStreamCompoundingEndDateOffsetDayType = 42626,\n  /** The adjusted compounding end date. */\n  PaymentStreamCompoundingEndDateAdjusted = 42627,\n  /** The payment stream's compounding floating rate index. */\n  PaymentStreamCompoundingRateIndex = 42628,\n  /** Time unit multiplier for the payment stream's compounding floating rate index curve period. */\n  PaymentStreamCompoundingRateIndexCurvePeriod = 42629,\n  /** Time unit associated with the payment stream's compounding floating rate index curve period. */\n  PaymentStreamCompoundingRateIndexCurveUnit = 42630,\n  /** A rate multiplier to apply to the compounding floating rate. The multiplier can be less than or greater than 1 (one). This should only be included if the multiplier is not equal to 1 (one) for the term of the stream. */\n  PaymentStreamCompoundingRateMultiplier = 42631,\n  /** The basis points spread from the index specified in PaymentStreamCompoundingRateIndex(42628). */\n  PaymentStreamCompoundingRateSpread = 42632,\n  /** Identifies whether the rate spread is applied to a long or short position. */\n  PaymentStreamCompoundingRateSpreadPositionType = 42633,\n  /** Specifies the yield calculation treatment for the index. */\n  PaymentStreamCompoundingRateTreatment = 42634,\n  /** The cap rate, if any, which applies to the compounding floating rate. It is only required where the compounding floating rate on a swap stream is capped at a certain level. The cap rate is assumed to be exclusive of any spread and is a per annum rate, expressed as a decimal. A cap rate of 5% would be represented as \"0.05\". */\n  PaymentStreamCompoundingCapRate = 42635,\n  /** Reference to the buyer of the compounding cap rate option through its trade side. */\n  PaymentStreamCompoundingCapRateBuySide = 42636,\n  /** Reference to the seller of the compounding cap rate option through its trade side. */\n  PaymentStreamCompoundingCapRateSellSide = 42637,\n  /** The floor rate, if any, which applies to the compounding floating rate. The floor rate (strike) is only required where the compounding floating rate on a swap stream is floored at a certain strike level. The floor rate is assumed to be exclusive of any spread and is a per annum rate. The rate is expressed as a decimal, e.g. 5% is represented as \"0.05\". */\n  PaymentStreamCompoundingFloorRate = 42638,\n  /** Reference to the buyer of the compounding floor rate option through its trade side. */\n  PaymentStreamCompoundingFloorRateBuySide = 42639,\n  /** Reference to the seller of the floor rate option through its trade side. */\n  PaymentStreamCompoundingFloorRateSellSide = 42640,\n  /** The initial compounding floating rate reset agreed between the principal parties involved in the trade. It should only be included when the rate is not equal to the rate published on the source implied by the floating rate index. The initial rate is expressed in decimal form, e.g. 5% is represented as \"0.05\". */\n  PaymentStreamCompoundingInitialRate = 42641,\n  /** Specifies the rounding direction for the compounding floating rate. */\n  PaymentStreamCompoundingFinalRateRoundingDirection = 42642,\n  /** Specifies the compounding floating rate rounding precision in terms of a number of decimal places. Note how a percentage rate rounding of 5 decimal places is expressed as a rounding precision of 7. */\n  PaymentStreamCompoundingFinalRatePrecision = 42643,\n  /** Specifies the averaging method when compounding floating rate averaging is applicable (e.g. weighted or unweighted). */\n  PaymentStreamCompoundingAveragingMethod = 42644,\n  /** Specifies the method for calculating payment obligations when a compounding floating rate is negative (either due to a quoted negative floating rate or by operation of a spread that is subtracted from the floating rate). */\n  PaymentStreamCompoundingNegativeRateTreatment = 42645,\n  /** The unadjusted compounding start date. */\n  PaymentStreamCompoundingStartDateUnadjusted = 42646,\n  PaymentStreamCompoundingStartDateRelativeTo = 42647,\n  /** Time unit multiplier for the relative compounding start date offset. */\n  PaymentStreamCompoundingStartDateOffsetPeriod = 42648,\n  /** Time unit associated with the relative compounding start date offset. */\n  PaymentStreamCompoundingStartDateOffsetUnit = 42649,\n  /** Specifies the day type of the relative compounding start date offset. */\n  PaymentStreamCompoundingStartDateOffsetDayType = 42650,\n  /** The adjusted compounding start date. */\n  PaymentStreamCompoundingStartDateAdjusted = 42651,\n  /** Length in bytes of the PaymentStreamFormulaImage(42563) field. */\n  PaymentStreamFormulaImageLength = 42652,\n  /** Image of the formula image when represented through an encoded clip in base64Binary. */\n  PaymentStreamFormulaImage = 42653,\n  /** The unadjusted final price payment date. */\n  PaymentStreamFinalPricePaymentDateUnadjusted = 42654,\n  PaymentStreamFinalPricePaymentDateRelativeTo = 42655,\n  /** Time unit multiplier for the relative final price payment date offset. */\n  PaymentStreamFinalPricePaymentDateOffsetfPeriod = 42656,\n  /** Time unit associated with the relative final price payment date offset. */\n  PaymentStreamFinalPricePaymentDateOffsetUnit = 42657,\n  /** Specifies the day type of the relative final price payment date offset. */\n  PaymentStreamFinalPricePaymentDateOffsetDayType = 42658,\n  /** The adjusted final price payment date. */\n  PaymentStreamFinalPricePaymentDateAdjusted = 42659,\n  /** Number of fixing dates in the repeating group. */\n  NoPaymentStreamFixingDates = 42660,\n  /** The fixing date. The type of date is specified in PaymentStreamFixingDateType(42662). */\n  PaymentStreamFixingDate = 42661,\n  /** Specifies the type of fixing date (e.g. adjusted for holidays). */\n  PaymentStreamFixingDateType = 42662,\n  /** The unadjusted initial price observation date. */\n  PaymentStreamFirstObservationDateUnadjusted = 42663,\n  PaymentStreamFirstObservationDateRelativeTo = 42664,\n  /** Specifies the day type of the initial price observation date offset. */\n  PaymentStreamFirstObservationDateOffsetDayType = 42665,\n  /** The adjusted initial price observation date. */\n  PaymentStreamFirstObservationDateAdjusted = 42666,\n  /** References the dividend underlier through the instrument's UnderlyingSecurityID(309) which must be fully specified in an instance of the UnderlyingInstrument component. */\n  PaymentStreamUnderlierRefID = 42667,\n  /** Indicates whether the term \"Equity Notional Reset\" as defined in the ISDA 2002 Equity Derivatives Definitions is applicable (\"Y\") or not. */\n  ReturnRateNotionalReset = 42668,\n  /** Price level at which the correlation or variance swap contract will strike. */\n  PaymentStreamLinkInitialLevel = 42669,\n  /** Indicates whether the correlation or variance swap contract will (\"Y\") strike off the closing level of the default exchange traded contract or not. */\n  PaymentStreamLinkClosingLevelIndicator = 42670,\n  /** Indicates whether the correlation or variance swap contract will (\"Y\") strike off the expiring level of the default exchange traded contract or not. */\n  PaymentStreamLinkExpiringLevelIndicator = 42671,\n  /** The expected number of trading days in the variance or correlation swap stream. */\n  PaymentStreamLinkEstimatedTradingDays = 42672,\n  /** The strike price of a correlation or variance swap stream. */\n  PaymentStreamLinkStrikePrice = 42673,\n  /** For a variance swap specifies how PaymentStreamLinkStrikePrice(42673) is expressed. */\n  PaymentStreamLinkStrikePriceType = 42674,\n  PaymentStreamLinkMaximumBoundary = 42675,\n  PaymentStreamLinkMinimumBoundary = 42676,\n  /** Number of data series for a correlation swap. Normal market practice is that correlation data sets are drawn from geographic market areas, such as America, Europe and Asia Pacific. Each of these geographic areas will have its own data series to avoid contagion. */\n  PaymentStreamLinkNumberOfDataSeries = 42677,\n  /** Indicates the scaling factor to be multiplied by the variance strike price thereby making variance cap applicable. */\n  PaymentStreamVarianceUnadjustedCap = 42678,\n  /** Indicates which price to use to satisfy the boundary condition. */\n  PaymentStreamRealizedVarianceMethod = 42679,\n  /** Indicates whether the contract specifies that the notional should be scaled by the number of days in range divided by the estimate trading days or not. The number of \"days in range\" refers to the number of returns that contribute to the realized volatility. */\n  PaymentStreamDaysAdjustmentIndicator = 42680,\n  /** References a contract listed on an exchange through the instrument's UnderlyingSecurityID(309) which must be fully specified in an instance of the UnderlyingInstrument component. */\n  PaymentStreamNearestExchangeContractRefID = 42681,\n  /** \"Vega Notional\" represents the approximate gain/loss at maturity for a 1% difference between RVol (realised volatility) and KVol (strike volatility). It does not necessarily represent the Vega risk of the trade. */\n  PaymentStreamVegaNotionalAmount = 42682,\n  /** Number of formulas in the repeating group. */\n  NoPaymentStreamFormulas = 42683,\n  /** Contains an XML representation of the formula. Defined for flexibility in choice of language (MathML, OpenMath or text). */\n  PaymentStreamFormula = 42684,\n  /** A description of the math formula in PaymentStreamFormula(42684). */\n  PaymentStreamFormulaDesc = 42685,\n  /** The currency in which the formula amount is denominated. Uses ISO 4217 currency codes. */\n  PaymentStreamFormulaCurrency = 42686,\n  PaymentStreamFormulaCurrencyDeterminationMethod = 42687,\n  PaymentStreamFormulaReferenceAmount = 42688,\n  /** The unadjusted stub end date. */\n  PaymentStubEndDateUnadjusted = 42689,\n  /** The stub end date business day convention. */\n  PaymentStubEndDateBusinessDayConvention = 42690,\n  PaymentStubEndDateRelativeTo = 42691,\n  /** Time unit multiplier for the relative stub end date offset. */\n  PaymentStubEndDateOffsetPeriod = 42692,\n  /** Time unit associated with the relative stub end date offset. */\n  PaymentStubEndDateOffsetUnit = 42693,\n  /** Specifies the day type of the relative stub end date offset. */\n  PaymentStubEndDateOffsetDayType = 42694,\n  /** The adjusted stub end date. */\n  PaymentStubEndDateAdjusted = 42695,\n  /** Number of business centers in the repeating group. */\n  NoPaymentStubEndDateBusinessCenters = 42696,\n  PaymentStubEndDateBusinessCenter = 42697,\n  /** The unadjusted stub start date. */\n  PaymentStubStartDateUnadjusted = 42698,\n  /** The stub start date business day convention. */\n  PaymentStubStartDateBusinessDayConvention = 42699,\n  PaymentStubStartDateRelativeTo = 42700,\n  /** Time unit multiplier for the relative stub start date offset. */\n  PaymentStubStartDateOffsetPeriod = 42701,\n  /** Time unit associated with the relative stub start date offset. */\n  PaymentStubStartDateOffsetUnit = 42702,\n  /** Specifies the day type of the relative stub start date offset. */\n  PaymentStubStartDateOffsetDayType = 42703,\n  /** The adjusted stub start date. */\n  PaymentStubStartDateAdjusted = 42704,\n  /** Number of business centers in the repeating group. */\n  NoPaymentStubStartDateBusinessCenters = 42705,\n  PaymentStubStartDateBusinessCenter = 42706,\n  /** Type of fee elected for the break provision. */\n  ProvisionBreakFeeElection = 42707,\n  /** Break fee election rate when the break fee is proportional to the notional. A fee rate of 5% would be represented as \"0.05\". */\n  ProvisionBreakFeeRate = 42708,\n  /** Number of iterations in the return rate date repeating group. */\n  NoReturnRateDates = 42709,\n  /** Specifies the valuation type applicable to the return rate date. */\n  ReturnRateDateMode = 42710,\n  ReturnRateValuationDateRelativeTo = 42711,\n  /** Time unit multiplier for the relative return rate valuation date offset. */\n  ReturnRateValuationDateOffsetPeriod = 42712,\n  /** Time unit associated with the relative return rate valuation date offset. */\n  ReturnRateValuationDateOffsetUnit = 42713,\n  /** Specifies the day type of the relative return rate valuation date offset. */\n  ReturnRateValuationDateOffsetDayType = 42714,\n  /** The unadjusted start date for return rate valuation. This can be used to restrict the range of dates when they are relative. */\n  ReturnRateValuationStartDateUnadjusted = 42715,\n  ReturnRateValuationStartDateRelativeTo = 42716,\n  /** Time unit multiplier for the relative return rate valuation start date offset. */\n  ReturnRateValuationStartDateOffsetPeriod = 42717,\n  /** Time unit associated with the relative return rate valuation start date offset. */\n  ReturnRateValuationStartDateOffsetUnit = 42718,\n  /** Specifies the day type of the relative return rate valuation start date offset. */\n  ReturnRateValuationStartDateOffsetDayType = 42719,\n  /** The adjusted start date for return rate valuation. This can be used to restrict the range of dates when they are relative. */\n  ReturnRateValuationStartDateAdjusted = 42720,\n  /** The unadjusted end date for return rate valuation. This can be used to restrict the range of dates when they are relative. */\n  ReturnRateValuationEndDateUnadjusted = 42721,\n  ReturnRateValuationEndDateRelativeTo = 42722,\n  /** Time unit multiplier for the relative return rate valuation end date offset. */\n  ReturnRateValuationEndDateOffsetPeriod = 42723,\n  /** Time unit associated with the relative return rate valuation end date offset. */\n  ReturnRateValuationEndDateOffsetUnit = 42724,\n  /** Specifies the day type of the relative return rate valuation end date offset. */\n  ReturnRateValuationEndDateOffsetDayType = 42725,\n  /** The adjusted end date for return rate valuation. This can be used to restrict the range of dates when they are relative. */\n  ReturnRateValuationEndDateAdjusted = 42726,\n  /** Time unit multiplier for the frequency at which return rate valuation dates occur. */\n  ReturnRateValuationFrequencyPeriod = 42727,\n  /** Time unit associated with the frequency at which return rate valuation dates occur. */\n  ReturnRateValuationFrequencyUnit = 42728,\n  /** The convention for determining the sequence of return rate valuation dates. It is used in conjunction with a specified frequency. */\n  ReturnRateValuationFrequencyRollConvention = 42729,\n  /** The return rate valuation dates business day convention. */\n  ReturnRateValuationDateBusinessDayConvention = 42730,\n  /** Number of iterations in the return rate FX conversion repeating group. */\n  NoReturnRateFXConversions = 42731,\n  /** Specifies the currency pair for the FX conversion expressed using the CCY1/CCY2 convention. Uses ISO 4217 currency codes. */\n  ReturnRateFXCurrencySymbol = 42732,\n  /** The rate of exchange between the two currencies specified in ReturnRateFXCurrencySymbol(42732). */\n  ReturnRateFXRate = 42733,\n  /** Specifies whether ReturnRateFXRate(42733) should be multiplied or divided. */\n  ReturnRateFXRateCalc = 42734,\n  /** Number of iterations in the return rate repeating group. */\n  NoReturnRates = 42735,\n  /** Specifies the type of price sequence of the return rate. */\n  ReturnRatePriceSequence = 42736,\n  /** Specifies the basis or unit used to calculate the commission. */\n  ReturnRateCommissionBasis = 42737,\n  /** The commission amount. */\n  ReturnRateCommissionAmount = 42738,\n  /** Specifies the currency the commission amount is denominated in. Uses ISO 4217 currency codes. */\n  ReturnRateCommissionCurrency = 42739,\n  /** The total commission per trade. */\n  ReturnRateTotalCommissionPerTrade = 42740,\n  ReturnRateDeterminationMethod = 42741,\n  ReturnRateAmountRelativeTo = 42742,\n  ReturnRateQuoteMeasureType = 42743,\n  ReturnRateQuoteUnits = 42744,\n  /** Specifies the type of quote used to determine the return rate of the swap. */\n  ReturnRateQuoteMethod = 42745,\n  /** Specifies the currency the return rate quote is denominated in. Uses ISO 4217 Currency Code. */\n  ReturnRateQuoteCurrency = 42746,\n  ReturnRateQuoteCurrencyType = 42747,\n  /** Specifies how or the timing when the quote is to be obtained. */\n  ReturnRateQuoteTimeType = 42748,\n  /** The time when the quote is to be generated. */\n  ReturnRateQuoteTime = 42749,\n  /** The date when the quote is to be generated. */\n  ReturnRateQuoteDate = 42750,\n  /** The time when the quote ceases to be valid. */\n  ReturnRateQuoteExpirationTime = 42751,\n  ReturnRateQuoteBusinessCenter = 42752,\n  /** Specifies the exchange (e.g. stock or listed futures/options exchange) from which the quote is obtained. */\n  ReturnRateQuoteExchange = 42753,\n  ReturnRateQuotePricingModel = 42754,\n  ReturnRateCashFlowType = 42755,\n  /** Specifies the timing at which the calculation agent values the underlying. */\n  ReturnRateValuationTimeType = 42756,\n  /** The time at which the calculation agent values the underlying asset. */\n  ReturnRateValuationTime = 42757,\n  ReturnRateValuationTimeBusinessCenter = 42758,\n  /** Indicates whether an ISDA price option applies, and if applicable which type of price. */\n  ReturnRateValuationPriceOption = 42759,\n  /** Specifies the fallback provision for the hedging party in the determination of the final price. */\n  ReturnRateFinalPriceFallback = 42760,\n  /** Number of iterations in the return rate information source repeating group. */\n  NoReturnRateInformationSources = 42761,\n  /** Identifies the source of rate information. For FX the references source to be used for the FX spot rate. */\n  ReturnRateInformationSource = 42762,\n  ReturnRateReferencePage = 42763,\n  /** Identifies the page heading from the rate source. */\n  ReturnRateReferencePageHeading = 42764,\n  /** Number of iterations in the return rate price repeating group. */\n  NoReturnRatePrices = 42765,\n  /** The basis of the return price. */\n  ReturnRatePriceBasis = 42766,\n  /** Specifies the price of the underlying swap asset. */\n  ReturnRatePrice = 42767,\n  /** Specifies the currency of the price of the underlying swap asset. Uses ISO 4217 currency codes. */\n  ReturnRatePriceCurrency = 42768,\n  /** Specifies whether the ReturnRatePrice(42767) is expressed in absolute or relative terms. */\n  ReturnRatePriceType = 42769,\n  /** Number of iterations in the return rate valuation date business center repeating group. */\n  NoReturnRateValuationDateBusinessCenters = 42770,\n  ReturnRateValuationDateBusinessCenter = 42771,\n  /** Number of iterations in the return rate valuation date repeating group. */\n  NoReturnRateValuationDates = 42772,\n  /** The return rate valuation date. Type of date is specified in ReturnRateValuationDateType(42774). */\n  ReturnRateValuationDate = 42773,\n  /** Specifies the type of return rate valuation date (e.g. adjusted for holidays). */\n  ReturnRateValuationDateType = 42774,\n  /** Number of business centers in the repeating group. */\n  NoSettlMethodElectionDateBusinessCenters = 42775,\n  SettlMethodElectionDateBusinessCenter = 42776,\n  /** The unadjusted settlement method election date. */\n  SettlMethodElectionDateUnadjusted = 42777,\n  /** The settlement method election date adjustment business day convention. */\n  SettlMethodElectionDateBusinessDayConvention = 42778,\n  SettlMethodElectionDateRelativeTo = 42779,\n  /** Time unit multiplier for the relative settlement method election date offset. */\n  SettlMethodElectionDateOffsetPeriod = 42780,\n  /** Time unit associated with the relative settlement method election date offset. */\n  SettlMethodElectionDateOffsetUnit = 42781,\n  /** Specifies the day type of the relative settlement method election date offset. */\n  SettlMethodElectionDateOffsetDayType = 42782,\n  /** The adjusted settlement method election date. */\n  SettlMethodElectionDateAdjusted = 42783,\n  /** The stream version identifier when there have been modifications to the contract over time. Helps signal when there are embedded changes. */\n  StreamVersion = 42784,\n  /** The effective date of the StreamVersion(42784). */\n  StreamVersionEffectiveDate = 42785,\n  StreamNotionalDeterminationMethod = 42786,\n  /** For equity swaps this specifies the conditions that govern the adjustment to the number of units of the swap. */\n  StreamNotionalAdjustments = 42787,\n  /** Number of business centers in the repeating group. */\n  NoUnderlyingCashSettlDateBusinessCenters = 42788,\n  UnderlyingCashSettlDateBusinessCenter = 42789,\n  /** The unadjusted cash settlement date. */\n  UnderlyingCashSettlDateUnadjusted = 42790,\n  /** The business day convention used to adjust the cash settlement provision's date. Used only to override the business day convention defined in the UnderlyingInstrument component. */\n  UnderlyingCashSettlDateBusinessDayConvention = 42791,\n  UnderlyingCashSettlDateRelativeTo = 42792,\n  /** Time unit multiplier for the relative cash settlement date offset. */\n  UnderlyingCashSettlDateOffsetPeriod = 42793,\n  /** Time unit associated with the relative cash settlement date offset. */\n  UnderlyingCashSettlDateOffsetUnit = 42794,\n  /** Specifies the day type of the relative cash settlement date offset. */\n  UnderlyingCashSettlDateOffsetDayType = 42795,\n  /** The adjusted cash settlement date. */\n  UnderlyingCashSettlDateAdjusted = 42796,\n  UnderlyingCashSettlPriceSource = 42797,\n  /** The default election for determining settlement price. */\n  UnderlyingCashSettlPriceDefault = 42798,\n  /** Number of entries in the UnderlyingDividendAccrualPaymentDateBusinessCenterGrp. */\n  NoUnderlyingDividendAccrualPaymentDateBusinessCenters = 42799,\n  UnderlyingDividendAccrualPaymentDateBusinessCenter = 42800,\n  /** The dividend accrual floating rate index. */\n  UnderlyingDividendFloatingRateIndex = 42801,\n  /** Time unit multiplier for the dividend accrual floating rate index curve. */\n  UnderlyingDividendFloatingRateIndexCurvePeriod = 42802,\n  /** Time unit associated with the dividend accrual floating rate index curve period. */\n  UnderlyingDividendFloatingRateIndexCurveUnit = 42803,\n  /** A rate multiplier to apply to the floating rate. The multiplier can be less than or greater than 1 (one). This should only be included if the multiplier is not equal to 1 (one) for the term of the contract. */\n  UnderlyingDividendFloatingRateMultiplier = 42804,\n  /** The basis points spread from the index specified in UnderlyingDividendFloatingRateIndex(42801). */\n  UnderlyingDividendFloatingRateSpread = 42805,\n  /** Identifies whether the rate spread is applied to a long or short position. */\n  UnderlyingDividendFloatingRateSpreadPositionType = 42806,\n  /** Specifies the yield calculation treatment for the index. */\n  UnderlyingDividendFloatingRateTreatment = 42807,\n  /** The cap rate, if any, which applies to the floating rate. It is only required where the floating rate is capped at a certain level. The cap rate is assumed to be exclusive of any spread and is a per annum rate, expressed as a decimal. A cap rate of 5% would be represented as \"0.05\". */\n  UnderlyingDividendCapRate = 42808,\n  /** Reference to the buyer of the cap rate option through its trade side. */\n  UnderlyingDividendCapRateBuySide = 42809,\n  /** Reference to the seller of the cap rate option through its trade side. */\n  UnderlyingDividendCapRateSellSide = 42810,\n  /** The floor rate, if any, which applies to the floating rate. The floor rate (strike) is only required where the floating rate is floored at a certain strike level. The floor rate is assumed to be exclusive of any spread and is a per annum rate. The rate is expressed as a decimal, e.g. 5% is represented as \"0.05\". */\n  UnderlyingDividendFloorRate = 42811,\n  /** Reference to the buyer of the floor rate option through its trade side. */\n  UnderlyingDividendFloorRateBuySide = 42812,\n  /** Reference to the seller of the floor rate option through its trade side. */\n  UnderlyingDividendFloorRateSellSide = 42813,\n  /** The initial floating rate reset agreed between the principal parties involved in the trade. This is assumed to be the first required reset rate for the first regular calculation period. It should only be included when the rate is not equal to the rate published on the source implied by the floating rate index. The initial rate is expressed in decimal form, e.g. 5% is represented as \"0.05\". */\n  UnderlyingDividendInitialRate = 42814,\n  /** Specifies the rounding direction of the final rate. */\n  UnderlyingDividendFinalRateRoundingDirection = 42815,\n  /** Specifies the rounding precision of the final rate in terms of a number of decimal places. Note how a percentage rate rounding of 5 decimal places is expressed as a rounding precision of 7. */\n  UnderlyingDividendFinalRatePrecision = 42816,\n  /** When averaging is applicable, used to specify whether a weighted or unweighted average method of calculation is to be used. */\n  UnderlyingDividendAveragingMethod = 42817,\n  /** The specification of any provisions for calculating payment obligations when a floating rate is negative (either due to a quoted negative floating rate or by operation of a spread that is subtracted from the floating rate). */\n  UnderlyingDividendNegativeRateTreatment = 42818,\n  UnderlyingDividendAccrualPaymentDateRelativeTo = 42819,\n  /** Time unit multiplier for the relative accrual payment date offset. */\n  UnderlyingDividendAccrualPaymentDateOffsetPeriod = 42820,\n  /** Time unit associated with the relative accrual payment date offset. */\n  UnderlyingDividendAccrualPaymentDateOffsetUnit = 42821,\n  /** Specifies the day type of the relative accrual payment date offset. */\n  UnderlyingDividendAccrualPaymentDateOffsetDayType = 42822,\n  /** The unadjusted accrual payment date. */\n  UnderlyingDividendAccrualPaymentDateUnadjusted = 42823,\n  /** Accrual payment date adjustment business day convention. */\n  UnderlyingDividendAccrualPaymentDateBusinessDayConvention = 42824,\n  /** The adjusted accrual payment date. */\n  UnderlyingDividendAccrualPaymentDateAdjusted = 42825,\n  /** Indicates whether the dividend will be reinvested. */\n  UnderlyingDividendReinvestmentIndicator = 42826,\n  /** Defines the contract event which the receiver of the derivative is entitled to the dividend. */\n  UnderlyingDividendEntitlementEvent = 42827,\n  /** Indicates how the gross cash dividend amount per share is determined. */\n  UnderlyingDividendAmountType = 42828,\n  /** References the dividend underlier through the instrument's UnderlyingSecurityID(309) which must be fully specified in a separate instance of the UnderlyingInstrument component. */\n  UnderlyingDividendUnderlierRefID = 42829,\n  /** Reference to the party through its side in the trade who makes the determination whether dividends are extraordinary in relation to normal levels. */\n  UnderlyingExtraordinaryDividendPartySide = 42830,\n  /** Indicates how the extraordinary gross cash dividend per share is determined. */\n  UnderlyingExtraordinaryDividendAmountType = 42831,\n  /** The currency in which the excess dividend is denominated. Uses ISO 4217 currency codes. */\n  UnderlyingExtraordinaryDividendCurrency = 42832,\n  UnderlyingExtraordinaryDividendDeterminationMethod = 42833,\n  UnderlyingDividendAccrualFixedRate = 42834,\n  /** The compounding method to be used when more than one dividend period contributes to a single payment. */\n  UnderlyingDividendCompoundingMethod = 42835,\n  /** The number of index units applicable to dividends. */\n  UnderlyingDividendNumOfIndexUnits = 42836,\n  UnderlyingDividendCashPercentage = 42837,\n  /** Declared cash-equivalent dividend percentage. A value of 5% would be represented as \"0.05\". */\n  UnderlyingDividendCashEquivalentPercentage = 42838,\n  /** Defines the treatment of non-cash dividends. */\n  UnderlyingNonCashDividendTreatment = 42839,\n  /** Defines how the composition of dividends is to be determined. */\n  UnderlyingDividendComposition = 42840,\n  /** Indicates whether special dividends are applicable. */\n  UnderlyingSpecialDividendsIndicator = 42841,\n  /** Indicates whether material non-cash dividends are applicable. */\n  UnderlyingMaterialDividendsIndicator = 42842,\n  /** Indicates whether option exchange dividends are applicable. */\n  UnderlyingOptionsExchangeDividendsIndicator = 42843,\n  /** Indicates whether additional dividends are applicable. */\n  UnderlyingAdditionalDividendsIndicator = 42844,\n  /** Represents the European Master Confirmation value of 'All Dividends' which, when applicable, signifies that, for a given Ex-Date, the daily observed share price for that day is adjusted (reduced) by the cash dividend and/or the cash value of any non-cash dividend per share (including extraordinary dividends) declared by the issuer. */\n  UnderlyingAllDividendsIndicator = 42845,\n  UnderlyingDividendFXTriggerDateRelativeTo = 42846,\n  /** Time unit multiplier for the relative FX trigger date offset. */\n  UnderlyingDividendFXTriggerDateOffsetPeriod = 42847,\n  /** Time unit associated with the relative FX trigger date offset. */\n  UnderlyingDividendFXTriggerDateOffsetUnit = 42848,\n  /** Specifies the day type of the relative FX trigger date offset. */\n  UnderlyingDividendFXTriggerDateOffsetDayType = 42849,\n  /** The unadjusted FX trigger date. */\n  UnderlyingDividendFXTriggerDateUnadjusted = 42850,\n  /** The business day convention used for the FX trigger date adjustment. */\n  UnderlyingDividendFXTriggerDateBusinessDayConvention = 42851,\n  /** The adjusted FX trigger date. */\n  UnderlyingDividendFXTriggerDateAdjusted = 42852,\n  /** Number of entries in the UnderlyingDividendFXTriggerDateBusinessCenterGrp. */\n  NoUnderlyingDividendFXTriggerDateBusinessCenters = 42853,\n  UnderlyingDividendFXTriggerDateBusinessCenter = 42854,\n  /** Number of entries in the repeating group. */\n  NoUnderlyingDividendPayments = 42855,\n  /** Specifies the date that the dividend or coupon payment is due. */\n  UnderlyingDividendPaymentDate = 42856,\n  /** The amount of the dividend or coupon payment. */\n  UnderlyingDividendPaymentAmount = 42857,\n  /** Specifies the currency the UnderlyingDividendPaymentAmount(42857) is denominated in. Uses ISO 4217 currency codes. */\n  UnderlyingDividendPaymentCurrency = 42858,\n  /** Accrued interest on the dividend or coupon payment. */\n  UnderlyingDividendAccruedInterest = 42859,\n  /** Specifies the actual dividend payout ratio associated with the equity or bond underlier. */\n  UnderlyingDividendPayoutRatio = 42860,\n  /** Specifies the dividend payout conditions that will be applied in the case where the actual ratio is not known, typically because of regulatory or legal uncertainties. */\n  UnderlyingDividendPayoutConditions = 42861,\n  /** Number of entries in the UnderlyingDividendPeriodGrp component. */\n  NoUnderlyingDividendPeriods = 42862,\n  /** Defines the ordinal dividend period. E.g. 1 = First period, 2 = Second period, etc. */\n  UnderlyingDividendPeriodSequence = 42863,\n  /** The unadjusted date on which the dividend period will begin. */\n  UnderlyingDividendPeriodStartDateUnadjusted = 42864,\n  /** The unadjusted date on which the dividend period will end. */\n  UnderlyingDividendPeriodEndDateUnadjusted = 42865,\n  /** References the dividend underlier through the instrument's UnderlyingSecurityID(309) which must be fully specified in an instance of the UnderlyingInstrument component. */\n  UnderlyingDividendPeriodUnderlierRefID = 42866,\n  /** Specifies the fixed strike price of the dividend period. */\n  UnderlyingDividendPeriodStrikePrice = 42867,\n  /** The dividend period dates business day convention. */\n  UnderlyingDividendPeriodBusinessDayConvention = 42868,\n  /** The unadjusted dividend period valuation date. */\n  UnderlyingDividendPeriodValuationDateUnadjusted = 42869,\n  UnderlyingDividendPeriodValuationDateRelativeTo = 42870,\n  /** Time unit multiplier for the relative dividend period valuation date offset. */\n  UnderlyingDividendPeriodValuationDateOffsetPeriod = 42871,\n  /** Time unit associated with the relative dividend period valuation date offset. */\n  UnderlyingDividendPeriodValuationDateOffsetUnit = 42872,\n  /** Specifies the day type of the relative dividend period valuation date offset. */\n  UnderlyingDividendPeriodValuationDateOffsetDayType = 42873,\n  /** The adjusted dividend period valuation date. */\n  UnderlyingDividendPeriodValuationDateAdjusted = 42874,\n  /** The unadjusted dividend period payment date. */\n  UnderlyingDividendPeriodPaymentDateUnadjusted = 42875,\n  UnderlyingDividendPeriodPaymentDateRelativeTo = 42876,\n  /** Time unit multiplier for the relative dividend period payment date offset. */\n  UnderlyingDividendPeriodPaymentDateOffsetPeriod = 42877,\n  /** Time unit associated with the relative dividend period payment date offset. */\n  UnderlyingDividendPeriodPaymentDateOffsetUnit = 42878,\n  /** Specifies the day type of the relative dividend period payment date offset. */\n  UnderlyingDividendPeriodPaymentDateOffsetDayType = 42879,\n  /** The adjusted dividend period payment date. */\n  UnderlyingDividendPeriodPaymentDateAdjusted = 42880,\n  /** Identifier for linking this stream dividend period to an underlier through an instance of RelatedInstrumentGrp. */\n  UnderlyingDividendPeriodXID = 42881,\n  /** Number of entries in UnderlyingDividendPeriodBusinessCenterGrp. */\n  NoUnderlyingDividendPeriodBusinessCenters = 42882,\n  UnderlyingDividendPeriodBusinessCenter = 42883,\n  /** Number of extraordinary events in the repeating group. */\n  NoUnderlyingExtraordinaryEvents = 42884,\n  UnderlyingExtraordinaryEventType = 42885,\n  UnderlyingExtraordinaryEventValue = 42886,\n  /** Side value of the party electing the settlement method. */\n  UnderlyingSettlMethodElectingPartySide = 42887,\n  /** The date through which the option cannot be exercised without penalty. */\n  UnderlyingMakeWholeDate = 42888,\n  /** Amount to be paid by the buyer of the option if the option is exercised prior to the UnderlyingMakeWholeDate(42888). */\n  UnderlyingMakeWholeAmount = 42889,\n  /** Identifies the benchmark floating rate index. */\n  UnderlyingMakeWholeBenchmarkCurveName = 42890,\n  UnderlyingMakeWholeBenchmarkCurvePoint = 42891,\n  /** Spread over the floating rate index. */\n  UnderlyingMakeWholeRecallSpread = 42892,\n  /** The quote side of the benchmark to be used for calculating the \"make whole\" amount. */\n  UnderlyingMakeWholeBenchmarkQuote = 42893,\n  /** The method used when calculating the \"make whole\" amount. The most common is linear method. */\n  UnderlyingMakeWholeInterpolationMethod = 42894,\n  /** Indicates whether cash settlement is applicable. */\n  UnderlyingPaymentStreamCashSettlIndicator = 42895,\n  /** Reference to the stream which details the compounding fixed or floating rate. */\n  UnderlyingPaymentStreamCompoundingXIDRef = 42896,\n  /** The spread to be used for compounding. Used in scenarios where the interest payment is based on a compounding formula that uses a compounding spread in addition to the regular spread. */\n  UnderlyingPaymentStreamCompoundingSpread = 42897,\n  /** The method used when calculating the index rate from multiple points on the curve. The most common is linear method. */\n  UnderlyingPaymentStreamInterpolationMethod = 42898,\n  /** Defines applicable periods for interpolation. */\n  UnderlyingPaymentStreamInterpolationPeriod = 42899,\n  /** The compounding fixed rate applicable to the payment stream. */\n  UnderlyingPaymentStreamCompoundingFixedRate = 42900,\n  /** Number of dates in the repeating group. */\n  NoUnderlyingPaymentStreamCompoundingDates = 42901,\n  /** The compounding date. Type of date is specified in UnderlyingPaymentStreamCompoundingDateType(42903). */\n  UnderlyingPaymentStreamCompoundingDate = 42902,\n  /** Specifies the type of payment compounding date (e.g. adjusted for holidays). */\n  UnderlyingPaymentStreamCompoundingDateType = 42903,\n  /** The compounding dates business day convention. */\n  UnderlyingPaymentStreamCompoundingDatesBusinessDayConvention = 42904,\n  UnderlyingPaymentStreamCompoundingDatesRelativeTo = 42905,\n  /** Time unit multiplier for the relative compounding date offset. */\n  UnderlyingPaymentStreamCompoundingDatesOffsetPeriod = 42906,\n  /** Time unit associated with the relative compounding date offset. */\n  UnderlyingPaymentStreamCompoundingDatesOffsetUnit = 42907,\n  /** Specifies the day type of the relative compounding date offset. */\n  UnderlyingPaymentStreamCompoundingDatesOffsetDayType = 42908,\n  /** The number of periods in the \"RelativeTo\" schedule that are between each date in the compounding schedule. A skip of 2 would mean that compounding dates are relative to every second date in the \"RelativeTo\" schedule. If present this should have a value greater than 1. */\n  UnderlyingPaymentStreamCompoundingPeriodSkip = 42909,\n  /** Time unit multiplier for the frequency at which compounding dates occur. */\n  UnderlyingPaymentStreamCompoundingFrequencyPeriod = 42910,\n  /** Time unit associated with the frequency at which compounding dates occur. */\n  UnderlyingPaymentStreamCompoundingFrequencyUnit = 42911,\n  /** The convention for determining the sequence of compounding dates. It is used in conjunction with a specified frequency. */\n  UnderlyingPaymentStreamCompoundingRollConvention = 42912,\n  /** The unadjusted first date of the compounding schedule. This can be used to restrict the range of dates when they are relative. */\n  UnderlyingPaymentStreamBoundsFirstDateUnadjusted = 42913,\n  /** The unadjusted last date of the compounding schedule. This can be used to restrict the range of dates when they are relative. */\n  UnderlyingPaymentStreamBoundsLastDateUnadjusted = 42914,\n  /** Number of business centers in the repeating group. */\n  NoUnderlyingPaymentStreamCompoundingDatesBusinessCenters = 42915,\n  UnderlyingPaymentStreamCompoundingDatesBusinessCenter = 42916,\n  /** The unadjusted compounding end date. */\n  UnderlyingPaymentStreamCompoundingEndDateUnadjusted = 42917,\n  UnderlyingPaymentStreamCompoundingEndDateRelativeTo = 42918,\n  /** Time unit multiplier for the relative compounding end date offset. */\n  UnderlyingPaymentStreamCompoundingEndDateOffsetPeriod = 42919,\n  /** Time unit associated with the relative compounding end date offset. */\n  UnderlyingPaymentStreamCompoundingEndDateOffsetUnit = 42920,\n  /** Specifies the day type of the relative compounding end date offset. */\n  UnderlyingPaymentStreamCompoundingEndDateOffsetDayType = 42921,\n  /** The adjusted compounding end date. */\n  UnderlyingPaymentStreamCompoundingEndDateAdjusted = 42922,\n  /** The payment stream's compounding floating rate index. */\n  UnderlyingPaymentStreamCompoundingRateIndex = 42923,\n  /** Time unit multiplier for the payment stream's compounding floating rate index curve period. */\n  UnderlyingPaymentStreamCompoundingRateIndexCurvePeriod = 42924,\n  /** Time unit associated with the payment stream's compounding floating rate index curve period. */\n  UnderlyingPaymentStreamCompoundingRateIndexCurveUnit = 42925,\n  /** A rate multiplier to apply to the compounding floating rate. The multiplier can be less than or greater than 1 (one). This should only be included if the multiplier is not equal to 1 (one) for the term of the stream. */\n  UnderlyingPaymentStreamCompoundingRateMultiplier = 42926,\n  /** The basis points spread from the index specified in UnderlyingPaymentStreamCompoundingRateIndex(42923). */\n  UnderlyingPaymentStreamCompoundingRateSpread = 42927,\n  /** Identifies whether the rate spread is applied to a long or short position. */\n  UnderlyingPaymentStreamCompoundingRateSpreadPositionType = 42928,\n  /** Specifies the yield calculation treatment for the index. */\n  UnderlyingPaymentStreamCompoundingRateTreatment = 42929,\n  /** The cap rate, if any, which applies to the compounding floating rate. It is only required where the compounding floating rate on a swap stream is capped at a certain level. The cap rate is assumed to be exclusive of any spread and is a per annum rate, expressed as a decimal. A cap rate of 5% would be represented as \"0.05\". */\n  UnderlyingPaymentStreamCompoundingCapRate = 42930,\n  /** Reference to the buyer of the compounding cap rate option through its trade side. */\n  UnderlyingPaymentStreamCompoundingCapRateBuySide = 42931,\n  /** Reference to the seller of the compounding cap rate option through its trade side. */\n  UnderlyingPaymentStreamCompoundingCapRateSellSide = 42932,\n  /** The floor rate, if any, which applies to the compounding floating rate. The floor rate (strike) is only required where the compounding floating rate on a swap stream is floored at a certain strike level. The floor rate is assumed to be exclusive of any spread and is a per annum rate. The rate is expressed as a decimal, e.g. 5% is represented as \"0.05\". */\n  UnderlyingPaymentStreamCompoundingFloorRate = 42933,\n  /** Reference to the buyer of the compounding floor rate option through its trade side. */\n  UnderlyingPaymentStreamCompoundingFloorRateBuySide = 42934,\n  /** Reference to the seller of the floor rate option through its trade side. */\n  UnderlyingPaymentStreamCompoundingFloorRateSellSide = 42935,\n  /** The initial compounding floating rate reset agreed between the principal parties involved in the trade. It should only be included when the rate is not equal to the rate published on the source implied by the floating rate index. The initial rate is expressed in decimal form, e.g. 5% is represented as \"0.05\". */\n  UnderlyingPaymentStreamCompoundingInitialRate = 42936,\n  /** Specifies the rounding direction for the compounding floating rate. */\n  UnderlyingPaymentStreamCompoundingFinalRateRoundingDirection = 42937,\n  /** Specifies the compounding floating rate rounding precision in terms of a number of decimal places. Note how a percentage rate rounding of 5 decimal places is expressed as a rounding precision of 7. */\n  UnderlyingPaymentStreamCompoundingFinalRatePrecision = 42938,\n  /** Specifies the averaging method when compounding floating rate averaging is applicable (e.g. weighted or unweighted). */\n  UnderlyingPaymentStreamCompoundingAveragingMethod = 42939,\n  /** Specifies the method for calculating payment obligations when a compounding floating rate is negative (either due to a quoted negative floating rate or by operation of a spread that is subtracted from the floating rate). */\n  UnderlyingPaymentStreamCompoundingNegativeRateTreatment = 42940,\n  /** The unadjusted compounding start date. */\n  UnderlyingPaymentStreamCompoundingStartDateUnadjusted = 42941,\n  UnderlyingPaymentStreamCompoundingStartDateRelativeTo = 42942,\n  /** Time unit multiplier for the relative compounding start date offset. */\n  UnderlyingPaymentStreamCompoundingStartDateOffsetPeriod = 42943,\n  /** Time unit associated with the relative compounding start date offset. */\n  UnderlyingPaymentStreamCompoundingStartDateOffsetUnit = 42944,\n  /** Specifies the day type of the relative compounding start date offset. */\n  UnderlyingPaymentStreamCompoundingStartDateOffsetDayType = 42945,\n  /** The adjusted compounding start date. */\n  UnderlyingPaymentStreamCompoundingStartDateAdjusted = 42946,\n  /** Length in bytes of the UnderlyingPaymentStreamFormulaImage(42948) field. */\n  UnderlyingPaymentStreamFormulaImageLength = 42947,\n  /** Image of the formula image when represented through an encoded clip in base64Binary. */\n  UnderlyingPaymentStreamFormulaImage = 42948,\n  /** The unadjusted final price payment date. */\n  UnderlyingPaymentStreamFinalPricePaymentDateUnadjusted = 42949,\n  UnderlyingPaymentStreamFinalPricePaymentDateRelativeTo = 42950,\n  /** Time unit multiplier for the relative final price payment date offset. */\n  UnderlyingPaymentStreamFinalPricePaymentDateOffsetPeriod = 42951,\n  /** Time unit associated with the relative final price payment date offset. */\n  UnderlyingPaymentStreamFinalPricePaymentDateOffsetUnit = 42952,\n  /** Specifies the day type of the relative final price payment date offset. */\n  UnderlyingPaymentStreamFinalPricePaymentDateOffsetDayType = 42953,\n  /** The adjusted final price payment date. */\n  UnderlyingPaymentStreamFinalPricePaymentDateAdjusted = 42954,\n  /** Number of fixing dates in the repeating group. */\n  NoUnderlyingPaymentStreamFixingDates = 42955,\n  /** The fixing date. Type of date is specified in UnderlyingPaymentStreamFixingDateType(42957). */\n  UnderlyingPaymentStreamFixingDate = 42956,\n  /** Specifies the type of fixing date (e.g. adjusted for holidays). */\n  UnderlyingPaymentStreamFixingDateType = 42957,\n  /** The unadjusted initial price observation date. */\n  UnderlyingPaymentStreamFirstObservationDateUnadjusted = 42958,\n  UnderlyingPaymentStreamFirstObservationDateRelativeTo = 42959,\n  /** Specifies the day type of the initial price observation date offset. */\n  UnderlyingPaymentStreamFirstObservationDateOffsetDayType = 42960,\n  /** The adjusted initial price observation date. */\n  UnderlyingPaymentStreamFirstObservationDateAdjusted = 42961,\n  /** References the dividend underlier through the instrument's UnderlyingSecurityID(309) which must be fully specified in an instance of the UnderlyingInstrument component. */\n  UnderlyingPaymentStreamUnderlierRefID = 42962,\n  /** Indicates whether the term \"Equity Notional Reset\" as defined in the ISDA 2002 Equity Derivatives Definitions is applicable (\"Y\") or not. */\n  UnderlyingReturnRateNotionalReset = 42963,\n  /** Price level at which the correlation or variance swap contract will strike. */\n  UnderlyingPaymentStreamLinkInitialLevel = 42964,\n  /** Indicates whether the correlation or variance swap contract will (\"Y\") strike off the closing level of the default exchange traded contract or not. */\n  UnderlyingPaymentStreamLinkClosingLevelIndicator = 42965,\n  /** Indicates whether the correlation or variance swap contract will (\"Y\") strike off the expiring level of the default exchange traded contract or not. */\n  UnderlyingPaymentStreamLinkExpiringLevelIndicator = 42966,\n  /** The expected number of trading days in the variance or correlation swap stream. */\n  UnderlyingPaymentStreamLinkEstimatedTradingDays = 42967,\n  /** The strike price of a correlation or variance swap stream. */\n  UnderlyingPaymentStreamLinkStrikePrice = 42968,\n  /** For a variance swap specifies how UnderlyingPaymentStreamLinkStrikePrice(42968) is expressed. */\n  UnderlyingPaymentStreamLinkStrikePriceType = 42969,\n  UnderlyingPaymentStreamLinkMaximumBoundary = 42970,\n  UnderlyingPaymentStreamLinkMinimumBoundary = 42971,\n  /** Number of data series for a correlation swap. Normal market practice is that correlation data sets are drawn from geographic market areas, such as America, Europe and Asia Pacific. Each of these geographic areas will have its own data series to avoid contagion. */\n  UnderlyingPaymentStreamLinkNumberOfDataSeries = 42972,\n  /** Indicates the scaling factor to be multiplied by the variance strike price thereby making variance cap applicable. */\n  UnderlyingPaymentStreamVarianceUnadjustedCap = 42973,\n  /** Indicates which price to use to satisfy the boundary condition. */\n  UnderlyingPaymentStreamRealizedVarianceMethod = 42974,\n  /** Indicates whether the contract specifies that the notional should be scaled by the number of days in range divided by the estimate trading days or not. The number of \"days in range\" refers to the number of returns that contribute to the realized volatility. */\n  UnderlyingPaymentStreamDaysAdjustmentIndicator = 42975,\n  /** References a contract listed on an exchange through the instrument's UnderlyingSecurityID(309) which must be fully specified in an instance of the UnderlyingInstrument component. */\n  UnderlyingPaymentStreamNearestExchangeContractRefID = 42976,\n  /** Vega Notional represents the approximate gain/loss at maturity for a 1% difference between RVol (realised volatility) and KVol (strike volatility). It does not necessarily represent the Vega risk of the trade. */\n  UnderlyingPaymentStreamVegaNotionalAmount = 42977,\n  /** The currency in which the formula amount is denominated. Uses ISO 4217 currency codes. */\n  UnderlyingPaymentStreamFormulaCurrency = 42978,\n  UnderlyingPaymentStreamFormulaCurrencyDeterminationMethod = 42979,\n  UnderlyingPaymentStreamFormulaReferenceAmount = 42980,\n  /** Number of formulas in the repeating group. */\n  NoUnderlyingPaymentStreamFormulas = 42981,\n  /** Contains an XML representation of the formula. Defined for flexibility in choice of language (MathML, OpenMath or text). */\n  UnderlyingPaymentStreamFormula = 42982,\n  /** A description of the math formula in UnderlyingPaymentStreamFormula(42982). */\n  UnderlyingPaymentStreamFormulaDesc = 42983,\n  /** The unadjusted stub end date. */\n  UnderlyingPaymentStubEndDateUnadjusted = 42984,\n  /** The stub end date business day convention. */\n  UnderlyingPaymentStubEndDateBusinessDayConvention = 42985,\n  UnderlyingPaymentStubEndDateRelativeTo = 42986,\n  /** Time unit multiplier for the relative stub end date offset. */\n  UnderlyingPaymentStubEndDateOffsetPeriod = 42987,\n  /** Time unit associated with the relative stub end date offset. */\n  UnderlyingPaymentStubEndDateOffsetUnit = 42988,\n  /** Specifies the day type of the relative stub end date offset. */\n  UnderlyingPaymentStubEndDateOffsetDayType = 42989,\n  /** The adjusted stub end date. */\n  UnderlyingPaymentStubEndDateAdjusted = 42990,\n  /** Number of business centers in the repeating group. */\n  NoUnderlyingPaymentStubEndDateBusinessCenters = 42991,\n  UnderlyingPaymentStubEndDateBusinessCenter = 42992,\n  /** The unadjusted stub start date. */\n  UnderlyingPaymentStubStartDateUnadjusted = 42993,\n  /** The stub start date business day convention. */\n  UnderlyingPaymentStubStartDateBusinessDayConvention = 42994,\n  UnderlyingPaymentStubStartDateRelativeTo = 42995,\n  /** Time unit multiplier for the relative stub start date offset. */\n  UnderlyingPaymentStubStartDateOffsetPeriod = 42996,\n  /** Time unit associated with the relative stub start date offset. */\n  UnderlyingPaymentStubStartDateOffsetUnit = 42997,\n  /** Specifies the day type of the relative stub start date offset. */\n  UnderlyingPaymentStubStartDateOffsetDayType = 42998,\n  /** The adjusted stub start date. */\n  UnderlyingPaymentStubStartDateAdjusted = 42999,\n  /** Number of business centers in the repeating group. */\n  NoUnderlyingPaymentStubStartDateBusinessCenters = 43000,\n  UnderlyingPaymentStubStartDateBusinessCenter = 43001,\n  /** Type of fee elected for the break provision. */\n  UnderlyingProvisionBreakFeeElection = 43002,\n  /** Break fee election rate when the break fee is proportional to the notional. A fee rate of 5% would be represented as \"0.05\". */\n  UnderlyingProvisionBreakFeeRate = 43003,\n  /** Specifies the initial rate spread for a basket underlier. */\n  UnderlyingRateSpreadInitialValue = 43004,\n  /** Number of entries in the repeating group. */\n  NoUnderlyingRateSpreadSteps = 43005,\n  /** The date that the rate spread step takes affect. */\n  UnderlyingRateSpreadStepDate = 43006,\n  /** The the value of the new rate spread as of the UnderlyingRateSpreadStepDate(43006). */\n  UnderlyingRateSpreadStepValue = 43007,\n  /** Number of iterations in the return rate date repeating group. */\n  NoUnderlyingReturnRateDates = 43008,\n  /** Specifies the valuation type applicable to the return rate date. */\n  UnderlyingReturnRateDateMode = 43009,\n  UnderlyingReturnRateValuationDateRelativeTo = 43010,\n  /** Time unit multiplier for the relative return rate valuation date offset. */\n  UnderlyingReturnRateValuationDateOffsetPeriod = 43011,\n  /** Time unit associated with the relative return rate valuation date offset. */\n  UnderlyingReturnRateValuationDateOffsetUnit = 43012,\n  /** Specifies the day type of the relative return rate valuation date offset. */\n  UnderlyingReturnRateValuationDateOffsetDayType = 43013,\n  /** The unadjusted start date for return rate valuation. This can be used to restrict the range of dates when they are relative. */\n  UnderlyingReturnRateValuationStartDateUnadjusted = 43014,\n  UnderlyingReturnRateValuationStartDateRelativeTo = 43015,\n  /** Time unit multiplier for the relative return rate valuation start date offset. */\n  UnderlyingReturnRateValuationStartDateOffsetPeriod = 43016,\n  /** Time unit associated with the relative return rate valuation start date offset. */\n  UnderlyingReturnRateValuationStartDateOffsetUnit = 43017,\n  /** Specifies the day type of the relative return rate valuation start date offset. */\n  UnderlyingReturnRateValuationStartDateOffsetDayType = 43018,\n  /** The adjusted start date for return rate valuation. This can be used to restrict the range of dates when they are relative. */\n  UnderlyingReturnRateValuationStartDateAdjusted = 43019,\n  /** The unadjusted end date for return rate valuation. This can be used to restrict the range of dates when they are relative. */\n  UnderlyingReturnRateValuationEndDateUnadjusted = 43020,\n  UnderlyingReturnRateValuationEndDateRelativeTo = 43021,\n  /** Time unit multiplier for the relative return rate valuation end date offset. */\n  UnderlyingReturnRateValuationEndDateOffsetPeriod = 43022,\n  /** Time unit associated with the relative return rate valuation end date offset. */\n  UnderlyingReturnRateValuationEndDateOffsetUnit = 43023,\n  /** Specifies the day type of the relative return rate valuation end date offset. */\n  UnderlyingReturnRateValuationEndDateOffsetDayType = 43024,\n  /** The adjusted end date for return rate valuation. This can be used to restrict the range of dates when they are relative. */\n  UnderlyingReturnRateValuationEndDateAdjusted = 43025,\n  /** Time unit multiplier for the frequency at which return rate valuation dates occur. */\n  UnderlyingReturnRateValuationFrequencyPeriod = 43026,\n  /** Time unit associated with the frequency at which return rate valuation dates occur. */\n  UnderlyingReturnRateValuationFrequencyUnit = 43027,\n  /** The convention for determining the sequence of return rate valuation dates. It is used in conjunction with a specified frequency. */\n  UnderlyingReturnRateValuationFrequencyRollConvention = 43028,\n  /** The return rate valuation dates business day convention. */\n  UnderlyingReturnRateValuationDateBusinessDayConvention = 43029,\n  /** Number of iterations in the return rate FX conversion repeating group. */\n  NoUnderlyingReturnRateFXConversions = 43030,\n  /** Specifies the currency pair for the FX conversion expressed using the CCY1/CCY2 convention. Uses ISO 4217 currency codes. */\n  UnderlyingReturnRateFXCurrencySymbol = 43031,\n  /** The rate of exchange between the two currencies specified in UnderlyingReturnRateFXCurrencySymbol(43031). */\n  UnderlyingReturnRateFXRate = 43032,\n  /** Specifies whether UnderlyingReturnRateFXRate(43032) should be multiplied or divided. */\n  UnderlyingReturnRateFXRateCalc = 43033,\n  /** Number of iterations in the return rate repeating group. */\n  NoUnderlyingReturnRates = 43034,\n  /** Specifies the type of price sequence of the return rate. */\n  UnderlyingReturnRatePriceSequence = 43035,\n  /** Specifies the basis or unit used to calculate the commission. */\n  UnderlyingReturnRateCommissionBasis = 43036,\n  /** The commission amount. */\n  UnderlyingReturnRateCommissionAmount = 43037,\n  /** Specifies the currency the commission amount is denominated in. Uses ISO 4217 currency codes. */\n  UnderlyingReturnRateCommissionCurrency = 43038,\n  /** The total commission per trade. */\n  UnderlyingReturnRateTotalCommissionPerTrade = 43039,\n  UnderlyingReturnRateDeterminationMethod = 43040,\n  UnderlyingReturnRateAmountRelativeTo = 43041,\n  UnderlyingReturnRateQuoteMeasureType = 43042,\n  UnderlyingReturnRateQuoteUnits = 43043,\n  /** Specifies the type of quote used to determine the return rate of the swap. */\n  UnderlyingReturnRateQuoteMethod = 43044,\n  /** Specifies the currency the return rate quote is denominated in. Uses ISO 4217 Currency Code. */\n  UnderlyingReturnRateQuoteCurrency = 43045,\n  UnderlyingReturnRateQuoteCurrencyType = 43046,\n  /** Specifies how or the timing when the quote is to be obtained. */\n  UnderlyingReturnRateQuoteTimeType = 43047,\n  /** The time when the quote is to be generated. */\n  UnderlyingReturnRateQuoteTime = 43048,\n  /** The date when the quote is to be generated. */\n  UnderlyingReturnRateQuoteDate = 43049,\n  /** The time when the quote ceases to be valid. */\n  UnderlyingReturnRateQuoteExpirationTime = 43050,\n  UnderlyingReturnRateQuoteBusinessCenter = 43051,\n  /** Specifies the exchange (e.g. stock or listed futures/options exchange) from which the quote is obtained. */\n  UnderlyingReturnRateQuoteExchange = 43052,\n  UnderlyingReturnRateQuotePricingModel = 43053,\n  UnderlyingReturnRateCashFlowType = 43054,\n  /** Specifies the timing at which the calculation agent values the underlying. */\n  UnderlyingReturnRateValuationTimeType = 43055,\n  /** The time at which the calculation agent values the underlying asset. */\n  UnderlyingReturnRateValuationTime = 43056,\n  UnderlyingReturnRateValuationTimeBusinessCenter = 43057,\n  /** Indicates whether an ISDA price option applies, and if applicable which type of price. */\n  UnderlyingReturnRateValuationPriceOption = 43058,\n  /** Specifies the fallback provision for the hedging party in the determination of the final price. */\n  UnderlyingReturnRateFinalPriceFallback = 43059,\n  /** Number of iterations in the return rate information source repeating group. */\n  NoUnderlyingReturnRateInformationSources = 43060,\n  /** Identifies the source of rate information. For FX the references source to be used for the FX spot rate. */\n  UnderlyingReturnRateInformationSource = 43061,\n  UnderlyingReturnRateReferencePage = 43062,\n  /** Identifies the page heading from the rate source. */\n  UnderlyingReturnRateReferencePageHeading = 43063,\n  /** Number of iterations in the return rate price repeating group. */\n  NoUnderlyingReturnRatePrices = 43064,\n  /** The basis of the return price. */\n  UnderlyingReturnRatePriceBasis = 43065,\n  /** Specifies the price of the underlying swap asset. */\n  UnderlyingReturnRatePrice = 43066,\n  /** Specifies the currency of the price of the underlying swap asset. Uses ISO 4217 currency codes. */\n  UnderlyingReturnRatePriceCurrency = 43067,\n  /** Specifies whether the UnderlyingReturnRatePrice(43066) is expressed in absolute or relative terms. */\n  UnderlyingReturnRatePriceType = 43068,\n  /** Number of iterations in the return rate valuation date business center repeating group. */\n  NoUnderlyingReturnRateValuationDateBusinessCenters = 43069,\n  UnderlyingReturnRateValuationDateBusinessCenter = 43070,\n  /** Number of iterations in the return rate valuation date repeating group. */\n  NoUnderlyingReturnRateValuationDates = 43071,\n  /** The return rate valuation date. Type of date is specified in UnderlyingReturnRateValuationDateType(43073). */\n  UnderlyingReturnRateValuationDate = 43072,\n  /** Specifies the type of return rate valuation date (e.g. adjusted for holidays). */\n  UnderlyingReturnRateValuationDateType = 43073,\n  /** Number of business centers in the repeating group. */\n  NoUnderlyingSettlMethodElectionDateBusinessCenters = 43074,\n  UnderlyingSettlMethodElectionDateBusinessCenter = 43075,\n  /** The unadjusted settlement method election date. */\n  UnderlyingSettlMethodElectionDateUnadjusted = 43076,\n  /** The settlement method election date adjustment business day convention. */\n  UnderlyingSettlMethodElectionDateBusinessDayConvention = 43077,\n  UnderlyingSettlMethodElectionDateRelativeTo = 43078,\n  /** Time unit multiplier for the relative settlement method election date offset. */\n  UnderlyingSettlMethodElectionDateOffsetPeriod = 43079,\n  /** Time unit associated with the relative settlement method election date offset. */\n  UnderlyingSettlMethodElectionDateOffsetUnit = 43080,\n  /** Specifies the day type of the relative settlement method election date offset. */\n  UnderlyingSettlMethodElectionDateOffsetDayType = 43081,\n  /** The adjusted settlement method election date. */\n  UnderlyingSettlMethodElectionDateAdjusted = 43082,\n  /** The stream version identifier when there have been modifications to the contract over time. Helps signal when there are embedded changes. */\n  UnderlyingStreamVersion = 43083,\n  /** The effective date of the UnderlyingStreamVersion(43083). */\n  UnderlyingStreamVersionEffectiveDate = 43084,\n  UnderlyingStreamNotionalDeterminationMethod = 43085,\n  /** For equity swaps this specifies the conditions that govern the adjustment to the number of units of the swap. */\n  UnderlyingStreamNotionalAdjustments = 43086,\n  /** A short descriptive name given to the payment, e.g. Premium, Upfront, etc. The description has no intrinsic meaning but should be arbitrarily chosen by the remitter as reference. */\n  PaymentDesc = 43087,\n  /** Security identifier of the floating rate index. */\n  LegPaymentStreamRateIndexID = 43088,\n  /** Source for the floating rate index identified in LegPaymentStreamRateIndexID(43088). */\n  LegPaymentStreamRateIndexIDSource = 43089,\n  /** Security identifier of the floating rate index. */\n  PaymentStreamRateIndexID = 43090,\n  /** Source for the floating rate index identified in PaymentStreamRateIndexID(43090). */\n  PaymentStreamRateIndexIDSource = 43091,\n  /** Security identifier of the floating rate index. */\n  UnderlyingPaymentStreamRateIndexID = 43092,\n  /** Source for the floating rate index identified in UnderlyingPaymentStreamRateIndexID(43092). */\n  UnderlyingPaymentStreamRateIndexIDSource = 43093,\n  /** Specific delivery route or time charter average. Applicable to commodity freight swaps. */\n  DeliveryStreamRouteOrCharter = 43094,\n  /** Specific delivery route or time charter average. Applicable to commodity freight swaps. */\n  LegDeliveryStreamRouteOrCharter = 43095,\n  /** Specific delivery route or time charter average. Applicable to commodity freight swaps. */\n  UnderlyingDeliveryStreamRouteOrCharter = 43096,\n  /** The rate applicable to the fixed rate payment. */\n  PaymentFixedRate = 43097,\n  /** The payment floating rate index. See SpreadOrBenchmarkCurveData(221) for suggested values. */\n  PaymentFloatingRateIndex = 43098,\n  /** Time unit multiplier for the floating rate index. */\n  PaymentFloatingRateIndexCurvePeriod = 43099,\n  /** Time unit associated with the floating rate index. */\n  PaymentFloatingRateIndexCurveUnit = 43100,\n  /** Spread from floating rate index. */\n  PaymentFloatingRateSpread = 43101,\n  /** Time unit multiplier for the payment frequency. */\n  PaymentFrequencyPeriod = 43102,\n  /** Time unit associated with the payment frequency. */\n  PaymentFrequencyUnit = 43103,\n  /** Time unit multiplier for the floating rate reset frequency. */\n  PaymentRateResetFrequencyPeriod = 43104,\n  /** Time unit associated with the floating rate reset frequency. */\n  PaymentRateResetFrequencyUnit = 43105,\n  /** The industry name of the day count convention not listed in PaymentStreamDayCount(40742). */\n  PaymentStreamOtherDayCount = 43106,\n  /** The industry name of the day count convention not listed in UnderlyingPaymentStreamDayCount(40572). */\n  UnderlyingPaymentStreamOtherDayCount = 43107,\n  /** The industry name of the day count convention not listed in LegPaymentStreamDayCount(40283). */\n  LegPaymentStreamOtherDayCount = 43108,\n  /** Byte length of encoded (non-ASCII characters) PaymentStreamFormula(42648) field. */\n  PaymentStreamFormulaLength = 43109,\n  /** Byte length of encoded (non-ASCII characters) LegPaymentStreamFormula(42486) field. */\n  LegPaymentStreamFormulaLength = 43110,\n  /** Byte length of encoded (non-ASCII characters) UnderlyingPaymentStreamFormula(42982) field. */\n  UnderlyingPaymentStreamFormulaLength = 43111,\n  /** The payment stream's second floating rate index. */\n  PaymentStreamRateIndex2 = 43112,\n  /** The source of the payment stream's second floating rate index. */\n  PaymentStreamRateIndex2Source = 43113,\n  /** Security identifier of the second floating rate index. */\n  PaymentStreamRateIndex2ID = 43114,\n  /** Source for the second floating rate index identified in PaymentStreamRateIndex2ID(43114). */\n  PaymentStreamRateIndex2IDSource = 43115,\n  /** The payment stream's second floating rate index. */\n  LegPaymentStreamRateIndex2 = 43116,\n  /** The source of the payment stream's second floating rate index. */\n  LegPaymentStreamRateIndex2Source = 43117,\n  /** Security identifier of the second floating rate index. */\n  LegPaymentStreamRateIndex2ID = 43118,\n  /** Source for the second floating rate index identified in LegPaymentStreamRateIndex2ID(43118). */\n  LegPaymentStreamRateIndex2IDSource = 43119,\n  /** The payment stream's second floating rate index. */\n  UnderlyingPaymentStreamRateIndex2 = 43120,\n  /** The source of the payment stream's second floating rate index. */\n  UnderlyingPaymentStreamRateIndex2Source = 43121,\n  /** Security identifier of the second floating rate index. */\n  UnderlyingPaymentStreamRateIndex2ID = 43122,\n  /** Source for the second floating rate index identified in UnderlyingPaymentStreamRateIndex2ID(43122). */\n  UnderlyingPaymentStreamRateIndex2IDSource = 43123,\n  /** Unique Identifier for a batch of messages. */\n  BatchID = 50000,\n  /** Total # of messages contained within batch. */\n  BatchTotalMessages = 50001,\n  /** Indicates the processing mode for a batch of messages. */\n  BatchProcessMode = 50002,\n}\n", "{\n  \"0\": {\n    \"msgType\": \"0\",\n    \"category\": {\n      \"FIXMLFileName\": \"session\",\n      \"section\": \"Session\",\n      \"componentType\": \"Message\",\n      \"name\": \"Session\"\n    },\n    \"added\": \"FIX.2.7\",\n    \"name\": \"Heartbeat\",\n    \"id\": \"1\",\n    \"abbrName\": \"Heartbeat\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"Session\",\n      \"FIXMLFileName\": \"session\",\n      \"displayOrder\": \"0\",\n      \"description\": \"Session level messages to establish and control a FIX session\"\n    },\n    \"description\": \"The Heartbeat monitors the status of the communication link and identifies when the last of a string of messages was not received.\"\n  },\n  \"1\": {\n    \"msgType\": \"1\",\n    \"category\": {\n      \"FIXMLFileName\": \"session\",\n      \"section\": \"Session\",\n      \"componentType\": \"Message\",\n      \"name\": \"Session\"\n    },\n    \"added\": \"FIX.2.7\",\n    \"name\": \"TestRequest\",\n    \"id\": \"2\",\n    \"abbrName\": \"TestRequest\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"112\",\n        \"added\": \"FIX.4.0\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"abbrName\": \"TestReqID\",\n          \"added\": \"FIX.3.0\",\n          \"name\": \"TestReqID\",\n          \"id\": \"112\",\n          \"description\": \"Identifier included in Test Request message to be returned in resulting Heartbeat\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"Session\",\n      \"FIXMLFileName\": \"session\",\n      \"displayOrder\": \"0\",\n      \"description\": \"Session level messages to establish and control a FIX session\"\n    },\n    \"description\": \"The test request message forces a heartbeat from the opposing application. The test request message checks sequence numbers or verifies communication line status. The opposite application responds to the Test Request with a Heartbeat containing the TestReqID.\"\n  },\n  \"2\": {\n    \"msgType\": \"2\",\n    \"category\": {\n      \"FIXMLFileName\": \"session\",\n      \"section\": \"Session\",\n      \"componentType\": \"Message\",\n      \"name\": \"Session\"\n    },\n    \"added\": \"FIX.2.7\",\n    \"name\": \"ResendRequest\",\n    \"id\": \"3\",\n    \"abbrName\": \"ResendRequest\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"7\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"SeqNum\",\n          \"abbrName\": \"BeginSeqNo\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"BeginSeqNo\",\n          \"id\": \"7\",\n          \"description\": \"Message sequence number of first message in range to be resent\"\n        }\n      },\n      {\n        \"id\": \"16\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"SeqNum\",\n          \"abbrName\": \"EndSeqNo\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"EndSeqNo\",\n          \"id\": \"16\",\n          \"description\": \"Message sequence number of last message in range to be resent. If request is for a single message BeginSeqNo (7) = EndSeqNo. If request is for all messages subsequent to a particular message, EndSeqNo = \\\"0\\\" (representing infinity).\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"Session\",\n      \"FIXMLFileName\": \"session\",\n      \"displayOrder\": \"0\",\n      \"description\": \"Session level messages to establish and control a FIX session\"\n    },\n    \"description\": \"The resend request is sent by the receiving application to initiate the retransmission of messages. This function is utilized if a sequence number gap is detected, if the receiving application lost a message, or as a function of the initialization process.\"\n  },\n  \"3\": {\n    \"msgType\": \"3\",\n    \"category\": {\n      \"FIXMLFileName\": \"session\",\n      \"section\": \"Session\",\n      \"componentType\": \"Message\",\n      \"name\": \"Session\"\n    },\n    \"added\": \"FIX.2.7\",\n    \"name\": \"Reject\",\n    \"id\": \"4\",\n    \"abbrName\": \"Reject\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"45\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"SeqNum\",\n          \"abbrName\": \"RefSeqNum\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"RefSeqNum\",\n          \"id\": \"45\",\n          \"description\": \"Reference message sequence number\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"Session\",\n      \"FIXMLFileName\": \"session\",\n      \"displayOrder\": \"0\",\n      \"description\": \"Session level messages to establish and control a FIX session\"\n    },\n    \"description\": \"The reject message should be issued when a message is received but cannot be properly processed due to a session-level rule violation. An example of when a reject may be appropriate would be the receipt of a message with invalid basic data which successfully passes de-encryption, CheckSum and BodyLength checks.\"\n  },\n  \"4\": {\n    \"msgType\": \"4\",\n    \"category\": {\n      \"FIXMLFileName\": \"session\",\n      \"section\": \"Session\",\n      \"componentType\": \"Message\",\n      \"name\": \"Session\"\n    },\n    \"added\": \"FIX.2.7\",\n    \"name\": \"SequenceReset\",\n    \"id\": \"5\",\n    \"abbrName\": \"SequenceReset\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"36\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"SeqNum\",\n          \"abbrName\": \"NewSeqNo\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"NewSeqNo\",\n          \"id\": \"36\",\n          \"description\": \"New sequence number\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"Session\",\n      \"FIXMLFileName\": \"session\",\n      \"displayOrder\": \"0\",\n      \"description\": \"Session level messages to establish and control a FIX session\"\n    },\n    \"description\": \"The sequence reset message is used by the sending application to reset the incoming sequence number on the opposing side.\"\n  },\n  \"5\": {\n    \"msgType\": \"5\",\n    \"category\": {\n      \"FIXMLFileName\": \"session\",\n      \"section\": \"Session\",\n      \"componentType\": \"Message\",\n      \"name\": \"Session\"\n    },\n    \"added\": \"FIX.2.7\",\n    \"name\": \"Logout\",\n    \"id\": \"6\",\n    \"abbrName\": \"Logout\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"Session\",\n      \"FIXMLFileName\": \"session\",\n      \"displayOrder\": \"0\",\n      \"description\": \"Session level messages to establish and control a FIX session\"\n    },\n    \"description\": \"The logout message initiates or confirms the termination of a FIX session. Disconnection without the exchange of logout messages should be interpreted as an abnormal condition.\"\n  },\n  \"6\": {\n    \"msgType\": \"6\",\n    \"category\": {\n      \"FIXMLFileName\": \"indications\",\n      \"section\": \"PreTrade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"Indication\"\n    },\n    \"added\": \"FIX.2.7\",\n    \"name\": \"IOI\",\n    \"id\": \"7\",\n    \"abbrName\": \"IOI\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"23\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"baseCategoryAbbrName\": \"ID\",\n          \"baseCategory\": \"Indication\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"IOIID\",\n          \"id\": \"23\",\n          \"abbrName\": \"IOIID\",\n          \"description\": \"Unique identifier of IOI message.\\n\\n(Prior to FIX 4.1 this field was of type int)\"\n        }\n      },\n      {\n        \"id\": \"27\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"IOIQtyCodeSet\",\n          \"unionDataType\": \"Qty\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"IOIQty\",\n          \"id\": \"27\",\n          \"abbrName\": \"Qty\",\n          \"description\": \"Quantity (e.g. number of shares) in numeric form or relative size.\"\n        }\n      },\n      {\n        \"id\": \"28\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"IOITransTypeCodeSet\",\n          \"abbrName\": \"TransTyp\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"IOITransType\",\n          \"id\": \"28\",\n          \"description\": \"Identifies IOI message transaction type\"\n        }\n      },\n      {\n        \"id\": \"54\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"SideCodeSet\",\n          \"abbrName\": \"Side\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"Side\",\n          \"id\": \"54\",\n          \"description\": \"Side of order (see Volume : \\\"Glossary\\\" for value definitions)\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1003\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Common\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"Instrument\",\n          \"id\": \"1003\",\n          \"abbrName\": \"Instrmt\",\n          \"description\": \"The Instrument component block contains all the fields commonly used to describe a security or instrument. Typically the data elements in this component block are considered the static data of a security, data that may be commonly found in a security master database. The Instrument component block can be used to describe any asset type supported by FIX.\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"Indication of interest messages are used to market merchandise which the broker is buying or selling in either a proprietary or agency capacity. The indications can be time bound with a specific expiration value. Indications are distributed with the understanding that other firms may react to the message first and that the merchandise may no longer be available due to prior trade.\\n\\nIndication messages can be transmitted in various transaction types; NEW, CANCEL, and REPLACE. All message types other than NEW modify the state of the message identified in IOIRefID.\"\n  },\n  \"7\": {\n    \"msgType\": \"7\",\n    \"category\": {\n      \"FIXMLFileName\": \"indications\",\n      \"section\": \"PreTrade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"Indication\"\n    },\n    \"added\": \"FIX.2.7\",\n    \"name\": \"Advertisement\",\n    \"id\": \"8\",\n    \"abbrName\": \"Adv\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"2\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"abbrName\": \"AdvId\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"AdvId\",\n          \"id\": \"2\",\n          \"description\": \"Unique identifier of advertisement message.\\n\\n(Prior to FIX 4.1 this field was of type int)\"\n        }\n      },\n      {\n        \"id\": \"4\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"AdvSideCodeSet\",\n          \"abbrName\": \"AdvSide\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"AdvSide\",\n          \"id\": \"4\",\n          \"description\": \"Broker's side of advertised trade\"\n        }\n      },\n      {\n        \"id\": \"5\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"AdvTransTypeCodeSet\",\n          \"abbrName\": \"AdvTransTyp\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"AdvTransType\",\n          \"id\": \"5\",\n          \"description\": \"Identifies advertisement message transaction type\"\n        }\n      },\n      {\n        \"id\": \"53\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"Qty\",\n          \"abbrName\": \"Qty\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"Quantity\",\n          \"id\": \"53\",\n          \"description\": \"Overall/total quantity (e.g. number of shares)\\n\\n(Prior to FIX 4.2 this field was of type int)\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1003\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Common\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"Instrument\",\n          \"id\": \"1003\",\n          \"abbrName\": \"Instrmt\",\n          \"description\": \"The Instrument component block contains all the fields commonly used to describe a security or instrument. Typically the data elements in this component block are considered the static data of a security, data that may be commonly found in a security master database. The Instrument component block can be used to describe any asset type supported by FIX.\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"Advertisement messages are used to announce completed transactions. The advertisement message can be transmitted in various transaction types; NEW, CANCEL and REPLACE. All message types other than NEW modify the state of a previously transmitted advertisement identified in AdvRefID.\"\n  },\n  \"8\": {\n    \"msgType\": \"8\",\n    \"category\": {\n      \"FIXMLFileName\": \"order\",\n      \"section\": \"Trade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"SingleGeneralOrderHandling\"\n    },\n    \"added\": \"FIX.2.7\",\n    \"name\": \"ExecutionReport\",\n    \"id\": \"9\",\n    \"abbrName\": \"ExecRpt\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"14\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"Qty\",\n          \"abbrName\": \"CumQty\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"CumQty\",\n          \"id\": \"14\",\n          \"description\": \"Total quantity (e.g. number of shares) filled.\\n\\n(Prior to FIX 4.2 this field was of type int)\"\n        }\n      },\n      {\n        \"updatedEP\": \"188\",\n        \"updated\": \"FIX.5.0SP2\",\n        \"id\": \"17\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"updated\": \"FIX.5.0SP1\",\n          \"updatedEP\": \"95\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"ExecID\",\n          \"id\": \"17\",\n          \"abbrName\": \"ExecID\",\n          \"description\": \"Unique identifier of execution message as assigned by sell-side (broker, exchange, ECN) (will be 0 (zero) for ExecType (150)=I (Order Status)).\\n\\nUniqueness must be guaranteed within a single trading day or the life of a multi-day order. Firms which accept multi-day orders should consider embedding a date within the ExecID field to assure uniqueness across days.\\n\\n(Prior to FIX 4.1 this field was of type int).\"\n        }\n      },\n      {\n        \"id\": \"37\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"abbrName\": \"OrdID\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"OrderID\",\n          \"id\": \"37\",\n          \"description\": \"Unique identifier for Order as assigned by sell-side (broker, exchange, ECN). Uniqueness must be guaranteed within a single trading day. Firms which accept multi-day orders should consider embedding a date within the OrderID field to assure uniqueness across days.\"\n        }\n      },\n      {\n        \"id\": \"39\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"OrdStatusCodeSet\",\n          \"baseCategoryAbbrName\": \"Stat\",\n          \"baseCategory\": \"SingleGeneralOrderHandling\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"OrdStatus\",\n          \"id\": \"39\",\n          \"abbrName\": \"OrdStat\",\n          \"description\": \"Identifies current status of order. *** SOME VALUES HAVE BEEN REPLACED - See \\\"Replaced Features and Supported Approach\\\" *** (see Volume : \\\"Glossary\\\" for value definitions)\"\n        }\n      },\n      {\n        \"id\": \"54\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"SideCodeSet\",\n          \"abbrName\": \"Side\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"Side\",\n          \"id\": \"54\",\n          \"description\": \"Side of order (see Volume : \\\"Glossary\\\" for value definitions)\"\n        }\n      },\n      {\n        \"id\": \"150\",\n        \"added\": \"FIX.4.1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"ExecTypeCodeSet\",\n          \"updated\": \"FIX.5.0SP2\",\n          \"updatedEP\": \"131\",\n          \"added\": \"FIX.4.1\",\n          \"name\": \"ExecType\",\n          \"id\": \"150\",\n          \"abbrName\": \"ExecTyp\",\n          \"description\": \"Describes the specific ExecutionRpt (e.g. Pending Cancel) while OrdStatus(39) will always identify the current order status (e.g. Partially Filled).\"\n        }\n      },\n      {\n        \"updatedEP\": \"188\",\n        \"updated\": \"FIX.5.0SP2\",\n        \"id\": \"151\",\n        \"added\": \"FIX.4.1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"Qty\",\n          \"abbrName\": \"LeavesQty\",\n          \"added\": \"FIX.4.1\",\n          \"name\": \"LeavesQty\",\n          \"id\": \"151\",\n          \"description\": \"Quantity open for further execution. If the OrdStatus (39) is Canceled, DoneForTheDay, Expired, Calculated, or Rejected (in which case the order is no longer active) then LeavesQty could be 0, otherwise LeavesQty = OrderQty (38) - CumQty (14).\\n\\n(Prior to FIX 4.2 this field was of type int)\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      },\n      {\n        \"updatedEP\": \"188\",\n        \"updated\": \"FIX.5.0SP2\",\n        \"id\": \"1003\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Common\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"Instrument\",\n          \"id\": \"1003\",\n          \"abbrName\": \"Instrmt\",\n          \"description\": \"The Instrument component block contains all the fields commonly used to describe a security or instrument. Typically the data elements in this component block are considered the static data of a security, data that may be commonly found in a security master database. The Instrument component block can be used to describe any asset type supported by FIX.\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"Trade\",\n      \"FIXMLFileName\": \"trade\",\n      \"displayOrder\": \"2\",\n      \"description\": \"Order handling and execution messages\"\n    },\n    \"description\": \"The execution report message is used to:\\n\\n1. confirm the receipt of an order\\n\\n2. confirm changes to an existing order (i.e. accept cancel and replace requests)\\n\\n3. relay order status information\\n\\n4. relay fill information on working orders\\n\\n5. relay fill information on tradeable or restricted tradeable quotes\\n\\n6. reject orders\\n\\n7. report post-trade fees calculations associated with a trade\"\n  },\n  \"9\": {\n    \"msgType\": \"9\",\n    \"category\": {\n      \"FIXMLFileName\": \"order\",\n      \"section\": \"Trade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"SingleGeneralOrderHandling\"\n    },\n    \"added\": \"FIX.2.7\",\n    \"name\": \"OrderCancelReject\",\n    \"id\": \"10\",\n    \"abbrName\": \"OrdCxlRej\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"11\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"updated\": \"FIX.Latest\",\n          \"baseCategoryAbbrName\": \"ID\",\n          \"baseCategory\": \"SingleGeneralOrderHandling\",\n          \"updatedEP\": \"282\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"ClOrdID\",\n          \"id\": \"11\",\n          \"abbrName\": \"ClOrdID\",\n          \"description\": \"Unique identifier for Order as assigned by the buy-side (institution, broker, intermediary etc.) (identified by SenderCompID(49) or OnBehalfOfCompID(115) as appropriate). Uniqueness must be guaranteed within a single trading day. Firms, particularly those which electronically submit multi-day orders, trade globally or throughout market close periods, should ensure uniqueness across days, for example by embedding a date within the ClOrdID(11) field.\"\n        }\n      },\n      {\n        \"id\": \"37\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"abbrName\": \"OrdID\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"OrderID\",\n          \"id\": \"37\",\n          \"description\": \"Unique identifier for Order as assigned by sell-side (broker, exchange, ECN). Uniqueness must be guaranteed within a single trading day. Firms which accept multi-day orders should consider embedding a date within the OrderID field to assure uniqueness across days.\"\n        }\n      },\n      {\n        \"id\": \"39\",\n        \"added\": \"FIX.4.1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"OrdStatusCodeSet\",\n          \"baseCategoryAbbrName\": \"Stat\",\n          \"baseCategory\": \"SingleGeneralOrderHandling\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"OrdStatus\",\n          \"id\": \"39\",\n          \"abbrName\": \"OrdStat\",\n          \"description\": \"Identifies current status of order. *** SOME VALUES HAVE BEEN REPLACED - See \\\"Replaced Features and Supported Approach\\\" *** (see Volume : \\\"Glossary\\\" for value definitions)\"\n        }\n      },\n      {\n        \"id\": \"434\",\n        \"added\": \"FIX.4.2\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"CxlRejResponseToCodeSet\",\n          \"abbrName\": \"CxlRejRspTo\",\n          \"added\": \"FIX.4.2\",\n          \"name\": \"CxlRejResponseTo\",\n          \"id\": \"434\",\n          \"description\": \"Identifies the type of request that a Cancel Reject is in response to.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"Trade\",\n      \"FIXMLFileName\": \"trade\",\n      \"displayOrder\": \"2\",\n      \"description\": \"Order handling and execution messages\"\n    },\n    \"description\": \"The order cancel reject message is issued by the broker upon receipt of a cancel request or cancel/replace request message which cannot be honored.\"\n  },\n  \"A\": {\n    \"msgType\": \"A\",\n    \"category\": {\n      \"FIXMLFileName\": \"session\",\n      \"section\": \"Session\",\n      \"componentType\": \"Message\",\n      \"name\": \"Session\"\n    },\n    \"added\": \"FIX.2.7\",\n    \"name\": \"Logon\",\n    \"id\": \"11\",\n    \"abbrName\": \"Logon\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"98\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"EncryptMethodCodeSet\",\n          \"abbrName\": \"EncryptMethod\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"EncryptMethod\",\n          \"id\": \"98\",\n          \"description\": \"Method of encryption.\"\n        }\n      },\n      {\n        \"id\": \"108\",\n        \"added\": \"FIX.3.0\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"int\",\n          \"abbrName\": \"HeartBtInt\",\n          \"added\": \"FIX.3.0\",\n          \"name\": \"HeartBtInt\",\n          \"id\": \"108\",\n          \"description\": \"Heartbeat interval (seconds)\"\n        }\n      },\n      {\n        \"id\": \"1137\",\n        \"added\": \"FIX.4.4\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"ApplVerIDCodeSet\",\n          \"addedEP\": \"16\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"DefaultApplVerID\",\n          \"id\": \"1137\",\n          \"abbrName\": \"DefApplVerID\",\n          \"description\": \"Specifies the service pack release being applied, by default, to message at the session level. Enumerated field with values assigned at time of service pack release. Uses same values as ApplVerID\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"Session\",\n      \"FIXMLFileName\": \"session\",\n      \"displayOrder\": \"0\",\n      \"description\": \"Session level messages to establish and control a FIX session\"\n    },\n    \"description\": \"The logon message authenticates a user establishing a connection to a remote system. The logon message must be the first message sent by the application requesting to initiate a FIX session.\"\n  },\n  \"B\": {\n    \"msgType\": \"B\",\n    \"category\": {\n      \"FIXMLFileName\": \"newsevents\",\n      \"section\": \"PreTrade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"EventCommunication\"\n    },\n    \"added\": \"FIX.2.7\",\n    \"name\": \"News\",\n    \"id\": \"12\",\n    \"abbrName\": \"News\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"148\",\n        \"added\": \"FIX.4.1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"abbrName\": \"Headline\",\n          \"added\": \"FIX.4.1\",\n          \"name\": \"Headline\",\n          \"id\": \"148\",\n          \"description\": \"The headline of a News message\"\n        }\n      },\n      {\n        \"id\": \"2029\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"group\",\n          \"category\": \"Common\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"LinesOfTextGrp\",\n          \"id\": \"2029\",\n          \"abbrName\": \"TxtLn\",\n          \"numInGroup\": { \"id\": \"33\", \"added\": \"FIX.4.4\" },\n          \"fieldRef\": [\n            {\n              \"id\": \"58\",\n              \"added\": \"FIX.4.4\",\n              \"presence\": \"required\",\n              \"description\": \"Repeating field, number of instances defined in LinesOfText\",\n              \"name\": \"Text\"\n            }\n          ],\n          \"description\": \"\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"The news message is a general free format message between the broker and institution. The message contains flags to identify the news item's urgency and to allow sorting by subject company (symbol). The News message can be originated at either the broker or institution side, or exchanges and other marketplace venues.\"\n  },\n  \"C\": {\n    \"msgType\": \"C\",\n    \"category\": {\n      \"FIXMLFileName\": \"newsevents\",\n      \"section\": \"PreTrade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"EventCommunication\"\n    },\n    \"added\": \"FIX.2.7\",\n    \"name\": \"Email\",\n    \"id\": \"13\",\n    \"abbrName\": \"Email\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"94\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"EmailTypeCodeSet\",\n          \"abbrName\": \"EmailTyp\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"EmailType\",\n          \"id\": \"94\",\n          \"description\": \"Email message type.\"\n        }\n      },\n      {\n        \"id\": \"147\",\n        \"added\": \"FIX.4.1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"abbrName\": \"Subject\",\n          \"added\": \"FIX.4.1\",\n          \"name\": \"Subject\",\n          \"id\": \"147\",\n          \"description\": \"The subject of an Email message\"\n        }\n      },\n      {\n        \"id\": \"164\",\n        \"added\": \"FIX.4.1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"abbrName\": \"EmailThreadID\",\n          \"added\": \"FIX.4.1\",\n          \"name\": \"EmailThreadID\",\n          \"id\": \"164\",\n          \"description\": \"Unique identifier for an email thread (new and chain of replies)\"\n        }\n      },\n      {\n        \"id\": \"2029\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"group\",\n          \"category\": \"Common\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"LinesOfTextGrp\",\n          \"id\": \"2029\",\n          \"abbrName\": \"TxtLn\",\n          \"numInGroup\": { \"id\": \"33\", \"added\": \"FIX.4.4\" },\n          \"fieldRef\": [\n            {\n              \"id\": \"58\",\n              \"added\": \"FIX.4.4\",\n              \"presence\": \"required\",\n              \"description\": \"Repeating field, number of instances defined in LinesOfText\",\n              \"name\": \"Text\"\n            }\n          ],\n          \"description\": \"\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"The email message is similar to the format and purpose of the News message, however, it is intended for private use between two parties.\"\n  },\n  \"D\": {\n    \"msgType\": \"D\",\n    \"category\": {\n      \"FIXMLFileName\": \"order\",\n      \"section\": \"Trade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"SingleGeneralOrderHandling\"\n    },\n    \"added\": \"FIX.2.7\",\n    \"name\": \"NewOrderSingle\",\n    \"id\": \"14\",\n    \"abbrName\": \"Order\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"11\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"updated\": \"FIX.Latest\",\n          \"baseCategoryAbbrName\": \"ID\",\n          \"baseCategory\": \"SingleGeneralOrderHandling\",\n          \"updatedEP\": \"282\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"ClOrdID\",\n          \"id\": \"11\",\n          \"abbrName\": \"ClOrdID\",\n          \"description\": \"Unique identifier for Order as assigned by the buy-side (institution, broker, intermediary etc.) (identified by SenderCompID(49) or OnBehalfOfCompID(115) as appropriate). Uniqueness must be guaranteed within a single trading day. Firms, particularly those which electronically submit multi-day orders, trade globally or throughout market close periods, should ensure uniqueness across days, for example by embedding a date within the ClOrdID(11) field.\"\n        }\n      },\n      {\n        \"id\": \"40\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"OrdTypeCodeSet\",\n          \"baseCategoryAbbrName\": \"Typ\",\n          \"baseCategory\": \"SingleGeneralOrderHandling\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"OrdType\",\n          \"id\": \"40\",\n          \"abbrName\": \"OrdTyp\",\n          \"description\": \"Order type. *** SOME VALUES ARE NO LONGER USED - See \\\"Deprecated (Phased-out) Features and Supported Approach\\\" *** (see Volume : \\\"Glossary\\\" for value definitions)\"\n        }\n      },\n      {\n        \"id\": \"54\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"SideCodeSet\",\n          \"abbrName\": \"Side\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"Side\",\n          \"id\": \"54\",\n          \"description\": \"Side of order (see Volume : \\\"Glossary\\\" for value definitions)\"\n        }\n      },\n      {\n        \"id\": \"60\",\n        \"added\": \"FIX.4.2\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"UTCTimestamp\",\n          \"updated\": \"FIX.5.0SP1\",\n          \"updatedEP\": \"94\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"TransactTime\",\n          \"id\": \"60\",\n          \"abbrName\": \"TxnTm\",\n          \"description\": \"Timestamp when the business transaction represented by the message occurred.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1003\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Common\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"Instrument\",\n          \"id\": \"1003\",\n          \"abbrName\": \"Instrmt\",\n          \"description\": \"The Instrument component block contains all the fields commonly used to describe a security or instrument. Typically the data elements in this component block are considered the static data of a security, data that may be commonly found in a security master database. The Instrument component block can be used to describe any asset type supported by FIX.\\n\\n\"\n        }\n      },\n      {\n        \"updatedEP\": \"221\",\n        \"updated\": \"FIX.5.0SP2\",\n        \"id\": \"1011\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Common\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"OrderQtyData\",\n          \"id\": \"1011\",\n          \"abbrName\": \"OrdQty\",\n          \"description\": \"The OrderQtyData component block contains the fields commonly used for indicating the amount or quantity of an order. Note that when this component block is marked as \\\"required\\\" in a message either one of these three fields must be used to identify the amount: OrderQty, CashOrderQty or OrderPercent (in the case of CIV).\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"Trade\",\n      \"FIXMLFileName\": \"trade\",\n      \"displayOrder\": \"2\",\n      \"description\": \"Order handling and execution messages\"\n    },\n    \"description\": \"The new order message type is used by institutions wishing to electronically submit securities and forex orders to a broker for execution.\\n\\nThe New Order message type may also be used by institutions or retail intermediaries wishing to electronically submit Collective Investment Vehicle (CIV) orders to a broker or fund manager for execution.\"\n  },\n  \"E\": {\n    \"msgType\": \"E\",\n    \"category\": {\n      \"FIXMLFileName\": \"listorders\",\n      \"section\": \"Trade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"ProgramTrading\"\n    },\n    \"added\": \"FIX.2.7\",\n    \"name\": \"NewOrderList\",\n    \"id\": \"15\",\n    \"abbrName\": \"NewOrdList\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"66\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"baseCategoryAbbrName\": \"ID\",\n          \"baseCategory\": \"ProgramTrading\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"ListID\",\n          \"id\": \"66\",\n          \"abbrName\": \"ListID\",\n          \"description\": \"Unique identifier for list as assigned by institution, used to associate multiple individual orders. Uniqueness must be guaranteed within a single trading day. Firms which generate multi-day orders should consider embedding a date within the ListID field to assure uniqueness across days.\"\n        }\n      },\n      {\n        \"id\": \"68\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"int\",\n          \"abbrName\": \"TotNoOrds\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"TotNoOrders\",\n          \"id\": \"68\",\n          \"description\": \"Total number of list order entries across all messages. Should be the sum of all NoOrders (73) in each message that has repeating list order entries related to the same ListID (66). Used to support fragmentation.\\n\\n(Prior to FIX 4.2 this field was named \\\"ListNoOrds\\\")\"\n        }\n      },\n      {\n        \"id\": \"394\",\n        \"added\": \"FIX.4.2\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"BidTypeCodeSet\",\n          \"abbrName\": \"BidTyp\",\n          \"added\": \"FIX.4.2\",\n          \"name\": \"BidType\",\n          \"id\": \"394\",\n          \"description\": \"Code to identify the type of Bid Request.\"\n        }\n      },\n      {\n        \"id\": \"2030\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"group\",\n          \"category\": \"ProgramTrading\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"ListOrdGrp\",\n          \"id\": \"2030\",\n          \"abbrName\": \"Ord\",\n          \"numInGroup\": { \"id\": \"73\", \"added\": \"FIX.4.4\" },\n          \"fieldRef\": [\n            {\n              \"id\": \"11\",\n              \"added\": \"FIX.4.4\",\n              \"presence\": \"required\",\n              \"description\": \"Must be the first field in the repeating group.\",\n              \"name\": \"ClOrdID\"\n            },\n            {\n              \"id\": \"67\",\n              \"added\": \"FIX.4.4\",\n              \"presence\": \"required\",\n              \"description\": \"Order number within the list\",\n              \"name\": \"ListSeqNo\"\n            },\n            {\n              \"id\": \"54\",\n              \"added\": \"FIX.4.4\",\n              \"presence\": \"required\",\n              \"description\": \"Note: to indicate the side of SideValue1 or SideValue2, specify Side=Undisclosed and SideValueInd=either the SideValue1 or SideValue2 indicator.\",\n              \"name\": \"Side\"\n            }\n          ],\n          \"componentRef\": [\n            {\n              \"id\": \"1003\",\n              \"added\": \"FIX.4.4\",\n              \"presence\": \"required\",\n              \"description\": \"Insert here the set of \\\"Instrument\\\" (symbology) fields defined in \\\"Common Components of Application Messages\\\"\"\n            },\n            {\n              \"id\": \"1011\",\n              \"added\": \"FIX.4.4\",\n              \"presence\": \"required\",\n              \"description\": \"Insert here the set of \\\"OrderQtyData\\\" fields defined in \\\"Common Components of Application Messages\\\"\"\n            }\n          ],\n          \"description\": \"\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"Trade\",\n      \"FIXMLFileName\": \"trade\",\n      \"displayOrder\": \"2\",\n      \"description\": \"Order handling and execution messages\"\n    },\n    \"description\": \"The NewOrderList Message can be used in one of two ways depending on which market conventions are being followed.\"\n  },\n  \"F\": {\n    \"msgType\": \"F\",\n    \"category\": {\n      \"FIXMLFileName\": \"order\",\n      \"section\": \"Trade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"SingleGeneralOrderHandling\"\n    },\n    \"added\": \"FIX.2.7\",\n    \"name\": \"OrderCancelRequest\",\n    \"id\": \"16\",\n    \"abbrName\": \"OrdCxlReq\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"11\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"updated\": \"FIX.Latest\",\n          \"baseCategoryAbbrName\": \"ID\",\n          \"baseCategory\": \"SingleGeneralOrderHandling\",\n          \"updatedEP\": \"282\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"ClOrdID\",\n          \"id\": \"11\",\n          \"abbrName\": \"ClOrdID\",\n          \"description\": \"Unique identifier for Order as assigned by the buy-side (institution, broker, intermediary etc.) (identified by SenderCompID(49) or OnBehalfOfCompID(115) as appropriate). Uniqueness must be guaranteed within a single trading day. Firms, particularly those which electronically submit multi-day orders, trade globally or throughout market close periods, should ensure uniqueness across days, for example by embedding a date within the ClOrdID(11) field.\"\n        }\n      },\n      {\n        \"id\": \"54\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"SideCodeSet\",\n          \"abbrName\": \"Side\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"Side\",\n          \"id\": \"54\",\n          \"description\": \"Side of order (see Volume : \\\"Glossary\\\" for value definitions)\"\n        }\n      },\n      {\n        \"id\": \"60\",\n        \"added\": \"FIX.4.2\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"UTCTimestamp\",\n          \"updated\": \"FIX.5.0SP1\",\n          \"updatedEP\": \"94\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"TransactTime\",\n          \"id\": \"60\",\n          \"abbrName\": \"TxnTm\",\n          \"description\": \"Timestamp when the business transaction represented by the message occurred.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1003\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Common\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"Instrument\",\n          \"id\": \"1003\",\n          \"abbrName\": \"Instrmt\",\n          \"description\": \"The Instrument component block contains all the fields commonly used to describe a security or instrument. Typically the data elements in this component block are considered the static data of a security, data that may be commonly found in a security master database. The Instrument component block can be used to describe any asset type supported by FIX.\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"Trade\",\n      \"FIXMLFileName\": \"trade\",\n      \"displayOrder\": \"2\",\n      \"description\": \"Order handling and execution messages\"\n    },\n    \"description\": \"The order cancel request message requests the cancellation of all of the remaining quantity of an existing order. Note that the Order Cancel/Replace Request should be used to partially cancel (reduce) an order).\"\n  },\n  \"G\": {\n    \"msgType\": \"G\",\n    \"category\": {\n      \"FIXMLFileName\": \"order\",\n      \"section\": \"Trade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"SingleGeneralOrderHandling\"\n    },\n    \"added\": \"FIX.2.7\",\n    \"name\": \"OrderCancelReplaceRequest\",\n    \"id\": \"17\",\n    \"abbrName\": \"OrdCxlRplcReq\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"updatedEP\": \"282\",\n        \"updated\": \"FIX.Latest\",\n        \"id\": \"11\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"updated\": \"FIX.Latest\",\n          \"baseCategoryAbbrName\": \"ID\",\n          \"baseCategory\": \"SingleGeneralOrderHandling\",\n          \"updatedEP\": \"282\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"ClOrdID\",\n          \"id\": \"11\",\n          \"abbrName\": \"ClOrdID\",\n          \"description\": \"Unique identifier for Order as assigned by the buy-side (institution, broker, intermediary etc.) (identified by SenderCompID(49) or OnBehalfOfCompID(115) as appropriate). Uniqueness must be guaranteed within a single trading day. Firms, particularly those which electronically submit multi-day orders, trade globally or throughout market close periods, should ensure uniqueness across days, for example by embedding a date within the ClOrdID(11) field.\"\n        }\n      },\n      {\n        \"id\": \"40\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"OrdTypeCodeSet\",\n          \"baseCategoryAbbrName\": \"Typ\",\n          \"baseCategory\": \"SingleGeneralOrderHandling\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"OrdType\",\n          \"id\": \"40\",\n          \"abbrName\": \"OrdTyp\",\n          \"description\": \"Order type. *** SOME VALUES ARE NO LONGER USED - See \\\"Deprecated (Phased-out) Features and Supported Approach\\\" *** (see Volume : \\\"Glossary\\\" for value definitions)\"\n        }\n      },\n      {\n        \"id\": \"54\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"SideCodeSet\",\n          \"abbrName\": \"Side\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"Side\",\n          \"id\": \"54\",\n          \"description\": \"Side of order (see Volume : \\\"Glossary\\\" for value definitions)\"\n        }\n      },\n      {\n        \"id\": \"60\",\n        \"added\": \"FIX.4.2\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"UTCTimestamp\",\n          \"updated\": \"FIX.5.0SP1\",\n          \"updatedEP\": \"94\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"TransactTime\",\n          \"id\": \"60\",\n          \"abbrName\": \"TxnTm\",\n          \"description\": \"Timestamp when the business transaction represented by the message occurred.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1003\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Common\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"Instrument\",\n          \"id\": \"1003\",\n          \"abbrName\": \"Instrmt\",\n          \"description\": \"The Instrument component block contains all the fields commonly used to describe a security or instrument. Typically the data elements in this component block are considered the static data of a security, data that may be commonly found in a security master database. The Instrument component block can be used to describe any asset type supported by FIX.\\n\\n\"\n        }\n      },\n      {\n        \"updatedEP\": \"221\",\n        \"updated\": \"FIX.5.0SP2\",\n        \"id\": \"1011\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Common\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"OrderQtyData\",\n          \"id\": \"1011\",\n          \"abbrName\": \"OrdQty\",\n          \"description\": \"The OrderQtyData component block contains the fields commonly used for indicating the amount or quantity of an order. Note that when this component block is marked as \\\"required\\\" in a message either one of these three fields must be used to identify the amount: OrderQty, CashOrderQty or OrderPercent (in the case of CIV).\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"Trade\",\n      \"FIXMLFileName\": \"trade\",\n      \"displayOrder\": \"2\",\n      \"description\": \"Order handling and execution messages\"\n    },\n    \"description\": \"The order cancel/replace request is used to change the parameters of an existing order.\\n\\nDo not use this message to cancel the remaining quantity of an outstanding order, use the Order Cancel Request message for this purpose.\"\n  },\n  \"H\": {\n    \"msgType\": \"H\",\n    \"category\": {\n      \"FIXMLFileName\": \"order\",\n      \"section\": \"Trade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"SingleGeneralOrderHandling\"\n    },\n    \"added\": \"FIX.2.7\",\n    \"name\": \"OrderStatusRequest\",\n    \"id\": \"18\",\n    \"abbrName\": \"OrdStatReq\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"54\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"SideCodeSet\",\n          \"abbrName\": \"Side\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"Side\",\n          \"id\": \"54\",\n          \"description\": \"Side of order (see Volume : \\\"Glossary\\\" for value definitions)\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1003\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Common\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"Instrument\",\n          \"id\": \"1003\",\n          \"abbrName\": \"Instrmt\",\n          \"description\": \"The Instrument component block contains all the fields commonly used to describe a security or instrument. Typically the data elements in this component block are considered the static data of a security, data that may be commonly found in a security master database. The Instrument component block can be used to describe any asset type supported by FIX.\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"Trade\",\n      \"FIXMLFileName\": \"trade\",\n      \"displayOrder\": \"2\",\n      \"description\": \"Order handling and execution messages\"\n    },\n    \"description\": \"The order status request message is used by the institution to generate an order status message back from the broker.\"\n  },\n  \"J\": {\n    \"updated\": \"FIX.Latest\",\n    \"msgType\": \"J\",\n    \"updatedEP\": \"291\",\n    \"category\": {\n      \"FIXMLFileName\": \"allocation\",\n      \"section\": \"PostTrade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"Allocation\"\n    },\n    \"added\": \"FIX.2.7\",\n    \"name\": \"AllocationInstruction\",\n    \"id\": \"19\",\n    \"abbrName\": \"AllocInstrctn\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"53\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"Qty\",\n          \"abbrName\": \"Qty\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"Quantity\",\n          \"id\": \"53\",\n          \"description\": \"Overall/total quantity (e.g. number of shares)\\n\\n(Prior to FIX 4.2 this field was of type int)\"\n        }\n      },\n      {\n        \"id\": \"54\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"SideCodeSet\",\n          \"abbrName\": \"Side\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"Side\",\n          \"id\": \"54\",\n          \"description\": \"Side of order (see Volume : \\\"Glossary\\\" for value definitions)\"\n        }\n      },\n      {\n        \"id\": \"70\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"baseCategoryAbbrName\": \"ID\",\n          \"baseCategory\": \"Allocation\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"AllocID\",\n          \"id\": \"70\",\n          \"abbrName\": \"AllocID\",\n          \"description\": \"Unique identifier for allocation message.\\n\\n(Prior to FIX 4.1 this field was of type int)\"\n        }\n      },\n      {\n        \"updatedEP\": \"285\",\n        \"updated\": \"FIX.Latest\",\n        \"id\": \"71\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"AllocTransTypeCodeSet\",\n          \"abbrName\": \"TransTyp\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"AllocTransType\",\n          \"id\": \"71\",\n          \"description\": \"Identifies allocation transaction type *** SOME VALUES HAVE BEEN REPLACED - See \\\"Replaced Features and Supported Approach\\\" ***\"\n        }\n      },\n      {\n        \"id\": \"75\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"LocalMktDate\",\n          \"updated\": \"FIX.5.0SP2\",\n          \"updatedEP\": \"190\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"TradeDate\",\n          \"id\": \"75\",\n          \"abbrName\": \"TrdDt\",\n          \"description\": \"Indicates date of trading day. Absence of this field indicates current day (expressed in local time at place of trade).\"\n        }\n      },\n      {\n        \"id\": \"626\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"AllocTypeCodeSet\",\n          \"baseCategoryAbbrName\": \"Typ\",\n          \"baseCategory\": \"Allocation\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"AllocType\",\n          \"id\": \"626\",\n          \"abbrName\": \"AllocType\",\n          \"description\": \"Describes the specific type or purpose of an Allocation message (i.e. \\\"Buyside Calculated\\\")\\n\\n(see Volume : \\\"Glossary\\\" for value definitions)\\n\\n*** SOME VALUES HAVE BEEN REPLACED - See \\\"Replaced Features and Supported Approach\\\" ***\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      },\n      {\n        \"updatedEP\": \"82\",\n        \"updated\": \"FIX.5.0SP1\",\n        \"id\": \"1003\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Common\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"Instrument\",\n          \"id\": \"1003\",\n          \"abbrName\": \"Instrmt\",\n          \"description\": \"The Instrument component block contains all the fields commonly used to describe a security or instrument. Typically the data elements in this component block are considered the static data of a security, data that may be commonly found in a security master database. The Instrument component block can be used to describe any asset type supported by FIX.\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"PostTrade\",\n      \"FIXMLFileName\": \"posttrade\",\n      \"displayOrder\": \"3\",\n      \"description\": \"Post trade messages including trade reporting, allocation, collateral, confirmation, position mantemenance, registration instruction, and settlement instructions\"\n    },\n    \"description\": \"The AllocationInstruction(35=J) message provides the ability to specify how an order or set of orders should be subdivided amongst one or more accounts.\\n\\nIn versions of FIX prior to version 4.4, this same message was known as the Allocation(35=J) message. Note in versions of the FIX Protocol prior to version 4.4, the Allocation(35=J) message was also used to communicate fee and expense details from the sell-side to the buy-side. This role has since been removed from the AllocationInstruction(35=J) message and is performed by the new (to version 4.4) AllocationReport(35=AS) and Confirmation(35=AK) messages. The AllocationReport(35=AS) message should be used for the sell-side initiated allocation role as defined in previous versions of the FIX Protocol.\"\n  },\n  \"K\": {\n    \"msgType\": \"K\",\n    \"category\": {\n      \"FIXMLFileName\": \"listorders\",\n      \"section\": \"Trade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"ProgramTrading\"\n    },\n    \"added\": \"FIX.2.7\",\n    \"name\": \"ListCancelRequest\",\n    \"id\": \"20\",\n    \"abbrName\": \"ListCxlReq\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"60\",\n        \"added\": \"FIX.4.2\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"UTCTimestamp\",\n          \"updated\": \"FIX.5.0SP1\",\n          \"updatedEP\": \"94\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"TransactTime\",\n          \"id\": \"60\",\n          \"abbrName\": \"TxnTm\",\n          \"description\": \"Timestamp when the business transaction represented by the message occurred.\"\n        }\n      },\n      {\n        \"id\": \"66\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"baseCategoryAbbrName\": \"ID\",\n          \"baseCategory\": \"ProgramTrading\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"ListID\",\n          \"id\": \"66\",\n          \"abbrName\": \"ListID\",\n          \"description\": \"Unique identifier for list as assigned by institution, used to associate multiple individual orders. Uniqueness must be guaranteed within a single trading day. Firms which generate multi-day orders should consider embedding a date within the ListID field to assure uniqueness across days.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"Trade\",\n      \"FIXMLFileName\": \"trade\",\n      \"displayOrder\": \"2\",\n      \"description\": \"Order handling and execution messages\"\n    },\n    \"description\": \"The List Cancel Request message type is used by institutions wishing to cancel previously submitted lists either before or during execution.\"\n  },\n  \"L\": {\n    \"msgType\": \"L\",\n    \"category\": {\n      \"FIXMLFileName\": \"listorders\",\n      \"section\": \"Trade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"ProgramTrading\"\n    },\n    \"added\": \"FIX.2.7\",\n    \"name\": \"ListExecute\",\n    \"id\": \"21\",\n    \"abbrName\": \"ListExct\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"60\",\n        \"added\": \"FIX.4.2\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"UTCTimestamp\",\n          \"updated\": \"FIX.5.0SP1\",\n          \"updatedEP\": \"94\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"TransactTime\",\n          \"id\": \"60\",\n          \"abbrName\": \"TxnTm\",\n          \"description\": \"Timestamp when the business transaction represented by the message occurred.\"\n        }\n      },\n      {\n        \"id\": \"66\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"baseCategoryAbbrName\": \"ID\",\n          \"baseCategory\": \"ProgramTrading\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"ListID\",\n          \"id\": \"66\",\n          \"abbrName\": \"ListID\",\n          \"description\": \"Unique identifier for list as assigned by institution, used to associate multiple individual orders. Uniqueness must be guaranteed within a single trading day. Firms which generate multi-day orders should consider embedding a date within the ListID field to assure uniqueness across days.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"Trade\",\n      \"FIXMLFileName\": \"trade\",\n      \"displayOrder\": \"2\",\n      \"description\": \"Order handling and execution messages\"\n    },\n    \"description\": \"The List Execute message type is used by institutions to instruct the broker to begin execution of a previously submitted list. This message may or may not be used, as it may be mirroring a phone conversation.\"\n  },\n  \"M\": {\n    \"msgType\": \"M\",\n    \"category\": {\n      \"FIXMLFileName\": \"listorders\",\n      \"section\": \"Trade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"ProgramTrading\"\n    },\n    \"added\": \"FIX.2.7\",\n    \"name\": \"ListStatusRequest\",\n    \"id\": \"22\",\n    \"abbrName\": \"ListStatReq\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"66\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"baseCategoryAbbrName\": \"ID\",\n          \"baseCategory\": \"ProgramTrading\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"ListID\",\n          \"id\": \"66\",\n          \"abbrName\": \"ListID\",\n          \"description\": \"Unique identifier for list as assigned by institution, used to associate multiple individual orders. Uniqueness must be guaranteed within a single trading day. Firms which generate multi-day orders should consider embedding a date within the ListID field to assure uniqueness across days.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"Trade\",\n      \"FIXMLFileName\": \"trade\",\n      \"displayOrder\": \"2\",\n      \"description\": \"Order handling and execution messages\"\n    },\n    \"description\": \"The list status request message type is used by institutions to instruct the broker to generate status messages for a list.\"\n  },\n  \"N\": {\n    \"msgType\": \"N\",\n    \"category\": {\n      \"FIXMLFileName\": \"listorders\",\n      \"section\": \"Trade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"ProgramTrading\"\n    },\n    \"added\": \"FIX.2.7\",\n    \"name\": \"ListStatus\",\n    \"id\": \"23\",\n    \"abbrName\": \"ListStat\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"66\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"baseCategoryAbbrName\": \"ID\",\n          \"baseCategory\": \"ProgramTrading\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"ListID\",\n          \"id\": \"66\",\n          \"abbrName\": \"ListID\",\n          \"description\": \"Unique identifier for list as assigned by institution, used to associate multiple individual orders. Uniqueness must be guaranteed within a single trading day. Firms which generate multi-day orders should consider embedding a date within the ListID field to assure uniqueness across days.\"\n        }\n      },\n      {\n        \"id\": \"68\",\n        \"added\": \"FIX.4.2\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"int\",\n          \"abbrName\": \"TotNoOrds\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"TotNoOrders\",\n          \"id\": \"68\",\n          \"description\": \"Total number of list order entries across all messages. Should be the sum of all NoOrders (73) in each message that has repeating list order entries related to the same ListID (66). Used to support fragmentation.\\n\\n(Prior to FIX 4.2 this field was named \\\"ListNoOrds\\\")\"\n        }\n      },\n      {\n        \"id\": \"82\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"int\",\n          \"abbrName\": \"NoRpts\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"NoRpts\",\n          \"id\": \"82\",\n          \"description\": \"Total number of reports within series.\"\n        }\n      },\n      {\n        \"id\": \"83\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"int\",\n          \"abbrName\": \"RptSeq\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"RptSeq\",\n          \"id\": \"83\",\n          \"description\": \"Sequence number of message within report series. Used to carry reporting sequence number of the fill as represented on the Trade Report Side.\"\n        }\n      },\n      {\n        \"id\": \"429\",\n        \"added\": \"FIX.4.2\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"ListStatusTypeCodeSet\",\n          \"abbrName\": \"ListStatTyp\",\n          \"added\": \"FIX.4.2\",\n          \"name\": \"ListStatusType\",\n          \"id\": \"429\",\n          \"description\": \"Code to represent the status type.\"\n        }\n      },\n      {\n        \"id\": \"431\",\n        \"added\": \"FIX.4.2\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"ListOrderStatusCodeSet\",\n          \"abbrName\": \"ListOrdStat\",\n          \"added\": \"FIX.4.2\",\n          \"name\": \"ListOrderStatus\",\n          \"id\": \"431\",\n          \"description\": \"Code to represent the status of a list order.\"\n        }\n      },\n      {\n        \"id\": \"2037\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"group\",\n          \"category\": \"ProgramTrading\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"OrdListStatGrp\",\n          \"id\": \"2037\",\n          \"abbrName\": \"ListStat\",\n          \"numInGroup\": { \"id\": \"73\", \"added\": \"FIX.4.4\" },\n          \"fieldRef\": [\n            {\n              \"id\": \"14\",\n              \"added\": \"FIX.4.4\",\n              \"presence\": \"required\",\n              \"description\": \"\",\n              \"name\": \"CumQty\"\n            },\n            {\n              \"id\": \"39\",\n              \"added\": \"FIX.4.4\",\n              \"presence\": \"required\",\n              \"description\": \"\",\n              \"name\": \"OrdStatus\"\n            },\n            {\n              \"id\": \"151\",\n              \"added\": \"FIX.4.4\",\n              \"presence\": \"required\",\n              \"description\": \"Quantity open for further execution. LeavesQty = OrderQty - CumQty.\",\n              \"name\": \"LeavesQty\"\n            },\n            {\n              \"id\": \"84\",\n              \"added\": \"FIX.4.4\",\n              \"presence\": \"required\",\n              \"description\": \"\",\n              \"name\": \"CxlQty\"\n            },\n            {\n              \"id\": \"6\",\n              \"added\": \"FIX.4.4\",\n              \"presence\": \"required\",\n              \"description\": \"\",\n              \"name\": \"AvgPx\"\n            }\n          ],\n          \"description\": \"\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"Trade\",\n      \"FIXMLFileName\": \"trade\",\n      \"displayOrder\": \"2\",\n      \"description\": \"Order handling and execution messages\"\n    },\n    \"description\": \"The list status message is issued as the response to a List Status Request message sent in an unsolicited fashion by the sell-side. It indicates the current state of the orders within the list as they exist at the broker's site. This message may also be used to respond to the List Cancel Request.\"\n  },\n  \"P\": {\n    \"msgType\": \"P\",\n    \"category\": {\n      \"FIXMLFileName\": \"allocation\",\n      \"section\": \"PostTrade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"Allocation\"\n    },\n    \"added\": \"FIX.2.7\",\n    \"name\": \"AllocationInstructionAck\",\n    \"id\": \"24\",\n    \"abbrName\": \"AllocInstrctnAck\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"70\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"baseCategoryAbbrName\": \"ID\",\n          \"baseCategory\": \"Allocation\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"AllocID\",\n          \"id\": \"70\",\n          \"abbrName\": \"AllocID\",\n          \"description\": \"Unique identifier for allocation message.\\n\\n(Prior to FIX 4.1 this field was of type int)\"\n        }\n      },\n      {\n        \"id\": \"87\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"AllocStatusCodeSet\",\n          \"baseCategoryAbbrName\": \"Stat\",\n          \"baseCategory\": \"Allocation\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"AllocStatus\",\n          \"id\": \"87\",\n          \"abbrName\": \"Stat\",\n          \"description\": \"Identifies status of allocation.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.2.7\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"PostTrade\",\n      \"FIXMLFileName\": \"posttrade\",\n      \"displayOrder\": \"3\",\n      \"description\": \"Post trade messages including trade reporting, allocation, collateral, confirmation, position mantemenance, registration instruction, and settlement instructions\"\n    },\n    \"description\": \"In versions of FIX prior to version 4.4, this message was known as the Allocation ACK message.\\n\\nThe Allocation Instruction Ack message is used to acknowledge the receipt of and provide status for an Allocation Instruction message.\"\n  },\n  \"Q\": {\n    \"msgType\": \"Q\",\n    \"category\": {\n      \"FIXMLFileName\": \"order\",\n      \"section\": \"Trade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"SingleGeneralOrderHandling\"\n    },\n    \"added\": \"FIX.4.0\",\n    \"name\": \"DontKnowTrade\",\n    \"id\": \"25\",\n    \"abbrName\": \"DkTrd\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.0\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"17\",\n        \"added\": \"FIX.4.0\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"updated\": \"FIX.5.0SP1\",\n          \"updatedEP\": \"95\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"ExecID\",\n          \"id\": \"17\",\n          \"abbrName\": \"ExecID\",\n          \"description\": \"Unique identifier of execution message as assigned by sell-side (broker, exchange, ECN) (will be 0 (zero) for ExecType (150)=I (Order Status)).\\n\\nUniqueness must be guaranteed within a single trading day or the life of a multi-day order. Firms which accept multi-day orders should consider embedding a date within the ExecID field to assure uniqueness across days.\\n\\n(Prior to FIX 4.1 this field was of type int).\"\n        }\n      },\n      {\n        \"id\": \"37\",\n        \"added\": \"FIX.4.0\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"abbrName\": \"OrdID\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"OrderID\",\n          \"id\": \"37\",\n          \"description\": \"Unique identifier for Order as assigned by sell-side (broker, exchange, ECN). Uniqueness must be guaranteed within a single trading day. Firms which accept multi-day orders should consider embedding a date within the OrderID field to assure uniqueness across days.\"\n        }\n      },\n      {\n        \"id\": \"54\",\n        \"added\": \"FIX.4.0\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"SideCodeSet\",\n          \"abbrName\": \"Side\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"Side\",\n          \"id\": \"54\",\n          \"description\": \"Side of order (see Volume : \\\"Glossary\\\" for value definitions)\"\n        }\n      },\n      {\n        \"id\": \"127\",\n        \"added\": \"FIX.4.0\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"DKReasonCodeSet\",\n          \"abbrName\": \"DkRsn\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"DKReason\",\n          \"id\": \"127\",\n          \"description\": \"Reason for execution rejection.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.0\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1003\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Common\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"Instrument\",\n          \"id\": \"1003\",\n          \"abbrName\": \"Instrmt\",\n          \"description\": \"The Instrument component block contains all the fields commonly used to describe a security or instrument. Typically the data elements in this component block are considered the static data of a security, data that may be commonly found in a security master database. The Instrument component block can be used to describe any asset type supported by FIX.\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1011\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Common\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"OrderQtyData\",\n          \"id\": \"1011\",\n          \"abbrName\": \"OrdQty\",\n          \"description\": \"The OrderQtyData component block contains the fields commonly used for indicating the amount or quantity of an order. Note that when this component block is marked as \\\"required\\\" in a message either one of these three fields must be used to identify the amount: OrderQty, CashOrderQty or OrderPercent (in the case of CIV).\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"Trade\",\n      \"FIXMLFileName\": \"trade\",\n      \"displayOrder\": \"2\",\n      \"description\": \"Order handling and execution messages\"\n    },\n    \"description\": \"The Don\u2019t Know Trade (DK) message notifies a trading partner that an electronically received execution has been rejected. This message can be thought of as an execution reject message.\"\n  },\n  \"R\": {\n    \"msgType\": \"R\",\n    \"category\": {\n      \"FIXMLFileName\": \"quotation\",\n      \"section\": \"PreTrade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"QuotationNegotiation\"\n    },\n    \"added\": \"FIX.4.0\",\n    \"name\": \"QuoteRequest\",\n    \"id\": \"26\",\n    \"abbrName\": \"QuotReq\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.0\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"131\",\n        \"added\": \"FIX.4.0\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"updated\": \"FIX.5.0SP2\",\n          \"updatedEP\": \"143\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"QuoteReqID\",\n          \"id\": \"131\",\n          \"abbrName\": \"ReqID\",\n          \"description\": \"Unique identifier for a QuoteRequest(35=R).\"\n        }\n      },\n      {\n        \"id\": \"2045\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"group\",\n          \"category\": \"QuotationNegotiation\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"QuotReqGrp\",\n          \"id\": \"2045\",\n          \"abbrName\": \"QuotReq\",\n          \"numInGroup\": { \"id\": \"146\", \"added\": \"FIX.4.4\" },\n          \"componentRef\": [\n            {\n              \"id\": \"1003\",\n              \"added\": \"FIX.4.4\",\n              \"presence\": \"required\",\n              \"description\": \"Insert here the set of \\\"Instrument\\\" (symbology) fields defined in \\\"Common Components of Application Messages\\\"\"\n            }\n          ],\n          \"description\": \"\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.0\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"In some markets it is the practice to request quotes from brokers prior to placement of an order. The quote request message is used for this purpose. This message is commonly referred to as an Request For Quote (RFQ)\"\n  },\n  \"S\": {\n    \"msgType\": \"S\",\n    \"category\": {\n      \"FIXMLFileName\": \"quotation\",\n      \"section\": \"PreTrade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"QuotationNegotiation\"\n    },\n    \"added\": \"FIX.4.0\",\n    \"name\": \"Quote\",\n    \"id\": \"27\",\n    \"abbrName\": \"Quot\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.0\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"117\",\n        \"added\": \"FIX.4.0\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"abbrName\": \"QID\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"QuoteID\",\n          \"id\": \"117\",\n          \"description\": \"Unique identifier for quote\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.0\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      },\n      {\n        \"updatedEP\": \"144\",\n        \"updated\": \"FIX.5.0SP2\",\n        \"id\": \"1003\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Common\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"Instrument\",\n          \"id\": \"1003\",\n          \"abbrName\": \"Instrmt\",\n          \"description\": \"The Instrument component block contains all the fields commonly used to describe a security or instrument. Typically the data elements in this component block are considered the static data of a security, data that may be commonly found in a security master database. The Instrument component block can be used to describe any asset type supported by FIX.\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"The Quote message is used as the response to a Quote Request or a Quote Response message in both indicative, tradeable, and restricted tradeable quoting markets.\"\n  },\n  \"T\": {\n    \"msgType\": \"T\",\n    \"category\": {\n      \"FIXMLFileName\": \"settlement\",\n      \"section\": \"PostTrade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"SettlementInstruction\"\n    },\n    \"added\": \"FIX.4.1\",\n    \"name\": \"SettlementInstructions\",\n    \"id\": \"28\",\n    \"abbrName\": \"SettlInstrctns\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"60\",\n        \"added\": \"FIX.4.1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"UTCTimestamp\",\n          \"updated\": \"FIX.5.0SP1\",\n          \"updatedEP\": \"94\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"TransactTime\",\n          \"id\": \"60\",\n          \"abbrName\": \"TxnTm\",\n          \"description\": \"Timestamp when the business transaction represented by the message occurred.\"\n        }\n      },\n      {\n        \"id\": \"160\",\n        \"added\": \"FIX.4.1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"SettlInstModeCodeSet\",\n          \"abbrName\": \"SettlInstMode\",\n          \"added\": \"FIX.4.1\",\n          \"name\": \"SettlInstMode\",\n          \"id\": \"160\",\n          \"description\": \"Indicates mode used for Settlement Instructions message. *** SOME VALUES HAVE BEEN REPLACED - See \\\"Replaced Features and Supported Approach\\\" ***\"\n        }\n      },\n      {\n        \"id\": \"777\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"abbrName\": \"SettlInstMsgID\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"SettlInstMsgID\",\n          \"id\": \"777\",\n          \"description\": \"Unique identifier for Settlement Instruction message.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"PostTrade\",\n      \"FIXMLFileName\": \"posttrade\",\n      \"displayOrder\": \"3\",\n      \"description\": \"Post trade messages including trade reporting, allocation, collateral, confirmation, position mantemenance, registration instruction, and settlement instructions\"\n    },\n    \"description\": \"The Settlement Instructions message provides the broker\u2019s, the institution\u2019s, or the intermediary\u2019s instructions for trade settlement. This message has been designed so that it can be sent from the broker to the institution, from the institution to the broker, or from either to an independent \\\"standing instructions\\\" database or matching system or, for CIV, from an intermediary to a fund manager.\"\n  },\n  \"V\": {\n    \"updated\": \"FIX.5.0SP2\",\n    \"msgType\": \"V\",\n    \"updatedEP\": \"190\",\n    \"category\": {\n      \"FIXMLFileName\": \"marketdata\",\n      \"section\": \"PreTrade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"MarketData\"\n    },\n    \"added\": \"FIX.4.2\",\n    \"name\": \"MarketDataRequest\",\n    \"id\": \"29\",\n    \"abbrName\": \"MktDataReq\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.2\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"updatedEP\": \"190\",\n        \"updated\": \"FIX.5.0SP2\",\n        \"id\": \"262\",\n        \"added\": \"FIX.4.2\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"abbrName\": \"ReqID\",\n          \"added\": \"FIX.4.2\",\n          \"name\": \"MDReqID\",\n          \"id\": \"262\",\n          \"description\": \"Unique identifier for Market Data Request\"\n        }\n      },\n      {\n        \"updatedEP\": \"190\",\n        \"updated\": \"FIX.5.0SP2\",\n        \"id\": \"263\",\n        \"added\": \"FIX.4.2\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"SubscriptionRequestTypeCodeSet\",\n          \"abbrName\": \"SubReqTyp\",\n          \"added\": \"FIX.4.2\",\n          \"name\": \"SubscriptionRequestType\",\n          \"id\": \"263\",\n          \"description\": \"Subscription Request Type\"\n        }\n      },\n      {\n        \"id\": \"264\",\n        \"added\": \"FIX.4.2\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"int\",\n          \"abbrName\": \"MktDepth\",\n          \"added\": \"FIX.4.2\",\n          \"name\": \"MarketDepth\",\n          \"id\": \"264\",\n          \"description\": \"Depth of market for Book Snapshot / Incremental updates\\n\\n0 - full book depth\\n\\n1 - top of book\\n\\n2 and above - book depth (number of levels)\"\n        }\n      },\n      {\n        \"updatedEP\": \"190\",\n        \"updated\": \"FIX.5.0SP2\",\n        \"id\": \"2022\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"group\",\n          \"category\": \"Common\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"InstrmtMDReqGrp\",\n          \"id\": \"2022\",\n          \"abbrName\": \"InstReq\",\n          \"numInGroup\": { \"id\": \"146\", \"added\": \"FIX.4.4\" },\n          \"componentRef\": [\n            {\n              \"id\": \"1003\",\n              \"added\": \"FIX.4.4\",\n              \"presence\": \"required\",\n              \"description\": \"Insert here the set of \\\"Instrument\\\" (symbology) fields defined in \\\"Common Components of Application Messages\\\"\"\n            }\n          ],\n          \"description\": \"\\n\\n\"\n        }\n      },\n      {\n        \"updatedEP\": \"190\",\n        \"updated\": \"FIX.5.0SP2\",\n        \"id\": \"2033\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"group\",\n          \"category\": \"MarketData\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"MDReqGrp\",\n          \"id\": \"2033\",\n          \"abbrName\": \"Req\",\n          \"numInGroup\": { \"id\": \"267\", \"added\": \"FIX.4.4\" },\n          \"fieldRef\": [\n            {\n              \"id\": \"269\",\n              \"added\": \"FIX.4.4\",\n              \"presence\": \"required\",\n              \"description\": \"Must be the first field in this repeating group. This is a list of all the types of Market Data Entries that the firm requesting the Market Data is interested in receiving.\",\n              \"name\": \"MDEntryType\"\n            }\n          ],\n          \"description\": \"\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.2\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"Some systems allow the transmission of real-time quote, order, trade, trade volume, open interest, and/or other price information on a subscription basis. A MarketDataRequest(35=V) is a general request for market data on specific securities or forex quotes. The values in the fields provided within the request will serve as further filter criteria for the result set.\"\n  },\n  \"W\": {\n    \"msgType\": \"W\",\n    \"category\": {\n      \"FIXMLFileName\": \"marketdata\",\n      \"section\": \"PreTrade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"MarketData\"\n    },\n    \"added\": \"FIX.4.2\",\n    \"name\": \"MarketDataSnapshotFullRefresh\",\n    \"id\": \"30\",\n    \"abbrName\": \"MktDataFull\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.2\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"779\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"190\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"UTCTimestamp\",\n          \"abbrName\": \"LastUpdateTm\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"LastUpdateTime\",\n          \"id\": \"779\",\n          \"description\": \"Timestamp of last update to data item (or creation if no updates made since creation).\"\n        }\n      },\n      {\n        \"updatedEP\": \"190\",\n        \"updated\": \"FIX.5.0SP2\",\n        \"id\": \"2031\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"group\",\n          \"category\": \"MarketData\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"MDFullGrp\",\n          \"id\": \"2031\",\n          \"abbrName\": \"Full\",\n          \"numInGroup\": { \"id\": \"268\", \"added\": \"FIX.4.4\" },\n          \"fieldRef\": [\n            {\n              \"updatedEP\": \"190\",\n              \"updated\": \"FIX.5.0SP2\",\n              \"id\": \"269\",\n              \"added\": \"FIX.4.4\",\n              \"presence\": \"required\",\n              \"description\": \"Required if NoMDEntries(268) > 0.\",\n              \"name\": \"MDEntryType\"\n            }\n          ],\n          \"description\": \"\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.2\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      },\n      {\n        \"updatedEP\": \"190\",\n        \"updated\": \"FIX.5.0SP2\",\n        \"id\": \"1003\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Common\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"Instrument\",\n          \"id\": \"1003\",\n          \"abbrName\": \"Instrmt\",\n          \"description\": \"The Instrument component block contains all the fields commonly used to describe a security or instrument. Typically the data elements in this component block are considered the static data of a security, data that may be commonly found in a security master database. The Instrument component block can be used to describe any asset type supported by FIX.\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"The Market Data messages are used as the response to a Market Data Request message. In all cases, one Market Data message refers only to one Market Data Request. It can be used to transmit a 2-sided book of orders or list of quotes, a list of trades, index values, opening, closing, settlement, high, low, or VWAP prices, the trade volume or open interest for a security, or any combination of these.\"\n  },\n  \"X\": {\n    \"msgType\": \"X\",\n    \"category\": {\n      \"FIXMLFileName\": \"marketdata\",\n      \"section\": \"PreTrade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"MarketData\"\n    },\n    \"added\": \"FIX.4.2\",\n    \"name\": \"MarketDataIncrementalRefresh\",\n    \"id\": \"31\",\n    \"abbrName\": \"MktDataInc\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.2\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"2032\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"group\",\n          \"category\": \"MarketData\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"MDIncGrp\",\n          \"id\": \"2032\",\n          \"abbrName\": \"Inc\",\n          \"numInGroup\": { \"id\": \"268\", \"added\": \"FIX.4.4\" },\n          \"fieldRef\": [\n            {\n              \"updatedEP\": \"289\",\n              \"updated\": \"FIX.Latest\",\n              \"id\": \"279\",\n              \"added\": \"FIX.4.4\",\n              \"presence\": \"required\",\n              \"description\": \"Required if NoMDEntries(268) > 0.\",\n              \"name\": \"MDUpdateAction\"\n            }\n          ],\n          \"description\": \"\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.2\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"The Market Data message for incremental updates may contain any combination of new, changed, or deleted Market Data Entries, for any combination of instruments, with any combination of trades, imbalances, quotes, index values, open, close, settlement, high, low, and VWAP prices, trade volume and open interest so long as the maximum FIX message size is not exceeded. All of these types of Market Data Entries can be changed and deleted.\"\n  },\n  \"Y\": {\n    \"msgType\": \"Y\",\n    \"category\": {\n      \"FIXMLFileName\": \"marketdata\",\n      \"section\": \"PreTrade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"MarketData\"\n    },\n    \"added\": \"FIX.4.2\",\n    \"name\": \"MarketDataRequestReject\",\n    \"id\": \"32\",\n    \"abbrName\": \"MktDataReqRej\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.2\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"262\",\n        \"added\": \"FIX.4.2\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"abbrName\": \"ReqID\",\n          \"added\": \"FIX.4.2\",\n          \"name\": \"MDReqID\",\n          \"id\": \"262\",\n          \"description\": \"Unique identifier for Market Data Request\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.2\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"The Market Data Request Reject is used when the broker cannot honor the Market Data Request, due to business or technical reasons. Brokers may choose to limit various parameters, such as the size of requests, whether just the top of book or the entire book may be displayed, and whether Full or Incremental updates must be used.\"\n  },\n  \"Z\": {\n    \"msgType\": \"Z\",\n    \"category\": {\n      \"FIXMLFileName\": \"quotation\",\n      \"section\": \"PreTrade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"QuotationNegotiation\"\n    },\n    \"added\": \"FIX.4.2\",\n    \"name\": \"QuoteCancel\",\n    \"id\": \"33\",\n    \"abbrName\": \"QuotCxl\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.2\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"298\",\n        \"added\": \"FIX.4.2\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"QuoteCancelTypeCodeSet\",\n          \"updated\": \"FIX.5.0SP1\",\n          \"unionDataType\": \"Reserved100Plus\",\n          \"updatedEP\": \"85\",\n          \"added\": \"FIX.4.2\",\n          \"name\": \"QuoteCancelType\",\n          \"id\": \"298\",\n          \"abbrName\": \"CxlTyp\",\n          \"description\": \"Identifies the type of quote cancel.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.2\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"The Quote Cancel message is used by an originator of quotes to cancel quotes.\\n\\nThe Quote Cancel message supports cancellation of:\\n\\n\u2022 All quotes\\n\\n\u2022 Quotes for a specific symbol or security ID\\n\\n\u2022 All quotes for a security type\\n\\n\u2022 All quotes for an underlying\"\n  },\n  \"a\": {\n    \"msgType\": \"a\",\n    \"category\": {\n      \"FIXMLFileName\": \"quotation\",\n      \"section\": \"PreTrade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"QuotationNegotiation\"\n    },\n    \"added\": \"FIX.4.2\",\n    \"name\": \"QuoteStatusRequest\",\n    \"id\": \"34\",\n    \"abbrName\": \"QuotStatReq\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.2\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.2\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"The quote status request message is used for the following purposes in markets that employ tradeable or restricted tradeable quotes:\\n\\n\u2022 For the issuer of a quote in a market to query the status of that quote (using the QuoteID to specify the target quote).\\n\\n\u2022 To subscribe and unsubscribe for Quote Status Report messages for one or more securities.\"\n  },\n  \"b\": {\n    \"updated\": \"FIX.5.0SP2\",\n    \"msgType\": \"b\",\n    \"updatedEP\": \"143\",\n    \"category\": {\n      \"FIXMLFileName\": \"quotation\",\n      \"section\": \"PreTrade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"QuotationNegotiation\"\n    },\n    \"added\": \"FIX.4.2\",\n    \"name\": \"MassQuoteAck\",\n    \"id\": \"35\",\n    \"abbrName\": \"MassQuotAck\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.2\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"297\",\n        \"added\": \"FIX.4.2\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"QuoteStatusCodeSet\",\n          \"abbrName\": \"Stat\",\n          \"added\": \"FIX.4.2\",\n          \"name\": \"QuoteStatus\",\n          \"id\": \"297\",\n          \"description\": \"Identifies the status of the quote acknowledgement.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.2\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"Mass Quote Acknowledgement is used as the application level response to a Mass Quote message.\"\n  },\n  \"c\": {\n    \"updated\": \"FIX.5.0SP2\",\n    \"msgType\": \"c\",\n    \"updatedEP\": \"195\",\n    \"category\": {\n      \"FIXMLFileName\": \"securitiesreference\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"addedEP\": \"97\",\n      \"section\": \"PreTrade\",\n      \"added\": \"FIX.5.0SP1\",\n      \"name\": \"SecuritiesReferenceData\"\n    },\n    \"added\": \"FIX.4.2\",\n    \"name\": \"SecurityDefinitionRequest\",\n    \"id\": \"36\",\n    \"abbrName\": \"SecDefReq\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.2\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"320\",\n        \"added\": \"FIX.4.2\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"abbrName\": \"ReqID\",\n          \"added\": \"FIX.4.2\",\n          \"name\": \"SecurityReqID\",\n          \"id\": \"320\",\n          \"description\": \"Unique ID of a Security Definition Request.\"\n        }\n      },\n      {\n        \"id\": \"321\",\n        \"added\": \"FIX.4.2\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"SecurityRequestTypeCodeSet\",\n          \"abbrName\": \"ReqTyp\",\n          \"added\": \"FIX.4.2\",\n          \"name\": \"SecurityRequestType\",\n          \"id\": \"321\",\n          \"description\": \"Type of Security Definition Request.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.2\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"The SecurityDefinitionRequest(35=c) message is used for the following:\\n\\n1. Request a specific security to be traded with the second party. The requested security can be defined as a multileg security made up of one or more instrument legs.\\n\\n2. Request a set of individual securities for a single market segment.\\n\\n3. Request all securities, independent of market segment.\"\n  },\n  \"d\": {\n    \"updated\": \"FIX.5.0SP2\",\n    \"msgType\": \"d\",\n    \"updatedEP\": \"195\",\n    \"category\": {\n      \"FIXMLFileName\": \"securitiesreference\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"addedEP\": \"97\",\n      \"section\": \"PreTrade\",\n      \"added\": \"FIX.5.0SP1\",\n      \"name\": \"SecuritiesReferenceData\"\n    },\n    \"added\": \"FIX.4.2\",\n    \"name\": \"SecurityDefinition\",\n    \"id\": \"37\",\n    \"abbrName\": \"SecDef\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.2\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.2\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"The SecurityDefinition(35=d) message is used for the following:\\n\\n1. Accept the security defined in a SecurityDefinition(35=d) message.\\n\\n2. Accept the security defined in a SecurityDefinition(35=d) message with changes to the definition and/or identity of the security.\\n\\n3. Reject the security requested in a SecurityDefinition(35=d) message.\\n\\n4. Respond to a request for securities within a specified market segment.\\n\\n5. Convey comprehensive security definition for all market segments that the security participates in.\\n\\n6. Convey the security's trading rules that differ from default rules for the market segment.\"\n  },\n  \"e\": {\n    \"updated\": \"FIX.5.0SP1\",\n    \"msgType\": \"e\",\n    \"updatedEP\": \"97\",\n    \"category\": {\n      \"FIXMLFileName\": \"securitiesreference\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"addedEP\": \"97\",\n      \"section\": \"PreTrade\",\n      \"added\": \"FIX.5.0SP1\",\n      \"name\": \"SecuritiesReferenceData\"\n    },\n    \"added\": \"FIX.4.2\",\n    \"name\": \"SecurityStatusRequest\",\n    \"id\": \"38\",\n    \"abbrName\": \"SecStatReq\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.2\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"updatedEP\": \"95\",\n        \"updated\": \"FIX.5.0SP1\",\n        \"id\": \"263\",\n        \"added\": \"FIX.4.2\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"SubscriptionRequestTypeCodeSet\",\n          \"abbrName\": \"SubReqTyp\",\n          \"added\": \"FIX.4.2\",\n          \"name\": \"SubscriptionRequestType\",\n          \"id\": \"263\",\n          \"description\": \"Subscription Request Type\"\n        }\n      },\n      {\n        \"id\": \"324\",\n        \"added\": \"FIX.4.2\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"updated\": \"FIX.5.0SP2\",\n          \"updatedEP\": \"106\",\n          \"added\": \"FIX.4.2\",\n          \"name\": \"SecurityStatusReqID\",\n          \"id\": \"324\",\n          \"abbrName\": \"StatReqID\",\n          \"description\": \"Unique ID of a Security Status Request or a Security Mass Status Request message.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.2\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1003\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Common\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"Instrument\",\n          \"id\": \"1003\",\n          \"abbrName\": \"Instrmt\",\n          \"description\": \"The Instrument component block contains all the fields commonly used to describe a security or instrument. Typically the data elements in this component block are considered the static data of a security, data that may be commonly found in a security master database. The Instrument component block can be used to describe any asset type supported by FIX.\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"The Security Status Request message provides for the ability to request the status of a security. One or more Security Status messages are returned as a result of a Security Status Request message.\"\n  },\n  \"f\": {\n    \"updated\": \"FIX.5.0SP1\",\n    \"msgType\": \"f\",\n    \"updatedEP\": \"97\",\n    \"category\": {\n      \"FIXMLFileName\": \"securitiesreference\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"addedEP\": \"97\",\n      \"section\": \"PreTrade\",\n      \"added\": \"FIX.5.0SP1\",\n      \"name\": \"SecuritiesReferenceData\"\n    },\n    \"added\": \"FIX.4.2\",\n    \"name\": \"SecurityStatus\",\n    \"id\": \"39\",\n    \"abbrName\": \"SecStat\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.2\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.2\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      },\n      {\n        \"updatedEP\": \"195\",\n        \"updated\": \"FIX.5.0SP2\",\n        \"id\": \"1003\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Common\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"Instrument\",\n          \"id\": \"1003\",\n          \"abbrName\": \"Instrmt\",\n          \"description\": \"The Instrument component block contains all the fields commonly used to describe a security or instrument. Typically the data elements in this component block are considered the static data of a security, data that may be commonly found in a security master database. The Instrument component block can be used to describe any asset type supported by FIX.\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"The Security Status message provides for the ability to report changes in status to a security. The Security Status message contains fields to indicate trading status, corporate actions, financial status of the company. The Security Status message is used by one trading entity (for instance an exchange) to report changes in the state of a security.\"\n  },\n  \"g\": {\n    \"updated\": \"FIX.5.0SP1\",\n    \"msgType\": \"g\",\n    \"updatedEP\": \"97\",\n    \"category\": {\n      \"FIXMLFileName\": \"marketstructure\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"addedEP\": \"97\",\n      \"section\": \"PreTrade\",\n      \"added\": \"FIX.5.0SP1\",\n      \"name\": \"MarketStructureReferenceData\"\n    },\n    \"added\": \"FIX.4.2\",\n    \"name\": \"TradingSessionStatusRequest\",\n    \"id\": \"40\",\n    \"abbrName\": \"TrdgSesStatReq\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.2\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"263\",\n        \"added\": \"FIX.4.2\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"SubscriptionRequestTypeCodeSet\",\n          \"abbrName\": \"SubReqTyp\",\n          \"added\": \"FIX.4.2\",\n          \"name\": \"SubscriptionRequestType\",\n          \"id\": \"263\",\n          \"description\": \"Subscription Request Type\"\n        }\n      },\n      {\n        \"id\": \"335\",\n        \"added\": \"FIX.4.2\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"abbrName\": \"ReqID\",\n          \"added\": \"FIX.4.2\",\n          \"name\": \"TradSesReqID\",\n          \"id\": \"335\",\n          \"description\": \"Unique ID of a Trading Session Status message.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.2\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"The Trading Session Status Request is used to request information on the status of a market. With the move to multiple sessions occurring for a given trading party (morning and evening sessions for instance) there is a need to be able to provide information on what product is trading on what market.\"\n  },\n  \"h\": {\n    \"updated\": \"FIX.5.0SP1\",\n    \"msgType\": \"h\",\n    \"updatedEP\": \"97\",\n    \"category\": {\n      \"FIXMLFileName\": \"marketstructure\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"addedEP\": \"97\",\n      \"section\": \"PreTrade\",\n      \"added\": \"FIX.5.0SP1\",\n      \"name\": \"MarketStructureReferenceData\"\n    },\n    \"added\": \"FIX.4.2\",\n    \"name\": \"TradingSessionStatus\",\n    \"id\": \"41\",\n    \"abbrName\": \"TrdgSesStat\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.2\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"updatedEP\": \"190\",\n        \"updated\": \"FIX.5.0SP2\",\n        \"id\": \"336\",\n        \"added\": \"FIX.4.2\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"TradingSessionIDCodeSet\",\n          \"updated\": \"FIX.5.0SP2\",\n          \"unionDataType\": \"Reserved100Plus\",\n          \"updatedEP\": \"190\",\n          \"added\": \"FIX.4.2\",\n          \"name\": \"TradingSessionID\",\n          \"id\": \"336\",\n          \"abbrName\": \"SesID\",\n          \"description\": \"Identifier for a trading session.\\n\\nA trading session spans an extended period of time that can also be expressed informally in terms of the trading day. Usage is determined by market or counterparties.\\n\\nTo specify good for session where session spans more than one calendar day, use TimeInForce = 0 (Day) in conjunction with TradingSessionID(336).\\n\\nBilaterally agreed values of data type \\\"String\\\" that start with a character can be used for backward compatibility.\"\n        }\n      },\n      {\n        \"updatedEP\": \"190\",\n        \"updated\": \"FIX.5.0SP2\",\n        \"id\": \"340\",\n        \"added\": \"FIX.4.2\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"TradSesStatusCodeSet\",\n          \"unionDataType\": \"Reserved100Plus\",\n          \"added\": \"FIX.4.2\",\n          \"name\": \"TradSesStatus\",\n          \"id\": \"340\",\n          \"abbrName\": \"Stat\",\n          \"description\": \"State of the trading session.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.2\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"The Trading Session Status provides information on the status of a market. For markets multiple trading sessions on multiple-markets occurring (morning and evening sessions for instance), this message is able to provide information on what products are trading on what market during what trading session.\"\n  },\n  \"i\": {\n    \"msgType\": \"i\",\n    \"category\": {\n      \"FIXMLFileName\": \"quotation\",\n      \"section\": \"PreTrade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"QuotationNegotiation\"\n    },\n    \"added\": \"FIX.4.2\",\n    \"name\": \"MassQuote\",\n    \"id\": \"42\",\n    \"abbrName\": \"MassQuot\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.2\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"117\",\n        \"added\": \"FIX.4.2\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"abbrName\": \"QID\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"QuoteID\",\n          \"id\": \"117\",\n          \"description\": \"Unique identifier for quote\"\n        }\n      },\n      {\n        \"id\": \"2049\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"group\",\n          \"category\": \"QuotationNegotiation\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"QuotSetGrp\",\n          \"id\": \"2049\",\n          \"abbrName\": \"QuotSet\",\n          \"numInGroup\": { \"id\": \"296\", \"added\": \"FIX.4.4\" },\n          \"fieldRef\": [\n            {\n              \"id\": \"302\",\n              \"added\": \"FIX.4.4\",\n              \"presence\": \"required\",\n              \"description\": \"Sequential number for the Quote Set. For a given QuoteID - assumed to start at 1.\\n\\nMust be the first field in the repeating group.\",\n              \"name\": \"QuoteSetID\"\n            },\n            {\n              \"id\": \"304\",\n              \"added\": \"FIX.4.4\",\n              \"presence\": \"required\",\n              \"description\": \"Total number of quotes for the quote set across all messages. Should be the sum of all NoQuoteEntries in each message that has repeating quotes that are part of the same quote set.\",\n              \"name\": \"TotNoQuoteEntries\"\n            }\n          ],\n          \"groupRef\": [\n            {\n              \"id\": \"2043\",\n              \"added\": \"FIX.4.4\",\n              \"presence\": \"required\",\n              \"description\": \"\"\n            }\n          ],\n          \"description\": \"\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.2\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"The Mass Quote message can contain quotes for multiple securities to support applications that allow for the mass quoting of an option series. Two levels of repeating groups have been provided to minimize the amount of data required to submit a set of quotes for a class of options (e.g. all option series for IBM).\"\n  },\n  \"j\": {\n    \"msgType\": \"j\",\n    \"category\": {\n      \"FIXMLFileName\": \"businessreject\",\n      \"section\": \"Infrastructure\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"BusinessReject\"\n    },\n    \"added\": \"FIX.4.2\",\n    \"name\": \"BusinessMessageReject\",\n    \"id\": \"43\",\n    \"abbrName\": \"BizMsgRej\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.2\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"372\",\n        \"added\": \"FIX.4.2\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"MsgTypeCodeSet\",\n          \"abbrName\": \"RefMsgTyp\",\n          \"added\": \"FIX.4.2\",\n          \"name\": \"RefMsgType\",\n          \"id\": \"372\",\n          \"description\": \"The MsgType (35) of the FIX message being referenced.\"\n        }\n      },\n      {\n        \"id\": \"380\",\n        \"added\": \"FIX.4.2\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"BusinessRejectReasonCodeSet\",\n          \"abbrName\": \"BizRejRsn\",\n          \"added\": \"FIX.4.2\",\n          \"name\": \"BusinessRejectReason\",\n          \"id\": \"380\",\n          \"description\": \"Code to identify reason for a Business Message Reject message.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.2\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"Infrastructure\",\n      \"FIXMLFileName\": \"infrastructure\",\n      \"displayOrder\": \"4\",\n      \"description\": \"Infrastructure messages for application sequencing, business reject, network and user management\"\n    },\n    \"description\": \"The Business Message Reject message can reject an application-level message which fulfills session-level rules and cannot be rejected via any other means. Note if the message fails a session-level rule (e.g. body length is incorrect), a session-level Reject message should be issued.\"\n  },\n  \"k\": {\n    \"msgType\": \"k\",\n    \"category\": {\n      \"FIXMLFileName\": \"listorders\",\n      \"section\": \"Trade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"ProgramTrading\"\n    },\n    \"added\": \"FIX.4.2\",\n    \"name\": \"BidRequest\",\n    \"id\": \"44\",\n    \"abbrName\": \"BidReq\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.2\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"374\",\n        \"added\": \"FIX.4.2\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"BidRequestTransTypeCodeSet\",\n          \"abbrName\": \"BidReqTransTyp\",\n          \"added\": \"FIX.4.2\",\n          \"name\": \"BidRequestTransType\",\n          \"id\": \"374\",\n          \"description\": \"Identifies the Bid Request message type.\"\n        }\n      },\n      {\n        \"id\": \"391\",\n        \"added\": \"FIX.4.2\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"abbrName\": \"ClBidID\",\n          \"added\": \"FIX.4.2\",\n          \"name\": \"ClientBidID\",\n          \"id\": \"391\",\n          \"description\": \"Unique identifier for a Bid Request as assigned by institution. Uniqueness must be guaranteed within a single trading day.\"\n        }\n      },\n      {\n        \"id\": \"393\",\n        \"added\": \"FIX.4.2\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"int\",\n          \"abbrName\": \"TotNoReltdSym\",\n          \"added\": \"FIX.4.2\",\n          \"name\": \"TotNoRelatedSym\",\n          \"id\": \"393\",\n          \"description\": \"Total number of securities.\\n\\n(Prior to FIX 4.4 this field was named TotalNumSecurities)\"\n        }\n      },\n      {\n        \"id\": \"394\",\n        \"added\": \"FIX.4.2\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"BidTypeCodeSet\",\n          \"abbrName\": \"BidTyp\",\n          \"added\": \"FIX.4.2\",\n          \"name\": \"BidType\",\n          \"id\": \"394\",\n          \"description\": \"Code to identify the type of Bid Request.\"\n        }\n      },\n      {\n        \"id\": \"418\",\n        \"added\": \"FIX.4.2\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"BidTradeTypeCodeSet\",\n          \"abbrName\": \"BidTrdTyp\",\n          \"added\": \"FIX.4.2\",\n          \"name\": \"BidTradeType\",\n          \"id\": \"418\",\n          \"description\": \"Code to represent the type of trade.\\n\\n(Prior to FIX 4.4 this field was named \\\"TradeType\\\")\"\n        }\n      },\n      {\n        \"id\": \"419\",\n        \"added\": \"FIX.4.2\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"BasisPxTypeCodeSet\",\n          \"abbrName\": \"BasisPxTyp\",\n          \"added\": \"FIX.4.2\",\n          \"name\": \"BasisPxType\",\n          \"id\": \"419\",\n          \"description\": \"Code to represent the basis price type.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.2\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"Trade\",\n      \"FIXMLFileName\": \"trade\",\n      \"displayOrder\": \"2\",\n      \"description\": \"Order handling and execution messages\"\n    },\n    \"description\": \"The BidRequest Message can be used in one of two ways depending on which market conventions are being followed.\\n\\nIn the \\\"Non disclosed\\\" convention (e.g. US/European model) the BidRequest message can be used to request a bid based on the sector, country, index and liquidity information contained within the message itself. In the \\\"Non disclosed\\\" convention the entry repeating group is used to define liquidity of the program. See \\\" Program/Basket/List Trading\\\" for an example.\\n\\nIn the \\\"Disclosed\\\" convention (e.g. Japanese model) the BidRequest message can be used to request bids based on the ListOrderDetail messages sent in advance of BidRequest message. In the \\\"Disclosed\\\" convention the list repeating group is used to define which ListOrderDetail messages a bid is being sort for and the directions of the required bids.\"\n  },\n  \"l\": {\n    \"msgType\": \"l\",\n    \"category\": {\n      \"FIXMLFileName\": \"listorders\",\n      \"section\": \"Trade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"ProgramTrading\"\n    },\n    \"added\": \"FIX.4.2\",\n    \"name\": \"BidResponse\",\n    \"id\": \"45\",\n    \"abbrName\": \"BidRsp\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.2\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"2005\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"group\",\n          \"category\": \"ProgramTrading\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"BidCompRspGrp\",\n          \"id\": \"2005\",\n          \"abbrName\": \"CompRsp\",\n          \"numInGroup\": { \"id\": \"420\", \"added\": \"FIX.4.4\" },\n          \"componentRef\": [\n            {\n              \"updatedEP\": \"95\",\n              \"updated\": \"FIX.5.0SP1\",\n              \"id\": \"1000\",\n              \"added\": \"FIX.4.4\",\n              \"presence\": \"required\",\n              \"description\": \"First element Commission required if NoBidComponents > 0.\"\n            }\n          ],\n          \"description\": \"\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.2\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"Trade\",\n      \"FIXMLFileName\": \"trade\",\n      \"displayOrder\": \"2\",\n      \"description\": \"Order handling and execution messages\"\n    },\n    \"description\": \"The Bid Response message can be used in one of two ways depending on which market conventions are being followed.\\n\\nIn the \\\"Non disclosed\\\" convention the Bid Response message can be used to supply a bid based on the sector, country, index and liquidity information contained within the corresponding bid request message. See \\\"Program/Basket/List Trading\\\" for an example.\\n\\nIn the \\\"Disclosed\\\" convention the Bid Response message can be used to supply bids based on the List Order Detail messages sent in advance of the corresponding Bid Request message.\"\n  },\n  \"m\": {\n    \"msgType\": \"m\",\n    \"category\": {\n      \"FIXMLFileName\": \"listorders\",\n      \"section\": \"Trade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"ProgramTrading\"\n    },\n    \"added\": \"FIX.4.2\",\n    \"name\": \"ListStrikePrice\",\n    \"id\": \"46\",\n    \"abbrName\": \"ListStrkPx\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.2\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"66\",\n        \"added\": \"FIX.4.2\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"baseCategoryAbbrName\": \"ID\",\n          \"baseCategory\": \"ProgramTrading\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"ListID\",\n          \"id\": \"66\",\n          \"abbrName\": \"ListID\",\n          \"description\": \"Unique identifier for list as assigned by institution, used to associate multiple individual orders. Uniqueness must be guaranteed within a single trading day. Firms which generate multi-day orders should consider embedding a date within the ListID field to assure uniqueness across days.\"\n        }\n      },\n      {\n        \"id\": \"422\",\n        \"added\": \"FIX.4.2\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"int\",\n          \"abbrName\": \"TotNoStrks\",\n          \"added\": \"FIX.4.2\",\n          \"name\": \"TotNoStrikes\",\n          \"id\": \"422\",\n          \"description\": \"Total number of strike price entries across all messages. Should be the sum of all NoStrikes (428) in each message that has repeating strike price entries related to the same ListID (66). Used to support fragmentation.\"\n        }\n      },\n      {\n        \"id\": \"2023\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"group\",\n          \"category\": \"ProgramTrading\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"InstrmtStrkPxGrp\",\n          \"id\": \"2023\",\n          \"abbrName\": \"StrkPX\",\n          \"numInGroup\": { \"id\": \"428\", \"added\": \"FIX.4.4\" },\n          \"componentRef\": [\n            {\n              \"id\": \"1003\",\n              \"added\": \"FIX.4.4\",\n              \"presence\": \"required\",\n              \"description\": \"Insert here the set of \\\"Instrument\\\" (symbology) fields defined in \\\"Common Components of Application Messages\\\"\\n\\nRequired if NoStrikes > 0. Must be first field in repeating group.\"\n            }\n          ],\n          \"description\": \"\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.2\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"Trade\",\n      \"FIXMLFileName\": \"trade\",\n      \"displayOrder\": \"2\",\n      \"description\": \"Order handling and execution messages\"\n    },\n    \"description\": \"The strike price message is used to exchange strike price information for principal trades. It can also be used to exchange reference prices for agency trades.\"\n  },\n  \"n\": {\n    \"msgType\": \"n\",\n    \"category\": {\n      \"FIXMLFileName\": \"session\",\n      \"section\": \"Session\",\n      \"componentType\": \"Message\",\n      \"name\": \"Session\"\n    },\n    \"added\": \"FIX.4.3\",\n    \"name\": \"XMLnonFIX\",\n    \"id\": \"47\",\n    \"abbrName\": \"XMLnonFIX\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"Session\",\n      \"FIXMLFileName\": \"session\",\n      \"displayOrder\": \"0\",\n      \"description\": \"Session level messages to establish and control a FIX session\"\n    },\n    \"description\": \"\"\n  },\n  \"o\": {\n    \"msgType\": \"o\",\n    \"category\": {\n      \"FIXMLFileName\": \"registration\",\n      \"section\": \"PostTrade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"RegistrationInstruction\"\n    },\n    \"added\": \"FIX.4.3\",\n    \"name\": \"RegistrationInstructions\",\n    \"id\": \"48\",\n    \"abbrName\": \"RgstInstrctns\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"508\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"updated\": \"FIX.Latest\",\n          \"baseCategoryAbbrName\": \"RefID\",\n          \"baseCategory\": \"RegistrationInstruction\",\n          \"updatedEP\": \"282\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"RegistRefID\",\n          \"id\": \"508\",\n          \"abbrName\": \"RefID\",\n          \"description\": \"Reference identifier for the RegistID(513) with Cancel and Replace RegistTransType(514) transaction types.\"\n        }\n      },\n      {\n        \"id\": \"513\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"baseCategoryAbbrName\": \"ID\",\n          \"baseCategory\": \"RegistrationInstruction\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"RegistID\",\n          \"id\": \"513\",\n          \"abbrName\": \"RegistID\",\n          \"description\": \"Unique identifier of the registration details as assigned by institution or intermediary.\"\n        }\n      },\n      {\n        \"id\": \"514\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"RegistTransTypeCodeSet\",\n          \"abbrName\": \"TransTyp\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"RegistTransType\",\n          \"id\": \"514\",\n          \"description\": \"Identifies Registration Instructions transaction type\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"PostTrade\",\n      \"FIXMLFileName\": \"posttrade\",\n      \"displayOrder\": \"3\",\n      \"description\": \"Post trade messages including trade reporting, allocation, collateral, confirmation, position mantemenance, registration instruction, and settlement instructions\"\n    },\n    \"description\": \"The Registration Instructions message type may be used by institutions or retail intermediaries wishing to electronically submit registration information to a broker or fund manager (for CIV) for an order or for an allocation.\"\n  },\n  \"p\": {\n    \"msgType\": \"p\",\n    \"category\": {\n      \"FIXMLFileName\": \"registration\",\n      \"section\": \"PostTrade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"RegistrationInstruction\"\n    },\n    \"added\": \"FIX.4.3\",\n    \"name\": \"RegistrationInstructionsResponse\",\n    \"id\": \"49\",\n    \"abbrName\": \"RgstInstrctnsRsp\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"506\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"RegistStatusCodeSet\",\n          \"abbrName\": \"RegStat\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"RegistStatus\",\n          \"id\": \"506\",\n          \"description\": \"Registration status as returned by the broker or (for CIV) the fund manager:\"\n        }\n      },\n      {\n        \"id\": \"508\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"updated\": \"FIX.Latest\",\n          \"baseCategoryAbbrName\": \"RefID\",\n          \"baseCategory\": \"RegistrationInstruction\",\n          \"updatedEP\": \"282\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"RegistRefID\",\n          \"id\": \"508\",\n          \"abbrName\": \"RefID\",\n          \"description\": \"Reference identifier for the RegistID(513) with Cancel and Replace RegistTransType(514) transaction types.\"\n        }\n      },\n      {\n        \"id\": \"513\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"baseCategoryAbbrName\": \"ID\",\n          \"baseCategory\": \"RegistrationInstruction\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"RegistID\",\n          \"id\": \"513\",\n          \"abbrName\": \"RegistID\",\n          \"description\": \"Unique identifier of the registration details as assigned by institution or intermediary.\"\n        }\n      },\n      {\n        \"id\": \"514\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"RegistTransTypeCodeSet\",\n          \"abbrName\": \"TransTyp\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"RegistTransType\",\n          \"id\": \"514\",\n          \"description\": \"Identifies Registration Instructions transaction type\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"PostTrade\",\n      \"FIXMLFileName\": \"posttrade\",\n      \"displayOrder\": \"3\",\n      \"description\": \"Post trade messages including trade reporting, allocation, collateral, confirmation, position mantemenance, registration instruction, and settlement instructions\"\n    },\n    \"description\": \"The Registration Instructions Response message type may be used by broker or fund manager (for CIV) in response to a Registration Instructions message submitted by an institution or retail intermediary for an order or for an allocation.\"\n  },\n  \"q\": {\n    \"msgType\": \"q\",\n    \"category\": {\n      \"FIXMLFileName\": \"ordermasshandling\",\n      \"section\": \"Trade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"OrderMassHandling\"\n    },\n    \"added\": \"FIX.4.3\",\n    \"name\": \"OrderMassCancelRequest\",\n    \"id\": \"50\",\n    \"abbrName\": \"OrdMassCxlReq\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"11\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"updated\": \"FIX.Latest\",\n          \"baseCategoryAbbrName\": \"ID\",\n          \"baseCategory\": \"SingleGeneralOrderHandling\",\n          \"updatedEP\": \"282\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"ClOrdID\",\n          \"id\": \"11\",\n          \"abbrName\": \"ClOrdID\",\n          \"description\": \"Unique identifier for Order as assigned by the buy-side (institution, broker, intermediary etc.) (identified by SenderCompID(49) or OnBehalfOfCompID(115) as appropriate). Uniqueness must be guaranteed within a single trading day. Firms, particularly those which electronically submit multi-day orders, trade globally or throughout market close periods, should ensure uniqueness across days, for example by embedding a date within the ClOrdID(11) field.\"\n        }\n      },\n      {\n        \"id\": \"60\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"UTCTimestamp\",\n          \"updated\": \"FIX.5.0SP1\",\n          \"updatedEP\": \"94\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"TransactTime\",\n          \"id\": \"60\",\n          \"abbrName\": \"TxnTm\",\n          \"description\": \"Timestamp when the business transaction represented by the message occurred.\"\n        }\n      },\n      {\n        \"id\": \"530\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"MassCancelRequestTypeCodeSet\",\n          \"baseCategoryAbbrName\": \"ReqTyp\",\n          \"baseCategory\": \"OrderMassHandling\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"MassCancelRequestType\",\n          \"id\": \"530\",\n          \"abbrName\": \"MassCxlReqTyp\",\n          \"description\": \"Specifies scope of Order Mass Cancel Request.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"Trade\",\n      \"FIXMLFileName\": \"trade\",\n      \"displayOrder\": \"2\",\n      \"description\": \"Order handling and execution messages\"\n    },\n    \"description\": \"The order mass cancel request message requests the cancellation of all of the remaining quantity of a group of orders matching criteria specified within the request. NOTE: This message can only be used to cancel order messages (reduce the full quantity).\"\n  },\n  \"r\": {\n    \"msgType\": \"r\",\n    \"category\": {\n      \"FIXMLFileName\": \"ordermasshandling\",\n      \"section\": \"Trade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"OrderMassHandling\"\n    },\n    \"added\": \"FIX.4.3\",\n    \"name\": \"OrderMassCancelReport\",\n    \"id\": \"51\",\n    \"abbrName\": \"OrdMassCxlRpt\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"deprecated\": \"FIX.5.0SP1\",\n        \"id\": \"37\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"abbrName\": \"OrdID\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"OrderID\",\n          \"id\": \"37\",\n          \"description\": \"Unique identifier for Order as assigned by sell-side (broker, exchange, ECN). Uniqueness must be guaranteed within a single trading day. Firms which accept multi-day orders should consider embedding a date within the OrderID field to assure uniqueness across days.\"\n        }\n      },\n      {\n        \"id\": \"530\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"MassCancelRequestTypeCodeSet\",\n          \"baseCategoryAbbrName\": \"ReqTyp\",\n          \"baseCategory\": \"OrderMassHandling\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"MassCancelRequestType\",\n          \"id\": \"530\",\n          \"abbrName\": \"MassCxlReqTyp\",\n          \"description\": \"Specifies scope of Order Mass Cancel Request.\"\n        }\n      },\n      {\n        \"id\": \"531\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"MassCancelResponseCodeSet\",\n          \"baseCategoryAbbrName\": \"Rsp\",\n          \"baseCategory\": \"OrderMassHandling\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"MassCancelResponse\",\n          \"id\": \"531\",\n          \"abbrName\": \"MassCxlRsp\",\n          \"description\": \"Specifies the action taken by counterparty order handling system as a result of the Order Mass Cancel Request\"\n        }\n      },\n      {\n        \"id\": \"1369\",\n        \"added\": \"FIX.5.0\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"addedEP\": \"58\",\n          \"added\": \"FIX.5.0\",\n          \"name\": \"MassActionReportID\",\n          \"id\": \"1369\",\n          \"abbrName\": \"MassActionReportID\",\n          \"description\": \"Unique identifier of Order Mass Cancel Report or Order Mass Action Report message as assigned by sell-side (broker, exchange, ECN)\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"Trade\",\n      \"FIXMLFileName\": \"trade\",\n      \"displayOrder\": \"2\",\n      \"description\": \"Order handling and execution messages\"\n    },\n    \"description\": \"The Order Mass Cancel Report is used to acknowledge an Order Mass Cancel Request. Note that each affected order that is canceled is acknowledged with a separate Execution Report or Order Cancel Reject message.\"\n  },\n  \"s\": {\n    \"msgType\": \"s\",\n    \"category\": {\n      \"FIXMLFileName\": \"crossorders\",\n      \"section\": \"Trade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"CrossOrders\"\n    },\n    \"added\": \"FIX.4.3\",\n    \"name\": \"NewOrderCross\",\n    \"id\": \"52\",\n    \"abbrName\": \"NewOrdCrss\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"40\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"OrdTypeCodeSet\",\n          \"baseCategoryAbbrName\": \"Typ\",\n          \"baseCategory\": \"SingleGeneralOrderHandling\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"OrdType\",\n          \"id\": \"40\",\n          \"abbrName\": \"OrdTyp\",\n          \"description\": \"Order type. *** SOME VALUES ARE NO LONGER USED - See \\\"Deprecated (Phased-out) Features and Supported Approach\\\" *** (see Volume : \\\"Glossary\\\" for value definitions)\"\n        }\n      },\n      {\n        \"id\": \"60\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"UTCTimestamp\",\n          \"updated\": \"FIX.5.0SP1\",\n          \"updatedEP\": \"94\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"TransactTime\",\n          \"id\": \"60\",\n          \"abbrName\": \"TxnTm\",\n          \"description\": \"Timestamp when the business transaction represented by the message occurred.\"\n        }\n      },\n      {\n        \"id\": \"548\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"baseCategoryAbbrName\": \"ID\",\n          \"baseCategory\": \"CrossOrders\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"CrossID\",\n          \"id\": \"548\",\n          \"abbrName\": \"CrssID\",\n          \"description\": \"Identifier for a cross order. Must be unique during a given trading day. Recommend that firms use the order date as part of the CrossID for Good Till Cancel (GT) orders.\"\n        }\n      },\n      {\n        \"id\": \"549\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"CrossTypeCodeSet\",\n          \"baseCategoryAbbrName\": \"Typ\",\n          \"baseCategory\": \"CrossOrders\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"CrossType\",\n          \"id\": \"549\",\n          \"abbrName\": \"CrssTyp\",\n          \"description\": \"Type of cross being submitted to a market\"\n        }\n      },\n      {\n        \"id\": \"550\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"CrossPrioritizationCodeSet\",\n          \"baseCategoryAbbrName\": \"Priorty\",\n          \"baseCategory\": \"CrossOrders\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"CrossPrioritization\",\n          \"id\": \"550\",\n          \"abbrName\": \"CrssPriortstn\",\n          \"description\": \"Indicates if one side or the other of a cross order should be prioritized.\\n\\nThe definition of prioritization is left to the market. In some markets prioritization means which side of the cross order is applied to the market first. In other markets - prioritization may mean that the prioritized side is fully executed (sometimes referred to as the side being protected).\"\n        }\n      },\n      {\n        \"id\": \"2059\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"group\",\n          \"category\": \"CrossOrders\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"SideCrossOrdModGrp\",\n          \"id\": \"2059\",\n          \"abbrName\": \"SideCrossMod\",\n          \"numInGroup\": {\n            \"id\": \"552\",\n            \"added\": \"FIX.4.4\",\n            \"updated\": \"FIX.5.0SP2\",\n            \"updatedEP\": \"131\"\n          },\n          \"fieldRef\": [\n            {\n              \"updatedEP\": \"131\",\n              \"updated\": \"FIX.5.0SP2\",\n              \"id\": \"54\",\n              \"added\": \"FIX.4.4\",\n              \"presence\": \"required\",\n              \"description\": \"Required if NoSides(552) > 0.\",\n              \"name\": \"Side\"\n            },\n            {\n              \"id\": \"11\",\n              \"added\": \"FIX.4.4\",\n              \"presence\": \"required\",\n              \"description\": \"Unique identifier of the order as assigned by institution or by the intermediary with closest association with the investor.\",\n              \"name\": \"ClOrdID\"\n            }\n          ],\n          \"componentRef\": [\n            {\n              \"updatedEP\": \"131\",\n              \"updated\": \"FIX.5.0SP2\",\n              \"id\": \"1011\",\n              \"added\": \"FIX.4.4\",\n              \"presence\": \"required\",\n              \"description\": \"\"\n            }\n          ],\n          \"description\": \"\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1003\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Common\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"Instrument\",\n          \"id\": \"1003\",\n          \"abbrName\": \"Instrmt\",\n          \"description\": \"The Instrument component block contains all the fields commonly used to describe a security or instrument. Typically the data elements in this component block are considered the static data of a security, data that may be commonly found in a security master database. The Instrument component block can be used to describe any asset type supported by FIX.\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"Trade\",\n      \"FIXMLFileName\": \"trade\",\n      \"displayOrder\": \"2\",\n      \"description\": \"Order handling and execution messages\"\n    },\n    \"description\": \"Used to submit a cross order into a market. The cross order contains two order sides (a buy and a sell). The cross order is identified by its CrossID.\"\n  },\n  \"t\": {\n    \"msgType\": \"t\",\n    \"category\": {\n      \"FIXMLFileName\": \"crossorders\",\n      \"section\": \"Trade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"CrossOrders\"\n    },\n    \"added\": \"FIX.4.3\",\n    \"name\": \"CrossOrderCancelReplaceRequest\",\n    \"id\": \"53\",\n    \"abbrName\": \"CrssOrdCxlRplcReq\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"40\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"OrdTypeCodeSet\",\n          \"baseCategoryAbbrName\": \"Typ\",\n          \"baseCategory\": \"SingleGeneralOrderHandling\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"OrdType\",\n          \"id\": \"40\",\n          \"abbrName\": \"OrdTyp\",\n          \"description\": \"Order type. *** SOME VALUES ARE NO LONGER USED - See \\\"Deprecated (Phased-out) Features and Supported Approach\\\" *** (see Volume : \\\"Glossary\\\" for value definitions)\"\n        }\n      },\n      {\n        \"id\": \"60\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"UTCTimestamp\",\n          \"updated\": \"FIX.5.0SP1\",\n          \"updatedEP\": \"94\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"TransactTime\",\n          \"id\": \"60\",\n          \"abbrName\": \"TxnTm\",\n          \"description\": \"Timestamp when the business transaction represented by the message occurred.\"\n        }\n      },\n      {\n        \"id\": \"548\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"baseCategoryAbbrName\": \"ID\",\n          \"baseCategory\": \"CrossOrders\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"CrossID\",\n          \"id\": \"548\",\n          \"abbrName\": \"CrssID\",\n          \"description\": \"Identifier for a cross order. Must be unique during a given trading day. Recommend that firms use the order date as part of the CrossID for Good Till Cancel (GT) orders.\"\n        }\n      },\n      {\n        \"id\": \"549\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"CrossTypeCodeSet\",\n          \"baseCategoryAbbrName\": \"Typ\",\n          \"baseCategory\": \"CrossOrders\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"CrossType\",\n          \"id\": \"549\",\n          \"abbrName\": \"CrssTyp\",\n          \"description\": \"Type of cross being submitted to a market\"\n        }\n      },\n      {\n        \"id\": \"550\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"CrossPrioritizationCodeSet\",\n          \"baseCategoryAbbrName\": \"Priorty\",\n          \"baseCategory\": \"CrossOrders\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"CrossPrioritization\",\n          \"id\": \"550\",\n          \"abbrName\": \"CrssPriortstn\",\n          \"description\": \"Indicates if one side or the other of a cross order should be prioritized.\\n\\nThe definition of prioritization is left to the market. In some markets prioritization means which side of the cross order is applied to the market first. In other markets - prioritization may mean that the prioritized side is fully executed (sometimes referred to as the side being protected).\"\n        }\n      },\n      {\n        \"id\": \"551\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"baseCategoryAbbrName\": \"OrigID\",\n          \"baseCategory\": \"CrossOrders\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"OrigCrossID\",\n          \"id\": \"551\",\n          \"abbrName\": \"OrigCrssID\",\n          \"description\": \"CrossID of the previous cross order (NOT the initial cross order of the day) as assigned by the institution, used to identify the previous cross order in Cross Cancel and Cross Cancel/Replace Requests.\"\n        }\n      },\n      {\n        \"id\": \"2059\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"group\",\n          \"category\": \"CrossOrders\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"SideCrossOrdModGrp\",\n          \"id\": \"2059\",\n          \"abbrName\": \"SideCrossMod\",\n          \"numInGroup\": {\n            \"id\": \"552\",\n            \"added\": \"FIX.4.4\",\n            \"updated\": \"FIX.5.0SP2\",\n            \"updatedEP\": \"131\"\n          },\n          \"fieldRef\": [\n            {\n              \"updatedEP\": \"131\",\n              \"updated\": \"FIX.5.0SP2\",\n              \"id\": \"54\",\n              \"added\": \"FIX.4.4\",\n              \"presence\": \"required\",\n              \"description\": \"Required if NoSides(552) > 0.\",\n              \"name\": \"Side\"\n            },\n            {\n              \"id\": \"11\",\n              \"added\": \"FIX.4.4\",\n              \"presence\": \"required\",\n              \"description\": \"Unique identifier of the order as assigned by institution or by the intermediary with closest association with the investor.\",\n              \"name\": \"ClOrdID\"\n            }\n          ],\n          \"componentRef\": [\n            {\n              \"updatedEP\": \"131\",\n              \"updated\": \"FIX.5.0SP2\",\n              \"id\": \"1011\",\n              \"added\": \"FIX.4.4\",\n              \"presence\": \"required\",\n              \"description\": \"\"\n            }\n          ],\n          \"description\": \"\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1003\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Common\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"Instrument\",\n          \"id\": \"1003\",\n          \"abbrName\": \"Instrmt\",\n          \"description\": \"The Instrument component block contains all the fields commonly used to describe a security or instrument. Typically the data elements in this component block are considered the static data of a security, data that may be commonly found in a security master database. The Instrument component block can be used to describe any asset type supported by FIX.\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"Trade\",\n      \"FIXMLFileName\": \"trade\",\n      \"displayOrder\": \"2\",\n      \"description\": \"Order handling and execution messages\"\n    },\n    \"description\": \"Used to modify a cross order previously submitted using the New Order - Cross message. See Order Cancel Replace Request for details concerning message usage.\"\n  },\n  \"u\": {\n    \"msgType\": \"u\",\n    \"category\": {\n      \"FIXMLFileName\": \"crossorders\",\n      \"section\": \"Trade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"CrossOrders\"\n    },\n    \"added\": \"FIX.4.3\",\n    \"name\": \"CrossOrderCancelRequest\",\n    \"id\": \"54\",\n    \"abbrName\": \"CrssOrdCxlReq\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"60\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"UTCTimestamp\",\n          \"updated\": \"FIX.5.0SP1\",\n          \"updatedEP\": \"94\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"TransactTime\",\n          \"id\": \"60\",\n          \"abbrName\": \"TxnTm\",\n          \"description\": \"Timestamp when the business transaction represented by the message occurred.\"\n        }\n      },\n      {\n        \"id\": \"548\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"baseCategoryAbbrName\": \"ID\",\n          \"baseCategory\": \"CrossOrders\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"CrossID\",\n          \"id\": \"548\",\n          \"abbrName\": \"CrssID\",\n          \"description\": \"Identifier for a cross order. Must be unique during a given trading day. Recommend that firms use the order date as part of the CrossID for Good Till Cancel (GT) orders.\"\n        }\n      },\n      {\n        \"id\": \"549\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"CrossTypeCodeSet\",\n          \"baseCategoryAbbrName\": \"Typ\",\n          \"baseCategory\": \"CrossOrders\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"CrossType\",\n          \"id\": \"549\",\n          \"abbrName\": \"CrssTyp\",\n          \"description\": \"Type of cross being submitted to a market\"\n        }\n      },\n      {\n        \"id\": \"550\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"CrossPrioritizationCodeSet\",\n          \"baseCategoryAbbrName\": \"Priorty\",\n          \"baseCategory\": \"CrossOrders\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"CrossPrioritization\",\n          \"id\": \"550\",\n          \"abbrName\": \"CrssPriortstn\",\n          \"description\": \"Indicates if one side or the other of a cross order should be prioritized.\\n\\nThe definition of prioritization is left to the market. In some markets prioritization means which side of the cross order is applied to the market first. In other markets - prioritization may mean that the prioritized side is fully executed (sometimes referred to as the side being protected).\"\n        }\n      },\n      {\n        \"id\": \"551\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"baseCategoryAbbrName\": \"OrigID\",\n          \"baseCategory\": \"CrossOrders\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"OrigCrossID\",\n          \"id\": \"551\",\n          \"abbrName\": \"OrigCrssID\",\n          \"description\": \"CrossID of the previous cross order (NOT the initial cross order of the day) as assigned by the institution, used to identify the previous cross order in Cross Cancel and Cross Cancel/Replace Requests.\"\n        }\n      },\n      {\n        \"id\": \"2058\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"group\",\n          \"category\": \"CrossOrders\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"SideCrossOrdCxlGrp\",\n          \"id\": \"2058\",\n          \"abbrName\": \"SideCrossCxl\",\n          \"numInGroup\": { \"id\": \"552\", \"added\": \"FIX.4.4\" },\n          \"fieldRef\": [\n            {\n              \"id\": \"54\",\n              \"added\": \"FIX.4.4\",\n              \"presence\": \"required\",\n              \"description\": \"\",\n              \"name\": \"Side\"\n            },\n            {\n              \"id\": \"11\",\n              \"added\": \"FIX.4.4\",\n              \"presence\": \"required\",\n              \"description\": \"Unique identifier of the order as assigned by institution or by the intermediary with closest association with the investor.\",\n              \"name\": \"ClOrdID\"\n            }\n          ],\n          \"componentRef\": [\n            {\n              \"updatedEP\": \"221\",\n              \"updated\": \"FIX.5.0SP2\",\n              \"id\": \"1011\",\n              \"added\": \"FIX.4.4\",\n              \"presence\": \"required\",\n              \"description\": \"\"\n            }\n          ],\n          \"description\": \"\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1003\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Common\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"Instrument\",\n          \"id\": \"1003\",\n          \"abbrName\": \"Instrmt\",\n          \"description\": \"The Instrument component block contains all the fields commonly used to describe a security or instrument. Typically the data elements in this component block are considered the static data of a security, data that may be commonly found in a security master database. The Instrument component block can be used to describe any asset type supported by FIX.\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"Trade\",\n      \"FIXMLFileName\": \"trade\",\n      \"displayOrder\": \"2\",\n      \"description\": \"Order handling and execution messages\"\n    },\n    \"description\": \"Used to fully cancel the remaining open quantity of a cross order.\"\n  },\n  \"v\": {\n    \"updated\": \"FIX.5.0SP1\",\n    \"msgType\": \"v\",\n    \"updatedEP\": \"97\",\n    \"category\": {\n      \"FIXMLFileName\": \"securitiesreference\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"addedEP\": \"97\",\n      \"section\": \"PreTrade\",\n      \"added\": \"FIX.5.0SP1\",\n      \"name\": \"SecuritiesReferenceData\"\n    },\n    \"added\": \"FIX.4.3\",\n    \"name\": \"SecurityTypeRequest\",\n    \"id\": \"55\",\n    \"abbrName\": \"SecTypReq\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"320\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"abbrName\": \"ReqID\",\n          \"added\": \"FIX.4.2\",\n          \"name\": \"SecurityReqID\",\n          \"id\": \"320\",\n          \"description\": \"Unique ID of a Security Definition Request.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"The Security Type Request message is used to return a list of security types available from a counterparty or market.\"\n  },\n  \"w\": {\n    \"updated\": \"FIX.5.0SP1\",\n    \"msgType\": \"w\",\n    \"updatedEP\": \"97\",\n    \"category\": {\n      \"FIXMLFileName\": \"securitiesreference\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"addedEP\": \"97\",\n      \"section\": \"PreTrade\",\n      \"added\": \"FIX.5.0SP1\",\n      \"name\": \"SecuritiesReferenceData\"\n    },\n    \"added\": \"FIX.4.3\",\n    \"name\": \"SecurityTypes\",\n    \"id\": \"56\",\n    \"abbrName\": \"SecTyps\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"320\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"abbrName\": \"ReqID\",\n          \"added\": \"FIX.4.2\",\n          \"name\": \"SecurityReqID\",\n          \"id\": \"320\",\n          \"description\": \"Unique ID of a Security Definition Request.\"\n        }\n      },\n      {\n        \"id\": \"322\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"abbrName\": \"RspID\",\n          \"added\": \"FIX.4.2\",\n          \"name\": \"SecurityResponseID\",\n          \"id\": \"322\",\n          \"description\": \"Unique ID of a Security Definition message.\"\n        }\n      },\n      {\n        \"id\": \"323\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"SecurityResponseTypeCodeSet\",\n          \"abbrName\": \"RspTyp\",\n          \"added\": \"FIX.4.2\",\n          \"name\": \"SecurityResponseType\",\n          \"id\": \"323\",\n          \"description\": \"Type of Security Definition message response.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"The Security Type Request message is used to return a list of security types available from a counterparty or market.\"\n  },\n  \"x\": {\n    \"updated\": \"FIX.5.0SP1\",\n    \"msgType\": \"x\",\n    \"updatedEP\": \"97\",\n    \"category\": {\n      \"FIXMLFileName\": \"securitiesreference\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"addedEP\": \"97\",\n      \"section\": \"PreTrade\",\n      \"added\": \"FIX.5.0SP1\",\n      \"name\": \"SecuritiesReferenceData\"\n    },\n    \"added\": \"FIX.4.3\",\n    \"name\": \"SecurityListRequest\",\n    \"id\": \"57\",\n    \"abbrName\": \"SecListReq\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"320\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"abbrName\": \"ReqID\",\n          \"added\": \"FIX.4.2\",\n          \"name\": \"SecurityReqID\",\n          \"id\": \"320\",\n          \"description\": \"Unique ID of a Security Definition Request.\"\n        }\n      },\n      {\n        \"id\": \"559\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"SecurityListRequestTypeCodeSet\",\n          \"abbrName\": \"ListReqTyp\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"SecurityListRequestType\",\n          \"id\": \"559\",\n          \"description\": \"Identifies the type/criteria of Security List Request\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"The Security List Request message is used to return a list of securities from the counterparty that match criteria provided on the request\"\n  },\n  \"y\": {\n    \"updated\": \"FIX.5.0SP1\",\n    \"msgType\": \"y\",\n    \"updatedEP\": \"97\",\n    \"category\": {\n      \"FIXMLFileName\": \"securitiesreference\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"addedEP\": \"97\",\n      \"section\": \"PreTrade\",\n      \"added\": \"FIX.5.0SP1\",\n      \"name\": \"SecuritiesReferenceData\"\n    },\n    \"added\": \"FIX.4.3\",\n    \"name\": \"SecurityList\",\n    \"id\": \"58\",\n    \"abbrName\": \"SecList\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"The Security List message is used to return a list of securities that matches the criteria specified in a Security List Request.\"\n  },\n  \"z\": {\n    \"updated\": \"FIX.5.0SP1\",\n    \"msgType\": \"z\",\n    \"updatedEP\": \"97\",\n    \"category\": {\n      \"FIXMLFileName\": \"securitiesreference\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"addedEP\": \"97\",\n      \"section\": \"PreTrade\",\n      \"added\": \"FIX.5.0SP1\",\n      \"name\": \"SecuritiesReferenceData\"\n    },\n    \"added\": \"FIX.4.3\",\n    \"name\": \"DerivativeSecurityListRequest\",\n    \"id\": \"59\",\n    \"abbrName\": \"DerivSecListReq\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"320\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"abbrName\": \"ReqID\",\n          \"added\": \"FIX.4.2\",\n          \"name\": \"SecurityReqID\",\n          \"id\": \"320\",\n          \"description\": \"Unique ID of a Security Definition Request.\"\n        }\n      },\n      {\n        \"id\": \"559\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"SecurityListRequestTypeCodeSet\",\n          \"abbrName\": \"ListReqTyp\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"SecurityListRequestType\",\n          \"id\": \"559\",\n          \"description\": \"Identifies the type/criteria of Security List Request\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"The Derivative Security List Request message is used to return a list of securities from the counterparty that match criteria provided on the request\"\n  },\n  \"AA\": {\n    \"updated\": \"FIX.5.0SP1\",\n    \"msgType\": \"AA\",\n    \"updatedEP\": \"97\",\n    \"category\": {\n      \"FIXMLFileName\": \"securitiesreference\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"addedEP\": \"97\",\n      \"section\": \"PreTrade\",\n      \"added\": \"FIX.5.0SP1\",\n      \"name\": \"SecuritiesReferenceData\"\n    },\n    \"added\": \"FIX.4.3\",\n    \"name\": \"DerivativeSecurityList\",\n    \"id\": \"60\",\n    \"abbrName\": \"DerivSecList\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"The Derivative Security List message is used to return a list of securities that matches the criteria specified in a Derivative Security List Request.\"\n  },\n  \"AB\": {\n    \"msgType\": \"AB\",\n    \"category\": {\n      \"FIXMLFileName\": \"multilegorders\",\n      \"section\": \"Trade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"MultilegOrders\"\n    },\n    \"added\": \"FIX.4.3\",\n    \"name\": \"NewOrderMultileg\",\n    \"id\": \"61\",\n    \"abbrName\": \"NewOrdMleg\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"11\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"updated\": \"FIX.Latest\",\n          \"baseCategoryAbbrName\": \"ID\",\n          \"baseCategory\": \"SingleGeneralOrderHandling\",\n          \"updatedEP\": \"282\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"ClOrdID\",\n          \"id\": \"11\",\n          \"abbrName\": \"ClOrdID\",\n          \"description\": \"Unique identifier for Order as assigned by the buy-side (institution, broker, intermediary etc.) (identified by SenderCompID(49) or OnBehalfOfCompID(115) as appropriate). Uniqueness must be guaranteed within a single trading day. Firms, particularly those which electronically submit multi-day orders, trade globally or throughout market close periods, should ensure uniqueness across days, for example by embedding a date within the ClOrdID(11) field.\"\n        }\n      },\n      {\n        \"id\": \"40\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"OrdTypeCodeSet\",\n          \"baseCategoryAbbrName\": \"Typ\",\n          \"baseCategory\": \"SingleGeneralOrderHandling\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"OrdType\",\n          \"id\": \"40\",\n          \"abbrName\": \"OrdTyp\",\n          \"description\": \"Order type. *** SOME VALUES ARE NO LONGER USED - See \\\"Deprecated (Phased-out) Features and Supported Approach\\\" *** (see Volume : \\\"Glossary\\\" for value definitions)\"\n        }\n      },\n      {\n        \"id\": \"54\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"SideCodeSet\",\n          \"abbrName\": \"Side\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"Side\",\n          \"id\": \"54\",\n          \"description\": \"Side of order (see Volume : \\\"Glossary\\\" for value definitions)\"\n        }\n      },\n      {\n        \"id\": \"60\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"UTCTimestamp\",\n          \"updated\": \"FIX.5.0SP1\",\n          \"updatedEP\": \"94\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"TransactTime\",\n          \"id\": \"60\",\n          \"abbrName\": \"TxnTm\",\n          \"description\": \"Timestamp when the business transaction represented by the message occurred.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"Trade\",\n      \"FIXMLFileName\": \"trade\",\n      \"displayOrder\": \"2\",\n      \"description\": \"Order handling and execution messages\"\n    },\n    \"description\": \"The New Order - Multileg is provided to submit orders for securities that are made up of multiple securities, known as legs.\"\n  },\n  \"AC\": {\n    \"msgType\": \"AC\",\n    \"category\": {\n      \"FIXMLFileName\": \"multilegorders\",\n      \"section\": \"Trade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"MultilegOrders\"\n    },\n    \"added\": \"FIX.4.3\",\n    \"name\": \"MultilegOrderCancelReplace\",\n    \"id\": \"62\",\n    \"abbrName\": \"MlegOrdCxlRplc\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"40\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"OrdTypeCodeSet\",\n          \"baseCategoryAbbrName\": \"Typ\",\n          \"baseCategory\": \"SingleGeneralOrderHandling\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"OrdType\",\n          \"id\": \"40\",\n          \"abbrName\": \"OrdTyp\",\n          \"description\": \"Order type. *** SOME VALUES ARE NO LONGER USED - See \\\"Deprecated (Phased-out) Features and Supported Approach\\\" *** (see Volume : \\\"Glossary\\\" for value definitions)\"\n        }\n      },\n      {\n        \"id\": \"54\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"SideCodeSet\",\n          \"abbrName\": \"Side\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"Side\",\n          \"id\": \"54\",\n          \"description\": \"Side of order (see Volume : \\\"Glossary\\\" for value definitions)\"\n        }\n      },\n      {\n        \"id\": \"60\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"UTCTimestamp\",\n          \"updated\": \"FIX.5.0SP1\",\n          \"updatedEP\": \"94\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"TransactTime\",\n          \"id\": \"60\",\n          \"abbrName\": \"TxnTm\",\n          \"description\": \"Timestamp when the business transaction represented by the message occurred.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"Trade\",\n      \"FIXMLFileName\": \"trade\",\n      \"displayOrder\": \"2\",\n      \"description\": \"Order handling and execution messages\"\n    },\n    \"description\": \"Used to modify a multileg order previously submitted using the New Order - Multileg message. See Order Cancel Replace Request for details concerning message usage.\"\n  },\n  \"AD\": {\n    \"msgType\": \"AD\",\n    \"category\": {\n      \"FIXMLFileName\": \"tradecapture\",\n      \"section\": \"PostTrade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"TradeCapture\"\n    },\n    \"added\": \"FIX.4.3\",\n    \"name\": \"TradeCaptureReportRequest\",\n    \"id\": \"63\",\n    \"abbrName\": \"TrdCaptRptReq\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"updatedEP\": \"141\",\n        \"updated\": \"FIX.5.0SP2\",\n        \"id\": \"568\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"abbrName\": \"ReqID\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"TradeRequestID\",\n          \"id\": \"568\",\n          \"description\": \"Trade Capture Report Request ID\"\n        }\n      },\n      {\n        \"id\": \"569\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"TradeRequestTypeCodeSet\",\n          \"abbrName\": \"ReqTyp\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"TradeRequestType\",\n          \"id\": \"569\",\n          \"description\": \"Type of Trade Capture Report.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"PostTrade\",\n      \"FIXMLFileName\": \"posttrade\",\n      \"displayOrder\": \"3\",\n      \"description\": \"Post trade messages including trade reporting, allocation, collateral, confirmation, position mantemenance, registration instruction, and settlement instructions\"\n    },\n    \"description\": \"The Trade Capture Report Request can be used to:\\n\\n\u2022 Request one or more trade capture reports based upon selection criteria provided on the trade capture report request\\n\\n\u2022 Subscribe for trade capture reports based upon selection criteria provided on the trade capture report request.\"\n  },\n  \"AE\": {\n    \"updated\": \"FIX.5.0SP2\",\n    \"msgType\": \"AE\",\n    \"updatedEP\": \"192\",\n    \"category\": {\n      \"FIXMLFileName\": \"tradecapture\",\n      \"section\": \"PostTrade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"TradeCapture\"\n    },\n    \"added\": \"FIX.4.3\",\n    \"name\": \"TradeCaptureReport\",\n    \"id\": \"64\",\n    \"abbrName\": \"TrdCaptRpt\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"updatedEP\": \"141\",\n        \"updated\": \"FIX.5.0SP2\",\n        \"id\": \"2061\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"group\",\n          \"category\": \"TradeCapture\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"TrdCapRptSideGrp\",\n          \"id\": \"2061\",\n          \"abbrName\": \"RptSide\",\n          \"numInGroup\": {\n            \"id\": \"552\",\n            \"added\": \"FIX.4.4\",\n            \"updated\": \"FIX.5.0SP2\",\n            \"updatedEP\": \"141\"\n          },\n          \"fieldRef\": [\n            {\n              \"updatedEP\": \"141\",\n              \"updated\": \"FIX.5.0SP2\",\n              \"id\": \"54\",\n              \"added\": \"FIX.4.4\",\n              \"presence\": \"required\",\n              \"description\": \"Required when NoSides(552) > 0.\",\n              \"name\": \"Side\"\n            }\n          ],\n          \"description\": \"\\n\\n\"\n        }\n      },\n      {\n        \"updatedEP\": \"167\",\n        \"updated\": \"FIX.5.0SP2\",\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      },\n      {\n        \"updatedEP\": \"141\",\n        \"updated\": \"FIX.5.0SP2\",\n        \"id\": \"1003\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Common\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"Instrument\",\n          \"id\": \"1003\",\n          \"abbrName\": \"Instrmt\",\n          \"description\": \"The Instrument component block contains all the fields commonly used to describe a security or instrument. Typically the data elements in this component block are considered the static data of a security, data that may be commonly found in a security master database. The Instrument component block can be used to describe any asset type supported by FIX.\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"PostTrade\",\n      \"FIXMLFileName\": \"posttrade\",\n      \"displayOrder\": \"3\",\n      \"description\": \"Post trade messages including trade reporting, allocation, collateral, confirmation, position mantemenance, registration instruction, and settlement instructions\"\n    },\n    \"description\": \"The Trade Capture Report message can be:\\n\\n- Used to report trades between counterparties.\\n\\n- Used to report trades to a trade matching system.\\n\\n- Sent unsolicited between counterparties.\\n\\n- Sent as a reply to a Trade Capture Report Request.\\n\\n- Used to report unmatched and matched trades.\"\n  },\n  \"AF\": {\n    \"msgType\": \"AF\",\n    \"category\": {\n      \"FIXMLFileName\": \"ordermasshandling\",\n      \"section\": \"Trade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"OrderMassHandling\"\n    },\n    \"added\": \"FIX.4.3\",\n    \"name\": \"OrderMassStatusRequest\",\n    \"id\": \"65\",\n    \"abbrName\": \"OrdMassStatReq\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"584\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"baseCategoryAbbrName\": \"ReqID\",\n          \"baseCategory\": \"OrderMassHandling\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"MassStatusReqID\",\n          \"id\": \"584\",\n          \"abbrName\": \"MassStatReqID\",\n          \"description\": \"Value assigned by issuer of Mass Status Request to uniquely identify the request\"\n        }\n      },\n      {\n        \"updatedEP\": \"271\",\n        \"updated\": \"FIX.Latest\",\n        \"id\": \"585\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"MassStatusReqTypeCodeSet\",\n          \"updated\": \"FIX.Latest\",\n          \"baseCategoryAbbrName\": \"ReqTyp\",\n          \"baseCategory\": \"OrderMassHandling\",\n          \"unionDataType\": \"Reserved100Plus\",\n          \"updatedEP\": \"271\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"MassStatusReqType\",\n          \"id\": \"585\",\n          \"abbrName\": \"MassStatReqTyp\",\n          \"description\": \"Specifies the type or scope of the mass order status request.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"Trade\",\n      \"FIXMLFileName\": \"trade\",\n      \"displayOrder\": \"2\",\n      \"description\": \"Order handling and execution messages\"\n    },\n    \"description\": \"The order mass status request message requests the status for orders matching criteria specified within the request.\"\n  },\n  \"AG\": {\n    \"msgType\": \"AG\",\n    \"category\": {\n      \"FIXMLFileName\": \"quotation\",\n      \"section\": \"PreTrade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"QuotationNegotiation\"\n    },\n    \"added\": \"FIX.4.3\",\n    \"name\": \"QuoteRequestReject\",\n    \"id\": \"66\",\n    \"abbrName\": \"QuotReqRej\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"131\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"updated\": \"FIX.5.0SP2\",\n          \"updatedEP\": \"143\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"QuoteReqID\",\n          \"id\": \"131\",\n          \"abbrName\": \"ReqID\",\n          \"description\": \"Unique identifier for a QuoteRequest(35=R).\"\n        }\n      },\n      {\n        \"id\": \"658\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"QuoteRequestRejectReasonCodeSet\",\n          \"unionDataType\": \"Reserved100Plus\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"QuoteRequestRejectReason\",\n          \"id\": \"658\",\n          \"abbrName\": \"ReqRejRsn\",\n          \"description\": \"Reason Quote was rejected:\"\n        }\n      },\n      {\n        \"id\": \"2047\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"group\",\n          \"category\": \"QuotationNegotiation\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"QuotReqRjctGrp\",\n          \"id\": \"2047\",\n          \"abbrName\": \"QuotReqRej\",\n          \"numInGroup\": { \"id\": \"146\", \"added\": \"FIX.4.4\" },\n          \"componentRef\": [\n            {\n              \"id\": \"1003\",\n              \"added\": \"FIX.4.4\",\n              \"presence\": \"required\",\n              \"description\": \"Insert here the set of \\\"Instrument\\\" (symbology) fields defined in \\\"Common Components of Application Messages\\\"\"\n            }\n          ],\n          \"description\": \"\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"The Quote Request Reject message is used to reject Quote Request messages for all quoting models.\"\n  },\n  \"AH\": {\n    \"msgType\": \"AH\",\n    \"category\": {\n      \"FIXMLFileName\": \"quotation\",\n      \"section\": \"PreTrade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"QuotationNegotiation\"\n    },\n    \"added\": \"FIX.4.3\",\n    \"name\": \"RFQRequest\",\n    \"id\": \"67\",\n    \"abbrName\": \"RFQReq\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"644\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"abbrName\": \"RFQReqID\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"RFQReqID\",\n          \"id\": \"644\",\n          \"description\": \"RFQ Request ID - used to identify an RFQ Request.\"\n        }\n      },\n      {\n        \"id\": \"2051\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"group\",\n          \"category\": \"QuotationNegotiation\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"RFQReqGrp\",\n          \"id\": \"2051\",\n          \"abbrName\": \"RFQReq\",\n          \"numInGroup\": { \"id\": \"146\", \"added\": \"FIX.4.4\" },\n          \"componentRef\": [\n            {\n              \"id\": \"1003\",\n              \"added\": \"FIX.4.4\",\n              \"presence\": \"required\",\n              \"description\": \"Insert here the set of \\\"Instrument\\\" (symbology) fields defined in \\\"Common Components of Application Messages\\\"\"\n            }\n          ],\n          \"description\": \"\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"In tradeable and restricted tradeable quoting markets \u2013 Quote Requests are issued by counterparties interested in ascertaining the market for an instrument. Quote Requests are then distributed by the market to liquidity providers who make markets in the instrument. The RFQ Request is used by liquidity providers to indicate to the market for which instruments they are interested in receiving Quote Requests. It can be used to register interest in receiving quote requests for a single instrument or for multiple instruments\"\n  },\n  \"AI\": {\n    \"msgType\": \"AI\",\n    \"category\": {\n      \"FIXMLFileName\": \"quotation\",\n      \"section\": \"PreTrade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"QuotationNegotiation\"\n    },\n    \"added\": \"FIX.4.3\",\n    \"name\": \"QuoteStatusReport\",\n    \"id\": \"68\",\n    \"abbrName\": \"QuotStatRpt\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.3\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"The quote status report message is used:\\n\\n\u2022 as the response to a Quote Status Request message\\n\\n\u2022 as a response to a Quote Cancel message\\n\\n\u2022 as a response to a Quote Response message in a negotiation dialog (see Volume 7 \u2013 PRODUCT: FIXED INCOME and USER GROUP: EXCHANGES AND MARKETS)\"\n  },\n  \"AJ\": {\n    \"updated\": \"FIX.5.0SP2\",\n    \"msgType\": \"AJ\",\n    \"updatedEP\": \"143\",\n    \"category\": {\n      \"FIXMLFileName\": \"quotation\",\n      \"section\": \"PreTrade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"QuotationNegotiation\"\n    },\n    \"added\": \"FIX.4.4\",\n    \"name\": \"QuoteResponse\",\n    \"id\": \"69\",\n    \"abbrName\": \"QuotRsp\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"693\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"abbrName\": \"RspID\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"QuoteRespID\",\n          \"id\": \"693\",\n          \"description\": \"Message reference for Quote Response\"\n        }\n      },\n      {\n        \"updatedEP\": \"143\",\n        \"updated\": \"FIX.5.0SP2\",\n        \"id\": \"694\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"QuoteRespTypeCodeSet\",\n          \"abbrName\": \"RspTyp\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"QuoteRespType\",\n          \"id\": \"694\",\n          \"description\": \"Identifies the type of Quote Response.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1003\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Common\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"Instrument\",\n          \"id\": \"1003\",\n          \"abbrName\": \"Instrmt\",\n          \"description\": \"The Instrument component block contains all the fields commonly used to describe a security or instrument. Typically the data elements in this component block are considered the static data of a security, data that may be commonly found in a security master database. The Instrument component block can be used to describe any asset type supported by FIX.\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"The QuoteResponse(35=AJ) message is used for the following purposes:\\n\\n1. Respond to an IOI(35=6) message\\n\\n2. Respond to a Quote(35=S) message\\n\\n3. Counter a Quote\\n\\n4. End a negotiation dialog\\n\\n5. Follow-up or end a QuoteRequest(35=R) dialog that did not receive a response.\\n\\nFor usage of this message in a negotiation or counter quote dialog for fixed income and exchanges/marketplace see Volume 7, Fixed Income and Exchanges and Markets sections respectively.\"\n  },\n  \"AK\": {\n    \"msgType\": \"AK\",\n    \"category\": {\n      \"FIXMLFileName\": \"confirmation\",\n      \"section\": \"PostTrade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"Confirmation\"\n    },\n    \"added\": \"FIX.4.4\",\n    \"name\": \"Confirmation\",\n    \"id\": \"70\",\n    \"abbrName\": \"Cnfm\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"6\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"Price\",\n          \"abbrName\": \"AvgPx\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"AvgPx\",\n          \"id\": \"6\",\n          \"description\": \"Calculated average price of all fills on this order.\\n\\nFor Fixed Income trades AvgPx is always expressed as percent-of-par, regardless of the PriceType (423) of LastPx (31). I.e., AvgPx will contain an average of percent-of-par values (see LastParPx (669)) for issues traded in Yield, Spread or Discount.\"\n        }\n      },\n      {\n        \"id\": \"54\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"SideCodeSet\",\n          \"abbrName\": \"Side\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"Side\",\n          \"id\": \"54\",\n          \"description\": \"Side of order (see Volume : \\\"Glossary\\\" for value definitions)\"\n        }\n      },\n      {\n        \"id\": \"60\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"UTCTimestamp\",\n          \"updated\": \"FIX.5.0SP1\",\n          \"updatedEP\": \"94\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"TransactTime\",\n          \"id\": \"60\",\n          \"abbrName\": \"TxnTm\",\n          \"description\": \"Timestamp when the business transaction represented by the message occurred.\"\n        }\n      },\n      {\n        \"id\": \"75\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"LocalMktDate\",\n          \"updated\": \"FIX.5.0SP2\",\n          \"updatedEP\": \"190\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"TradeDate\",\n          \"id\": \"75\",\n          \"abbrName\": \"TrdDt\",\n          \"description\": \"Indicates date of trading day. Absence of this field indicates current day (expressed in local time at place of trade).\"\n        }\n      },\n      {\n        \"id\": \"79\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"abbrName\": \"Acct\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"AllocAccount\",\n          \"id\": \"79\",\n          \"description\": \"Sub-account mnemonic\"\n        }\n      },\n      {\n        \"id\": \"80\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"Qty\",\n          \"abbrName\": \"Qty\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"AllocQty\",\n          \"id\": \"80\",\n          \"description\": \"Quantity to be allocated to specific sub-account\\n\\n(Prior to FIX 4.2 this field was of type int)\"\n        }\n      },\n      {\n        \"id\": \"118\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"Amt\",\n          \"abbrName\": \"NetMny\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"NetMoney\",\n          \"id\": \"118\",\n          \"description\": \"Total amount due as the result of the transaction (e.g. for Buy order - principal + commission + fees) reported in currency of execution.\"\n        }\n      },\n      {\n        \"updatedEP\": \"258\",\n        \"updated\": \"FIX.5.0SP2\",\n        \"id\": \"381\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"Amt\",\n          \"updated\": \"FIX.5.0SP2\",\n          \"updatedEP\": \"258\",\n          \"added\": \"FIX.4.2\",\n          \"name\": \"GrossTradeAmt\",\n          \"id\": \"381\",\n          \"abbrName\": \"GrossTrdAmt\",\n          \"description\": \"Total amount traded expressed in units of currency - usually quantity * price. For FX Futures this is used to express the notional value of a fill when quantity fields are expressed in terms of contract size (i.e. quantity * price * contract size).\"\n        }\n      },\n      {\n        \"id\": \"664\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"abbrName\": \"CnfmID\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"ConfirmID\",\n          \"id\": \"664\",\n          \"description\": \"Message reference for Confirmation\"\n        }\n      },\n      {\n        \"id\": \"665\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"ConfirmStatusCodeSet\",\n          \"abbrName\": \"CnfmStat\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"ConfirmStatus\",\n          \"id\": \"665\",\n          \"description\": \"Identifies the status of the Confirmation.\"\n        }\n      },\n      {\n        \"id\": \"666\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"ConfirmTransTypeCodeSet\",\n          \"abbrName\": \"CnfmTransTyp\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"ConfirmTransType\",\n          \"id\": \"666\",\n          \"description\": \"Identifies the Confirmation transaction type.\"\n        }\n      },\n      {\n        \"id\": \"773\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"ConfirmTypeCodeSet\",\n          \"abbrName\": \"CnfmTyp\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"ConfirmType\",\n          \"id\": \"773\",\n          \"description\": \"Identifies the type of Confirmation message being sent.\"\n        }\n      },\n      {\n        \"updatedEP\": \"95\",\n        \"updated\": \"FIX.5.0SP1\",\n        \"id\": \"2013\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"group\",\n          \"updated\": \"FIX.5.0SP1\",\n          \"updatedEP\": \"97\",\n          \"category\": \"Confirmation\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"CpctyConfGrp\",\n          \"id\": \"2013\",\n          \"abbrName\": \"Cpcty\",\n          \"numInGroup\": {\n            \"id\": \"862\",\n            \"added\": \"FIX.4.4\",\n            \"updated\": \"FIX.5.0SP1\",\n            \"updatedEP\": \"95\"\n          },\n          \"fieldRef\": [\n            {\n              \"id\": \"528\",\n              \"added\": \"FIX.4.4\",\n              \"presence\": \"required\",\n              \"description\": \"Specifies the capacity of the firm executing the order(s)\",\n              \"name\": \"OrderCapacity\"\n            }\n          ],\n          \"description\": \"\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1003\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Common\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"Instrument\",\n          \"id\": \"1003\",\n          \"abbrName\": \"Instrmt\",\n          \"description\": \"The Instrument component block contains all the fields commonly used to describe a security or instrument. Typically the data elements in this component block are considered the static data of a security, data that may be commonly found in a security master database. The Instrument component block can be used to describe any asset type supported by FIX.\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"PostTrade\",\n      \"FIXMLFileName\": \"posttrade\",\n      \"displayOrder\": \"3\",\n      \"description\": \"Post trade messages including trade reporting, allocation, collateral, confirmation, position mantemenance, registration instruction, and settlement instructions\"\n    },\n    \"description\": \"The Confirmation messages are used to provide individual trade level confirmations from the sell side to the buy side. In versions of FIX prior to version 4.4, this role was performed by the allocation message. Unlike the allocation message, the confirmation message operates at an allocation account (trade) level rather than block level, allowing for the affirmation or rejection of individual confirmations.\"\n  },\n  \"AL\": {\n    \"msgType\": \"AL\",\n    \"category\": {\n      \"FIXMLFileName\": \"positions\",\n      \"section\": \"PostTrade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"PositionMaintenance\"\n    },\n    \"added\": \"FIX.4.4\",\n    \"name\": \"PositionMaintenanceRequest\",\n    \"id\": \"71\",\n    \"abbrName\": \"PosMntReq\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"709\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"PosTransTypeCodeSet\",\n          \"updated\": \"FIX.5.0SP2\",\n          \"updatedEP\": \"199\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"PosTransType\",\n          \"id\": \"709\",\n          \"abbrName\": \"TxnTyp\",\n          \"description\": \"Identifies the type of position transaction.\"\n        }\n      },\n      {\n        \"id\": \"712\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"PosMaintActionCodeSet\",\n          \"abbrName\": \"Actn\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"PosMaintAction\",\n          \"id\": \"712\",\n          \"description\": \"Maintenance Action to be performed.\"\n        }\n      },\n      {\n        \"id\": \"715\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"LocalMktDate\",\n          \"updated\": \"FIX.5.0SP2\",\n          \"updatedEP\": \"150\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"ClearingBusinessDate\",\n          \"id\": \"715\",\n          \"abbrName\": \"BizDt\",\n          \"description\": \"The business date for which the trade is expected to be cleared.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1003\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Common\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"Instrument\",\n          \"id\": \"1003\",\n          \"abbrName\": \"Instrmt\",\n          \"description\": \"The Instrument component block contains all the fields commonly used to describe a security or instrument. Typically the data elements in this component block are considered the static data of a security, data that may be commonly found in a security master database. The Instrument component block can be used to describe any asset type supported by FIX.\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1012\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"group\",\n          \"category\": \"Common\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"Parties\",\n          \"id\": \"1012\",\n          \"abbrName\": \"Pty\",\n          \"numInGroup\": { \"id\": \"453\", \"added\": \"FIX.4.3\" },\n          \"description\": \"The Parties component block is used to identify and convey information on the entities both central and peripheral to the financial transaction represented by the FIX message containing the Parties Block. The Parties block allows many different types of entites to be expressed through use of the PartyRole field and identifies the source of the PartyID through the the PartyIDSource.\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1015\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"group\",\n          \"category\": \"Common\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"PositionQty\",\n          \"id\": \"1015\",\n          \"abbrName\": \"Qty\",\n          \"numInGroup\": { \"id\": \"702\", \"added\": \"FIX.4.4\" },\n          \"description\": \"The PositionQty component block specifies the various types of position quantity in the position life-cycle including start-of-day, intraday, trade, adjustments, and end-of-day position quantities. Quantities are expressed in terms of long and short quantities.\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"PostTrade\",\n      \"FIXMLFileName\": \"posttrade\",\n      \"displayOrder\": \"3\",\n      \"description\": \"Post trade messages including trade reporting, allocation, collateral, confirmation, position mantemenance, registration instruction, and settlement instructions\"\n    },\n    \"description\": \"The Position Maintenance Request message allows the position owner to submit requests to the holder of a position which will result in a specific action being taken which will affect the position. Generally, the holder of the position is a central counter party or clearing organization but can also be a party providing investment services.\"\n  },\n  \"AM\": {\n    \"updated\": \"FIX.Latest\",\n    \"msgType\": \"AM\",\n    \"updatedEP\": \"271\",\n    \"category\": {\n      \"FIXMLFileName\": \"positions\",\n      \"section\": \"PostTrade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"PositionMaintenance\"\n    },\n    \"added\": \"FIX.4.4\",\n    \"name\": \"PositionMaintenanceReport\",\n    \"id\": \"72\",\n    \"abbrName\": \"PosMntRpt\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"709\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"PosTransTypeCodeSet\",\n          \"updated\": \"FIX.5.0SP2\",\n          \"updatedEP\": \"199\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"PosTransType\",\n          \"id\": \"709\",\n          \"abbrName\": \"TxnTyp\",\n          \"description\": \"Identifies the type of position transaction.\"\n        }\n      },\n      {\n        \"id\": \"712\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"PosMaintActionCodeSet\",\n          \"abbrName\": \"Actn\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"PosMaintAction\",\n          \"id\": \"712\",\n          \"description\": \"Maintenance Action to be performed.\"\n        }\n      },\n      {\n        \"id\": \"715\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"LocalMktDate\",\n          \"updated\": \"FIX.5.0SP2\",\n          \"updatedEP\": \"150\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"ClearingBusinessDate\",\n          \"id\": \"715\",\n          \"abbrName\": \"BizDt\",\n          \"description\": \"The business date for which the trade is expected to be cleared.\"\n        }\n      },\n      {\n        \"id\": \"721\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"abbrName\": \"RptID\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"PosMaintRptID\",\n          \"id\": \"721\",\n          \"description\": \"Unique identifier for this position report\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1003\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Common\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"Instrument\",\n          \"id\": \"1003\",\n          \"abbrName\": \"Instrmt\",\n          \"description\": \"The Instrument component block contains all the fields commonly used to describe a security or instrument. Typically the data elements in this component block are considered the static data of a security, data that may be commonly found in a security master database. The Instrument component block can be used to describe any asset type supported by FIX.\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"PostTrade\",\n      \"FIXMLFileName\": \"posttrade\",\n      \"displayOrder\": \"3\",\n      \"description\": \"Post trade messages including trade reporting, allocation, collateral, confirmation, position mantemenance, registration instruction, and settlement instructions\"\n    },\n    \"description\": \"The Position Maintenance Report message is sent by the holder of a position in response to a Position Maintenance Request and is used to confirm that a request has been successfully processed or rejected.\"\n  },\n  \"AN\": {\n    \"msgType\": \"AN\",\n    \"category\": {\n      \"FIXMLFileName\": \"positions\",\n      \"section\": \"PostTrade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"PositionMaintenance\"\n    },\n    \"added\": \"FIX.4.4\",\n    \"name\": \"RequestForPositions\",\n    \"id\": \"73\",\n    \"abbrName\": \"ReqForPoss\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"60\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"UTCTimestamp\",\n          \"updated\": \"FIX.5.0SP1\",\n          \"updatedEP\": \"94\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"TransactTime\",\n          \"id\": \"60\",\n          \"abbrName\": \"TxnTm\",\n          \"description\": \"Timestamp when the business transaction represented by the message occurred.\"\n        }\n      },\n      {\n        \"id\": \"710\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"abbrName\": \"ReqID\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"PosReqID\",\n          \"id\": \"710\",\n          \"description\": \"Unique identifier for the position maintenance request as assigned by the submitter\"\n        }\n      },\n      {\n        \"id\": \"715\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"LocalMktDate\",\n          \"updated\": \"FIX.5.0SP2\",\n          \"updatedEP\": \"150\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"ClearingBusinessDate\",\n          \"id\": \"715\",\n          \"abbrName\": \"BizDt\",\n          \"description\": \"The business date for which the trade is expected to be cleared.\"\n        }\n      },\n      {\n        \"id\": \"724\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"PosReqTypeCodeSet\",\n          \"abbrName\": \"ReqTyp\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"PosReqType\",\n          \"id\": \"724\",\n          \"description\": \"Used to specify the type of position request being made.\"\n        }\n      },\n      {\n        \"id\": \"1012\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"group\",\n          \"category\": \"Common\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"Parties\",\n          \"id\": \"1012\",\n          \"abbrName\": \"Pty\",\n          \"numInGroup\": { \"id\": \"453\", \"added\": \"FIX.4.3\" },\n          \"description\": \"The Parties component block is used to identify and convey information on the entities both central and peripheral to the financial transaction represented by the FIX message containing the Parties Block. The Parties block allows many different types of entites to be expressed through use of the PartyRole field and identifies the source of the PartyID through the the PartyIDSource.\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"PostTrade\",\n      \"FIXMLFileName\": \"posttrade\",\n      \"displayOrder\": \"3\",\n      \"description\": \"Post trade messages including trade reporting, allocation, collateral, confirmation, position mantemenance, registration instruction, and settlement instructions\"\n    },\n    \"description\": \"The Request For Positions message is used by the owner of a position to request a Position Report from the holder of the position, usually the central counter party or clearing organization. The request can be made at several levels of granularity.\"\n  },\n  \"AO\": {\n    \"msgType\": \"AO\",\n    \"category\": {\n      \"FIXMLFileName\": \"positions\",\n      \"section\": \"PostTrade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"PositionMaintenance\"\n    },\n    \"added\": \"FIX.4.4\",\n    \"name\": \"RequestForPositionsAck\",\n    \"id\": \"74\",\n    \"abbrName\": \"ReqForPossAck\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"721\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"abbrName\": \"RptID\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"PosMaintRptID\",\n          \"id\": \"721\",\n          \"description\": \"Unique identifier for this position report\"\n        }\n      },\n      {\n        \"id\": \"728\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"PosReqResultCodeSet\",\n          \"updated\": \"FIX.5.0SP2\",\n          \"unionDataType\": \"Reserved100Plus\",\n          \"updatedEP\": \"204\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"PosReqResult\",\n          \"id\": \"728\",\n          \"abbrName\": \"Rslt\",\n          \"description\": \"Result of Request for Positions.\"\n        }\n      },\n      {\n        \"id\": \"729\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"PosReqStatusCodeSet\",\n          \"abbrName\": \"Stat\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"PosReqStatus\",\n          \"id\": \"729\",\n          \"description\": \"Status of Request for Positions\"\n        }\n      },\n      {\n        \"id\": \"1012\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"group\",\n          \"category\": \"Common\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"Parties\",\n          \"id\": \"1012\",\n          \"abbrName\": \"Pty\",\n          \"numInGroup\": { \"id\": \"453\", \"added\": \"FIX.4.3\" },\n          \"description\": \"The Parties component block is used to identify and convey information on the entities both central and peripheral to the financial transaction represented by the FIX message containing the Parties Block. The Parties block allows many different types of entites to be expressed through use of the PartyRole field and identifies the source of the PartyID through the the PartyIDSource.\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"PostTrade\",\n      \"FIXMLFileName\": \"posttrade\",\n      \"displayOrder\": \"3\",\n      \"description\": \"Post trade messages including trade reporting, allocation, collateral, confirmation, position mantemenance, registration instruction, and settlement instructions\"\n    },\n    \"description\": \"The Request for Positions Ack message is returned by the holder of the position in response to a Request for Positions message. The purpose of the message is to acknowledge that a request has been received and is being processed.\"\n  },\n  \"AP\": {\n    \"msgType\": \"AP\",\n    \"category\": {\n      \"FIXMLFileName\": \"positions\",\n      \"section\": \"PostTrade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"PositionMaintenance\"\n    },\n    \"added\": \"FIX.4.4\",\n    \"name\": \"PositionReport\",\n    \"id\": \"75\",\n    \"abbrName\": \"PosRpt\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"715\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"LocalMktDate\",\n          \"updated\": \"FIX.5.0SP2\",\n          \"updatedEP\": \"150\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"ClearingBusinessDate\",\n          \"id\": \"715\",\n          \"abbrName\": \"BizDt\",\n          \"description\": \"The business date for which the trade is expected to be cleared.\"\n        }\n      },\n      {\n        \"id\": \"721\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"abbrName\": \"RptID\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"PosMaintRptID\",\n          \"id\": \"721\",\n          \"description\": \"Unique identifier for this position report\"\n        }\n      },\n      {\n        \"id\": \"1012\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"group\",\n          \"category\": \"Common\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"Parties\",\n          \"id\": \"1012\",\n          \"abbrName\": \"Pty\",\n          \"numInGroup\": { \"id\": \"453\", \"added\": \"FIX.4.3\" },\n          \"description\": \"The Parties component block is used to identify and convey information on the entities both central and peripheral to the financial transaction represented by the FIX message containing the Parties Block. The Parties block allows many different types of entites to be expressed through use of the PartyRole field and identifies the source of the PartyID through the the PartyIDSource.\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"PostTrade\",\n      \"FIXMLFileName\": \"posttrade\",\n      \"displayOrder\": \"3\",\n      \"description\": \"Post trade messages including trade reporting, allocation, collateral, confirmation, position mantemenance, registration instruction, and settlement instructions\"\n    },\n    \"description\": \"The Position Report message is returned by the holder of a position in response to a Request for Position message. The purpose of the message is to report all aspects of a position and may be provided on a standing basis to report end of day positions to an owner.\"\n  },\n  \"AQ\": {\n    \"updated\": \"FIX.5.0SP2\",\n    \"msgType\": \"AQ\",\n    \"updatedEP\": \"192\",\n    \"category\": {\n      \"FIXMLFileName\": \"tradecapture\",\n      \"section\": \"PostTrade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"TradeCapture\"\n    },\n    \"added\": \"FIX.4.4\",\n    \"name\": \"TradeCaptureReportRequestAck\",\n    \"id\": \"76\",\n    \"abbrName\": \"TrdCaptRptReqAck\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"568\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"abbrName\": \"ReqID\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"TradeRequestID\",\n          \"id\": \"568\",\n          \"description\": \"Trade Capture Report Request ID\"\n        }\n      },\n      {\n        \"id\": \"569\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"TradeRequestTypeCodeSet\",\n          \"abbrName\": \"ReqTyp\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"TradeRequestType\",\n          \"id\": \"569\",\n          \"description\": \"Type of Trade Capture Report.\"\n        }\n      },\n      {\n        \"id\": \"749\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"TradeRequestResultCodeSet\",\n          \"unionDataType\": \"Reserved100Plus\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"TradeRequestResult\",\n          \"id\": \"749\",\n          \"abbrName\": \"ReqRslt\",\n          \"description\": \"Result of Trade Request\"\n        }\n      },\n      {\n        \"id\": \"750\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"TradeRequestStatusCodeSet\",\n          \"abbrName\": \"ReqStat\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"TradeRequestStatus\",\n          \"id\": \"750\",\n          \"description\": \"Status of Trade Request.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"PostTrade\",\n      \"FIXMLFileName\": \"posttrade\",\n      \"displayOrder\": \"3\",\n      \"description\": \"Post trade messages including trade reporting, allocation, collateral, confirmation, position mantemenance, registration instruction, and settlement instructions\"\n    },\n    \"description\": \"The Trade Capture Request Ack message is used to:\\n\\n- Provide an acknowledgement to a Trade Capture Report Request in the case where the Trade Capture Report Request is used to specify a subscription or delivery of reports via an out-of-band ResponseTransmissionMethod.\\n\\n- Provide an acknowledgement to a Trade Capture Report Request in the case when the return of the Trade Capture Reports matching that request will be delayed or delivered asynchronously. This is useful in distributed trading system environments.\\n\\n- Indicate that no trades were found that matched the selection criteria specified on the Trade Capture Report Request or the Trade Capture Request was invalid for some business reason, such as request is not authorized, invalid or unknown instrument, party, trading session, etc.\"\n  },\n  \"AR\": {\n    \"updated\": \"FIX.5.0SP2\",\n    \"msgType\": \"AR\",\n    \"updatedEP\": \"192\",\n    \"category\": {\n      \"FIXMLFileName\": \"tradecapture\",\n      \"section\": \"PostTrade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"TradeCapture\"\n    },\n    \"added\": \"FIX.4.4\",\n    \"name\": \"TradeCaptureReportAck\",\n    \"id\": \"77\",\n    \"abbrName\": \"TrdCaptRptAck\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      },\n      {\n        \"updatedEP\": \"141\",\n        \"updated\": \"FIX.5.0SP2\",\n        \"id\": \"1003\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Common\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"Instrument\",\n          \"id\": \"1003\",\n          \"abbrName\": \"Instrmt\",\n          \"description\": \"The Instrument component block contains all the fields commonly used to describe a security or instrument. Typically the data elements in this component block are considered the static data of a security, data that may be commonly found in a security master database. The Instrument component block can be used to describe any asset type supported by FIX.\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"PostTrade\",\n      \"FIXMLFileName\": \"posttrade\",\n      \"displayOrder\": \"3\",\n      \"description\": \"Post trade messages including trade reporting, allocation, collateral, confirmation, position mantemenance, registration instruction, and settlement instructions\"\n    },\n    \"description\": \"The Trade Capture Report Ack message can be:\\n\\n- Used to acknowledge trade capture reports received from a counterparty.\\n\\n- Used to reject a trade capture report received from a counterparty.\"\n  },\n  \"AS\": {\n    \"updated\": \"FIX.Latest\",\n    \"msgType\": \"AS\",\n    \"updatedEP\": \"291\",\n    \"category\": {\n      \"FIXMLFileName\": \"allocation\",\n      \"section\": \"PostTrade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"Allocation\"\n    },\n    \"added\": \"FIX.4.4\",\n    \"name\": \"AllocationReport\",\n    \"id\": \"78\",\n    \"abbrName\": \"AllocRpt\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"updatedEP\": \"82\",\n        \"updated\": \"FIX.5.0SP1\",\n        \"id\": \"6\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"Price\",\n          \"abbrName\": \"AvgPx\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"AvgPx\",\n          \"id\": \"6\",\n          \"description\": \"Calculated average price of all fills on this order.\\n\\nFor Fixed Income trades AvgPx is always expressed as percent-of-par, regardless of the PriceType (423) of LastPx (31). I.e., AvgPx will contain an average of percent-of-par values (see LastParPx (669)) for issues traded in Yield, Spread or Discount.\"\n        }\n      },\n      {\n        \"id\": \"53\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"Qty\",\n          \"abbrName\": \"Qty\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"Quantity\",\n          \"id\": \"53\",\n          \"description\": \"Overall/total quantity (e.g. number of shares)\\n\\n(Prior to FIX 4.2 this field was of type int)\"\n        }\n      },\n      {\n        \"id\": \"54\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"SideCodeSet\",\n          \"abbrName\": \"Side\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"Side\",\n          \"id\": \"54\",\n          \"description\": \"Side of order (see Volume : \\\"Glossary\\\" for value definitions)\"\n        }\n      },\n      {\n        \"updatedEP\": \"285\",\n        \"updated\": \"FIX.Latest\",\n        \"id\": \"71\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"AllocTransTypeCodeSet\",\n          \"abbrName\": \"TransTyp\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"AllocTransType\",\n          \"id\": \"71\",\n          \"description\": \"Identifies allocation transaction type *** SOME VALUES HAVE BEEN REPLACED - See \\\"Replaced Features and Supported Approach\\\" ***\"\n        }\n      },\n      {\n        \"id\": \"75\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"LocalMktDate\",\n          \"updated\": \"FIX.5.0SP2\",\n          \"updatedEP\": \"190\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"TradeDate\",\n          \"id\": \"75\",\n          \"abbrName\": \"TrdDt\",\n          \"description\": \"Indicates date of trading day. Absence of this field indicates current day (expressed in local time at place of trade).\"\n        }\n      },\n      {\n        \"id\": \"87\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"AllocStatusCodeSet\",\n          \"baseCategoryAbbrName\": \"Stat\",\n          \"baseCategory\": \"Allocation\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"AllocStatus\",\n          \"id\": \"87\",\n          \"abbrName\": \"Stat\",\n          \"description\": \"Identifies status of allocation.\"\n        }\n      },\n      {\n        \"id\": \"755\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"abbrName\": \"RptID\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"AllocReportID\",\n          \"id\": \"755\",\n          \"description\": \"Unique identifier for Allocation Report message.\"\n        }\n      },\n      {\n        \"id\": \"794\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"AllocReportTypeCodeSet\",\n          \"abbrName\": \"RptTyp\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"AllocReportType\",\n          \"id\": \"794\",\n          \"description\": \"Describes the specific type or purpose of an Allocation Report message\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      },\n      {\n        \"updatedEP\": \"282\",\n        \"updated\": \"FIX.Latest\",\n        \"id\": \"1003\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Common\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"Instrument\",\n          \"id\": \"1003\",\n          \"abbrName\": \"Instrmt\",\n          \"description\": \"The Instrument component block contains all the fields commonly used to describe a security or instrument. Typically the data elements in this component block are considered the static data of a security, data that may be commonly found in a security master database. The Instrument component block can be used to describe any asset type supported by FIX.\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"PostTrade\",\n      \"FIXMLFileName\": \"posttrade\",\n      \"displayOrder\": \"3\",\n      \"description\": \"Post trade messages including trade reporting, allocation, collateral, confirmation, position mantemenance, registration instruction, and settlement instructions\"\n    },\n    \"description\": \"Sent from sell-side to buy-side, sell-side to 3rd-party or 3rd-party to buy-side, the AllocationReport(35=AS) message (Claim) provides account breakdown of an order or set of orders plus any additional follow-up front-office information developed post-trade during the trade allocation, matching and calculation phase.\\n\\nIn versions of the FIX Protocol prior to version 4.4, this functionality was provided through the Allocation(35=J) message. Depending on the needs of the market and the timing of confirmed status, the role of AllocationReport(35=AS) can be taken over in whole or in part by the Confirmation(35=AK) message.\"\n  },\n  \"AT\": {\n    \"msgType\": \"AT\",\n    \"category\": {\n      \"FIXMLFileName\": \"allocation\",\n      \"section\": \"PostTrade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"Allocation\"\n    },\n    \"added\": \"FIX.4.4\",\n    \"name\": \"AllocationReportAck\",\n    \"id\": \"79\",\n    \"abbrName\": \"AllocRptAck\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"755\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"abbrName\": \"RptID\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"AllocReportID\",\n          \"id\": \"755\",\n          \"description\": \"Unique identifier for Allocation Report message.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"PostTrade\",\n      \"FIXMLFileName\": \"posttrade\",\n      \"displayOrder\": \"3\",\n      \"description\": \"Post trade messages including trade reporting, allocation, collateral, confirmation, position mantemenance, registration instruction, and settlement instructions\"\n    },\n    \"description\": \"The Allocation Report Ack message is used to acknowledge the receipt of and provide status for an Allocation Report message.\"\n  },\n  \"AU\": {\n    \"msgType\": \"AU\",\n    \"category\": {\n      \"FIXMLFileName\": \"confirmation\",\n      \"section\": \"PostTrade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"Confirmation\"\n    },\n    \"added\": \"FIX.4.4\",\n    \"name\": \"ConfirmationAck\",\n    \"id\": \"80\",\n    \"abbrName\": \"CnfmAck\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"60\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"UTCTimestamp\",\n          \"updated\": \"FIX.5.0SP1\",\n          \"updatedEP\": \"94\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"TransactTime\",\n          \"id\": \"60\",\n          \"abbrName\": \"TxnTm\",\n          \"description\": \"Timestamp when the business transaction represented by the message occurred.\"\n        }\n      },\n      {\n        \"id\": \"75\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"LocalMktDate\",\n          \"updated\": \"FIX.5.0SP2\",\n          \"updatedEP\": \"190\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"TradeDate\",\n          \"id\": \"75\",\n          \"abbrName\": \"TrdDt\",\n          \"description\": \"Indicates date of trading day. Absence of this field indicates current day (expressed in local time at place of trade).\"\n        }\n      },\n      {\n        \"id\": \"664\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"abbrName\": \"CnfmID\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"ConfirmID\",\n          \"id\": \"664\",\n          \"description\": \"Message reference for Confirmation\"\n        }\n      },\n      {\n        \"id\": \"940\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"AffirmStatusCodeSet\",\n          \"updated\": \"FIX.5.0SP2\",\n          \"updatedEP\": \"215\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"AffirmStatus\",\n          \"id\": \"940\",\n          \"abbrName\": \"AffirmStat\",\n          \"description\": \"Specifies the affirmation status of the confirmation.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"PostTrade\",\n      \"FIXMLFileName\": \"posttrade\",\n      \"displayOrder\": \"3\",\n      \"description\": \"Post trade messages including trade reporting, allocation, collateral, confirmation, position mantemenance, registration instruction, and settlement instructions\"\n    },\n    \"description\": \"The Confirmation Ack (aka Affirmation) message is used to respond to a Confirmation message.\"\n  },\n  \"AV\": {\n    \"msgType\": \"AV\",\n    \"category\": {\n      \"FIXMLFileName\": \"settlement\",\n      \"section\": \"PostTrade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"SettlementInstruction\"\n    },\n    \"added\": \"FIX.4.4\",\n    \"name\": \"SettlementInstructionRequest\",\n    \"id\": \"81\",\n    \"abbrName\": \"SettlInstrctnReq\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"60\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"UTCTimestamp\",\n          \"updated\": \"FIX.5.0SP1\",\n          \"updatedEP\": \"94\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"TransactTime\",\n          \"id\": \"60\",\n          \"abbrName\": \"TxnTm\",\n          \"description\": \"Timestamp when the business transaction represented by the message occurred.\"\n        }\n      },\n      {\n        \"id\": \"791\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"abbrName\": \"SettlInstReqID\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"SettlInstReqID\",\n          \"id\": \"791\",\n          \"description\": \"Unique ID of settlement instruction request message\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"PostTrade\",\n      \"FIXMLFileName\": \"posttrade\",\n      \"displayOrder\": \"3\",\n      \"description\": \"Post trade messages including trade reporting, allocation, collateral, confirmation, position mantemenance, registration instruction, and settlement instructions\"\n    },\n    \"description\": \"The Settlement Instruction Request message is used to request standing settlement instructions from another party.\"\n  },\n  \"AW\": {\n    \"msgType\": \"AW\",\n    \"category\": {\n      \"FIXMLFileName\": \"positions\",\n      \"section\": \"PostTrade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"PositionMaintenance\"\n    },\n    \"added\": \"FIX.4.4\",\n    \"name\": \"AssignmentReport\",\n    \"id\": \"82\",\n    \"abbrName\": \"AsgnRpt\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"715\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"LocalMktDate\",\n          \"updated\": \"FIX.5.0SP2\",\n          \"updatedEP\": \"150\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"ClearingBusinessDate\",\n          \"id\": \"715\",\n          \"abbrName\": \"BizDt\",\n          \"description\": \"The business date for which the trade is expected to be cleared.\"\n        }\n      },\n      {\n        \"id\": \"833\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"abbrName\": \"RptID\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"AsgnRptID\",\n          \"id\": \"833\",\n          \"description\": \"Unique identifier for the Assignment Report\"\n        }\n      },\n      {\n        \"id\": \"1012\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"group\",\n          \"category\": \"Common\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"Parties\",\n          \"id\": \"1012\",\n          \"abbrName\": \"Pty\",\n          \"numInGroup\": { \"id\": \"453\", \"added\": \"FIX.4.3\" },\n          \"description\": \"The Parties component block is used to identify and convey information on the entities both central and peripheral to the financial transaction represented by the FIX message containing the Parties Block. The Parties block allows many different types of entites to be expressed through use of the PartyRole field and identifies the source of the PartyID through the the PartyIDSource.\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"PostTrade\",\n      \"FIXMLFileName\": \"posttrade\",\n      \"displayOrder\": \"3\",\n      \"description\": \"Post trade messages including trade reporting, allocation, collateral, confirmation, position mantemenance, registration instruction, and settlement instructions\"\n    },\n    \"description\": \"Assignment Reports are sent from a clearing house to counterparties, such as a clearing firm as a result of the assignment process.\"\n  },\n  \"AX\": {\n    \"msgType\": \"AX\",\n    \"category\": {\n      \"FIXMLFileName\": \"collateral\",\n      \"section\": \"PostTrade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"CollateralManagement\"\n    },\n    \"added\": \"FIX.4.4\",\n    \"name\": \"CollateralRequest\",\n    \"id\": \"83\",\n    \"abbrName\": \"CollReq\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"60\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"UTCTimestamp\",\n          \"updated\": \"FIX.5.0SP1\",\n          \"updatedEP\": \"94\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"TransactTime\",\n          \"id\": \"60\",\n          \"abbrName\": \"TxnTm\",\n          \"description\": \"Timestamp when the business transaction represented by the message occurred.\"\n        }\n      },\n      {\n        \"id\": \"894\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"abbrName\": \"ReqID\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"CollReqID\",\n          \"id\": \"894\",\n          \"description\": \"Collateral Request Identifier\"\n        }\n      },\n      {\n        \"id\": \"895\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"CollAsgnReasonCodeSet\",\n          \"abbrName\": \"AsgnRsn\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"CollAsgnReason\",\n          \"id\": \"895\",\n          \"description\": \"Reason for Collateral Assignment\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"PostTrade\",\n      \"FIXMLFileName\": \"posttrade\",\n      \"displayOrder\": \"3\",\n      \"description\": \"Post trade messages including trade reporting, allocation, collateral, confirmation, position mantemenance, registration instruction, and settlement instructions\"\n    },\n    \"description\": \"An initiator that requires collateral from a respondent sends a Collateral Request. The initiator can be either counterparty to a trade in a two party model or an intermediary such as an ATS or clearinghouse in a three party model. A Collateral Assignment is expected as a response to a request for collateral.\"\n  },\n  \"AY\": {\n    \"msgType\": \"AY\",\n    \"category\": {\n      \"FIXMLFileName\": \"collateral\",\n      \"section\": \"PostTrade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"CollateralManagement\"\n    },\n    \"added\": \"FIX.4.4\",\n    \"name\": \"CollateralAssignment\",\n    \"id\": \"84\",\n    \"abbrName\": \"CollAsgn\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"60\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"UTCTimestamp\",\n          \"updated\": \"FIX.5.0SP1\",\n          \"updatedEP\": \"94\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"TransactTime\",\n          \"id\": \"60\",\n          \"abbrName\": \"TxnTm\",\n          \"description\": \"Timestamp when the business transaction represented by the message occurred.\"\n        }\n      },\n      {\n        \"id\": \"895\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"CollAsgnReasonCodeSet\",\n          \"abbrName\": \"AsgnRsn\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"CollAsgnReason\",\n          \"id\": \"895\",\n          \"description\": \"Reason for Collateral Assignment\"\n        }\n      },\n      {\n        \"id\": \"902\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"abbrName\": \"ID\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"CollAsgnID\",\n          \"id\": \"902\",\n          \"description\": \"Collateral Assignment Identifier\"\n        }\n      },\n      {\n        \"id\": \"903\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"CollAsgnTransTypeCodeSet\",\n          \"abbrName\": \"TransTyp\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"CollAsgnTransType\",\n          \"id\": \"903\",\n          \"description\": \"Collateral Assignment Transaction Type\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"PostTrade\",\n      \"FIXMLFileName\": \"posttrade\",\n      \"displayOrder\": \"3\",\n      \"description\": \"Post trade messages including trade reporting, allocation, collateral, confirmation, position mantemenance, registration instruction, and settlement instructions\"\n    },\n    \"description\": \"Used to assign collateral to cover a trading position. This message can be sent unsolicited or in reply to a Collateral Request message.\"\n  },\n  \"AZ\": {\n    \"msgType\": \"AZ\",\n    \"category\": {\n      \"FIXMLFileName\": \"collateral\",\n      \"section\": \"PostTrade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"CollateralManagement\"\n    },\n    \"added\": \"FIX.4.4\",\n    \"name\": \"CollateralResponse\",\n    \"id\": \"85\",\n    \"abbrName\": \"CollRsp\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"60\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"UTCTimestamp\",\n          \"updated\": \"FIX.5.0SP1\",\n          \"updatedEP\": \"94\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"TransactTime\",\n          \"id\": \"60\",\n          \"abbrName\": \"TxnTm\",\n          \"description\": \"Timestamp when the business transaction represented by the message occurred.\"\n        }\n      },\n      {\n        \"id\": \"904\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"abbrName\": \"RespID\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"CollRespID\",\n          \"id\": \"904\",\n          \"description\": \"Collateral Response Identifier\"\n        }\n      },\n      {\n        \"id\": \"905\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"CollAsgnRespTypeCodeSet\",\n          \"updated\": \"FIX.5.0SP2\",\n          \"updatedEP\": \"192\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"CollAsgnRespType\",\n          \"id\": \"905\",\n          \"abbrName\": \"RespTyp\",\n          \"description\": \"Type of collateral assignment response.\"\n        }\n      },\n      {\n        \"updatedEP\": \"193\",\n        \"updated\": \"FIX.5.0SP2\",\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"PostTrade\",\n      \"FIXMLFileName\": \"posttrade\",\n      \"displayOrder\": \"3\",\n      \"description\": \"Post trade messages including trade reporting, allocation, collateral, confirmation, position mantemenance, registration instruction, and settlement instructions\"\n    },\n    \"description\": \"Used to respond to a Collateral Assignment message.\"\n  },\n  \"BA\": {\n    \"msgType\": \"BA\",\n    \"category\": {\n      \"FIXMLFileName\": \"collateral\",\n      \"section\": \"PostTrade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"CollateralManagement\"\n    },\n    \"added\": \"FIX.4.4\",\n    \"name\": \"CollateralReport\",\n    \"id\": \"86\",\n    \"abbrName\": \"CollRpt\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"908\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"abbrName\": \"RptID\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"CollRptID\",\n          \"id\": \"908\",\n          \"description\": \"Collateral Report Identifier\"\n        }\n      },\n      {\n        \"id\": \"910\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"CollStatusCodeSet\",\n          \"abbrName\": \"Stat\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"CollStatus\",\n          \"id\": \"910\",\n          \"description\": \"Collateral Status\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"PostTrade\",\n      \"FIXMLFileName\": \"posttrade\",\n      \"displayOrder\": \"3\",\n      \"description\": \"Post trade messages including trade reporting, allocation, collateral, confirmation, position mantemenance, registration instruction, and settlement instructions\"\n    },\n    \"description\": \"Used to report collateral status when responding to a Collateral Inquiry message.\"\n  },\n  \"BB\": {\n    \"msgType\": \"BB\",\n    \"category\": {\n      \"FIXMLFileName\": \"collateral\",\n      \"section\": \"PostTrade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"CollateralManagement\"\n    },\n    \"added\": \"FIX.4.4\",\n    \"name\": \"CollateralInquiry\",\n    \"id\": \"87\",\n    \"abbrName\": \"CollInq\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"updatedEP\": \"95\",\n        \"updated\": \"FIX.5.0SP1\",\n        \"id\": \"909\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"abbrName\": \"ID\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"CollInquiryID\",\n          \"id\": \"909\",\n          \"description\": \"Collateral Inquiry Identifier\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"PostTrade\",\n      \"FIXMLFileName\": \"posttrade\",\n      \"displayOrder\": \"3\",\n      \"description\": \"Post trade messages including trade reporting, allocation, collateral, confirmation, position mantemenance, registration instruction, and settlement instructions\"\n    },\n    \"description\": \"Used to inquire for collateral status.\"\n  },\n  \"BC\": {\n    \"msgType\": \"BC\",\n    \"category\": {\n      \"FIXMLFileName\": \"network\",\n      \"section\": \"Infrastructure\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"Network\"\n    },\n    \"added\": \"FIX.4.4\",\n    \"name\": \"NetworkCounterpartySystemStatusRequest\",\n    \"id\": \"88\",\n    \"abbrName\": \"NtwkSysStatReq\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"933\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"abbrName\": \"NtwkReqID\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"NetworkRequestID\",\n          \"id\": \"933\",\n          \"description\": \"Unique identifier for a network resquest.\"\n        }\n      },\n      {\n        \"id\": \"935\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"NetworkRequestTypeCodeSet\",\n          \"abbrName\": \"NtwkReqTyp\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"NetworkRequestType\",\n          \"id\": \"935\",\n          \"description\": \"Indicates the type and level of details required for a Network Status Request Message\\n\\nBoolean logic applies EG If you want to subscribe for changes to certain id's then UserRequestType =0 (8+2), Snapshot for certain ID's = 9 (8+1)\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"Infrastructure\",\n      \"FIXMLFileName\": \"infrastructure\",\n      \"displayOrder\": \"4\",\n      \"description\": \"Infrastructure messages for application sequencing, business reject, network and user management\"\n    },\n    \"description\": \"This message is send either immediately after logging on to inform a network (counterparty system) of the type of updates required or to at any other time in the FIX conversation to change the nature of the types of status updates required. It can also be used with a NetworkRequestType of Snapshot to request a one-off report of the status of a network (or counterparty) system. Finally this message can also be used to cancel a request to receive updates into the status of the counterparties on a network by sending a NetworkRequestStatusMessage with a NetworkRequestType of StopSubscribing.\"\n  },\n  \"BD\": {\n    \"msgType\": \"BD\",\n    \"category\": {\n      \"FIXMLFileName\": \"network\",\n      \"section\": \"Infrastructure\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"Network\"\n    },\n    \"added\": \"FIX.4.4\",\n    \"name\": \"NetworkCounterpartySystemStatusResponse\",\n    \"id\": \"89\",\n    \"abbrName\": \"NtwkSysStatRsp\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"932\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"abbrName\": \"NtwkRspID\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"NetworkResponseID\",\n          \"id\": \"932\",\n          \"description\": \"Unique identifier for a network response.\"\n        }\n      },\n      {\n        \"id\": \"937\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"NetworkStatusResponseTypeCodeSet\",\n          \"abbrName\": \"NtwkStatRspTyp\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"NetworkStatusResponseType\",\n          \"id\": \"937\",\n          \"description\": \"Indicates the type of Network Response Message.\"\n        }\n      },\n      {\n        \"id\": \"2010\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"group\",\n          \"category\": \"Common\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"CompIDStatGrp\",\n          \"id\": \"2010\",\n          \"abbrName\": \"CIDStat\",\n          \"numInGroup\": { \"id\": \"936\", \"added\": \"FIX.4.4\" },\n          \"fieldRef\": [\n            {\n              \"id\": \"930\",\n              \"added\": \"FIX.4.4\",\n              \"presence\": \"required\",\n              \"description\": \"CompID that status is being report for. Required if NoCompIDs > 0,\",\n              \"name\": \"RefCompID\"\n            },\n            {\n              \"id\": \"928\",\n              \"added\": \"FIX.4.4\",\n              \"presence\": \"required\",\n              \"description\": \"\",\n              \"name\": \"StatusValue\"\n            }\n          ],\n          \"description\": \"\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"Infrastructure\",\n      \"FIXMLFileName\": \"infrastructure\",\n      \"displayOrder\": \"4\",\n      \"description\": \"Infrastructure messages for application sequencing, business reject, network and user management\"\n    },\n    \"description\": \"This message is sent in response to a Network (Counterparty System) Status Request Message.\"\n  },\n  \"BE\": {\n    \"msgType\": \"BE\",\n    \"category\": {\n      \"FIXMLFileName\": \"usermanagement\",\n      \"section\": \"Infrastructure\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"UserManagement\"\n    },\n    \"added\": \"FIX.4.4\",\n    \"name\": \"UserRequest\",\n    \"id\": \"90\",\n    \"abbrName\": \"UserReq\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"553\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"abbrName\": \"Username\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"Username\",\n          \"id\": \"553\",\n          \"description\": \"Userid or username.\"\n        }\n      },\n      {\n        \"id\": \"923\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"abbrName\": \"UserReqID\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"UserRequestID\",\n          \"id\": \"923\",\n          \"description\": \"Unique identifier for a User Request.\"\n        }\n      },\n      {\n        \"id\": \"924\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"UserRequestTypeCodeSet\",\n          \"abbrName\": \"UserReqTyp\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"UserRequestType\",\n          \"id\": \"924\",\n          \"description\": \"Indicates the action required by a User Request Message\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"Infrastructure\",\n      \"FIXMLFileName\": \"infrastructure\",\n      \"displayOrder\": \"4\",\n      \"description\": \"Infrastructure messages for application sequencing, business reject, network and user management\"\n    },\n    \"description\": \"This message is used to initiate a user action, logon, logout or password change. It can also be used to request a report on a user's status.\"\n  },\n  \"BF\": {\n    \"msgType\": \"BF\",\n    \"category\": {\n      \"FIXMLFileName\": \"usermanagement\",\n      \"section\": \"Infrastructure\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"UserManagement\"\n    },\n    \"added\": \"FIX.4.4\",\n    \"name\": \"UserResponse\",\n    \"id\": \"91\",\n    \"abbrName\": \"UserRsp\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"553\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"abbrName\": \"Username\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"Username\",\n          \"id\": \"553\",\n          \"description\": \"Userid or username.\"\n        }\n      },\n      {\n        \"id\": \"923\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"abbrName\": \"UserReqID\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"UserRequestID\",\n          \"id\": \"923\",\n          \"description\": \"Unique identifier for a User Request.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"Infrastructure\",\n      \"FIXMLFileName\": \"infrastructure\",\n      \"displayOrder\": \"4\",\n      \"description\": \"Infrastructure messages for application sequencing, business reject, network and user management\"\n    },\n    \"description\": \"This message is used to respond to a user request message, it reports the status of the user after the completion of any action requested in the user request message.\"\n  },\n  \"BG\": {\n    \"msgType\": \"BG\",\n    \"category\": {\n      \"FIXMLFileName\": \"collateral\",\n      \"section\": \"PostTrade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"CollateralManagement\"\n    },\n    \"added\": \"FIX.4.4\",\n    \"name\": \"CollateralInquiryAck\",\n    \"id\": \"92\",\n    \"abbrName\": \"CollInqAck\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"909\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"abbrName\": \"ID\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"CollInquiryID\",\n          \"id\": \"909\",\n          \"description\": \"Collateral Inquiry Identifier\"\n        }\n      },\n      {\n        \"id\": \"945\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"CollInquiryStatusCodeSet\",\n          \"abbrName\": \"Stat\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"CollInquiryStatus\",\n          \"id\": \"945\",\n          \"description\": \"Status of Collateral Inquiry\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"PostTrade\",\n      \"FIXMLFileName\": \"posttrade\",\n      \"displayOrder\": \"3\",\n      \"description\": \"Post trade messages including trade reporting, allocation, collateral, confirmation, position mantemenance, registration instruction, and settlement instructions\"\n    },\n    \"description\": \"Used to respond to a Collateral Inquiry in the following situations:\\n\\n\u2022 When the CollateralInquiry will result in an out of band response (such as a file transfer).\\n\\n\u2022 When the inquiry is otherwise valid but no collateral is found to match the criteria specified on the Collateral Inquiry message.\\n\\n\u2022 When the Collateral Inquiry is invalid based upon the business rules of the counterparty.\"\n  },\n  \"BH\": {\n    \"msgType\": \"BH\",\n    \"category\": {\n      \"FIXMLFileName\": \"confirmation\",\n      \"section\": \"PostTrade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"Confirmation\"\n    },\n    \"added\": \"FIX.4.4\",\n    \"name\": \"ConfirmationRequest\",\n    \"id\": \"93\",\n    \"abbrName\": \"CnfmReq\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"60\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"UTCTimestamp\",\n          \"updated\": \"FIX.5.0SP1\",\n          \"updatedEP\": \"94\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"TransactTime\",\n          \"id\": \"60\",\n          \"abbrName\": \"TxnTm\",\n          \"description\": \"Timestamp when the business transaction represented by the message occurred.\"\n        }\n      },\n      {\n        \"id\": \"773\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"ConfirmTypeCodeSet\",\n          \"abbrName\": \"CnfmTyp\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"ConfirmType\",\n          \"id\": \"773\",\n          \"description\": \"Identifies the type of Confirmation message being sent.\"\n        }\n      },\n      {\n        \"id\": \"859\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"abbrName\": \"CnfmReqID\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"ConfirmReqID\",\n          \"id\": \"859\",\n          \"description\": \"Unique identifier for a Confirmation Request message\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.4\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"PostTrade\",\n      \"FIXMLFileName\": \"posttrade\",\n      \"displayOrder\": \"3\",\n      \"description\": \"Post trade messages including trade reporting, allocation, collateral, confirmation, position mantemenance, registration instruction, and settlement instructions\"\n    },\n    \"description\": \"The Confirmation Request message is used to request a Confirmation message.\"\n  },\n  \"BO\": {\n    \"msgType\": \"BO\",\n    \"addedEP\": \"-1\",\n    \"category\": {\n      \"FIXMLFileName\": \"positions\",\n      \"section\": \"PostTrade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"PositionMaintenance\"\n    },\n    \"added\": \"FIX.4.4\",\n    \"name\": \"ContraryIntentionReport\",\n    \"id\": \"94\",\n    \"abbrName\": \"ContIntRpt\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.4\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"715\",\n        \"added\": \"FIX.4.4\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"LocalMktDate\",\n          \"updated\": \"FIX.5.0SP2\",\n          \"updatedEP\": \"150\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"ClearingBusinessDate\",\n          \"id\": \"715\",\n          \"abbrName\": \"BizDt\",\n          \"description\": \"The business date for which the trade is expected to be cleared.\"\n        }\n      },\n      {\n        \"id\": \"977\",\n        \"added\": \"FIX.4.4\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"addedEP\": \"4\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"ContIntRptID\",\n          \"id\": \"977\",\n          \"abbrName\": \"RptID\",\n          \"description\": \"Unique identifier for the Contrary Intention report\"\n        }\n      },\n      {\n        \"id\": \"1027\",\n        \"added\": \"FIX.4.4\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"group\",\n          \"updated\": \"FIX.5.0SP1\",\n          \"addedEP\": \"-1\",\n          \"updatedEP\": \"97\",\n          \"category\": \"PositionMaintenance\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"ExpirationQty\",\n          \"id\": \"1027\",\n          \"abbrName\": \"Qty\",\n          \"numInGroup\": { \"id\": \"981\", \"added\": \"FIX.4.4\", \"addedEP\": \"-1\" },\n          \"description\": \"The ExpirationQty component block identified the expiration quantities and type of expiration.\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.4\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1003\",\n        \"added\": \"FIX.4.4\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Common\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"Instrument\",\n          \"id\": \"1003\",\n          \"abbrName\": \"Instrmt\",\n          \"description\": \"The Instrument component block contains all the fields commonly used to describe a security or instrument. Typically the data elements in this component block are considered the static data of a security, data that may be commonly found in a security master database. The Instrument component block can be used to describe any asset type supported by FIX.\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1012\",\n        \"added\": \"FIX.4.4\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"group\",\n          \"category\": \"Common\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"Parties\",\n          \"id\": \"1012\",\n          \"abbrName\": \"Pty\",\n          \"numInGroup\": { \"id\": \"453\", \"added\": \"FIX.4.3\" },\n          \"description\": \"The Parties component block is used to identify and convey information on the entities both central and peripheral to the financial transaction represented by the FIX message containing the Parties Block. The Parties block allows many different types of entites to be expressed through use of the PartyRole field and identifies the source of the PartyID through the the PartyIDSource.\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"PostTrade\",\n      \"FIXMLFileName\": \"posttrade\",\n      \"displayOrder\": \"3\",\n      \"description\": \"Post trade messages including trade reporting, allocation, collateral, confirmation, position mantemenance, registration instruction, and settlement instructions\"\n    },\n    \"description\": \"The Contrary Intention Report is used for reporting of contrary expiration quantities for Saturday expiring options. This information is required by options exchanges for regulatory purposes.\"\n  },\n  \"BP\": {\n    \"updated\": \"FIX.5.0SP2\",\n    \"msgType\": \"BP\",\n    \"addedEP\": \"-1\",\n    \"updatedEP\": \"195\",\n    \"category\": {\n      \"FIXMLFileName\": \"securitiesreference\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"addedEP\": \"97\",\n      \"section\": \"PreTrade\",\n      \"added\": \"FIX.5.0SP1\",\n      \"name\": \"SecuritiesReferenceData\"\n    },\n    \"added\": \"FIX.4.4\",\n    \"name\": \"SecurityDefinitionUpdateReport\",\n    \"id\": \"95\",\n    \"abbrName\": \"SecDefUpd\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.4\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.4\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"This message is used for reporting updates to a product security master file. Updates could be the result of corporate actions or other business events. Updates may include additions, modifications or deletions.\"\n  },\n  \"BK\": {\n    \"updated\": \"FIX.5.0SP1\",\n    \"msgType\": \"BK\",\n    \"addedEP\": \"-1\",\n    \"updatedEP\": \"97\",\n    \"category\": {\n      \"FIXMLFileName\": \"securitiesreference\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"addedEP\": \"97\",\n      \"section\": \"PreTrade\",\n      \"added\": \"FIX.5.0SP1\",\n      \"name\": \"SecuritiesReferenceData\"\n    },\n    \"added\": \"FIX.4.4\",\n    \"name\": \"SecurityListUpdateReport\",\n    \"id\": \"96\",\n    \"abbrName\": \"SecListUpd\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.4\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.4\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"The Security List Update Report is used for reporting updates to a Contract Security Masterfile. Updates could be due to Corporate Actions or other business events. Update may include additions, modifications and deletions.\"\n  },\n  \"BL\": {\n    \"msgType\": \"BL\",\n    \"addedEP\": \"-1\",\n    \"category\": {\n      \"FIXMLFileName\": \"positions\",\n      \"section\": \"PostTrade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"PositionMaintenance\"\n    },\n    \"added\": \"FIX.4.4\",\n    \"name\": \"AdjustedPositionReport\",\n    \"id\": \"97\",\n    \"abbrName\": \"AdjPosRep\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.4\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"715\",\n        \"added\": \"FIX.4.4\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"LocalMktDate\",\n          \"updated\": \"FIX.5.0SP2\",\n          \"updatedEP\": \"150\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"ClearingBusinessDate\",\n          \"id\": \"715\",\n          \"abbrName\": \"BizDt\",\n          \"description\": \"The business date for which the trade is expected to be cleared.\"\n        }\n      },\n      {\n        \"id\": \"721\",\n        \"added\": \"FIX.4.4\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"abbrName\": \"RptID\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"PosMaintRptID\",\n          \"id\": \"721\",\n          \"description\": \"Unique identifier for this position report\"\n        }\n      },\n      {\n        \"id\": \"1012\",\n        \"added\": \"FIX.4.4\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"group\",\n          \"category\": \"Common\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"Parties\",\n          \"id\": \"1012\",\n          \"abbrName\": \"Pty\",\n          \"numInGroup\": { \"id\": \"453\", \"added\": \"FIX.4.3\" },\n          \"description\": \"The Parties component block is used to identify and convey information on the entities both central and peripheral to the financial transaction represented by the FIX message containing the Parties Block. The Parties block allows many different types of entites to be expressed through use of the PartyRole field and identifies the source of the PartyID through the the PartyIDSource.\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1015\",\n        \"added\": \"FIX.4.4\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"group\",\n          \"category\": \"Common\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"PositionQty\",\n          \"id\": \"1015\",\n          \"abbrName\": \"Qty\",\n          \"numInGroup\": { \"id\": \"702\", \"added\": \"FIX.4.4\" },\n          \"description\": \"The PositionQty component block specifies the various types of position quantity in the position life-cycle including start-of-day, intraday, trade, adjustments, and end-of-day position quantities. Quantities are expressed in terms of long and short quantities.\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.4\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"PostTrade\",\n      \"FIXMLFileName\": \"posttrade\",\n      \"displayOrder\": \"3\",\n      \"description\": \"Post trade messages including trade reporting, allocation, collateral, confirmation, position mantemenance, registration instruction, and settlement instructions\"\n    },\n    \"description\": \"Used to report changes in position, primarily in equity options, due to modifications to the underlying due to corporate actions\"\n  },\n  \"BM\": {\n    \"updated\": \"FIX.Latest\",\n    \"msgType\": \"BM\",\n    \"addedEP\": \"-1\",\n    \"updatedEP\": \"285\",\n    \"category\": {\n      \"FIXMLFileName\": \"allocation\",\n      \"section\": \"PostTrade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"Allocation\"\n    },\n    \"added\": \"FIX.4.4\",\n    \"name\": \"AllocationInstructionAlert\",\n    \"id\": \"98\",\n    \"abbrName\": \"AllocInstrAlert\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.4\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"54\",\n        \"added\": \"FIX.4.4\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"SideCodeSet\",\n          \"abbrName\": \"Side\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"Side\",\n          \"id\": \"54\",\n          \"description\": \"Side of order (see Volume : \\\"Glossary\\\" for value definitions)\"\n        }\n      },\n      {\n        \"id\": \"70\",\n        \"added\": \"FIX.4.4\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"baseCategoryAbbrName\": \"ID\",\n          \"baseCategory\": \"Allocation\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"AllocID\",\n          \"id\": \"70\",\n          \"abbrName\": \"AllocID\",\n          \"description\": \"Unique identifier for allocation message.\\n\\n(Prior to FIX 4.1 this field was of type int)\"\n        }\n      },\n      {\n        \"updated\": \"FIX.Latest\",\n        \"addedEP\": \"-1\",\n        \"updatedEP\": \"285\",\n        \"added\": \"FIX.4.4\",\n        \"id\": \"71\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"AllocTransTypeCodeSet\",\n          \"abbrName\": \"TransTyp\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"AllocTransType\",\n          \"id\": \"71\",\n          \"description\": \"Identifies allocation transaction type *** SOME VALUES HAVE BEEN REPLACED - See \\\"Replaced Features and Supported Approach\\\" ***\"\n        }\n      },\n      {\n        \"id\": \"75\",\n        \"added\": \"FIX.4.4\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"LocalMktDate\",\n          \"updated\": \"FIX.5.0SP2\",\n          \"updatedEP\": \"190\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"TradeDate\",\n          \"id\": \"75\",\n          \"abbrName\": \"TrdDt\",\n          \"description\": \"Indicates date of trading day. Absence of this field indicates current day (expressed in local time at place of trade).\"\n        }\n      },\n      {\n        \"id\": \"626\",\n        \"added\": \"FIX.4.4\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"AllocTypeCodeSet\",\n          \"baseCategoryAbbrName\": \"Typ\",\n          \"baseCategory\": \"Allocation\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"AllocType\",\n          \"id\": \"626\",\n          \"abbrName\": \"AllocType\",\n          \"description\": \"Describes the specific type or purpose of an Allocation message (i.e. \\\"Buyside Calculated\\\")\\n\\n(see Volume : \\\"Glossary\\\" for value definitions)\\n\\n*** SOME VALUES HAVE BEEN REPLACED - See \\\"Replaced Features and Supported Approach\\\" ***\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.4\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1003\",\n        \"added\": \"FIX.4.4\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Common\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"Instrument\",\n          \"id\": \"1003\",\n          \"abbrName\": \"Instrmt\",\n          \"description\": \"The Instrument component block contains all the fields commonly used to describe a security or instrument. Typically the data elements in this component block are considered the static data of a security, data that may be commonly found in a security master database. The Instrument component block can be used to describe any asset type supported by FIX.\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"PostTrade\",\n      \"FIXMLFileName\": \"posttrade\",\n      \"displayOrder\": \"3\",\n      \"description\": \"Post trade messages including trade reporting, allocation, collateral, confirmation, position mantemenance, registration instruction, and settlement instructions\"\n    },\n    \"description\": \"This message is used in a 3-party allocation model (buy-side and sell-side using a central clearing entity) where notification of group creation and group updates to counterparties is needed. The message will also carry trade information that comprised the group to the counterparties.\"\n  },\n  \"BN\": {\n    \"updated\": \"FIX.5.0SP2\",\n    \"msgType\": \"BN\",\n    \"addedEP\": \"-1\",\n    \"updatedEP\": \"143\",\n    \"category\": {\n      \"FIXMLFileName\": \"order\",\n      \"section\": \"Trade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"SingleGeneralOrderHandling\"\n    },\n    \"added\": \"FIX.4.4\",\n    \"name\": \"ExecutionAck\",\n    \"id\": \"99\",\n    \"abbrName\": \"ExecAck\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.4\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"17\",\n        \"added\": \"FIX.4.4\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"updated\": \"FIX.5.0SP1\",\n          \"updatedEP\": \"95\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"ExecID\",\n          \"id\": \"17\",\n          \"abbrName\": \"ExecID\",\n          \"description\": \"Unique identifier of execution message as assigned by sell-side (broker, exchange, ECN) (will be 0 (zero) for ExecType (150)=I (Order Status)).\\n\\nUniqueness must be guaranteed within a single trading day or the life of a multi-day order. Firms which accept multi-day orders should consider embedding a date within the ExecID field to assure uniqueness across days.\\n\\n(Prior to FIX 4.1 this field was of type int).\"\n        }\n      },\n      {\n        \"id\": \"37\",\n        \"added\": \"FIX.4.4\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"abbrName\": \"OrdID\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"OrderID\",\n          \"id\": \"37\",\n          \"description\": \"Unique identifier for Order as assigned by sell-side (broker, exchange, ECN). Uniqueness must be guaranteed within a single trading day. Firms which accept multi-day orders should consider embedding a date within the OrderID field to assure uniqueness across days.\"\n        }\n      },\n      {\n        \"id\": \"54\",\n        \"added\": \"FIX.4.4\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"SideCodeSet\",\n          \"abbrName\": \"Side\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"Side\",\n          \"id\": \"54\",\n          \"description\": \"Side of order (see Volume : \\\"Glossary\\\" for value definitions)\"\n        }\n      },\n      {\n        \"id\": \"1036\",\n        \"added\": \"FIX.4.4\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"ExecAckStatusCodeSet\",\n          \"addedEP\": \"10\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"ExecAckStatus\",\n          \"id\": \"1036\",\n          \"abbrName\": \"ExecAckStat\",\n          \"description\": \"The status of this execution acknowledgement message.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.4\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1003\",\n        \"added\": \"FIX.4.4\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Common\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"Instrument\",\n          \"id\": \"1003\",\n          \"abbrName\": \"Instrmt\",\n          \"description\": \"The Instrument component block contains all the fields commonly used to describe a security or instrument. Typically the data elements in this component block are considered the static data of a security, data that may be commonly found in a security master database. The Instrument component block can be used to describe any asset type supported by FIX.\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"Trade\",\n      \"FIXMLFileName\": \"trade\",\n      \"displayOrder\": \"2\",\n      \"description\": \"Order handling and execution messages\"\n    },\n    \"description\": \"The Execution Report Acknowledgement message is an optional message that provides dual functionality to notify a trading partner that an electronically received execution has either been accepted or rejected (DK'd).\"\n  },\n  \"BJ\": {\n    \"updated\": \"FIX.5.0SP1\",\n    \"msgType\": \"BJ\",\n    \"addedEP\": \"-1\",\n    \"updatedEP\": \"97\",\n    \"category\": {\n      \"FIXMLFileName\": \"marketstructure\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"addedEP\": \"97\",\n      \"section\": \"PreTrade\",\n      \"added\": \"FIX.5.0SP1\",\n      \"name\": \"MarketStructureReferenceData\"\n    },\n    \"added\": \"FIX.4.4\",\n    \"name\": \"TradingSessionList\",\n    \"id\": \"100\",\n    \"abbrName\": \"TradSessList\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.4\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"2099\",\n        \"added\": \"FIX.4.4\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"group\",\n          \"addedEP\": \"-1\",\n          \"category\": \"Common\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"TrdSessLstGrp\",\n          \"id\": \"2099\",\n          \"abbrName\": \"TrdSessLstGrp\",\n          \"numInGroup\": { \"id\": \"386\", \"added\": \"FIX.4.4\", \"addedEP\": \"-1\" },\n          \"fieldRef\": [\n            {\n              \"id\": \"336\",\n              \"added\": \"FIX.4.4\",\n              \"addedEP\": \"-1\",\n              \"presence\": \"required\",\n              \"description\": \"Identifier for Trading Session\",\n              \"name\": \"TradingSessionID\"\n            },\n            {\n              \"id\": \"340\",\n              \"added\": \"FIX.4.4\",\n              \"addedEP\": \"-1\",\n              \"presence\": \"required\",\n              \"description\": \"State of trading session.\",\n              \"name\": \"TradSesStatus\"\n            }\n          ],\n          \"description\": \"\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.4\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"The Trading Session List message is sent as a response to a Trading Session List Request. The Trading Session List should contain the characteristics of the trading session and the current state of the trading session.\"\n  },\n  \"BI\": {\n    \"updated\": \"FIX.5.0SP1\",\n    \"msgType\": \"BI\",\n    \"addedEP\": \"-1\",\n    \"updatedEP\": \"97\",\n    \"category\": {\n      \"FIXMLFileName\": \"marketstructure\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"addedEP\": \"97\",\n      \"section\": \"PreTrade\",\n      \"added\": \"FIX.5.0SP1\",\n      \"name\": \"MarketStructureReferenceData\"\n    },\n    \"added\": \"FIX.4.4\",\n    \"name\": \"TradingSessionListRequest\",\n    \"id\": \"101\",\n    \"abbrName\": \"TradSessListReq\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.4.4\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"263\",\n        \"added\": \"FIX.4.4\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"SubscriptionRequestTypeCodeSet\",\n          \"abbrName\": \"SubReqTyp\",\n          \"added\": \"FIX.4.2\",\n          \"name\": \"SubscriptionRequestType\",\n          \"id\": \"263\",\n          \"description\": \"Subscription Request Type\"\n        }\n      },\n      {\n        \"id\": \"335\",\n        \"added\": \"FIX.4.4\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"abbrName\": \"ReqID\",\n          \"added\": \"FIX.4.2\",\n          \"name\": \"TradSesReqID\",\n          \"id\": \"335\",\n          \"description\": \"Unique ID of a Trading Session Status message.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.4.4\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"The Trading Session List Request is used to request a list of trading sessions available in a market place and the state of those trading sessions. A successful request will result in a response from the counterparty of a Trading Session List (MsgType=BJ) message that contains a list of zero or more trading sessions.\"\n  },\n  \"BQ\": {\n    \"msgType\": \"BQ\",\n    \"addedEP\": \"-1\",\n    \"category\": {\n      \"FIXMLFileName\": \"settlement\",\n      \"section\": \"PostTrade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"SettlementInstruction\"\n    },\n    \"added\": \"FIX.5.0\",\n    \"name\": \"SettlementObligationReport\",\n    \"id\": \"102\",\n    \"abbrName\": \"SettlObligation\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.5.0\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1159\",\n        \"added\": \"FIX.5.0\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"SettlObligModeCodeSet\",\n          \"addedEP\": \"44\",\n          \"added\": \"FIX.5.0\",\n          \"name\": \"SettlObligMode\",\n          \"id\": \"1159\",\n          \"abbrName\": \"SettlMode\",\n          \"description\": \"Used to identify the reporting mode of the settlement obligation which is either preliminary or final\"\n        }\n      },\n      {\n        \"id\": \"1160\",\n        \"added\": \"FIX.5.0\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"addedEP\": \"44\",\n          \"added\": \"FIX.5.0\",\n          \"name\": \"SettlObligMsgID\",\n          \"id\": \"1160\",\n          \"abbrName\": \"SettlMsgID\",\n          \"description\": \"Message identifier for Settlement Obligation Report\"\n        }\n      },\n      {\n        \"id\": \"2101\",\n        \"added\": \"FIX.5.0\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"group\",\n          \"addedEP\": \"-1\",\n          \"category\": \"SettlementInstruction\",\n          \"added\": \"FIX.5.0\",\n          \"name\": \"SettlObligationInstructions\",\n          \"id\": \"2101\",\n          \"abbrName\": \"SettlObligInst\",\n          \"numInGroup\": { \"id\": \"1165\", \"added\": \"FIX.5.0\", \"addedEP\": \"-1\" },\n          \"description\": \"\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.5.0\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"PostTrade\",\n      \"FIXMLFileName\": \"posttrade\",\n      \"displayOrder\": \"3\",\n      \"description\": \"Post trade messages including trade reporting, allocation, collateral, confirmation, position mantemenance, registration instruction, and settlement instructions\"\n    },\n    \"description\": \"The Settlement Obligation Report message provides a central counterparty, institution, or individual counterparty with a capacity for reporting the final details of a currency settlement obligation.\"\n  },\n  \"BR\": {\n    \"updated\": \"FIX.5.0SP1\",\n    \"msgType\": \"BR\",\n    \"addedEP\": \"-1\",\n    \"updatedEP\": \"97\",\n    \"category\": {\n      \"FIXMLFileName\": \"securitiesreference\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"addedEP\": \"97\",\n      \"section\": \"PreTrade\",\n      \"added\": \"FIX.5.0SP1\",\n      \"name\": \"SecuritiesReferenceData\"\n    },\n    \"added\": \"FIX.5.0\",\n    \"name\": \"DerivativeSecurityListUpdateReport\",\n    \"id\": \"103\",\n    \"abbrName\": \"DerivSecListUpd\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.5.0\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.5.0\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"The Derivative Security List Update Report message is used to send updates to an option family or the strikes that comprise an option family.\"\n  },\n  \"BS\": {\n    \"updated\": \"FIX.5.0SP1\",\n    \"msgType\": \"BS\",\n    \"addedEP\": \"-1\",\n    \"updatedEP\": \"97\",\n    \"category\": {\n      \"FIXMLFileName\": \"marketstructure\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"addedEP\": \"97\",\n      \"section\": \"PreTrade\",\n      \"added\": \"FIX.5.0SP1\",\n      \"name\": \"MarketStructureReferenceData\"\n    },\n    \"added\": \"FIX.5.0\",\n    \"name\": \"TradingSessionListUpdateReport\",\n    \"id\": \"104\",\n    \"abbrName\": \"TrdgSesListUpd\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.5.0\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"2099\",\n        \"added\": \"FIX.5.0\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"group\",\n          \"addedEP\": \"-1\",\n          \"category\": \"Common\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"TrdSessLstGrp\",\n          \"id\": \"2099\",\n          \"abbrName\": \"TrdSessLstGrp\",\n          \"numInGroup\": { \"id\": \"386\", \"added\": \"FIX.4.4\", \"addedEP\": \"-1\" },\n          \"fieldRef\": [\n            {\n              \"id\": \"336\",\n              \"added\": \"FIX.4.4\",\n              \"addedEP\": \"-1\",\n              \"presence\": \"required\",\n              \"description\": \"Identifier for Trading Session\",\n              \"name\": \"TradingSessionID\"\n            },\n            {\n              \"id\": \"340\",\n              \"added\": \"FIX.4.4\",\n              \"addedEP\": \"-1\",\n              \"presence\": \"required\",\n              \"description\": \"State of trading session.\",\n              \"name\": \"TradSesStatus\"\n            }\n          ],\n          \"description\": \"\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.5.0\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"The Trading Session List Update Report is used by marketplaces to provide intra-day updates of trading sessions when there are changes to one or more trading sessions.\"\n  },\n  \"BT\": {\n    \"updated\": \"FIX.5.0SP1\",\n    \"msgType\": \"BT\",\n    \"addedEP\": \"-1\",\n    \"updatedEP\": \"97\",\n    \"category\": {\n      \"FIXMLFileName\": \"marketstructure\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"addedEP\": \"97\",\n      \"section\": \"PreTrade\",\n      \"added\": \"FIX.5.0SP1\",\n      \"name\": \"MarketStructureReferenceData\"\n    },\n    \"added\": \"FIX.5.0\",\n    \"name\": \"MarketDefinitionRequest\",\n    \"id\": \"105\",\n    \"abbrName\": \"MktDefReq\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.5.0\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"263\",\n        \"added\": \"FIX.5.0\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"SubscriptionRequestTypeCodeSet\",\n          \"abbrName\": \"SubReqTyp\",\n          \"added\": \"FIX.4.2\",\n          \"name\": \"SubscriptionRequestType\",\n          \"id\": \"263\",\n          \"description\": \"Subscription Request Type\"\n        }\n      },\n      {\n        \"id\": \"1393\",\n        \"added\": \"FIX.5.0\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"addedEP\": \"53\",\n          \"added\": \"FIX.5.0\",\n          \"name\": \"MarketReqID\",\n          \"id\": \"1393\",\n          \"abbrName\": \"MktReqID\",\n          \"description\": \"Unique ID of a Market Definition Request message.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.5.0\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"The Market Definition Request message is used to request for market structure information from the Respondent that receives this request.\"\n  },\n  \"BU\": {\n    \"updated\": \"FIX.5.0SP2\",\n    \"msgType\": \"BU\",\n    \"addedEP\": \"-1\",\n    \"updatedEP\": \"195\",\n    \"category\": {\n      \"FIXMLFileName\": \"marketstructure\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"addedEP\": \"97\",\n      \"section\": \"PreTrade\",\n      \"added\": \"FIX.5.0SP1\",\n      \"name\": \"MarketStructureReferenceData\"\n    },\n    \"added\": \"FIX.5.0\",\n    \"name\": \"MarketDefinition\",\n    \"id\": \"106\",\n    \"abbrName\": \"MktDef\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.5.0\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1301\",\n        \"added\": \"FIX.5.0\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"Exchange\",\n          \"updated\": \"FIX.5.0SP2\",\n          \"addedEP\": \"52\",\n          \"updatedEP\": \"190\",\n          \"added\": \"FIX.5.0\",\n          \"name\": \"MarketID\",\n          \"id\": \"1301\",\n          \"abbrName\": \"MktID\",\n          \"description\": \"Identifies the market\"\n        }\n      },\n      {\n        \"updated\": \"FIX.5.0SP2\",\n        \"addedEP\": \"-1\",\n        \"updatedEP\": \"195\",\n        \"added\": \"FIX.5.0\",\n        \"id\": \"1394\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"addedEP\": \"53\",\n          \"added\": \"FIX.5.0\",\n          \"name\": \"MarketReportID\",\n          \"id\": \"1394\",\n          \"abbrName\": \"MktRptID\",\n          \"description\": \"Market Definition message identifier.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.5.0\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"The MarketDefinition(35=BU) message is used to respond to MarketDefinitionRequest(35=BT). In a subscription, it will be used to provide the initial snapshot of the information requested. Subsequent updates are provided by the MarketDefinitionUpdateReport(35=BV).\"\n  },\n  \"BV\": {\n    \"updated\": \"FIX.5.0SP2\",\n    \"msgType\": \"BV\",\n    \"addedEP\": \"-1\",\n    \"updatedEP\": \"195\",\n    \"category\": {\n      \"FIXMLFileName\": \"marketstructure\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"addedEP\": \"97\",\n      \"section\": \"PreTrade\",\n      \"added\": \"FIX.5.0SP1\",\n      \"name\": \"MarketStructureReferenceData\"\n    },\n    \"added\": \"FIX.5.0\",\n    \"name\": \"MarketDefinitionUpdateReport\",\n    \"id\": \"107\",\n    \"abbrName\": \"MktDefUpd\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.5.0\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1301\",\n        \"added\": \"FIX.5.0\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"Exchange\",\n          \"updated\": \"FIX.5.0SP2\",\n          \"addedEP\": \"52\",\n          \"updatedEP\": \"190\",\n          \"added\": \"FIX.5.0\",\n          \"name\": \"MarketID\",\n          \"id\": \"1301\",\n          \"abbrName\": \"MktID\",\n          \"description\": \"Identifies the market\"\n        }\n      },\n      {\n        \"updated\": \"FIX.5.0SP2\",\n        \"addedEP\": \"-1\",\n        \"updatedEP\": \"195\",\n        \"added\": \"FIX.5.0\",\n        \"id\": \"1394\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"addedEP\": \"53\",\n          \"added\": \"FIX.5.0\",\n          \"name\": \"MarketReportID\",\n          \"id\": \"1394\",\n          \"abbrName\": \"MktRptID\",\n          \"description\": \"Market Definition message identifier.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.5.0\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"In a subscription for market structure information, this message is used once the initial snapshot of the information has been sent using the MarketDefinition(35=BU) message.\"\n  },\n  \"CB\": {\n    \"msgType\": \"CB\",\n    \"addedEP\": \"-1\",\n    \"category\": {\n      \"FIXMLFileName\": \"usermanagement\",\n      \"section\": \"Infrastructure\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"UserManagement\"\n    },\n    \"added\": \"FIX.5.0\",\n    \"name\": \"UserNotification\",\n    \"id\": \"113\",\n    \"abbrName\": \"UserNotifctn\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.5.0\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"926\",\n        \"added\": \"FIX.5.0\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"UserStatusCodeSet\",\n          \"abbrName\": \"UserStat\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"UserStatus\",\n          \"id\": \"926\",\n          \"description\": \"Indicates the status of a user\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.5.0\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"Infrastructure\",\n      \"FIXMLFileName\": \"infrastructure\",\n      \"displayOrder\": \"4\",\n      \"description\": \"Infrastructure messages for application sequencing, business reject, network and user management\"\n    },\n    \"description\": \"The User Notification message is used to notify one or more users of an event or information from the sender of the message. This message is usually sent unsolicited from a marketplace (e.g. Exchange, ECN) to a market participant.\"\n  },\n  \"BZ\": {\n    \"msgType\": \"BZ\",\n    \"addedEP\": \"-1\",\n    \"category\": {\n      \"FIXMLFileName\": \"ordermasshandling\",\n      \"section\": \"Trade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"OrderMassHandling\"\n    },\n    \"added\": \"FIX.5.0\",\n    \"name\": \"OrderMassActionReport\",\n    \"id\": \"111\",\n    \"abbrName\": \"OrdMassActRpt\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.5.0\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1369\",\n        \"added\": \"FIX.5.0\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"addedEP\": \"58\",\n          \"added\": \"FIX.5.0\",\n          \"name\": \"MassActionReportID\",\n          \"id\": \"1369\",\n          \"abbrName\": \"MassActionReportID\",\n          \"description\": \"Unique identifier of Order Mass Cancel Report or Order Mass Action Report message as assigned by sell-side (broker, exchange, ECN)\"\n        }\n      },\n      {\n        \"id\": \"1373\",\n        \"added\": \"FIX.5.0\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"MassActionTypeCodeSet\",\n          \"addedEP\": \"58\",\n          \"added\": \"FIX.5.0\",\n          \"name\": \"MassActionType\",\n          \"id\": \"1373\",\n          \"abbrName\": \"MassActionType\",\n          \"description\": \"Specifies the type of action requested\"\n        }\n      },\n      {\n        \"id\": \"1374\",\n        \"added\": \"FIX.5.0\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"MassActionScopeCodeSet\",\n          \"updated\": \"FIX.5.0SP1\",\n          \"unionDataType\": \"Reserved100Plus\",\n          \"addedEP\": \"58\",\n          \"updatedEP\": \"85\",\n          \"added\": \"FIX.5.0\",\n          \"name\": \"MassActionScope\",\n          \"id\": \"1374\",\n          \"abbrName\": \"MassActionScope\",\n          \"description\": \"Specifies scope of Order Mass Action Request.\"\n        }\n      },\n      {\n        \"updated\": \"FIX.5.0SP2\",\n        \"addedEP\": \"-1\",\n        \"updatedEP\": \"223\",\n        \"added\": \"FIX.5.0\",\n        \"id\": \"1375\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"MassActionResponseCodeSet\",\n          \"addedEP\": \"58\",\n          \"added\": \"FIX.5.0\",\n          \"name\": \"MassActionResponse\",\n          \"id\": \"1375\",\n          \"abbrName\": \"MassActionResponse\",\n          \"description\": \"Specifies the action taken by counterparty order handling system as a result of the action type indicated in MassActionType of the Order Mass Action Request.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.5.0\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"Trade\",\n      \"FIXMLFileName\": \"trade\",\n      \"displayOrder\": \"2\",\n      \"description\": \"Order handling and execution messages\"\n    },\n    \"description\": \"The Order Mass Action Report is used to acknowledge an Order Mass Action Request. Note that each affected order that is suspended or released or canceled is acknowledged with a separate Execution Report for each order.\"\n  },\n  \"CA\": {\n    \"msgType\": \"CA\",\n    \"addedEP\": \"-1\",\n    \"category\": {\n      \"FIXMLFileName\": \"ordermasshandling\",\n      \"section\": \"Trade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"OrderMassHandling\"\n    },\n    \"added\": \"FIX.5.0\",\n    \"name\": \"OrderMassActionRequest\",\n    \"id\": \"112\",\n    \"abbrName\": \"OrdMassActReq\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.5.0\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"11\",\n        \"added\": \"FIX.5.0\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"updated\": \"FIX.Latest\",\n          \"baseCategoryAbbrName\": \"ID\",\n          \"baseCategory\": \"SingleGeneralOrderHandling\",\n          \"updatedEP\": \"282\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"ClOrdID\",\n          \"id\": \"11\",\n          \"abbrName\": \"ClOrdID\",\n          \"description\": \"Unique identifier for Order as assigned by the buy-side (institution, broker, intermediary etc.) (identified by SenderCompID(49) or OnBehalfOfCompID(115) as appropriate). Uniqueness must be guaranteed within a single trading day. Firms, particularly those which electronically submit multi-day orders, trade globally or throughout market close periods, should ensure uniqueness across days, for example by embedding a date within the ClOrdID(11) field.\"\n        }\n      },\n      {\n        \"id\": \"60\",\n        \"added\": \"FIX.5.0\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"UTCTimestamp\",\n          \"updated\": \"FIX.5.0SP1\",\n          \"updatedEP\": \"94\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"TransactTime\",\n          \"id\": \"60\",\n          \"abbrName\": \"TxnTm\",\n          \"description\": \"Timestamp when the business transaction represented by the message occurred.\"\n        }\n      },\n      {\n        \"id\": \"1373\",\n        \"added\": \"FIX.5.0\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"MassActionTypeCodeSet\",\n          \"addedEP\": \"58\",\n          \"added\": \"FIX.5.0\",\n          \"name\": \"MassActionType\",\n          \"id\": \"1373\",\n          \"abbrName\": \"MassActionType\",\n          \"description\": \"Specifies the type of action requested\"\n        }\n      },\n      {\n        \"id\": \"1374\",\n        \"added\": \"FIX.5.0\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"MassActionScopeCodeSet\",\n          \"updated\": \"FIX.5.0SP1\",\n          \"unionDataType\": \"Reserved100Plus\",\n          \"addedEP\": \"58\",\n          \"updatedEP\": \"85\",\n          \"added\": \"FIX.5.0\",\n          \"name\": \"MassActionScope\",\n          \"id\": \"1374\",\n          \"abbrName\": \"MassActionScope\",\n          \"description\": \"Specifies scope of Order Mass Action Request.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.5.0\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"Trade\",\n      \"FIXMLFileName\": \"trade\",\n      \"displayOrder\": \"2\",\n      \"description\": \"Order handling and execution messages\"\n    },\n    \"description\": \"The Order Mass Action Request message can be used to request the suspension or release of a group of orders that match the criteria specified within the request. This is equivalent to individual Order Cancel Replace Requests for each order with or without adding \\\"S\\\" to the ExecInst values. It can also be used for mass order cancellation.\"\n  },\n  \"BW\": {\n    \"msgType\": \"BW\",\n    \"addedEP\": \"-1\",\n    \"category\": {\n      \"FIXMLFileName\": \"application\",\n      \"section\": \"Infrastructure\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"Application\"\n    },\n    \"added\": \"FIX.5.0\",\n    \"name\": \"ApplicationMessageRequest\",\n    \"id\": \"108\",\n    \"abbrName\": \"ApplMsgReq\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.5.0\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1346\",\n        \"added\": \"FIX.5.0\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"addedEP\": \"63\",\n          \"added\": \"FIX.5.0\",\n          \"name\": \"ApplReqID\",\n          \"id\": \"1346\",\n          \"abbrName\": \"ApplReqID\",\n          \"description\": \"Unique identifier for request\"\n        }\n      },\n      {\n        \"id\": \"1347\",\n        \"added\": \"FIX.5.0\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"ApplReqTypeCodeSet\",\n          \"addedEP\": \"63\",\n          \"added\": \"FIX.5.0\",\n          \"name\": \"ApplReqType\",\n          \"id\": \"1347\",\n          \"abbrName\": \"ApplReqTyp\",\n          \"description\": \"Type of Application Message Request being made.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.5.0\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"Infrastructure\",\n      \"FIXMLFileName\": \"infrastructure\",\n      \"displayOrder\": \"4\",\n      \"description\": \"Infrastructure messages for application sequencing, business reject, network and user management\"\n    },\n    \"description\": \"This message is used to request a retransmission of a set of one or more messages generated by the application specified in RefApplID (1355).\"\n  },\n  \"BX\": {\n    \"msgType\": \"BX\",\n    \"addedEP\": \"-1\",\n    \"category\": {\n      \"FIXMLFileName\": \"application\",\n      \"section\": \"Infrastructure\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"Application\"\n    },\n    \"added\": \"FIX.5.0\",\n    \"name\": \"ApplicationMessageRequestAck\",\n    \"id\": \"109\",\n    \"abbrName\": \"ApplMsgReqAck\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.5.0\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1353\",\n        \"added\": \"FIX.5.0\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"addedEP\": \"63\",\n          \"added\": \"FIX.5.0\",\n          \"name\": \"ApplResponseID\",\n          \"id\": \"1353\",\n          \"abbrName\": \"ApplRespID\",\n          \"description\": \"Identifier for the Applicaton Message Request Ack\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.5.0\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"Infrastructure\",\n      \"FIXMLFileName\": \"infrastructure\",\n      \"displayOrder\": \"4\",\n      \"description\": \"Infrastructure messages for application sequencing, business reject, network and user management\"\n    },\n    \"description\": \"This message is used to acknowledge an Application Message Request providing a status on the request (i.e. whether successful or not). This message does not provide the actual content of the messages to be resent.\"\n  },\n  \"BY\": {\n    \"msgType\": \"BY\",\n    \"addedEP\": \"-1\",\n    \"category\": {\n      \"FIXMLFileName\": \"application\",\n      \"section\": \"Infrastructure\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"Application\"\n    },\n    \"added\": \"FIX.5.0\",\n    \"name\": \"ApplicationMessageReport\",\n    \"id\": \"110\",\n    \"abbrName\": \"ApplMsgRpt\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.5.0\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1356\",\n        \"added\": \"FIX.5.0\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"addedEP\": \"63\",\n          \"added\": \"FIX.5.0\",\n          \"name\": \"ApplReportID\",\n          \"id\": \"1356\",\n          \"abbrName\": \"ApplRptID\",\n          \"description\": \"Identifier for the Application Sequence Reset\"\n        }\n      },\n      {\n        \"id\": \"1426\",\n        \"added\": \"FIX.5.0\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"ApplReportTypeCodeSet\",\n          \"abbrName\": \"ApplRptTyp\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"ApplReportType\",\n          \"id\": \"1426\",\n          \"description\": \"Type of report\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.5.0\",\n        \"addedEP\": \"-1\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"Infrastructure\",\n      \"FIXMLFileName\": \"infrastructure\",\n      \"displayOrder\": \"4\",\n      \"description\": \"Infrastructure messages for application sequencing, business reject, network and user management\"\n    },\n    \"description\": \"This message is used for three difference purposes: to reset the ApplSeqNum (1181) of a specified ApplID (1180). to indicate that the last message has been sent for a particular ApplID, or as a keep-alive mechanism for ApplIDs with infrequent message traffic.\"\n  },\n  \"CC\": {\n    \"msgType\": \"CC\",\n    \"addedEP\": \"93\",\n    \"category\": {\n      \"FIXMLFileName\": \"marketdata\",\n      \"section\": \"PreTrade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"MarketData\"\n    },\n    \"added\": \"FIX.5.0SP1\",\n    \"name\": \"StreamAssignmentRequest\",\n    \"id\": \"114\",\n    \"abbrName\": \"StrmAsgnReq\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.5.0SP1\",\n        \"addedEP\": \"93\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1497\",\n        \"added\": \"FIX.5.0SP1\",\n        \"addedEP\": \"93\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"addedEP\": \"93\",\n          \"added\": \"FIX.5.0SP1\",\n          \"name\": \"StreamAsgnReqID\",\n          \"id\": \"1497\",\n          \"abbrName\": \"ReqID\",\n          \"description\": \"Unique identifier for the stream assignment request provided by the requester.\"\n        }\n      },\n      {\n        \"id\": \"1498\",\n        \"added\": \"FIX.5.0SP1\",\n        \"addedEP\": \"93\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"StreamAsgnReqTypeCodeSet\",\n          \"addedEP\": \"93\",\n          \"added\": \"FIX.5.0SP1\",\n          \"name\": \"StreamAsgnReqType\",\n          \"id\": \"1498\",\n          \"abbrName\": \"AsgnReqTyp\",\n          \"description\": \"Type of stream assignment request.\"\n        }\n      },\n      {\n        \"id\": \"2148\",\n        \"added\": \"FIX.5.0SP1\",\n        \"addedEP\": \"93\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"group\",\n          \"addedEP\": \"93\",\n          \"category\": \"MarketData\",\n          \"added\": \"FIX.5.0SP1\",\n          \"name\": \"StrmAsgnReqGrp\",\n          \"id\": \"2148\",\n          \"abbrName\": \"Reqs\",\n          \"numInGroup\": { \"id\": \"1499\", \"added\": \"FIX.5.0SP1\", \"addedEP\": \"93\" },\n          \"description\": \"\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.5.0SP1\",\n        \"addedEP\": \"93\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"In certain markets where market data aggregators fan out to end clients the pricing streams provided by the price makers, the price maker may assign the clients to certain pricing streams that the price maker publishes via the aggregator. An example of this use is in the FX markets where clients may be assigned to different pricing streams based on volume bands and currency pairs.\"\n  },\n  \"CD\": {\n    \"msgType\": \"CD\",\n    \"addedEP\": \"93\",\n    \"category\": {\n      \"FIXMLFileName\": \"marketdata\",\n      \"section\": \"PreTrade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"MarketData\"\n    },\n    \"added\": \"FIX.5.0SP1\",\n    \"name\": \"StreamAssignmentReport\",\n    \"id\": \"115\",\n    \"abbrName\": \"StrmAsgnRpt\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.5.0SP1\",\n        \"addedEP\": \"93\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1501\",\n        \"added\": \"FIX.5.0SP1\",\n        \"addedEP\": \"93\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"addedEP\": \"93\",\n          \"added\": \"FIX.5.0SP1\",\n          \"name\": \"StreamAsgnRptID\",\n          \"id\": \"1501\",\n          \"abbrName\": \"RptID\",\n          \"description\": \"Unique identifier of the stream assignment report provided by the respondent.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.5.0SP1\",\n        \"addedEP\": \"93\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"he StreamAssignmentReport message is in response to the StreamAssignmentRequest message. It provides information back to the aggregator as to which clients to assign to receive which price stream based on requested CCY pair. This message can be sent unsolicited to the Aggregator from the Price Maker.\"\n  },\n  \"CE\": {\n    \"msgType\": \"CE\",\n    \"addedEP\": \"93\",\n    \"category\": {\n      \"FIXMLFileName\": \"marketdata\",\n      \"section\": \"PreTrade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"MarketData\"\n    },\n    \"added\": \"FIX.5.0SP1\",\n    \"name\": \"StreamAssignmentReportACK\",\n    \"id\": \"116\",\n    \"abbrName\": \"StrmAsgnRptACK\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.5.0SP1\",\n        \"addedEP\": \"93\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1501\",\n        \"added\": \"FIX.5.0SP1\",\n        \"addedEP\": \"93\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"addedEP\": \"93\",\n          \"added\": \"FIX.5.0SP1\",\n          \"name\": \"StreamAsgnRptID\",\n          \"id\": \"1501\",\n          \"abbrName\": \"RptID\",\n          \"description\": \"Unique identifier of the stream assignment report provided by the respondent.\"\n        }\n      },\n      {\n        \"id\": \"1503\",\n        \"added\": \"FIX.5.0SP1\",\n        \"addedEP\": \"93\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"StreamAsgnAckTypeCodeSet\",\n          \"addedEP\": \"93\",\n          \"added\": \"FIX.5.0SP1\",\n          \"name\": \"StreamAsgnAckType\",\n          \"id\": \"1503\",\n          \"abbrName\": \"ActTyp\",\n          \"description\": \"Type of acknowledgement.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.5.0SP1\",\n        \"addedEP\": \"93\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"This message is used to respond to the Stream Assignment Report, to either accept or reject an unsolicited assingment.\"\n  },\n  \"CH\": {\n    \"msgType\": \"CH\",\n    \"addedEP\": \"102\",\n    \"category\": {\n      \"FIXMLFileName\": \"marginrequirement\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"addedEP\": \"102\",\n      \"section\": \"PostTrade\",\n      \"added\": \"FIX.5.0SP2\",\n      \"name\": \"MarginRequirementManagement\"\n    },\n    \"added\": \"FIX.5.0SP2\",\n    \"name\": \"MarginRequirementInquiry\",\n    \"id\": \"119\",\n    \"abbrName\": \"MgnReqmtInq\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"102\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1635\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"102\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"addedEP\": \"102\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"MarginReqmtInqID\",\n          \"id\": \"1635\",\n          \"abbrName\": \"ID\",\n          \"description\": \"Unique identifier of the MarginRequirementInquiry.\"\n        }\n      },\n      {\n        \"id\": \"2176\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"102\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"group\",\n          \"addedEP\": \"102\",\n          \"category\": \"MarginRequirementManagement\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"MarginReqmtInqQualGrp\",\n          \"id\": \"2176\",\n          \"abbrName\": \"MgnReqmtInqQual\",\n          \"numInGroup\": { \"id\": \"1636\", \"added\": \"FIX.5.0SP2\", \"addedEP\": \"102\" },\n          \"description\": \"\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"102\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"PostTrade\",\n      \"FIXMLFileName\": \"posttrade\",\n      \"displayOrder\": \"3\",\n      \"description\": \"Post trade messages including trade reporting, allocation, collateral, confirmation, position mantemenance, registration instruction, and settlement instructions\"\n    },\n    \"description\": \"The purpose of this message is to initiate a margin requirement inquiry for a margin account. The inquiry may be submitted at the detail level or the summary level. It can also be used to inquire margin excess/deficit or net position information. Margin excess/deficit will provide information about the surplus or shortfall compared to the previous trading day or a more recent margin calculation. An inquiry for net position information will trigger one or more PositionReport messages instead of one or more MarginRequirementReport messages.\\n\\nIf the inquiry is made at the detail level, an Instrument block must be provided with the desired level of detail. If the inquiry is made at the summary level, the Instrument block is not provided, implying a summary request is being made. For example, if the inquiring firm specifies the Security Type of \u201CFUT\u201D in the Instrument block, then a detail report will be generated containing the margin requirements for all futures positions for the inquiring account. Similarly, if the inquiry is made at the summary level, the report will contain the total margin requirement aggregated to the margin account level.\"\n  },\n  \"CI\": {\n    \"msgType\": \"CI\",\n    \"addedEP\": \"102\",\n    \"category\": {\n      \"FIXMLFileName\": \"marginrequirement\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"addedEP\": \"102\",\n      \"section\": \"PostTrade\",\n      \"added\": \"FIX.5.0SP2\",\n      \"name\": \"MarginRequirementManagement\"\n    },\n    \"added\": \"FIX.5.0SP2\",\n    \"name\": \"MarginRequirementInquiryAck\",\n    \"id\": \"120\",\n    \"abbrName\": \"MgnReqmtInqAck\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"102\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1635\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"102\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"addedEP\": \"102\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"MarginReqmtInqID\",\n          \"id\": \"1635\",\n          \"abbrName\": \"ID\",\n          \"description\": \"Unique identifier of the MarginRequirementInquiry.\"\n        }\n      },\n      {\n        \"id\": \"1640\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"102\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"CollInquiryStatusCodeSet\",\n          \"addedEP\": \"102\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"MarginReqmtInqStatus\",\n          \"id\": \"1640\",\n          \"abbrName\": \"Stat\",\n          \"description\": \"Status of MarginRequirementInquiry.\"\n        }\n      },\n      {\n        \"id\": \"2176\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"102\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"group\",\n          \"addedEP\": \"102\",\n          \"category\": \"MarginRequirementManagement\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"MarginReqmtInqQualGrp\",\n          \"id\": \"2176\",\n          \"abbrName\": \"MgnReqmtInqQual\",\n          \"numInGroup\": { \"id\": \"1636\", \"added\": \"FIX.5.0SP2\", \"addedEP\": \"102\" },\n          \"description\": \"\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"102\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"PostTrade\",\n      \"FIXMLFileName\": \"posttrade\",\n      \"displayOrder\": \"3\",\n      \"description\": \"Post trade messages including trade reporting, allocation, collateral, confirmation, position mantemenance, registration instruction, and settlement instructions\"\n    },\n    \"description\": \"Used to respond to a Margin Requirement Inquiry.\"\n  },\n  \"CJ\": {\n    \"msgType\": \"CJ\",\n    \"addedEP\": \"102\",\n    \"category\": {\n      \"FIXMLFileName\": \"marginrequirement\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"addedEP\": \"102\",\n      \"section\": \"PostTrade\",\n      \"added\": \"FIX.5.0SP2\",\n      \"name\": \"MarginRequirementManagement\"\n    },\n    \"added\": \"FIX.5.0SP2\",\n    \"name\": \"MarginRequirementReport\",\n    \"id\": \"121\",\n    \"abbrName\": \"MgnReqmtRpt\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"102\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1638\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"102\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"MarginReqmtRptTypeCodeSet\",\n          \"addedEP\": \"102\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"MarginReqmtRptType\",\n          \"id\": \"1638\",\n          \"abbrName\": \"RptTyp\",\n          \"description\": \"Type of MarginRequirementReport.\"\n        }\n      },\n      {\n        \"id\": \"1642\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"102\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"addedEP\": \"102\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"MarginReqmtRptID\",\n          \"id\": \"1642\",\n          \"abbrName\": \"RptID\",\n          \"description\": \"Identifier for the MarginRequirementReport message.\"\n        }\n      },\n      {\n        \"id\": \"2177\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"102\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"group\",\n          \"addedEP\": \"102\",\n          \"category\": \"Common\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"MarginAmount\",\n          \"id\": \"2177\",\n          \"abbrName\": \"MgnAmt\",\n          \"numInGroup\": { \"id\": \"1643\", \"added\": \"FIX.5.0SP2\", \"addedEP\": \"102\" },\n          \"description\": \"\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"102\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"PostTrade\",\n      \"FIXMLFileName\": \"posttrade\",\n      \"displayOrder\": \"3\",\n      \"description\": \"Post trade messages including trade reporting, allocation, collateral, confirmation, position mantemenance, registration instruction, and settlement instructions\"\n    },\n    \"description\": \"The Margin Requirement Report returns information about margin requirement either as on overview across all margin accounts or on a detailed level due to the inquiry making use of the optional Instrument component block. Application sequencing can be used to re-request a range of reports.\"\n  },\n  \"CF\": {\n    \"msgType\": \"CF\",\n    \"addedEP\": \"105\",\n    \"category\": {\n      \"FIXMLFileName\": \"partiesreference\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"addedEP\": \"105\",\n      \"section\": \"PreTrade\",\n      \"added\": \"FIX.5.0SP2\",\n      \"name\": \"PartiesReferenceData\"\n    },\n    \"added\": \"FIX.5.0SP2\",\n    \"name\": \"PartyDetailsListRequest\",\n    \"id\": \"117\",\n    \"abbrName\": \"PtyDetlListReq\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"105\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1505\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"105\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"addedEP\": \"105\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"PartyDetailsListRequestID\",\n          \"id\": \"1505\",\n          \"abbrName\": \"ReqID\",\n          \"description\": \"Unique identifier for PartyDetailsListRequest.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"105\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"The PartyDetailsListRequest is used to request party detail information.\"\n  },\n  \"CG\": {\n    \"updated\": \"FIX.5.0SP2\",\n    \"msgType\": \"CG\",\n    \"addedEP\": \"105\",\n    \"updatedEP\": \"146\",\n    \"category\": {\n      \"FIXMLFileName\": \"partiesreference\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"addedEP\": \"105\",\n      \"section\": \"PreTrade\",\n      \"added\": \"FIX.5.0SP2\",\n      \"name\": \"PartiesReferenceData\"\n    },\n    \"added\": \"FIX.5.0SP2\",\n    \"name\": \"PartyDetailsListReport\",\n    \"id\": \"118\",\n    \"abbrName\": \"PtyDetlListRpt\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"105\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1510\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"105\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"addedEP\": \"105\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"PartyDetailsListReportID\",\n          \"id\": \"1510\",\n          \"abbrName\": \"RptID\",\n          \"description\": \"Identifier for the PartyDetailsListReport and the PartyDetailsListUpdateReport.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"105\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"The PartyDetailsListReport message is used to disseminate party details between counterparties. PartyDetailsListReport messages may be sent in response to a PartyDetailsListRequest message or sent unsolicited.\"\n  },\n  \"CK\": {\n    \"updated\": \"FIX.5.0SP2\",\n    \"msgType\": \"CK\",\n    \"addedEP\": \"105\",\n    \"updatedEP\": \"195\",\n    \"category\": {\n      \"FIXMLFileName\": \"partiesreference\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"addedEP\": \"105\",\n      \"section\": \"PreTrade\",\n      \"added\": \"FIX.5.0SP2\",\n      \"name\": \"PartiesReferenceData\"\n    },\n    \"added\": \"FIX.5.0SP2\",\n    \"name\": \"PartyDetailsListUpdateReport\",\n    \"id\": \"122\",\n    \"abbrName\": \"PtyDetlListUpd\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"105\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1510\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"105\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"addedEP\": \"105\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"PartyDetailsListReportID\",\n          \"id\": \"1510\",\n          \"abbrName\": \"RptID\",\n          \"description\": \"Identifier for the PartyDetailsListReport and the PartyDetailsListUpdateReport.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"105\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"The PartyDetailsListUpdateReport(35=CK) is used to disseminate updates to party detail information.\"\n  },\n  \"CL\": {\n    \"msgType\": \"CL\",\n    \"addedEP\": \"105\",\n    \"category\": {\n      \"FIXMLFileName\": \"partiesreference\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"addedEP\": \"105\",\n      \"section\": \"PreTrade\",\n      \"added\": \"FIX.5.0SP2\",\n      \"name\": \"PartiesReferenceData\"\n    },\n    \"added\": \"FIX.5.0SP2\",\n    \"name\": \"PartyRiskLimitsRequest\",\n    \"id\": \"123\",\n    \"abbrName\": \"PtyRiskLmtReq\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"105\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1666\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"105\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"addedEP\": \"105\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"RiskLimitRequestID\",\n          \"id\": \"1666\",\n          \"abbrName\": \"ReqID\",\n          \"description\": \"Unique identifier for the PartyRiskLimitsRequest\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"105\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"The PartyRiskLimitsRequest message is used to request for risk information for specific parties, specific party roles or specific instruments.\"\n  },\n  \"CM\": {\n    \"msgType\": \"CM\",\n    \"addedEP\": \"105\",\n    \"category\": {\n      \"FIXMLFileName\": \"partiesreference\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"addedEP\": \"105\",\n      \"section\": \"PreTrade\",\n      \"added\": \"FIX.5.0SP2\",\n      \"name\": \"PartiesReferenceData\"\n    },\n    \"added\": \"FIX.5.0SP2\",\n    \"name\": \"PartyRiskLimitsReport\",\n    \"id\": \"124\",\n    \"abbrName\": \"PtyRiskLmtRpt\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"105\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1667\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"105\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"addedEP\": \"105\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"RiskLimitReportID\",\n          \"id\": \"1667\",\n          \"abbrName\": \"RptID\",\n          \"description\": \"Identifier for the PartyRiskLimitsReport\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"105\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"The PartyRiskLimitsReport message is used to communicate party risk limits. The message can either be sent as a response to the PartyRiskLimitsRequest message or can be published unsolicited.\"\n  },\n  \"CN\": {\n    \"msgType\": \"CN\",\n    \"addedEP\": \"106\",\n    \"category\": {\n      \"FIXMLFileName\": \"securitiesreference\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"addedEP\": \"97\",\n      \"section\": \"PreTrade\",\n      \"added\": \"FIX.5.0SP1\",\n      \"name\": \"SecuritiesReferenceData\"\n    },\n    \"added\": \"FIX.5.0SP2\",\n    \"name\": \"SecurityMassStatusRequest\",\n    \"id\": \"125\",\n    \"abbrName\": \"SecMassStatReq\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"106\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"263\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"106\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"SubscriptionRequestTypeCodeSet\",\n          \"abbrName\": \"SubReqTyp\",\n          \"added\": \"FIX.4.2\",\n          \"name\": \"SubscriptionRequestType\",\n          \"id\": \"263\",\n          \"description\": \"Subscription Request Type\"\n        }\n      },\n      {\n        \"id\": \"324\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"106\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"updated\": \"FIX.5.0SP2\",\n          \"updatedEP\": \"106\",\n          \"added\": \"FIX.4.2\",\n          \"name\": \"SecurityStatusReqID\",\n          \"id\": \"324\",\n          \"abbrName\": \"StatReqID\",\n          \"description\": \"Unique ID of a Security Status Request or a Security Mass Status Request message.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"106\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"\"\n  },\n  \"CO\": {\n    \"msgType\": \"CO\",\n    \"addedEP\": \"106\",\n    \"category\": {\n      \"FIXMLFileName\": \"securitiesreference\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"addedEP\": \"97\",\n      \"section\": \"PreTrade\",\n      \"added\": \"FIX.5.0SP1\",\n      \"name\": \"SecuritiesReferenceData\"\n    },\n    \"added\": \"FIX.5.0SP2\",\n    \"name\": \"SecurityMassStatus\",\n    \"id\": \"126\",\n    \"abbrName\": \"SecMassStat\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"106\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"106\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"\"\n  },\n  \"CQ\": {\n    \"updated\": \"FIX.5.0SP2\",\n    \"msgType\": \"CQ\",\n    \"addedEP\": \"117\",\n    \"updatedEP\": \"162\",\n    \"category\": {\n      \"FIXMLFileName\": \"accountreporting\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"addedEP\": \"117\",\n      \"section\": \"PostTrade\",\n      \"added\": \"FIX.5.0SP2\",\n      \"name\": \"AccountReporting\",\n      \"description\": \"Account Reporting\"\n    },\n    \"added\": \"FIX.5.0SP2\",\n    \"name\": \"AccountSummaryReport\",\n    \"id\": \"127\",\n    \"abbrName\": \"AcctSumRpt\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"117\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"715\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"117\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"LocalMktDate\",\n          \"updated\": \"FIX.5.0SP2\",\n          \"updatedEP\": \"150\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"ClearingBusinessDate\",\n          \"id\": \"715\",\n          \"abbrName\": \"BizDt\",\n          \"description\": \"The business date for which the trade is expected to be cleared.\"\n        }\n      },\n      {\n        \"id\": \"1012\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"117\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"group\",\n          \"category\": \"Common\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"Parties\",\n          \"id\": \"1012\",\n          \"abbrName\": \"Pty\",\n          \"numInGroup\": { \"id\": \"453\", \"added\": \"FIX.4.3\" },\n          \"description\": \"The Parties component block is used to identify and convey information on the entities both central and peripheral to the financial transaction represented by the FIX message containing the Parties Block. The Parties block allows many different types of entites to be expressed through use of the PartyRole field and identifies the source of the PartyID through the the PartyIDSource.\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1699\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"117\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"addedEP\": \"117\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"AccountSummaryReportID\",\n          \"id\": \"1699\",\n          \"abbrName\": \"RptID\",\n          \"description\": \"Unique identifier for the AccountSummaryReport(35=CQ).\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"PostTrade\",\n      \"FIXMLFileName\": \"posttrade\",\n      \"displayOrder\": \"3\",\n      \"description\": \"Post trade messages including trade reporting, allocation, collateral, confirmation, position mantemenance, registration instruction, and settlement instructions\"\n    },\n    \"description\": \"The AccountSummaryReport is provided by the clearinghouse to its clearing members on a daily basis. It contains margin, settlement, collateral and pay/collect data for each clearing member level account type. Clearing member account types will be described through use of the Parties component and PtysSubGrp sub-component.\\n\\nIn certain usages, the clearing members can send the AccountSummaryReport message to the clearinghouse as needed. For example, clearing members can send this message to the clearinghouse to identify the value of collateral for each customer (to satisfy CFTC Legally Segregated Operationally Commingled (LSOC) regulatory reporting obligations).\\n\\nClearing organizations can also send the AccountSummaryReport message to regulators to meet regulatory reporting obligations. For example, clearing organizations can use this message to submit daily reports for each clearing member (\u201CCM\u201D) by house origin and by each customer origin for all futures, options, and swaps positions, and all securities positions held in a segregated account or pursuant to a cross margining agreement, to a regulator (e.g. to the CFTC to meet Part 39, Section 39.19 reporting obligations).\\n\\nThe Parties component and PtysSubGrp sub-component are used to describe the clearing member number and account type for that report. Net settlement amount or amounts are provided using the SettlementAmountGrp component. Margin requirement amounts are provided using the MarginAmountData component.\\n\\nThe current collateral values for each valid collateral type is provided using the CollateralAmountGrp component. Likewise pay/collect information is provided using the PayCollectGrp component. Margin and pay/collect amounts can optionally be tied to markets and market segments for clearing houses that support multiple markets and market segments.\"\n  },\n  \"CR\": {\n    \"updated\": \"FIX.5.0SP2\",\n    \"msgType\": \"CR\",\n    \"addedEP\": \"128\",\n    \"updatedEP\": \"195\",\n    \"category\": {\n      \"FIXMLFileName\": \"partiesreference\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"addedEP\": \"105\",\n      \"section\": \"PreTrade\",\n      \"added\": \"FIX.5.0SP2\",\n      \"name\": \"PartiesReferenceData\"\n    },\n    \"added\": \"FIX.5.0SP2\",\n    \"name\": \"PartyRiskLimitsUpdateReport\",\n    \"id\": \"128\",\n    \"abbrName\": \"PtyRiskLmtUpd\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"128\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1667\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"128\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"addedEP\": \"105\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"RiskLimitReportID\",\n          \"id\": \"1667\",\n          \"abbrName\": \"RptID\",\n          \"description\": \"Identifier for the PartyRiskLimitsReport\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"128\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"The PartyRiskLimitsUpdateReport(35=CR) is used to convey incremental changes to risk limits. It is similar to the regular report but uses the PartyRiskLimitsUpdateGrp component instead of the PartyRiskLimitsGrp component to include an update action.\"\n  },\n  \"CS\": {\n    \"msgType\": \"CS\",\n    \"addedEP\": \"128\",\n    \"category\": {\n      \"FIXMLFileName\": \"partiesreference\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"addedEP\": \"105\",\n      \"section\": \"PreTrade\",\n      \"added\": \"FIX.5.0SP2\",\n      \"name\": \"PartiesReferenceData\"\n    },\n    \"added\": \"FIX.5.0SP2\",\n    \"name\": \"PartyRiskLimitsDefinitionRequest\",\n    \"id\": \"129\",\n    \"abbrName\": \"PtyRiskLmtDefReq\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"128\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1666\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"128\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"addedEP\": \"105\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"RiskLimitRequestID\",\n          \"id\": \"1666\",\n          \"abbrName\": \"ReqID\",\n          \"description\": \"Unique identifier for the PartyRiskLimitsRequest\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"128\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"PartyRiskLimitDefinitionRequest is used for defining new risk limits.\"\n  },\n  \"CT\": {\n    \"msgType\": \"CT\",\n    \"addedEP\": \"128\",\n    \"category\": {\n      \"FIXMLFileName\": \"partiesreference\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"addedEP\": \"105\",\n      \"section\": \"PreTrade\",\n      \"added\": \"FIX.5.0SP2\",\n      \"name\": \"PartiesReferenceData\"\n    },\n    \"added\": \"FIX.5.0SP2\",\n    \"name\": \"PartyRiskLimitsDefinitionRequestAck\",\n    \"id\": \"130\",\n    \"abbrName\": \"PtyRiskLmtDefReqAck\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"128\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1666\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"128\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"addedEP\": \"105\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"RiskLimitRequestID\",\n          \"id\": \"1666\",\n          \"abbrName\": \"ReqID\",\n          \"description\": \"Unique identifier for the PartyRiskLimitsRequest\"\n        }\n      },\n      {\n        \"id\": \"1762\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"128\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"PartyDetailRequestStatusCodeSet\",\n          \"updated\": \"FIX.5.0SP2\",\n          \"addedEP\": \"128\",\n          \"updatedEP\": \"146\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"RiskLimitRequestStatus\",\n          \"id\": \"1762\",\n          \"abbrName\": \"ReqStat\",\n          \"description\": \"Status of risk limit definition request.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"128\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"PartyRiskLimitDefinitionRequestAck is used for accepting (with or without changes) or rejecting the definition of risk limits.\"\n  },\n  \"CU\": {\n    \"msgType\": \"CU\",\n    \"addedEP\": \"129\",\n    \"category\": {\n      \"FIXMLFileName\": \"partiesreference\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"addedEP\": \"105\",\n      \"section\": \"PreTrade\",\n      \"added\": \"FIX.5.0SP2\",\n      \"name\": \"PartiesReferenceData\"\n    },\n    \"added\": \"FIX.5.0SP2\",\n    \"name\": \"PartyEntitlementsRequest\",\n    \"id\": \"131\",\n    \"abbrName\": \"PtyEntlmntReq\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"129\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"129\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"The PartyEntitlementsRequest message is used to request for entitlement information for one or more party(-ies), specific party role(s), or specific instruments(s).\"\n  },\n  \"CV\": {\n    \"msgType\": \"CV\",\n    \"addedEP\": \"129\",\n    \"category\": {\n      \"FIXMLFileName\": \"partiesreference\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"addedEP\": \"105\",\n      \"section\": \"PreTrade\",\n      \"added\": \"FIX.5.0SP2\",\n      \"name\": \"PartiesReferenceData\"\n    },\n    \"added\": \"FIX.5.0SP2\",\n    \"name\": \"PartyEntitlementsReport\",\n    \"id\": \"132\",\n    \"abbrName\": \"PtyEntlmntRpt\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"129\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1771\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"129\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"addedEP\": \"129\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"EntitlementReportID\",\n          \"id\": \"1771\",\n          \"abbrName\": \"RptID\",\n          \"description\": \"Identifier for the PartyEntitlementsReport(35=CV).\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"129\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"The PartyEntitlementsReport is used to report entitlements for one or more parties, party role(s), or specific instrument(s).\"\n  },\n  \"CW\": {\n    \"msgType\": \"CW\",\n    \"addedEP\": \"143\",\n    \"category\": {\n      \"FIXMLFileName\": \"quotation\",\n      \"section\": \"PreTrade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"QuotationNegotiation\"\n    },\n    \"added\": \"FIX.5.0SP2\",\n    \"name\": \"QuoteAck\",\n    \"id\": \"133\",\n    \"abbrName\": \"QuotAck\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"143\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1865\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"143\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"QuoteAckStatusCodeSet\",\n          \"addedEP\": \"143\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"QuoteAckStatus\",\n          \"id\": \"1865\",\n          \"abbrName\": \"QtAckStat\",\n          \"description\": \"Acknowledgement status of a Quote(35=S) or QuoteCancel(35=Z) message submission.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"143\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"The QuoteAck(35=CW) message is used to acknowledge a Quote(35=S) submittal or request to cancel an individual quote using the QuoteCancel(35=Z) message during a Quote/Negotiation dialog.\\n\\nThe QuoteAck(35=CW) is available for optional use to acknowledge the request to cancel an individual quote (QuoteCancel(35=Z) with QuoteCancelType(298) =5(Cancel specified sinqle quote)).\"\n  },\n  \"CX\": {\n    \"msgType\": \"CX\",\n    \"addedEP\": \"146\",\n    \"category\": {\n      \"FIXMLFileName\": \"partiesreference\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"addedEP\": \"105\",\n      \"section\": \"PreTrade\",\n      \"added\": \"FIX.5.0SP2\",\n      \"name\": \"PartiesReferenceData\"\n    },\n    \"added\": \"FIX.5.0SP2\",\n    \"name\": \"PartyDetailsDefinitionRequest\",\n    \"id\": \"134\",\n    \"abbrName\": \"PtyDetlDefReq\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"146\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1505\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"146\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"addedEP\": \"105\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"PartyDetailsListRequestID\",\n          \"id\": \"1505\",\n          \"abbrName\": \"ReqID\",\n          \"description\": \"Unique identifier for PartyDetailsListRequest.\"\n        }\n      },\n      {\n        \"id\": \"2182\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"146\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"group\",\n          \"addedEP\": \"105\",\n          \"category\": \"PartiesReferenceData\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"PartyDetailsUpdateGrp\",\n          \"id\": \"2182\",\n          \"abbrName\": \"PtyDetlUpd\",\n          \"numInGroup\": { \"id\": \"1676\", \"added\": \"FIX.5.0SP2\", \"addedEP\": \"105\" },\n          \"description\": \"Party details component that includes an update action.\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"146\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"The PartyDetailsDefinitionRequest(35=CX) is used for defining new parties and modifying or deleting existing parties information, including the relationships between parties.\\n\\nThe recipient of the message responds with a PartyDetailsDefinitionRequestAck(35=CY) to indicate whether the request was accepted or rejected.\"\n  },\n  \"CY\": {\n    \"msgType\": \"CY\",\n    \"addedEP\": \"146\",\n    \"category\": {\n      \"FIXMLFileName\": \"partiesreference\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"addedEP\": \"105\",\n      \"section\": \"PreTrade\",\n      \"added\": \"FIX.5.0SP2\",\n      \"name\": \"PartiesReferenceData\"\n    },\n    \"added\": \"FIX.5.0SP2\",\n    \"name\": \"PartyDetailsDefinitionRequestAck\",\n    \"id\": \"135\",\n    \"abbrName\": \"PtyDetlDefReqAck\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"146\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1505\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"146\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"addedEP\": \"105\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"PartyDetailsListRequestID\",\n          \"id\": \"1505\",\n          \"abbrName\": \"ReqID\",\n          \"description\": \"Unique identifier for PartyDetailsListRequest.\"\n        }\n      },\n      {\n        \"id\": \"1878\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"146\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"PartyDetailRequestStatusCodeSet\",\n          \"addedEP\": \"146\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"PartyDetailRequestStatus\",\n          \"id\": \"1878\",\n          \"abbrName\": \"ReqStat\",\n          \"description\": \"Status of party details definition request.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"146\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"The PartyDetailsDefinitionRequestAck(35=CY) is used as a response to the PartyDetailsDefinitionRequest(35=CX) message. The request can be accepted (with or without changes) or rejected.\"\n  },\n  \"CZ\": {\n    \"updated\": \"FIX.5.0SP2\",\n    \"msgType\": \"CZ\",\n    \"addedEP\": \"146\",\n    \"updatedEP\": \"195\",\n    \"category\": {\n      \"FIXMLFileName\": \"partiesreference\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"addedEP\": \"105\",\n      \"section\": \"PreTrade\",\n      \"added\": \"FIX.5.0SP2\",\n      \"name\": \"PartiesReferenceData\"\n    },\n    \"added\": \"FIX.5.0SP2\",\n    \"name\": \"PartyEntitlementsUpdateReport\",\n    \"id\": \"136\",\n    \"abbrName\": \"PtyEntlmntUpd\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"146\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1771\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"146\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"addedEP\": \"129\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"EntitlementReportID\",\n          \"id\": \"1771\",\n          \"abbrName\": \"RptID\",\n          \"description\": \"Identifier for the PartyEntitlementsReport(35=CV).\"\n        }\n      },\n      {\n        \"id\": \"2215\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"146\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"group\",\n          \"addedEP\": \"146\",\n          \"category\": \"PartiesReferenceData\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"PartyEntitlementUpdateGrp\",\n          \"id\": \"2215\",\n          \"abbrName\": \"PtyEntlmntUpd\",\n          \"numInGroup\": { \"id\": \"1772\", \"added\": \"FIX.5.0SP2\", \"addedEP\": \"146\" },\n          \"description\": \"The PartyEntitlementUpdateGrp component is used to supply incremental entitlement definitions changes for the party(-ies) specified in the PartyDetailGrp component. The update action type is specified using ListUpdateAction(1324).\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"146\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"The PartyEntitlementsUpdateReport(35=CZ) is used to convey incremental changes to party entitlements. It is similar to the PartyEntitlementsReport(35=CV). This message uses the PartyEntitlementsUpdateGrp component which includes the ability to specify an update action using ListUpdateAction(1324).\"\n  },\n  \"DA\": {\n    \"msgType\": \"DA\",\n    \"addedEP\": \"146\",\n    \"category\": {\n      \"FIXMLFileName\": \"partiesreference\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"addedEP\": \"105\",\n      \"section\": \"PreTrade\",\n      \"added\": \"FIX.5.0SP2\",\n      \"name\": \"PartiesReferenceData\"\n    },\n    \"added\": \"FIX.5.0SP2\",\n    \"name\": \"PartyEntitlementsDefinitionRequest\",\n    \"id\": \"137\",\n    \"abbrName\": \"PtyEntlmntDefReq\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"146\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1770\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"146\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"addedEP\": \"129\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"EntitlementRequestID\",\n          \"id\": \"1770\",\n          \"abbrName\": \"ReqID\",\n          \"description\": \"Unique identifier for PartyEntitlementsRequest(35=CU).\"\n        }\n      },\n      {\n        \"id\": \"2215\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"146\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"group\",\n          \"addedEP\": \"146\",\n          \"category\": \"PartiesReferenceData\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"PartyEntitlementUpdateGrp\",\n          \"id\": \"2215\",\n          \"abbrName\": \"PtyEntlmntUpd\",\n          \"numInGroup\": { \"id\": \"1772\", \"added\": \"FIX.5.0SP2\", \"addedEP\": \"146\" },\n          \"description\": \"The PartyEntitlementUpdateGrp component is used to supply incremental entitlement definitions changes for the party(-ies) specified in the PartyDetailGrp component. The update action type is specified using ListUpdateAction(1324).\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"146\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"The PartyEntitlementsDefinitionRequest(35=DA) is used for defining new entitlements, and modifying or deleting existing entitlements for the specified party(-ies).\\n\\nThe PartyEntitlementsDefinitionRequestAck(35=DB) is the response message, used to indicate whether the request was accepted or rejected.\"\n  },\n  \"DB\": {\n    \"msgType\": \"DB\",\n    \"addedEP\": \"146\",\n    \"category\": {\n      \"FIXMLFileName\": \"partiesreference\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"addedEP\": \"105\",\n      \"section\": \"PreTrade\",\n      \"added\": \"FIX.5.0SP2\",\n      \"name\": \"PartiesReferenceData\"\n    },\n    \"added\": \"FIX.5.0SP2\",\n    \"name\": \"PartyEntitlementsDefinitionRequestAck\",\n    \"id\": \"138\",\n    \"abbrName\": \"PtyEntlmntDefReqAck\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"146\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1770\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"146\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"addedEP\": \"129\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"EntitlementRequestID\",\n          \"id\": \"1770\",\n          \"abbrName\": \"ReqID\",\n          \"description\": \"Unique identifier for PartyEntitlementsRequest(35=CU).\"\n        }\n      },\n      {\n        \"id\": \"1882\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"146\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"PartyDetailRequestStatusCodeSet\",\n          \"addedEP\": \"146\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"EntitlementRequestStatus\",\n          \"id\": \"1882\",\n          \"abbrName\": \"ReqStat\",\n          \"description\": \"Status of party entitlements definition request.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"146\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"The PartyEntitlementsDefinitionRequestAck(35=DB) is used as a response to the PartyEntitlemensDefinitionRequest(35=DA) to accept (with or without changes) or reject the definition of party entitlements.\"\n  },\n  \"DC\": {\n    \"msgType\": \"DC\",\n    \"addedEP\": \"150\",\n    \"category\": {\n      \"FIXMLFileName\": \"tradecapture\",\n      \"section\": \"PostTrade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"TradeCapture\"\n    },\n    \"added\": \"FIX.5.0SP2\",\n    \"name\": \"TradeMatchReport\",\n    \"id\": \"139\",\n    \"abbrName\": \"TrdMtchRpt\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"150\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"880\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"150\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"279\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"TrdMatchID\",\n          \"id\": \"880\",\n          \"abbrName\": \"MtchID\",\n          \"description\": \"Identifier assigned by a matching system to a match event that results in multiple executions or trades.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"150\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"PostTrade\",\n      \"FIXMLFileName\": \"posttrade\",\n      \"displayOrder\": \"3\",\n      \"description\": \"Post trade messages including trade reporting, allocation, collateral, confirmation, position mantemenance, registration instruction, and settlement instructions\"\n    },\n    \"description\": \"The TradeMatchReport(35=DC) message is used by exchanges and ECN\u2019s to report matched trades to central counterparties (CCPs) as an atomic event. The message is used to express the one-to-one, one-to-many and many-to-many matches as well as implied matches in which more complex instruments can match with simpler instruments.\"\n  },\n  \"DD\": {\n    \"msgType\": \"DD\",\n    \"addedEP\": \"150\",\n    \"category\": {\n      \"FIXMLFileName\": \"tradecapture\",\n      \"section\": \"PostTrade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"TradeCapture\"\n    },\n    \"added\": \"FIX.5.0SP2\",\n    \"name\": \"TradeMatchReportAck\",\n    \"id\": \"140\",\n    \"abbrName\": \"TrdMtchRptAck\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"150\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"880\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"150\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"279\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"TrdMatchID\",\n          \"id\": \"880\",\n          \"abbrName\": \"MtchID\",\n          \"description\": \"Identifier assigned by a matching system to a match event that results in multiple executions or trades.\"\n        }\n      },\n      {\n        \"id\": \"1896\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"150\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"TradeMatchAckStatusCodeSet\",\n          \"addedEP\": \"150\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"TradeMatchAckStatus\",\n          \"id\": \"1896\",\n          \"abbrName\": \"MtchAckStat\",\n          \"description\": \"Used to indicate the status of the trade match report submission.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"150\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"PostTrade\",\n      \"FIXMLFileName\": \"posttrade\",\n      \"displayOrder\": \"3\",\n      \"description\": \"Post trade messages including trade reporting, allocation, collateral, confirmation, position mantemenance, registration instruction, and settlement instructions\"\n    },\n    \"description\": \"The TradeMatchReportAck(35=DD) is used to respond to theTradeMatchReport(35=DC) message. It may be used to report on the status of the request (e.g. accepting the request or rejecting the request).\"\n  },\n  \"DE\": {\n    \"msgType\": \"DE\",\n    \"addedEP\": \"171\",\n    \"category\": {\n      \"FIXMLFileName\": \"partiesreference\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"addedEP\": \"105\",\n      \"section\": \"PreTrade\",\n      \"added\": \"FIX.5.0SP2\",\n      \"name\": \"PartiesReferenceData\"\n    },\n    \"added\": \"FIX.5.0SP2\",\n    \"name\": \"PartyRiskLimitsReportAck\",\n    \"id\": \"141\",\n    \"abbrName\": \"PtyRiskLmtRptAck\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"171\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1667\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"171\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"addedEP\": \"105\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"RiskLimitReportID\",\n          \"id\": \"1667\",\n          \"abbrName\": \"RptID\",\n          \"description\": \"Identifier for the PartyRiskLimitsReport\"\n        }\n      },\n      {\n        \"id\": \"2316\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"171\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"RiskLimitReportStatusCodeSet\",\n          \"addedEP\": \"171\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"RiskLimitReportStatus\",\n          \"id\": \"2316\",\n          \"abbrName\": \"RptStat\",\n          \"description\": \"Status of risk limit report.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"171\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"PartyRiskLimitsReportAck is an optional message used as a response to the PartyRiskLimitReport(35=CM) or PartyRiskLimitUpdateReport(35=CR) messages to acknowledge or reject those messages.\"\n  },\n  \"DF\": {\n    \"msgType\": \"DF\",\n    \"addedEP\": \"171\",\n    \"category\": {\n      \"FIXMLFileName\": \"partiesaction\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"addedEP\": \"171\",\n      \"section\": \"PreTrade\",\n      \"added\": \"FIX.5.0SP2\",\n      \"name\": \"PartiesAction\",\n      \"description\": \"The PartiesAction category of messages is a set of messages that are used to take an action on party information as a result of risk management decisions made during the trading day.\"\n    },\n    \"added\": \"FIX.5.0SP2\",\n    \"name\": \"PartyRiskLimitCheckRequest\",\n    \"id\": \"142\",\n    \"abbrName\": \"PtyRiskLmtChkReq\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"171\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"2320\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"171\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"RiskLimitCheckTransTypeCodeSet\",\n          \"addedEP\": \"171\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"RiskLimitCheckTransType\",\n          \"id\": \"2320\",\n          \"abbrName\": \"TransTyp\",\n          \"description\": \"Specifies the transaction type of the risk limit check request.\"\n        }\n      },\n      {\n        \"id\": \"2321\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"171\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"RiskLimitCheckTypeCodeSet\",\n          \"addedEP\": \"171\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"RiskLimitCheckType\",\n          \"id\": \"2321\",\n          \"abbrName\": \"ChkTyp\",\n          \"description\": \"Specifies the type of limit check message.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"171\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"PartyRiskLimitCheckRequest is used to request for approval of credit or risk limit amount intended to be used by a party in a transaction from another party that holds the information.\"\n  },\n  \"DG\": {\n    \"msgType\": \"DG\",\n    \"addedEP\": \"171\",\n    \"category\": {\n      \"FIXMLFileName\": \"partiesaction\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"addedEP\": \"171\",\n      \"section\": \"PreTrade\",\n      \"added\": \"FIX.5.0SP2\",\n      \"name\": \"PartiesAction\",\n      \"description\": \"The PartiesAction category of messages is a set of messages that are used to take an action on party information as a result of risk management decisions made during the trading day.\"\n    },\n    \"added\": \"FIX.5.0SP2\",\n    \"name\": \"PartyRiskLimitCheckRequestAck\",\n    \"id\": \"143\",\n    \"abbrName\": \"PtyRiskLmtChkReqAck\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"171\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"2320\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"171\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"RiskLimitCheckTransTypeCodeSet\",\n          \"addedEP\": \"171\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"RiskLimitCheckTransType\",\n          \"id\": \"2320\",\n          \"abbrName\": \"TransTyp\",\n          \"description\": \"Specifies the transaction type of the risk limit check request.\"\n        }\n      },\n      {\n        \"id\": \"2321\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"171\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"RiskLimitCheckTypeCodeSet\",\n          \"addedEP\": \"171\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"RiskLimitCheckType\",\n          \"id\": \"2321\",\n          \"abbrName\": \"ChkTyp\",\n          \"description\": \"Specifies the type of limit check message.\"\n        }\n      },\n      {\n        \"id\": \"2325\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"171\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"RiskLimitCheckRequestStatusCodeSet\",\n          \"addedEP\": \"171\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"RiskLimitCheckRequestStatus\",\n          \"id\": \"2325\",\n          \"abbrName\": \"ReqStat\",\n          \"description\": \"Indicates the status of the risk limit check request.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"171\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"PartyRiskLimitCheckRequestAck is used to acknowledge a PartyRiskLimitCheckRequest(35=DF) message and to respond whether the limit check request was approved or not. When used to accept the PartyRiskLimitCheckRequest(35=DF) message the Respondent may also include the limit amount that was approved.\"\n  },\n  \"DH\": {\n    \"updated\": \"FIX.5.0SP2\",\n    \"msgType\": \"DH\",\n    \"addedEP\": \"171\",\n    \"updatedEP\": \"182\",\n    \"category\": {\n      \"FIXMLFileName\": \"partiesaction\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"addedEP\": \"171\",\n      \"section\": \"PreTrade\",\n      \"added\": \"FIX.5.0SP2\",\n      \"name\": \"PartiesAction\",\n      \"description\": \"The PartiesAction category of messages is a set of messages that are used to take an action on party information as a result of risk management decisions made during the trading day.\"\n    },\n    \"added\": \"FIX.5.0SP2\",\n    \"name\": \"PartyActionRequest\",\n    \"id\": \"144\",\n    \"abbrName\": \"PtyActReq\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"171\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"updated\": \"FIX.5.0SP2\",\n        \"addedEP\": \"171\",\n        \"updatedEP\": \"182\",\n        \"added\": \"FIX.5.0SP2\",\n        \"id\": \"1012\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"group\",\n          \"category\": \"Common\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"Parties\",\n          \"id\": \"1012\",\n          \"abbrName\": \"Pty\",\n          \"numInGroup\": { \"id\": \"453\", \"added\": \"FIX.4.3\" },\n          \"description\": \"The Parties component block is used to identify and convey information on the entities both central and peripheral to the financial transaction represented by the FIX message containing the Parties Block. The Parties block allows many different types of entites to be expressed through use of the PartyRole field and identifies the source of the PartyID through the the PartyIDSource.\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"2328\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"171\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"addedEP\": \"171\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"PartyActionRequestID\",\n          \"id\": \"2328\",\n          \"abbrName\": \"ActnReqID\",\n          \"description\": \"The unique identifier of the PartyActionRequest(35=DH) message.\"\n        }\n      },\n      {\n        \"id\": \"2329\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"171\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"PartyActionTypeCodeSet\",\n          \"addedEP\": \"171\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"PartyActionType\",\n          \"id\": \"2329\",\n          \"abbrName\": \"ActnTyp\",\n          \"description\": \"Specifies the type of action to take or was taken for a given party.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"171\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"The PartyActionRequest message is used suspend or halt the specified party from further trading activities at the Respondent. The Respondent must respond with a PartyActionReport(35=DI) message.\"\n  },\n  \"DI\": {\n    \"updated\": \"FIX.5.0SP2\",\n    \"msgType\": \"DI\",\n    \"addedEP\": \"171\",\n    \"updatedEP\": \"182\",\n    \"category\": {\n      \"FIXMLFileName\": \"partiesaction\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"addedEP\": \"171\",\n      \"section\": \"PreTrade\",\n      \"added\": \"FIX.5.0SP2\",\n      \"name\": \"PartiesAction\",\n      \"description\": \"The PartiesAction category of messages is a set of messages that are used to take an action on party information as a result of risk management decisions made during the trading day.\"\n    },\n    \"added\": \"FIX.5.0SP2\",\n    \"name\": \"PartyActionReport\",\n    \"id\": \"145\",\n    \"abbrName\": \"PtyActRpt\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"171\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"updated\": \"FIX.5.0SP2\",\n        \"addedEP\": \"171\",\n        \"updatedEP\": \"182\",\n        \"added\": \"FIX.5.0SP2\",\n        \"id\": \"1012\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"group\",\n          \"category\": \"Common\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"Parties\",\n          \"id\": \"1012\",\n          \"abbrName\": \"Pty\",\n          \"numInGroup\": { \"id\": \"453\", \"added\": \"FIX.4.3\" },\n          \"description\": \"The Parties component block is used to identify and convey information on the entities both central and peripheral to the financial transaction represented by the FIX message containing the Parties Block. The Parties block allows many different types of entites to be expressed through use of the PartyRole field and identifies the source of the PartyID through the the PartyIDSource.\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"2329\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"171\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"PartyActionTypeCodeSet\",\n          \"addedEP\": \"171\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"PartyActionType\",\n          \"id\": \"2329\",\n          \"abbrName\": \"ActnTyp\",\n          \"description\": \"Specifies the type of action to take or was taken for a given party.\"\n        }\n      },\n      {\n        \"id\": \"2331\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"171\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"addedEP\": \"171\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"PartyActionReportID\",\n          \"id\": \"2331\",\n          \"abbrName\": \"ActnRptID\",\n          \"description\": \"The unique identifier of the PartyActionReport(35=DI) message as assigned by the message sender.\"\n        }\n      },\n      {\n        \"id\": \"2332\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"171\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"PartyActionResponseCodeSet\",\n          \"addedEP\": \"171\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"PartyActionResponse\",\n          \"id\": \"2332\",\n          \"abbrName\": \"ActnRsp\",\n          \"description\": \"Specifies the action taken as a result of the PartyActionType(2239) of the PartyActionRequest(35=DH) message.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"171\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"Used to respond to the PartyActionRequest(35=DH) message, indicating whether the request has been received, accepted or rejected. Can also be used in an unsolicited manner to report party actions, e.g. reinstatements after a manual intervention out of band.\"\n  },\n  \"DJ\": {\n    \"msgType\": \"DJ\",\n    \"addedEP\": \"188\",\n    \"category\": {\n      \"FIXMLFileName\": \"ordermasshandling\",\n      \"section\": \"Trade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"OrderMassHandling\"\n    },\n    \"added\": \"FIX.5.0SP2\",\n    \"name\": \"MassOrder\",\n    \"id\": \"146\",\n    \"abbrName\": \"MassOrder\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"188\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"2245\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"188\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"group\",\n          \"addedEP\": \"188\",\n          \"category\": \"OrderMassHandling\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"OrderEntryGrp\",\n          \"id\": \"2245\",\n          \"abbrName\": \"OrderEntry\",\n          \"numInGroup\": { \"id\": \"2428\", \"added\": \"FIX.5.0SP2\", \"addedEP\": \"188\" },\n          \"description\": \"Group of order transactions across one or more instruments.\\n\\n\"\n        }\n      },\n      {\n        \"updated\": \"FIX.Latest\",\n        \"addedEP\": \"188\",\n        \"updatedEP\": \"271\",\n        \"added\": \"FIX.5.0SP2\",\n        \"id\": \"2423\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"addedEP\": \"188\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"MassOrderRequestID\",\n          \"id\": \"2423\",\n          \"abbrName\": \"MassOrdReqID\",\n          \"description\": \"Unique message identifier for a mass order request as assigned by the submitter of the orders.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"188\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"Trade\",\n      \"FIXMLFileName\": \"trade\",\n      \"displayOrder\": \"2\",\n      \"description\": \"Order handling and execution messages\"\n    },\n    \"description\": \"The MassOrder(35=DJ) message can be used to add, modify or delete multiple unrelated orders with a single message. Apart from clearing related attributes, only the key order attributes for high performance trading are available.\\n\\nThe behavior of individual orders within a MassOrder(35=DJ) may vary depending upon its attributes, e.g. OrdType(40) and TimeInForce(59). Individual orders may be modified or deleted/cancelled with single order messages such as OrderCancelReplaceRequest (35=G) and OrderCancelRequest(35=F). Each of the orders in the MassOrder(35=DJ) are to be treated as stand-alone individual orders.\"\n  },\n  \"DK\": {\n    \"msgType\": \"DK\",\n    \"addedEP\": \"188\",\n    \"category\": {\n      \"FIXMLFileName\": \"ordermasshandling\",\n      \"section\": \"Trade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"OrderMassHandling\"\n    },\n    \"added\": \"FIX.5.0SP2\",\n    \"name\": \"MassOrderAck\",\n    \"id\": \"147\",\n    \"abbrName\": \"MassOrderAck\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"188\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1815\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"188\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"TradingCapacityCodeSet\",\n          \"addedEP\": \"131\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"TradingCapacity\",\n          \"id\": \"1815\",\n          \"abbrName\": \"TrdgCpcty\",\n          \"description\": \"Designates the capacity in which the order is submitted for trading by the market participant.\"\n        }\n      },\n      {\n        \"id\": \"2425\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"188\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"MassOrderRequestStatusCodeSet\",\n          \"addedEP\": \"188\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"MassOrderRequestStatus\",\n          \"id\": \"2425\",\n          \"abbrName\": \"ReqStat\",\n          \"description\": \"Status of mass order request.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"188\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"Trade\",\n      \"FIXMLFileName\": \"trade\",\n      \"displayOrder\": \"2\",\n      \"description\": \"Order handling and execution messages\"\n    },\n    \"description\": \"The mass order acknowledgement message is used to acknowledge the receipt of and the status for a MassOrder(35=DJ) message.\\n\\nThe content of the acknowledgement depends on the setting of the field OrderResponseLevel(2427) in the MassOrder(35=DJ) message. Only the order status is provided and not the immediate executions which would lead to ExecutionReport messages.\"\n  },\n  \"DL\": {\n    \"msgType\": \"DL\",\n    \"addedEP\": \"189\",\n    \"category\": {\n      \"FIXMLFileName\": \"positions\",\n      \"section\": \"PostTrade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"PositionMaintenance\"\n    },\n    \"added\": \"FIX.5.0SP2\",\n    \"name\": \"PositionTransferInstruction\",\n    \"id\": \"148\",\n    \"abbrName\": \"PosXferInstrctn\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"189\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"updated\": \"FIX.Latest\",\n        \"addedEP\": \"189\",\n        \"updatedEP\": \"271\",\n        \"added\": \"FIX.5.0SP2\",\n        \"id\": \"1012\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"group\",\n          \"category\": \"Common\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"Parties\",\n          \"id\": \"1012\",\n          \"abbrName\": \"Pty\",\n          \"numInGroup\": { \"id\": \"453\", \"added\": \"FIX.4.3\" },\n          \"description\": \"The Parties component block is used to identify and convey information on the entities both central and peripheral to the financial transaction represented by the FIX message containing the Parties Block. The Parties block allows many different types of entites to be expressed through use of the PartyRole field and identifies the source of the PartyID through the the PartyIDSource.\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1063\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"189\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"group\",\n          \"addedEP\": \"85\",\n          \"category\": \"Common\",\n          \"added\": \"FIX.5.0SP1\",\n          \"name\": \"TargetParties\",\n          \"id\": \"1063\",\n          \"abbrName\": \"TgtPty\",\n          \"numInGroup\": { \"id\": \"1461\", \"added\": \"FIX.5.0SP1\", \"addedEP\": \"85\" },\n          \"description\": \"\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"2436\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"189\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"addedEP\": \"189\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"TransferInstructionID\",\n          \"id\": \"2436\",\n          \"abbrName\": \"InstID\",\n          \"description\": \"Unique identifier for the transfer instruction assigned by the submitter.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"189\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"PostTrade\",\n      \"FIXMLFileName\": \"posttrade\",\n      \"displayOrder\": \"3\",\n      \"description\": \"Post trade messages including trade reporting, allocation, collateral, confirmation, position mantemenance, registration instruction, and settlement instructions\"\n    },\n    \"description\": \"The PositionTransferInstruction(35=DL) is sent by clearing firms to CCPs to initiate position transfers, or to accept or decline position transfers.\"\n  },\n  \"DM\": {\n    \"msgType\": \"DM\",\n    \"addedEP\": \"189\",\n    \"category\": {\n      \"FIXMLFileName\": \"positions\",\n      \"section\": \"PostTrade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"PositionMaintenance\"\n    },\n    \"added\": \"FIX.5.0SP2\",\n    \"name\": \"PositionTransferInstructionAck\",\n    \"id\": \"149\",\n    \"abbrName\": \"PosXferInstrctnAck\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"189\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"2436\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"189\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"addedEP\": \"189\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"TransferInstructionID\",\n          \"id\": \"2436\",\n          \"abbrName\": \"InstID\",\n          \"description\": \"Unique identifier for the transfer instruction assigned by the submitter.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"189\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"PostTrade\",\n      \"FIXMLFileName\": \"posttrade\",\n      \"displayOrder\": \"3\",\n      \"description\": \"Post trade messages including trade reporting, allocation, collateral, confirmation, position mantemenance, registration instruction, and settlement instructions\"\n    },\n    \"description\": \"The PositionTransferInstructionAck(35=DM) is sent by CCPs to clearing firms to acknowledge position transfer instructions, and to report errors processing position transfer instructions.\\n\\nThe PositionTransferInstructionAck(35=DM) is intended to be a technical acknowledgment, not a business level acknowledgment which would instead be provided by the PositionTransferReport(35=DN) message. As such, TransferID(2437), a business level ID assigned by the CCP, need not be assigned when providing a technical acknowledgment to a new or rejected position transfer request.\"\n  },\n  \"DN\": {\n    \"msgType\": \"DN\",\n    \"addedEP\": \"189\",\n    \"category\": {\n      \"FIXMLFileName\": \"positions\",\n      \"section\": \"PostTrade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"PositionMaintenance\"\n    },\n    \"added\": \"FIX.5.0SP2\",\n    \"name\": \"PositionTransferReport\",\n    \"id\": \"150\",\n    \"abbrName\": \"PosXferRpt\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"189\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1012\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"189\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"group\",\n          \"category\": \"Common\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"Parties\",\n          \"id\": \"1012\",\n          \"abbrName\": \"Pty\",\n          \"numInGroup\": { \"id\": \"453\", \"added\": \"FIX.4.3\" },\n          \"description\": \"The Parties component block is used to identify and convey information on the entities both central and peripheral to the financial transaction represented by the FIX message containing the Parties Block. The Parties block allows many different types of entites to be expressed through use of the PartyRole field and identifies the source of the PartyID through the the PartyIDSource.\\n\\n\"\n        }\n      },\n      {\n        \"updated\": \"FIX.Latest\",\n        \"addedEP\": \"189\",\n        \"updatedEP\": \"271\",\n        \"added\": \"FIX.5.0SP2\",\n        \"id\": \"1063\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"group\",\n          \"addedEP\": \"85\",\n          \"category\": \"Common\",\n          \"added\": \"FIX.5.0SP1\",\n          \"name\": \"TargetParties\",\n          \"id\": \"1063\",\n          \"abbrName\": \"TgtPty\",\n          \"numInGroup\": { \"id\": \"1461\", \"added\": \"FIX.5.0SP1\", \"addedEP\": \"85\" },\n          \"description\": \"\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"2437\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"189\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"addedEP\": \"189\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"TransferID\",\n          \"id\": \"2437\",\n          \"abbrName\": \"XferID\",\n          \"description\": \"The unique identifier assigned to the transfer entity once it is received, for example, by the CCP or the party governing the transfer process. Generally this same identifier for the transfer is used by all parties involved.\"\n        }\n      },\n      {\n        \"id\": \"2438\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"189\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"addedEP\": \"189\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"TransferReportID\",\n          \"id\": \"2438\",\n          \"abbrName\": \"RptID\",\n          \"description\": \"Unique identifier for the transfer report message.\"\n        }\n      },\n      {\n        \"id\": \"2439\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"189\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"TransferTransTypeCodeSet\",\n          \"addedEP\": \"189\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"TransferTransType\",\n          \"id\": \"2439\",\n          \"abbrName\": \"TransTyp\",\n          \"description\": \"Indicates the type of transfer transaction.\"\n        }\n      },\n      {\n        \"id\": \"2442\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"189\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"TransferStatusCodeSet\",\n          \"addedEP\": \"189\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"TransferStatus\",\n          \"id\": \"2442\",\n          \"abbrName\": \"XferStat\",\n          \"description\": \"Status of the transfer.\"\n        }\n      },\n      {\n        \"id\": \"2444\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"189\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"TransferReportTypeCodeSet\",\n          \"addedEP\": \"189\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"TransferReportType\",\n          \"id\": \"2444\",\n          \"abbrName\": \"RptTyp\",\n          \"description\": \"Indicates the type of transfer report.\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"PostTrade\",\n      \"FIXMLFileName\": \"posttrade\",\n      \"displayOrder\": \"3\",\n      \"description\": \"Post trade messages including trade reporting, allocation, collateral, confirmation, position mantemenance, registration instruction, and settlement instructions\"\n    },\n    \"description\": \"The PositionTransferReport(35=DN) is sent by CCPs to clearing firms indicating of positions that are to be transferred to the clearing firm, or to report on status of the transfer to the clearing firms involved in the transfer process.\"\n  },\n  \"DO\": {\n    \"msgType\": \"DO\",\n    \"addedEP\": \"191\",\n    \"category\": {\n      \"FIXMLFileName\": \"marketdata\",\n      \"section\": \"PreTrade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"MarketData\"\n    },\n    \"added\": \"FIX.5.0SP2\",\n    \"name\": \"MarketDataStatisticsRequest\",\n    \"id\": \"151\",\n    \"abbrName\": \"MDStatsReq\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"191\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"263\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"191\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"SubscriptionRequestTypeCodeSet\",\n          \"abbrName\": \"SubReqTyp\",\n          \"added\": \"FIX.4.2\",\n          \"name\": \"SubscriptionRequestType\",\n          \"id\": \"263\",\n          \"description\": \"Subscription Request Type\"\n        }\n      },\n      {\n        \"updated\": \"FIX.Latest\",\n        \"addedEP\": \"191\",\n        \"updatedEP\": \"271\",\n        \"added\": \"FIX.5.0SP2\",\n        \"id\": \"2248\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"group\",\n          \"addedEP\": \"191\",\n          \"category\": \"MarketData\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"MDStatisticReqGrp\",\n          \"id\": \"2248\",\n          \"abbrName\": \"StatsReq\",\n          \"numInGroup\": { \"id\": \"2474\", \"added\": \"FIX.5.0SP2\", \"addedEP\": \"191\" },\n          \"description\": \"This component block is used within the MarketDataStatisticsRequest(35=DO) message to define a set of parameters describing the desired statistics.\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"2452\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"191\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"addedEP\": \"191\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"MDStatisticReqID\",\n          \"id\": \"2452\",\n          \"abbrName\": \"ReqID\",\n          \"description\": \"Message identifier for a statistics request.\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"The MarketDataStatisticsRequest(35=DO) is used to request for statistical data. The simple form is to use an identifier (MDStatisticID(2475)) assigned by the market place which would denote a pre-defined statistical report. Alternatively, or also in addition, the request can define a number of parameters for the desired statistical information.\\n\\nThe resulting data set can be restricted to a specific market, market segment or pre-defined security list for which a single set of statistics will be returned. It is also possible to specify individual instruments or group of instruments by means of the component blocks Instrument, UndInstrmtGrp and InstrmtLegGrp.\\n\\nFields specified in the request are used as filter criteria to restrict the resulting data returned.\"\n  },\n  \"DP\": {\n    \"msgType\": \"DP\",\n    \"addedEP\": \"191\",\n    \"category\": {\n      \"FIXMLFileName\": \"marketdata\",\n      \"section\": \"PreTrade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"MarketData\"\n    },\n    \"added\": \"FIX.5.0SP2\",\n    \"name\": \"MarketDataStatisticsReport\",\n    \"id\": \"152\",\n    \"abbrName\": \"MDStatsRpt\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"191\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"2249\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"191\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"group\",\n          \"addedEP\": \"191\",\n          \"category\": \"MarketData\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"MDStatisticRptGrp\",\n          \"id\": \"2249\",\n          \"abbrName\": \"StatsRpt\",\n          \"numInGroup\": { \"id\": \"2474\", \"added\": \"FIX.5.0SP2\", \"addedEP\": \"191\" },\n          \"description\": \"This component block is used within the MarketDataStatisticsReport(35=DP) message to provide results together with the related set of parameters.\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"2453\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"191\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"addedEP\": \"191\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"MDStatisticRptID\",\n          \"id\": \"2453\",\n          \"abbrName\": \"RptID\",\n          \"description\": \"Message identifier for a statistics report.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"191\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"The MarketDataStatisticsReport(35=DP) is used to provide unsolicited statistical information or in response to a specific request. Each report contains a set of statistics for a single entity which could be a market, a market segment, a security list or an instrument.\\n\\n\"\n  },\n  \"DQ\": {\n    \"msgType\": \"DQ\",\n    \"addedEP\": \"192\",\n    \"category\": {\n      \"FIXMLFileName\": \"collateral\",\n      \"section\": \"PostTrade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"CollateralManagement\"\n    },\n    \"added\": \"FIX.5.0SP2\",\n    \"name\": \"CollateralReportAck\",\n    \"id\": \"153\",\n    \"abbrName\": \"CollRptAck\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"192\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"908\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"192\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"abbrName\": \"RptID\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"CollRptID\",\n          \"id\": \"908\",\n          \"description\": \"Collateral Report Identifier\"\n        }\n      },\n      {\n        \"id\": \"2488\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"192\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"CollRptStatusCodeSet\",\n          \"addedEP\": \"192\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"CollRptStatus\",\n          \"id\": \"2488\",\n          \"abbrName\": \"RptStat\",\n          \"description\": \"The status of the collateral report.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"192\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"PostTrade\",\n      \"FIXMLFileName\": \"posttrade\",\n      \"displayOrder\": \"3\",\n      \"description\": \"Post trade messages including trade reporting, allocation, collateral, confirmation, position mantemenance, registration instruction, and settlement instructions\"\n    },\n    \"description\": \"CollateralReportAck(35=DQ) is used as a response to the CollateralReport(35=BA). It can be used to reject a CollateralReport(35=BA) when the content of the report is invalid based on the business rules of the receiver. The message may also be used to acknowledge receipt of a valid CollateralReport(35=BA).\"\n  },\n  \"DR\": {\n    \"msgType\": \"DR\",\n    \"addedEP\": \"195\",\n    \"category\": {\n      \"FIXMLFileName\": \"marketdata\",\n      \"section\": \"PreTrade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"MarketData\"\n    },\n    \"added\": \"FIX.5.0SP2\",\n    \"name\": \"MarketDataReport\",\n    \"id\": \"154\",\n    \"abbrName\": \"MktDataRpt\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"195\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"2535\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"195\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"MDReportEventCodeSet\",\n          \"addedEP\": \"195\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"MDReportEvent\",\n          \"id\": \"2535\",\n          \"abbrName\": \"MDRptEvent\",\n          \"description\": \"Technical event within market data feed.\"\n        }\n      },\n      {\n        \"id\": \"2536\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"195\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"int\",\n          \"addedEP\": \"195\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"MDReportCount\",\n          \"id\": \"2536\",\n          \"abbrName\": \"MDRptCnt\",\n          \"description\": \"Number of reference and market data messages in-between two MarketDataReport(35=DR) messages.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"195\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"The MarketDataReport(35=DR) message is used to provide delimiting references (e.g. start and end markers in a continuous broadcast) and details about the number of market data messages sent in a given distribution cycle.\\n\\nThe message can be used when distributing reference and market data on an ongoing basis to convey start and end points for synchronization. The report contains multiple message counters that are provided at the beginning or end of a cycle.\"\n  },\n  \"DS\": {\n    \"msgType\": \"DS\",\n    \"addedEP\": \"223\",\n    \"category\": {\n      \"FIXMLFileName\": \"indications\",\n      \"section\": \"PreTrade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"Indication\"\n    },\n    \"added\": \"FIX.5.0SP2\",\n    \"name\": \"CrossRequest\",\n    \"id\": \"155\",\n    \"abbrName\": \"CrssReq\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"223\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"2672\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"223\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"addedEP\": \"223\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"CrossRequestID\",\n          \"id\": \"2672\",\n          \"abbrName\": \"CrssReqID\",\n          \"description\": \"Unique message identifier for a cross request as assigned by the submitter of the request.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"223\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1003\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"223\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Common\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"Instrument\",\n          \"id\": \"1003\",\n          \"abbrName\": \"Instrmt\",\n          \"description\": \"The Instrument component block contains all the fields commonly used to describe a security or instrument. Typically the data elements in this component block are considered the static data of a security, data that may be commonly found in a security master database. The Instrument component block can be used to describe any asset type supported by FIX.\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"The CrossRequest(35=DS) message is used to indicate the submission of orders or quotes that may result in a crossed trade.\\n\\nRegulatory requirements can allow exchanges to match orders belonging to the same account, firm or other common attribute. This can include the requirement to first announce the intention to cross orders. The time permitted between the announcement and the actual cross is typically well defined and may depend on the maximum quantity announced.\"\n  },\n  \"DT\": {\n    \"msgType\": \"DT\",\n    \"addedEP\": \"223\",\n    \"category\": {\n      \"FIXMLFileName\": \"indications\",\n      \"section\": \"PreTrade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"Indication\"\n    },\n    \"added\": \"FIX.5.0SP2\",\n    \"name\": \"CrossRequestAck\",\n    \"id\": \"156\",\n    \"abbrName\": \"CrssReqAck\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"223\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"2672\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"223\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"addedEP\": \"223\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"CrossRequestID\",\n          \"id\": \"2672\",\n          \"abbrName\": \"CrssReqID\",\n          \"description\": \"Unique message identifier for a cross request as assigned by the submitter of the request.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"223\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1003\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"223\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Common\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"Instrument\",\n          \"id\": \"1003\",\n          \"abbrName\": \"Instrmt\",\n          \"description\": \"The Instrument component block contains all the fields commonly used to describe a security or instrument. Typically the data elements in this component block are considered the static data of a security, data that may be commonly found in a security master database. The Instrument component block can be used to describe any asset type supported by FIX.\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"The CrossRequestAck(35=DT) message is used to confirm the receipt of a CrossRequest(35=DS) message.\"\n  },\n  \"DU\": {\n    \"msgType\": \"DU\",\n    \"addedEP\": \"239\",\n    \"category\": {\n      \"FIXMLFileName\": \"allocation\",\n      \"section\": \"PostTrade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"Allocation\"\n    },\n    \"added\": \"FIX.5.0SP2\",\n    \"name\": \"AllocationInstructionAlertRequest\",\n    \"id\": \"157\",\n    \"abbrName\": \"AllocInstrAlertReq\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"239\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"239\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"PostTrade\",\n      \"FIXMLFileName\": \"posttrade\",\n      \"displayOrder\": \"3\",\n      \"description\": \"Post trade messages including trade reporting, allocation, collateral, confirmation, position mantemenance, registration instruction, and settlement instructions\"\n    },\n    \"description\": \"This message is used in a clearinghouse 3-party allocation model to request for AllocationInstructionAlert(35=BM) from the clearinghouse. The request may be used to obtain a one-time notification of the status of an allocation group.\"\n  },\n  \"DV\": {\n    \"msgType\": \"DV\",\n    \"addedEP\": \"241\",\n    \"category\": {\n      \"FIXMLFileName\": \"allocation\",\n      \"section\": \"PostTrade\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"name\": \"Allocation\"\n    },\n    \"added\": \"FIX.5.0SP2\",\n    \"name\": \"AllocationInstructionAlertRequestAck\",\n    \"id\": \"158\",\n    \"abbrName\": \"AllocInstrctnAlertReqAck\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"241\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"2758\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"241\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"addedEP\": \"239\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"AllocRequestID\",\n          \"id\": \"2758\",\n          \"abbrName\": \"ReqID\",\n          \"description\": \"Unique identifier for the request message.\"\n        }\n      },\n      {\n        \"id\": \"2768\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"241\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"AllocRequestStatusCodeSet\",\n          \"addedEP\": \"241\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"AllocRequestStatus\",\n          \"id\": \"2768\",\n          \"abbrName\": \"ReqStat\",\n          \"description\": \"Status of the AllocationInstructionAlertRequest(35=DU).\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"241\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"PostTrade\",\n      \"FIXMLFileName\": \"posttrade\",\n      \"displayOrder\": \"3\",\n      \"description\": \"Post trade messages including trade reporting, allocation, collateral, confirmation, position mantemenance, registration instruction, and settlement instructions\"\n    },\n    \"description\": \"This message is used in a clearinghouse 3-party allocation model to acknowledge a AllocationInstructionAlertRequest(35=DU) message for an AllocationInstructionAlert(35=BM) message from the clearinghouse.\"\n  },\n  \"DW\": {\n    \"msgType\": \"DW\",\n    \"addedEP\": \"247\",\n    \"category\": {\n      \"FIXMLFileName\": \"trademanagement\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"addedEP\": \"247\",\n      \"section\": \"PostTrade\",\n      \"added\": \"FIX.5.0SP2\",\n      \"name\": \"TradeManagement\"\n    },\n    \"added\": \"FIX.5.0SP2\",\n    \"name\": \"TradeAggregationRequest\",\n    \"id\": \"159\",\n    \"abbrName\": \"TrdAggrtnReq\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"247\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"54\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"247\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"SideCodeSet\",\n          \"abbrName\": \"Side\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"Side\",\n          \"id\": \"54\",\n          \"description\": \"Side of order (see Volume : \\\"Glossary\\\" for value definitions)\"\n        }\n      },\n      {\n        \"id\": \"2786\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"247\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"addedEP\": \"247\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"TradeAggregationRequestID\",\n          \"id\": \"2786\",\n          \"abbrName\": \"ReqID\",\n          \"description\": \"The message identifier for the trade aggregation request.\"\n        }\n      },\n      {\n        \"id\": \"2788\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"247\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"TradeAggregationTransTypeCodeSet\",\n          \"addedEP\": \"247\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"TradeAggregationTransType\",\n          \"id\": \"2788\",\n          \"abbrName\": \"TransTyp\",\n          \"description\": \"Identifies the trade aggregation transaction type.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"247\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"1003\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"247\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Common\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"Instrument\",\n          \"id\": \"1003\",\n          \"abbrName\": \"Instrmt\",\n          \"description\": \"The Instrument component block contains all the fields commonly used to describe a security or instrument. Typically the data elements in this component block are considered the static data of a security, data that may be commonly found in a security master database. The Instrument component block can be used to describe any asset type supported by FIX.\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"PostTrade\",\n      \"FIXMLFileName\": \"posttrade\",\n      \"displayOrder\": \"3\",\n      \"description\": \"Post trade messages including trade reporting, allocation, collateral, confirmation, position mantemenance, registration instruction, and settlement instructions\"\n    },\n    \"description\": \"TradeAggregationRequest(35=DW) is used to request that the identified trades between the initiator and respondent be aggregated together for further processing.\"\n  },\n  \"DX\": {\n    \"msgType\": \"DX\",\n    \"addedEP\": \"247\",\n    \"category\": {\n      \"FIXMLFileName\": \"trademanagement\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"addedEP\": \"247\",\n      \"section\": \"PostTrade\",\n      \"added\": \"FIX.5.0SP2\",\n      \"name\": \"TradeManagement\"\n    },\n    \"added\": \"FIX.5.0SP2\",\n    \"name\": \"TradeAggregationReport\",\n    \"id\": \"160\",\n    \"abbrName\": \"TrdAggrtnRpt\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"247\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"2790\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"247\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"TradeAggregationRequestStatusCodeSet\",\n          \"addedEP\": \"247\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"TradeAggregationRequestStatus\",\n          \"id\": \"2790\",\n          \"abbrName\": \"ReqStat\",\n          \"description\": \"Status of the trade aggregation request.\"\n        }\n      },\n      {\n        \"id\": \"2792\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"247\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"addedEP\": \"247\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"TradeAggregationReportID\",\n          \"id\": \"2792\",\n          \"abbrName\": \"RptID\",\n          \"description\": \"Unique identifier for the TradeAggregationReport(35=DX).\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"247\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"PostTrade\",\n      \"FIXMLFileName\": \"posttrade\",\n      \"displayOrder\": \"3\",\n      \"description\": \"Post trade messages including trade reporting, allocation, collateral, confirmation, position mantemenance, registration instruction, and settlement instructions\"\n    },\n    \"description\": \"TradeAggregationReport(35=DX) is used to respond to the TradeAggregationRequest(35=DW) message. It provides the status of the request (e.g. accepted or rejected) and may also provide additional information supplied by the respondent.\"\n  },\n  \"EA\": {\n    \"msgType\": \"EA\",\n    \"addedEP\": \"249\",\n    \"category\": {\n      \"FIXMLFileName\": \"paymgt\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"addedEP\": \"249\",\n      \"section\": \"PostTrade\",\n      \"added\": \"FIX.5.0SP2\",\n      \"name\": \"PayManagement\",\n      \"description\": \"Messages used to initiate and confirm expected or future payments to be made or received related to servicing of contracts or transactions after trade settlement. These messages are not intended to instruct or initiate remittance of funds transfers with banks.\"\n    },\n    \"added\": \"FIX.5.0SP2\",\n    \"name\": \"PayManagementReport\",\n    \"id\": \"161\",\n    \"abbrName\": \"PayMgmtRpt\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"249\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"60\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"249\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"UTCTimestamp\",\n          \"updated\": \"FIX.5.0SP1\",\n          \"updatedEP\": \"94\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"TransactTime\",\n          \"id\": \"60\",\n          \"abbrName\": \"TxnTm\",\n          \"description\": \"Timestamp when the business transaction represented by the message occurred.\"\n        }\n      },\n      {\n        \"id\": \"2799\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"249\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"addedEP\": \"249\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"PayReportID\",\n          \"id\": \"2799\",\n          \"abbrName\": \"RptID\",\n          \"description\": \"Unique ID of the PayManagementReport(35=EA) message.\"\n        }\n      },\n      {\n        \"id\": \"2804\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"249\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"PayReportTransTypeCodeSet\",\n          \"addedEP\": \"249\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"PayReportTransType\",\n          \"id\": \"2804\",\n          \"abbrName\": \"TxnTyp\",\n          \"description\": \"Identifies the message transaction type.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"249\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"2265\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"249\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"addedEP\": \"249\",\n          \"category\": \"PayManagement\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"PostTradePayment\",\n          \"id\": \"2265\",\n          \"abbrName\": \"PostTrdPmt\",\n          \"fieldRef\": [\n            {\n              \"id\": \"2824\",\n              \"added\": \"FIX.5.0SP2\",\n              \"addedEP\": \"249\",\n              \"presence\": \"required\",\n              \"description\": \"\",\n              \"name\": \"PostTradePaymentType\"\n            },\n            {\n              \"id\": \"2817\",\n              \"added\": \"FIX.5.0SP2\",\n              \"addedEP\": \"249\",\n              \"presence\": \"required\",\n              \"description\": \"\",\n              \"name\": \"PostTradePaymentAmount\"\n            },\n            {\n              \"id\": \"2825\",\n              \"added\": \"FIX.5.0SP2\",\n              \"addedEP\": \"249\",\n              \"presence\": \"required\",\n              \"description\": \"The date payment calculations are made. This may be earlier than the date in ClearingBusinessDate(715).\\n\\nWhen the report is sent unsolicited, this is the payment calculation date as determined by report sender.\",\n              \"name\": \"PostTradePaymentCalculationDate\"\n            },\n            {\n              \"id\": \"2826\",\n              \"added\": \"FIX.5.0SP2\",\n              \"addedEP\": \"249\",\n              \"presence\": \"required\",\n              \"description\": \"The date the payment is legally confirmed to settle.\",\n              \"name\": \"PostTradePaymentValueDate\"\n            },\n            {\n              \"id\": \"2819\",\n              \"added\": \"FIX.5.0SP2\",\n              \"addedEP\": \"249\",\n              \"presence\": \"required\",\n              \"description\": \"\",\n              \"name\": \"PostTradePaymentDebitOrCredit\"\n            },\n            {\n              \"id\": \"2816\",\n              \"added\": \"FIX.5.0SP2\",\n              \"addedEP\": \"249\",\n              \"presence\": \"required\",\n              \"description\": \"\",\n              \"name\": \"PostTradePaymentAccount\"\n            }\n          ],\n          \"description\": \"This component specifies the details of a payment between the parties involved.\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"PostTrade\",\n      \"FIXMLFileName\": \"posttrade\",\n      \"displayOrder\": \"3\",\n      \"description\": \"Post trade messages including trade reporting, allocation, collateral, confirmation, position mantemenance, registration instruction, and settlement instructions\"\n    },\n    \"description\": \"PayManagementReport(35=EA) may be used to respond to the PayManagementRequest(35=DY) message. It provides the status of the request (e.g. accepted, disputed) and may provide additional information related to the request.\\n\\nPayManagementReport(35=EA) may also be sent unsolicited by the broker to a client. In which case the client may acknowledge and resolve disputes out-of-band or with a simple PayManagementReportAck(35=EB).\\n\\nPayManagementReport(35=EA) may also be sent unsolicited to report the progress status of the payment itself with PayReportTransType(2804)=2 (Status).\\n\\nIt should be noted that this message, in the context of operational communication between investment managers and their brokers, is intended to agree and confirm on payment(s) to be made or received during the life of a contract.\"\n  },\n  \"EB\": {\n    \"msgType\": \"EB\",\n    \"addedEP\": \"249\",\n    \"category\": {\n      \"FIXMLFileName\": \"paymgt\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"addedEP\": \"249\",\n      \"section\": \"PostTrade\",\n      \"added\": \"FIX.5.0SP2\",\n      \"name\": \"PayManagement\",\n      \"description\": \"Messages used to initiate and confirm expected or future payments to be made or received related to servicing of contracts or transactions after trade settlement. These messages are not intended to instruct or initiate remittance of funds transfers with banks.\"\n    },\n    \"added\": \"FIX.5.0SP2\",\n    \"name\": \"PayManagementReportAck\",\n    \"id\": \"162\",\n    \"abbrName\": \"PayMgmtRptAck\",\n    \"structure\": [\n      {\n        \"id\": \"2799\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"249\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"addedEP\": \"249\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"PayReportID\",\n          \"id\": \"2799\",\n          \"abbrName\": \"RptID\",\n          \"description\": \"Unique ID of the PayManagementReport(35=EA) message.\"\n        }\n      },\n      {\n        \"id\": \"2806\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"249\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"PayReportStatusCodeSet\",\n          \"addedEP\": \"249\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"PayReportStatus\",\n          \"id\": \"2806\",\n          \"abbrName\": \"RptStat\",\n          \"description\": \"Identifies status of the payment report.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"249\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"PostTrade\",\n      \"FIXMLFileName\": \"posttrade\",\n      \"displayOrder\": \"3\",\n      \"description\": \"Post trade messages including trade reporting, allocation, collateral, confirmation, position mantemenance, registration instruction, and settlement instructions\"\n    },\n    \"description\": \"PayManagementReportAck(35=EB) is used as a response to the PayManagementReport(35=EA) message. It may be used to accept, reject or dispute the details of the PayManagementReport(35=EA) depending on the business rules of the receiver. This message may also be used to acknowledge the receipt of a PayManagementReport(35=EA) message.\"\n  },\n  \"DY\": {\n    \"msgType\": \"DY\",\n    \"addedEP\": \"249\",\n    \"category\": {\n      \"FIXMLFileName\": \"paymgt\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"addedEP\": \"249\",\n      \"section\": \"PostTrade\",\n      \"added\": \"FIX.5.0SP2\",\n      \"name\": \"PayManagement\",\n      \"description\": \"Messages used to initiate and confirm expected or future payments to be made or received related to servicing of contracts or transactions after trade settlement. These messages are not intended to instruct or initiate remittance of funds transfers with banks.\"\n    },\n    \"added\": \"FIX.5.0SP2\",\n    \"name\": \"PayManagementRequest\",\n    \"id\": \"163\",\n    \"abbrName\": \"PayMgmtReq\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"249\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"60\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"249\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"UTCTimestamp\",\n          \"updated\": \"FIX.5.0SP1\",\n          \"updatedEP\": \"94\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"TransactTime\",\n          \"id\": \"60\",\n          \"abbrName\": \"TxnTm\",\n          \"description\": \"Timestamp when the business transaction represented by the message occurred.\"\n        }\n      },\n      {\n        \"id\": \"2811\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"249\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"PayRequestTransTypeCodeSet\",\n          \"addedEP\": \"249\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"PayRequestTransType\",\n          \"id\": \"2811\",\n          \"abbrName\": \"TxnTyp\",\n          \"description\": \"Identifies the message transaction type.\"\n        }\n      },\n      {\n        \"id\": \"2812\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"249\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"addedEP\": \"249\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"PayRequestID\",\n          \"id\": \"2812\",\n          \"abbrName\": \"ReqID\",\n          \"description\": \"Unique ID of the PayManagementRequest(35=DY) message.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"249\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"2265\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"249\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"addedEP\": \"249\",\n          \"category\": \"PayManagement\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"PostTradePayment\",\n          \"id\": \"2265\",\n          \"abbrName\": \"PostTrdPmt\",\n          \"fieldRef\": [\n            {\n              \"id\": \"2824\",\n              \"added\": \"FIX.5.0SP2\",\n              \"addedEP\": \"249\",\n              \"presence\": \"required\",\n              \"description\": \"\",\n              \"name\": \"PostTradePaymentType\"\n            },\n            {\n              \"id\": \"2817\",\n              \"added\": \"FIX.5.0SP2\",\n              \"addedEP\": \"249\",\n              \"presence\": \"required\",\n              \"description\": \"\",\n              \"name\": \"PostTradePaymentAmount\"\n            },\n            {\n              \"id\": \"2825\",\n              \"added\": \"FIX.5.0SP2\",\n              \"addedEP\": \"249\",\n              \"presence\": \"required\",\n              \"description\": \"The date payment calculations are made. This may be earlier than the date in ClearingBusinessDate(715).\\n\\nWhen the report is sent unsolicited, this is the payment calculation date as determined by report sender.\",\n              \"name\": \"PostTradePaymentCalculationDate\"\n            },\n            {\n              \"id\": \"2826\",\n              \"added\": \"FIX.5.0SP2\",\n              \"addedEP\": \"249\",\n              \"presence\": \"required\",\n              \"description\": \"The date the payment is legally confirmed to settle.\",\n              \"name\": \"PostTradePaymentValueDate\"\n            },\n            {\n              \"id\": \"2819\",\n              \"added\": \"FIX.5.0SP2\",\n              \"addedEP\": \"249\",\n              \"presence\": \"required\",\n              \"description\": \"\",\n              \"name\": \"PostTradePaymentDebitOrCredit\"\n            },\n            {\n              \"id\": \"2816\",\n              \"added\": \"FIX.5.0SP2\",\n              \"addedEP\": \"249\",\n              \"presence\": \"required\",\n              \"description\": \"\",\n              \"name\": \"PostTradePaymentAccount\"\n            }\n          ],\n          \"description\": \"This component specifies the details of a payment between the parties involved.\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"PostTrade\",\n      \"FIXMLFileName\": \"posttrade\",\n      \"displayOrder\": \"3\",\n      \"description\": \"Post trade messages including trade reporting, allocation, collateral, confirmation, position mantemenance, registration instruction, and settlement instructions\"\n    },\n    \"description\": \"PayManagementRequest(35=DY) message is used to communicate a future or expected payment to be made or received related to a trade or contract after its settlement.\\n\\nIt should be noted that this message, in the context of operational communication between investment managers and their brokers, is intended to agree and confirm on payment(s) to be made or received during the life of a contract.\"\n  },\n  \"DZ\": {\n    \"msgType\": \"DZ\",\n    \"addedEP\": \"249\",\n    \"category\": {\n      \"FIXMLFileName\": \"paymgt\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"addedEP\": \"249\",\n      \"section\": \"PostTrade\",\n      \"added\": \"FIX.5.0SP2\",\n      \"name\": \"PayManagement\",\n      \"description\": \"Messages used to initiate and confirm expected or future payments to be made or received related to servicing of contracts or transactions after trade settlement. These messages are not intended to instruct or initiate remittance of funds transfers with banks.\"\n    },\n    \"added\": \"FIX.5.0SP2\",\n    \"name\": \"PayManagementRequestAck\",\n    \"id\": \"164\",\n    \"abbrName\": \"PayMgmtReqAck\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"249\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"2812\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"249\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"addedEP\": \"249\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"PayRequestID\",\n          \"id\": \"2812\",\n          \"abbrName\": \"ReqID\",\n          \"description\": \"Unique ID of the PayManagementRequest(35=DY) message.\"\n        }\n      },\n      {\n        \"updated\": \"FIX.Latest\",\n        \"addedEP\": \"249\",\n        \"updatedEP\": \"282\",\n        \"added\": \"FIX.5.0SP2\",\n        \"id\": \"2813\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"PayRequestStatusCodeSet\",\n          \"addedEP\": \"249\",\n          \"added\": \"FIX.5.0SP2\",\n          \"name\": \"PayRequestStatus\",\n          \"id\": \"2813\",\n          \"abbrName\": \"ReqStat\",\n          \"description\": \"Identifies status of the request being responded to.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.5.0SP2\",\n        \"addedEP\": \"249\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"PostTrade\",\n      \"FIXMLFileName\": \"posttrade\",\n      \"displayOrder\": \"3\",\n      \"description\": \"Post trade messages including trade reporting, allocation, collateral, confirmation, position mantemenance, registration instruction, and settlement instructions\"\n    },\n    \"description\": \"PayManagementRequestAck(35=DZ) is used to acknowledge the receipt of the PayManagementRequest(35=DY) message (i.e. a technical acknowledgement of receipt). Acceptance or rejection of the request is reported in the corresponding PayManagementReport(35=EA).\"\n  },\n  \"EC\": {\n    \"msgType\": \"EC\",\n    \"addedEP\": \"281\",\n    \"category\": {\n      \"FIXMLFileName\": \"settlstatmgmt\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"addedEP\": \"281\",\n      \"section\": \"PostTrade\",\n      \"added\": \"FIX.Latest\",\n      \"name\": \"SettlementStatusManagement\",\n      \"description\": \"Messages used to request for or communicate securities settlement status once the settlement process has been initiated via existing industry norms. These messages are not intended to instruct or initiate securities settlement process.\"\n    },\n    \"added\": \"FIX.Latest\",\n    \"name\": \"SettlementStatusRequest\",\n    \"id\": \"165\",\n    \"abbrName\": \"SettlStatReq\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.Latest\",\n        \"addedEP\": \"281\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"60\",\n        \"added\": \"FIX.Latest\",\n        \"addedEP\": \"281\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"UTCTimestamp\",\n          \"updated\": \"FIX.5.0SP1\",\n          \"updatedEP\": \"94\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"TransactTime\",\n          \"id\": \"60\",\n          \"abbrName\": \"TxnTm\",\n          \"description\": \"Timestamp when the business transaction represented by the message occurred.\"\n        }\n      },\n      {\n        \"id\": \"263\",\n        \"added\": \"FIX.Latest\",\n        \"addedEP\": \"281\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"SubscriptionRequestTypeCodeSet\",\n          \"abbrName\": \"SubReqTyp\",\n          \"added\": \"FIX.4.2\",\n          \"name\": \"SubscriptionRequestType\",\n          \"id\": \"263\",\n          \"description\": \"Subscription Request Type\"\n        }\n      },\n      {\n        \"id\": \"2965\",\n        \"added\": \"FIX.Latest\",\n        \"addedEP\": \"281\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"addedEP\": \"281\",\n          \"added\": \"FIX.Latest\",\n          \"name\": \"SettlStatusRequestID\",\n          \"id\": \"2965\",\n          \"abbrName\": \"ReqID\",\n          \"description\": \"Unique identifier of the SettlementStatusRequest(35=EC).\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.Latest\",\n        \"addedEP\": \"281\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"PostTrade\",\n      \"FIXMLFileName\": \"posttrade\",\n      \"displayOrder\": \"3\",\n      \"description\": \"Post trade messages including trade reporting, allocation, collateral, confirmation, position mantemenance, registration instruction, and settlement instructions\"\n    },\n    \"description\": \"SettlementStatusRequest(35=EC) is used to request for the settlement status of a trade.\\n\\nWhere possible a trade reference or identifier should be provided, and if it is not possible it is recommended that as much of the trade details are provided in the request as possible. The trade details provided are not intended to serve as filter criteria but look-up criteria.\"\n  },\n  \"ED\": {\n    \"msgType\": \"ED\",\n    \"addedEP\": \"281\",\n    \"category\": {\n      \"FIXMLFileName\": \"settlstatmgmt\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"addedEP\": \"281\",\n      \"section\": \"PostTrade\",\n      \"added\": \"FIX.Latest\",\n      \"name\": \"SettlementStatusManagement\",\n      \"description\": \"Messages used to request for or communicate securities settlement status once the settlement process has been initiated via existing industry norms. These messages are not intended to instruct or initiate securities settlement process.\"\n    },\n    \"added\": \"FIX.Latest\",\n    \"name\": \"SettlementStatusRequestAck\",\n    \"id\": \"166\",\n    \"abbrName\": \"SettlStatReqAck\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.Latest\",\n        \"addedEP\": \"281\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"2965\",\n        \"added\": \"FIX.Latest\",\n        \"addedEP\": \"281\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"addedEP\": \"281\",\n          \"added\": \"FIX.Latest\",\n          \"name\": \"SettlStatusRequestID\",\n          \"id\": \"2965\",\n          \"abbrName\": \"ReqID\",\n          \"description\": \"Unique identifier of the SettlementStatusRequest(35=EC).\"\n        }\n      },\n      {\n        \"id\": \"2966\",\n        \"added\": \"FIX.Latest\",\n        \"addedEP\": \"281\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"SettlStatusRequestStatusCodeSet\",\n          \"addedEP\": \"281\",\n          \"added\": \"FIX.Latest\",\n          \"name\": \"SettlStatusRequestStatus\",\n          \"id\": \"2966\",\n          \"abbrName\": \"ReqStat\",\n          \"description\": \"Status of the SettlementStatusRequest(35=EC) message being responded to.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.Latest\",\n        \"addedEP\": \"281\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"PostTrade\",\n      \"FIXMLFileName\": \"posttrade\",\n      \"displayOrder\": \"3\",\n      \"description\": \"Post trade messages including trade reporting, allocation, collateral, confirmation, position mantemenance, registration instruction, and settlement instructions\"\n    },\n    \"description\": \"SettlementStatusRequestAck(35=ED) is used to respond to the SettlementStatusRequest(35=EC) to acknowledge the request and provide status for the request message.\\n\\nThis message is not used for communicating settlement status of a trade (see SettlementStatusReport(35=EE)); simply a status of the request message itself.\"\n  },\n  \"EE\": {\n    \"msgType\": \"EE\",\n    \"addedEP\": \"281\",\n    \"category\": {\n      \"FIXMLFileName\": \"settlstatmgmt\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"addedEP\": \"281\",\n      \"section\": \"PostTrade\",\n      \"added\": \"FIX.Latest\",\n      \"name\": \"SettlementStatusManagement\",\n      \"description\": \"Messages used to request for or communicate securities settlement status once the settlement process has been initiated via existing industry norms. These messages are not intended to instruct or initiate securities settlement process.\"\n    },\n    \"added\": \"FIX.Latest\",\n    \"name\": \"SettlementStatusReport\",\n    \"id\": \"167\",\n    \"abbrName\": \"SettlStatRpt\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.Latest\",\n        \"addedEP\": \"281\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"60\",\n        \"added\": \"FIX.Latest\",\n        \"addedEP\": \"281\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"UTCTimestamp\",\n          \"updated\": \"FIX.5.0SP1\",\n          \"updatedEP\": \"94\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"TransactTime\",\n          \"id\": \"60\",\n          \"abbrName\": \"TxnTm\",\n          \"description\": \"Timestamp when the business transaction represented by the message occurred.\"\n        }\n      },\n      {\n        \"id\": \"2967\",\n        \"added\": \"FIX.Latest\",\n        \"addedEP\": \"281\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"addedEP\": \"281\",\n          \"added\": \"FIX.Latest\",\n          \"name\": \"SettlStatusReportID\",\n          \"id\": \"2967\",\n          \"abbrName\": \"RptID\",\n          \"description\": \"Unique identifier of the SettlementStatusReport(35=EE).\"\n        }\n      },\n      {\n        \"id\": \"2968\",\n        \"added\": \"FIX.Latest\",\n        \"addedEP\": \"281\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"addedEP\": \"281\",\n          \"added\": \"FIX.Latest\",\n          \"name\": \"SettlStatus\",\n          \"id\": \"2968\",\n          \"abbrName\": \"SettlStat\",\n          \"description\": \"The settlement status of the identified trade.\\n\\nThis field mirrors MT548 subsequence A2 field 25D Status Code. See https://www.iso20022.org/15022/uhb/mt548-10-field-25d.htm for MT548 code values.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.Latest\",\n        \"addedEP\": \"281\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"PostTrade\",\n      \"FIXMLFileName\": \"posttrade\",\n      \"displayOrder\": \"3\",\n      \"description\": \"Post trade messages including trade reporting, allocation, collateral, confirmation, position mantemenance, registration instruction, and settlement instructions\"\n    },\n    \"description\": \"SettlementStatusReport(35=EE) is a response to the SettlementStatusRequest(35=EC) to provide settlement status for the requested trade. It may also be sent unsolicited without an explicit request message by the party able to provide the settlement status for the trade identified in the report message.\"\n  },\n  \"EF\": {\n    \"msgType\": \"EF\",\n    \"addedEP\": \"281\",\n    \"category\": {\n      \"FIXMLFileName\": \"settlstatmgmt\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"addedEP\": \"281\",\n      \"section\": \"PostTrade\",\n      \"added\": \"FIX.Latest\",\n      \"name\": \"SettlementStatusManagement\",\n      \"description\": \"Messages used to request for or communicate securities settlement status once the settlement process has been initiated via existing industry norms. These messages are not intended to instruct or initiate securities settlement process.\"\n    },\n    \"added\": \"FIX.Latest\",\n    \"name\": \"SettlementStatusReportAck\",\n    \"id\": \"168\",\n    \"abbrName\": \"SettlStatRptAck\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.Latest\",\n        \"addedEP\": \"281\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"2967\",\n        \"added\": \"FIX.Latest\",\n        \"addedEP\": \"281\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"addedEP\": \"281\",\n          \"added\": \"FIX.Latest\",\n          \"name\": \"SettlStatusReportID\",\n          \"id\": \"2967\",\n          \"abbrName\": \"RptID\",\n          \"description\": \"Unique identifier of the SettlementStatusReport(35=EE).\"\n        }\n      },\n      {\n        \"id\": \"2973\",\n        \"added\": \"FIX.Latest\",\n        \"addedEP\": \"281\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"SettlStatusReportStatusCodeSet\",\n          \"addedEP\": \"281\",\n          \"added\": \"FIX.Latest\",\n          \"name\": \"SettlStatusReportStatus\",\n          \"id\": \"2973\",\n          \"abbrName\": \"Stat\",\n          \"description\": \"Status of the report being responded to.\"\n        }\n      }\n    ],\n    \"section\": {\n      \"name\": \"PostTrade\",\n      \"FIXMLFileName\": \"posttrade\",\n      \"displayOrder\": \"3\",\n      \"description\": \"Post trade messages including trade reporting, allocation, collateral, confirmation, position mantemenance, registration instruction, and settlement instructions\"\n    },\n    \"description\": \"SettlementStatusReportAck(35=EF) is used to respond to the SettlementStatusReport(35=EE) to acknowledge or reject the report.\"\n  },\n  \"EG\": {\n    \"msgType\": \"EG\",\n    \"addedEP\": \"288\",\n    \"category\": {\n      \"FIXMLFileName\": \"securitiesreference\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"addedEP\": \"97\",\n      \"section\": \"PreTrade\",\n      \"added\": \"FIX.5.0SP1\",\n      \"name\": \"SecuritiesReferenceData\"\n    },\n    \"added\": \"FIX.Latest\",\n    \"name\": \"SecurityRiskMetricsReport\",\n    \"id\": \"169\",\n    \"abbrName\": \"SecRiskMtrcsRpt\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.Latest\",\n        \"addedEP\": \"288\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"2988\",\n        \"added\": \"FIX.Latest\",\n        \"addedEP\": \"288\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"addedEP\": \"288\",\n          \"added\": \"FIX.Latest\",\n          \"name\": \"SecurityRiskMetricsReportID\",\n          \"id\": \"2988\",\n          \"abbrName\": \"RptID\",\n          \"description\": \"Unique identifier for the SecurityRiskMetricsReport(35=EG) message.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.Latest\",\n        \"addedEP\": \"288\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"SecurityRiskMetricsReport(35=EG) is used for publishing the risk metrics, valuation metrics or analytics of one or more securities, or for an option series.\"\n  },\n  \"EH\": {\n    \"msgType\": \"EH\",\n    \"addedEP\": \"292\",\n    \"category\": {\n      \"FIXMLFileName\": \"testing\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"addedEP\": \"292\",\n      \"section\": \"PreTrade\",\n      \"added\": \"FIX.Latest\",\n      \"name\": \"Testing\",\n      \"description\": \"Messages used to request for or communicate information related to testing, e.g. algorithmic trading and related testing.\"\n    },\n    \"added\": \"FIX.Latest\",\n    \"name\": \"AlgoCertificateRequest\",\n    \"id\": \"170\",\n    \"abbrName\": \"AlgoCertReq\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.Latest\",\n        \"addedEP\": \"292\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"60\",\n        \"added\": \"FIX.Latest\",\n        \"addedEP\": \"292\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"UTCTimestamp\",\n          \"updated\": \"FIX.5.0SP1\",\n          \"updatedEP\": \"94\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"TransactTime\",\n          \"id\": \"60\",\n          \"abbrName\": \"TxnTm\",\n          \"description\": \"Timestamp when the business transaction represented by the message occurred.\"\n        }\n      },\n      {\n        \"id\": \"3014\",\n        \"added\": \"FIX.Latest\",\n        \"addedEP\": \"292\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"addedEP\": \"292\",\n          \"added\": \"FIX.Latest\",\n          \"name\": \"AlgoCertificateRequestID\",\n          \"id\": \"3014\",\n          \"abbrName\": \"CertReqID\",\n          \"description\": \"Unique identifier of the AlgoCertificateRequest(35=EH).\"\n        }\n      },\n      {\n        \"id\": \"3016\",\n        \"added\": \"FIX.Latest\",\n        \"addedEP\": \"292\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"AlgoCertificateRequestTransTypeCodeSet\",\n          \"addedEP\": \"292\",\n          \"added\": \"FIX.Latest\",\n          \"name\": \"AlgoCertificateRequestTransType\",\n          \"id\": \"3016\",\n          \"abbrName\": \"TxnTyp\",\n          \"description\": \"Identifies the message transaction type.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.Latest\",\n        \"addedEP\": \"292\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"AlgoCertificateRequest(35=EH) is used to request for algo testing certificate information for one or more algorithms.\\n\\nThis message may be used by venues to request algo test certificates from their participants using participant and algo identifiers as the request key. Absence of an identifier for an algorithm represents a request to obtain all active certificates for all algorithms from the participant.\"\n  },\n  \"EI\": {\n    \"msgType\": \"EI\",\n    \"addedEP\": \"292\",\n    \"category\": {\n      \"FIXMLFileName\": \"testing\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"addedEP\": \"292\",\n      \"section\": \"PreTrade\",\n      \"added\": \"FIX.Latest\",\n      \"name\": \"Testing\",\n      \"description\": \"Messages used to request for or communicate information related to testing, e.g. algorithmic trading and related testing.\"\n    },\n    \"added\": \"FIX.Latest\",\n    \"name\": \"AlgoCertificateRequestAck\",\n    \"id\": \"171\",\n    \"abbrName\": \"AlgoCertReqAck\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.Latest\",\n        \"addedEP\": \"292\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"3014\",\n        \"added\": \"FIX.Latest\",\n        \"addedEP\": \"292\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"addedEP\": \"292\",\n          \"added\": \"FIX.Latest\",\n          \"name\": \"AlgoCertificateRequestID\",\n          \"id\": \"3014\",\n          \"abbrName\": \"CertReqID\",\n          \"description\": \"Unique identifier of the AlgoCertificateRequest(35=EH).\"\n        }\n      },\n      {\n        \"id\": \"3017\",\n        \"added\": \"FIX.Latest\",\n        \"addedEP\": \"292\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"AlgoCertificateRequestStatusCodeSet\",\n          \"addedEP\": \"292\",\n          \"added\": \"FIX.Latest\",\n          \"name\": \"AlgoCertificateRequestStatus\",\n          \"id\": \"3017\",\n          \"abbrName\": \"ReqStat\",\n          \"description\": \"Status of the AlgoCertificateRequest(35=EH) message being responded to.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.Latest\",\n        \"addedEP\": \"292\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"AlgoCertificateRequestAck(35=EI) is used to respond to the AlgoCertificateRequest(35=EH) to acknowledge the request and provide status for the request message.\\n\\nThis message is not used for communicating test certificates of algorithms (see AlgoCertificateReport(35=EJ)); simply a status of the request message itself.\"\n  },\n  \"EJ\": {\n    \"msgType\": \"EJ\",\n    \"addedEP\": \"292\",\n    \"category\": {\n      \"FIXMLFileName\": \"testing\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"addedEP\": \"292\",\n      \"section\": \"PreTrade\",\n      \"added\": \"FIX.Latest\",\n      \"name\": \"Testing\",\n      \"description\": \"Messages used to request for or communicate information related to testing, e.g. algorithmic trading and related testing.\"\n    },\n    \"added\": \"FIX.Latest\",\n    \"name\": \"AlgoCertificateReport\",\n    \"id\": \"172\",\n    \"abbrName\": \"AlgoCertRpt\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.Latest\",\n        \"addedEP\": \"292\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"779\",\n        \"added\": \"FIX.Latest\",\n        \"addedEP\": \"292\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"UTCTimestamp\",\n          \"abbrName\": \"LastUpdateTm\",\n          \"added\": \"FIX.4.4\",\n          \"name\": \"LastUpdateTime\",\n          \"id\": \"779\",\n          \"description\": \"Timestamp of last update to data item (or creation if no updates made since creation).\"\n        }\n      },\n      {\n        \"id\": \"1012\",\n        \"added\": \"FIX.Latest\",\n        \"addedEP\": \"292\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"group\",\n          \"category\": \"Common\",\n          \"added\": \"FIX.4.3\",\n          \"name\": \"Parties\",\n          \"id\": \"1012\",\n          \"abbrName\": \"Pty\",\n          \"numInGroup\": { \"id\": \"453\", \"added\": \"FIX.4.3\" },\n          \"description\": \"The Parties component block is used to identify and convey information on the entities both central and peripheral to the financial transaction represented by the FIX message containing the Parties Block. The Parties block allows many different types of entites to be expressed through use of the PartyRole field and identifies the source of the PartyID through the the PartyIDSource.\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"3012\",\n        \"added\": \"FIX.Latest\",\n        \"addedEP\": \"292\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"addedEP\": \"292\",\n          \"added\": \"FIX.Latest\",\n          \"name\": \"AlgoCertificateID\",\n          \"id\": \"3012\",\n          \"abbrName\": \"CertID\",\n          \"description\": \"Unique identifier for a certificate issued by an algorithmic trading firm.\"\n        }\n      },\n      {\n        \"id\": \"3018\",\n        \"added\": \"FIX.Latest\",\n        \"addedEP\": \"292\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"addedEP\": \"292\",\n          \"added\": \"FIX.Latest\",\n          \"name\": \"AlgoCertificateReportID\",\n          \"id\": \"3018\",\n          \"abbrName\": \"CertRptID\",\n          \"description\": \"Unique identifier of the AlgoCertificateReport(35=EJ).\"\n        }\n      },\n      {\n        \"id\": \"3020\",\n        \"added\": \"FIX.Latest\",\n        \"addedEP\": \"292\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"AlgoCertificateReportTransTypeCodeSet\",\n          \"addedEP\": \"292\",\n          \"added\": \"FIX.Latest\",\n          \"name\": \"AlgoCertificateReportTransType\",\n          \"id\": \"3020\",\n          \"abbrName\": \"TxnTyp\",\n          \"description\": \"Identifies the message transaction type.\"\n        }\n      },\n      {\n        \"id\": \"3022\",\n        \"added\": \"FIX.Latest\",\n        \"addedEP\": \"292\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"AlgoCertificateStatusCodeSet\",\n          \"addedEP\": \"292\",\n          \"added\": \"FIX.Latest\",\n          \"name\": \"AlgoCertificateStatus\",\n          \"id\": \"3022\",\n          \"abbrName\": \"CertStat\",\n          \"description\": \"Status of the certification as provided by the regulatory authority.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.Latest\",\n        \"addedEP\": \"292\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"AlgoCertificateReport(35=EJ) is a response to the AlgoCertificateRequest(35=EH) to certify an algo. It may also be sent unsolicited without an explicit request message by the party able to provide certificate information for the algo identified in the report message.\\n\\nAlgoCertificateReport(35=EJ) is for a single algorithm. A new certificate is created by the trading firm in a draft status and requires approval from a natural person who is authorized to approve certification. The final state is reached when the certificate has been successfully submitted to the venue. Timestamps may be associated with the state changes, specifically date and time of the latest change, the approval and when the certificate is to become effective.\"\n  },\n  \"EK\": {\n    \"msgType\": \"EK\",\n    \"addedEP\": \"292\",\n    \"category\": {\n      \"FIXMLFileName\": \"testing\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"addedEP\": \"292\",\n      \"section\": \"PreTrade\",\n      \"added\": \"FIX.Latest\",\n      \"name\": \"Testing\",\n      \"description\": \"Messages used to request for or communicate information related to testing, e.g. algorithmic trading and related testing.\"\n    },\n    \"added\": \"FIX.Latest\",\n    \"name\": \"AlgoCertificateReportAck\",\n    \"id\": \"173\",\n    \"abbrName\": \"AlgoCertRptAck\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.Latest\",\n        \"addedEP\": \"292\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"3018\",\n        \"added\": \"FIX.Latest\",\n        \"addedEP\": \"292\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"addedEP\": \"292\",\n          \"added\": \"FIX.Latest\",\n          \"name\": \"AlgoCertificateReportID\",\n          \"id\": \"3018\",\n          \"abbrName\": \"CertRptID\",\n          \"description\": \"Unique identifier of the AlgoCertificateReport(35=EJ).\"\n        }\n      },\n      {\n        \"id\": \"3021\",\n        \"added\": \"FIX.Latest\",\n        \"addedEP\": \"292\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"AlgoCertificateReportStatusCodeSet\",\n          \"addedEP\": \"292\",\n          \"added\": \"FIX.Latest\",\n          \"name\": \"AlgoCertificateReportStatus\",\n          \"id\": \"3021\",\n          \"abbrName\": \"RptStat\",\n          \"description\": \"Status of the report being responded to.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.Latest\",\n        \"addedEP\": \"292\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"AlgoCertificateReportAck(35=EK) is used to respond to the AlgoCertificateReport(35=EJ) to acknowledge or reject the report message.\\n\\nAcknowledgement messages can also be used in response to unsolicited reports.\"\n  },\n  \"EL\": {\n    \"msgType\": \"EL\",\n    \"addedEP\": \"292\",\n    \"category\": {\n      \"FIXMLFileName\": \"testing\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"addedEP\": \"292\",\n      \"section\": \"PreTrade\",\n      \"added\": \"FIX.Latest\",\n      \"name\": \"Testing\",\n      \"description\": \"Messages used to request for or communicate information related to testing, e.g. algorithmic trading and related testing.\"\n    },\n    \"added\": \"FIX.Latest\",\n    \"name\": \"TestSuiteDefinitionRequest\",\n    \"id\": \"174\",\n    \"abbrName\": \"TstSteDefReq\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.Latest\",\n        \"addedEP\": \"292\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"60\",\n        \"added\": \"FIX.Latest\",\n        \"addedEP\": \"292\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"UTCTimestamp\",\n          \"updated\": \"FIX.5.0SP1\",\n          \"updatedEP\": \"94\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"TransactTime\",\n          \"id\": \"60\",\n          \"abbrName\": \"TxnTm\",\n          \"description\": \"Timestamp when the business transaction represented by the message occurred.\"\n        }\n      },\n      {\n        \"id\": \"3062\",\n        \"added\": \"FIX.Latest\",\n        \"addedEP\": \"292\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"addedEP\": \"292\",\n          \"added\": \"FIX.Latest\",\n          \"name\": \"TestSuiteRequestID\",\n          \"id\": \"3062\",\n          \"abbrName\": \"TstSteReqID\",\n          \"description\": \"Unique identifier of the TestSuiteDefinitionRequest(35=EL).\"\n        }\n      },\n      {\n        \"id\": \"3064\",\n        \"added\": \"FIX.Latest\",\n        \"addedEP\": \"292\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"TestSuiteRequestTransTypeCodeSet\",\n          \"addedEP\": \"292\",\n          \"added\": \"FIX.Latest\",\n          \"name\": \"TestSuiteRequestTransType\",\n          \"id\": \"3064\",\n          \"abbrName\": \"TxnTyp\",\n          \"description\": \"Identifies the message transaction type.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.Latest\",\n        \"addedEP\": \"292\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"TestSuiteDefinitionRequest(35=EL) is used to convey to the test system the suite of test scenarios to perform.\\n\\nThis message stages on the test system the details of a test suite to run to test the algo. The test suite contains one or more test scenarios (i.e. test cases) along with the details for each test scenario.\"\n  },\n  \"EM\": {\n    \"msgType\": \"EM\",\n    \"addedEP\": \"292\",\n    \"category\": {\n      \"FIXMLFileName\": \"testing\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"addedEP\": \"292\",\n      \"section\": \"PreTrade\",\n      \"added\": \"FIX.Latest\",\n      \"name\": \"Testing\",\n      \"description\": \"Messages used to request for or communicate information related to testing, e.g. algorithmic trading and related testing.\"\n    },\n    \"added\": \"FIX.Latest\",\n    \"name\": \"TestSuiteDefinitionRequestAck\",\n    \"id\": \"175\",\n    \"abbrName\": \"TstSteDefReqAck\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.Latest\",\n        \"addedEP\": \"292\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"3062\",\n        \"added\": \"FIX.Latest\",\n        \"addedEP\": \"292\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"addedEP\": \"292\",\n          \"added\": \"FIX.Latest\",\n          \"name\": \"TestSuiteRequestID\",\n          \"id\": \"3062\",\n          \"abbrName\": \"TstSteReqID\",\n          \"description\": \"Unique identifier of the TestSuiteDefinitionRequest(35=EL).\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.Latest\",\n        \"addedEP\": \"292\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"TestSuiteDefinitionRequestAck(35=EM) is used to respond to the TestSuiteDefinitionRequest(35= EL) to acknowledge the request and provide status for the request message.\"\n  },\n  \"EN\": {\n    \"msgType\": \"EN\",\n    \"addedEP\": \"292\",\n    \"category\": {\n      \"FIXMLFileName\": \"testing\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"addedEP\": \"292\",\n      \"section\": \"PreTrade\",\n      \"added\": \"FIX.Latest\",\n      \"name\": \"Testing\",\n      \"description\": \"Messages used to request for or communicate information related to testing, e.g. algorithmic trading and related testing.\"\n    },\n    \"added\": \"FIX.Latest\",\n    \"name\": \"TestActionRequest\",\n    \"id\": \"176\",\n    \"abbrName\": \"TstActnReq\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.Latest\",\n        \"addedEP\": \"292\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"60\",\n        \"added\": \"FIX.Latest\",\n        \"addedEP\": \"292\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"UTCTimestamp\",\n          \"updated\": \"FIX.5.0SP1\",\n          \"updatedEP\": \"94\",\n          \"added\": \"FIX.2.7\",\n          \"name\": \"TransactTime\",\n          \"id\": \"60\",\n          \"abbrName\": \"TxnTm\",\n          \"description\": \"Timestamp when the business transaction represented by the message occurred.\"\n        }\n      },\n      {\n        \"id\": \"3062\",\n        \"added\": \"FIX.Latest\",\n        \"addedEP\": \"292\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"addedEP\": \"292\",\n          \"added\": \"FIX.Latest\",\n          \"name\": \"TestSuiteRequestID\",\n          \"id\": \"3062\",\n          \"abbrName\": \"TstSteReqID\",\n          \"description\": \"Unique identifier of the TestSuiteDefinitionRequest(35=EL).\"\n        }\n      },\n      {\n        \"id\": \"3066\",\n        \"added\": \"FIX.Latest\",\n        \"addedEP\": \"292\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"addedEP\": \"292\",\n          \"added\": \"FIX.Latest\",\n          \"name\": \"TestActionRequestID\",\n          \"id\": \"3066\",\n          \"abbrName\": \"ReqID\",\n          \"description\": \"Unique identifier of the TestActionRequest(35=EN).\"\n        }\n      },\n      {\n        \"id\": \"3067\",\n        \"added\": \"FIX.Latest\",\n        \"addedEP\": \"292\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"TestActionTypeCodeSet\",\n          \"addedEP\": \"292\",\n          \"added\": \"FIX.Latest\",\n          \"name\": \"TestActionType\",\n          \"id\": \"3067\",\n          \"abbrName\": \"ActnTyp\",\n          \"description\": \"Specifies the type of action to take or that was taken for a given test suite.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.Latest\",\n        \"addedEP\": \"292\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"TestActionRequest(35=EN) is used to manage test executions or request for testing activity state of the identified test suite.\\n\\nThis message is used to trigger the test system to start/stop the test suite staged on the test system via the TestSuiteDefinitionRequest(35=EL).\"\n  },\n  \"EO\": {\n    \"msgType\": \"EO\",\n    \"addedEP\": \"292\",\n    \"category\": {\n      \"FIXMLFileName\": \"testing\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"addedEP\": \"292\",\n      \"section\": \"PreTrade\",\n      \"added\": \"FIX.Latest\",\n      \"name\": \"Testing\",\n      \"description\": \"Messages used to request for or communicate information related to testing, e.g. algorithmic trading and related testing.\"\n    },\n    \"added\": \"FIX.Latest\",\n    \"name\": \"TestActionRequestAck\",\n    \"id\": \"177\",\n    \"abbrName\": \"TstActnReqAck\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.Latest\",\n        \"addedEP\": \"292\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"3062\",\n        \"added\": \"FIX.Latest\",\n        \"addedEP\": \"292\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"addedEP\": \"292\",\n          \"added\": \"FIX.Latest\",\n          \"name\": \"TestSuiteRequestID\",\n          \"id\": \"3062\",\n          \"abbrName\": \"TstSteReqID\",\n          \"description\": \"Unique identifier of the TestSuiteDefinitionRequest(35=EL).\"\n        }\n      },\n      {\n        \"id\": \"3066\",\n        \"added\": \"FIX.Latest\",\n        \"addedEP\": \"292\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"addedEP\": \"292\",\n          \"added\": \"FIX.Latest\",\n          \"name\": \"TestActionRequestID\",\n          \"id\": \"3066\",\n          \"abbrName\": \"ReqID\",\n          \"description\": \"Unique identifier of the TestActionRequest(35=EN).\"\n        }\n      },\n      {\n        \"id\": \"3068\",\n        \"added\": \"FIX.Latest\",\n        \"addedEP\": \"292\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"TestActionRequestStatusCodeSet\",\n          \"addedEP\": \"292\",\n          \"added\": \"FIX.Latest\",\n          \"name\": \"TestActionRequestStatus\",\n          \"id\": \"3068\",\n          \"abbrName\": \"ReqStat\",\n          \"description\": \"Status of the TestActionRequest(35=EN) message being responded to.\"\n        }\n      },\n      {\n        \"id\": \"3069\",\n        \"added\": \"FIX.Latest\",\n        \"addedEP\": \"292\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"TestSuiteActivityStateCodeSet\",\n          \"addedEP\": \"292\",\n          \"added\": \"FIX.Latest\",\n          \"name\": \"TestSuiteActivityState\",\n          \"id\": \"3069\",\n          \"abbrName\": \"TstSteActvtySt\",\n          \"description\": \"Specifies the activity state the test suite is in.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.Latest\",\n        \"addedEP\": \"292\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"TestActionRequestAck(35=EO) is used to respond to the TestActionRequest(35=EN) to acknowledge the request and provide status for the request message.\"\n  },\n  \"EP\": {\n    \"msgType\": \"EP\",\n    \"addedEP\": \"292\",\n    \"category\": {\n      \"FIXMLFileName\": \"testing\",\n      \"includeFile\": \"components\",\n      \"componentType\": \"Message\",\n      \"addedEP\": \"292\",\n      \"section\": \"PreTrade\",\n      \"added\": \"FIX.Latest\",\n      \"name\": \"Testing\",\n      \"description\": \"Messages used to request for or communicate information related to testing, e.g. algorithmic trading and related testing.\"\n    },\n    \"added\": \"FIX.Latest\",\n    \"name\": \"TestActionReport\",\n    \"id\": \"178\",\n    \"abbrName\": \"TstActnRpt\",\n    \"structure\": [\n      {\n        \"id\": \"1024\",\n        \"added\": \"FIX.Latest\",\n        \"addedEP\": \"292\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"updated\": \"FIX.Latest\",\n          \"updatedEP\": \"271\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardHeader\",\n          \"id\": \"1024\",\n          \"abbrName\": \"Hdr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"8\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"FIXT.1.1 (Always unencrypted, must be first field in message)\",\n              \"name\": \"BeginString\"\n            },\n            {\n              \"id\": \"9\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be second field in message)\",\n              \"name\": \"BodyLength\"\n            },\n            {\n              \"id\": \"35\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, must be third field in message)\",\n              \"name\": \"MsgType\"\n            },\n            {\n              \"id\": \"49\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"SenderCompID\"\n            },\n            {\n              \"id\": \"56\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted)\",\n              \"name\": \"TargetCompID\"\n            },\n            {\n              \"id\": \"34\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"MsgSeqNum\"\n            },\n            {\n              \"id\": \"52\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Can be embedded within encrypted data section.)\",\n              \"name\": \"SendingTime\"\n            }\n          ],\n          \"description\": \"The standard FIX message header\\n\\n\"\n        }\n      },\n      {\n        \"id\": \"3062\",\n        \"added\": \"FIX.Latest\",\n        \"addedEP\": \"292\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"addedEP\": \"292\",\n          \"added\": \"FIX.Latest\",\n          \"name\": \"TestSuiteRequestID\",\n          \"id\": \"3062\",\n          \"abbrName\": \"TstSteReqID\",\n          \"description\": \"Unique identifier of the TestSuiteDefinitionRequest(35=EL).\"\n        }\n      },\n      {\n        \"id\": \"3071\",\n        \"added\": \"FIX.Latest\",\n        \"addedEP\": \"292\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"String\",\n          \"addedEP\": \"292\",\n          \"added\": \"FIX.Latest\",\n          \"name\": \"TestActionReportID\",\n          \"id\": \"3071\",\n          \"abbrName\": \"RptID\",\n          \"description\": \"Identifier of the test action report.\"\n        }\n      },\n      {\n        \"id\": \"1025\",\n        \"added\": \"FIX.Latest\",\n        \"addedEP\": \"292\",\n        \"presence\": \"required\",\n        \"data\": {\n          \"type\": \"component\",\n          \"category\": \"Session\",\n          \"added\": \"FIX.4.0\",\n          \"name\": \"StandardTrailer\",\n          \"id\": \"1025\",\n          \"abbrName\": \"Trlr\",\n          \"fieldRef\": [\n            {\n              \"id\": \"10\",\n              \"added\": \"FIX.4.0\",\n              \"presence\": \"required\",\n              \"description\": \"(Always unencrypted, always last field in message)\",\n              \"name\": \"CheckSum\"\n            }\n          ],\n          \"description\": \"The standard FIX message trailer\\n\\n\"\n        }\n      }\n    ],\n    \"section\": {\n      \"updated\": \"FIX.Latest\",\n      \"FIXMLFileName\": \"pretrade\",\n      \"updatedEP\": \"271\",\n      \"name\": \"PreTrade\",\n      \"displayOrder\": \"1\",\n      \"description\": \"Pre trade messages including reference data, market data, quoting, news and email, indication of interest.\"\n    },\n    \"description\": \"TestActionReport(35=EP) is used to report the testing results of the identified test suite that has been executed with TestActionRequest(35=EN). In the context of algorithmic trading, the results may be used to create a certificate for the algorithm upon meeting the success criteria.\\n\\nTestActionReport(35=EP) may be sent in an unsolicited manner when the execution of a test suite successfully completes or abnormally terminates.\"\n  }\n}\n", "import type { Field } from '../fields/Field';\nimport type { Message } from '../message/Message';\nimport prebuiltMap from '../spec/MessageType.json';\nimport type { ISpecDatatypes } from '../spec/SpecDatatypes';\n\nexport type RefType = {\n  id: string;\n  name: string;\n  presence?: string;\n  added?: string;\n  addedEP?: string;\n  updated?: string;\n  updatedEP?: string;\n  annotation?: {\n    documentation: string;\n  };\n};\n\nexport type CodeSet = {\n  name: string;\n  id: string;\n  value: string;\n  sort: string;\n  added?: string;\n  addedEP?: string;\n  updated?: string;\n  updatedEP?: string;\n  description: string;\n};\n\nexport type DataStructure = {\n  id: string;\n  added?: string;\n  category: string;\n  abbrName: string;\n  name: string;\n  type: string;\n  numInGroup?: {\n    id: string;\n    added: string;\n    description: string;\n  };\n  fieldRef: RefType[];\n  groupRef: RefType[];\n  componentRef: RefType[];\n  datatype: ISpecDatatypes;\n  codeSet: {\n    name: string;\n    id: string;\n    type: string;\n    added?: string;\n    addedEP?: string;\n    updated?: string;\n    updatedEP?: string;\n    description: string;\n    code: CodeSet[];\n  };\n  description: string;\n};\n\nexport type Structure = {\n  id: string;\n  added: string;\n  addedEP?: string;\n  updated?: string;\n  updatedEP?: string;\n  deprecated?: string;\n  presence?: string;\n  description?: string;\n  type: 'componentRef' | 'fieldRef' | 'groupRef';\n  data: DataStructure;\n};\n\nexport type MessageTypeStructure = {\n  id: string;\n  msgType: string;\n  abbrName: string;\n  name: string;\n  description?: string;\n  added?: string;\n  addedEP?: string;\n  updated?: string;\n  updatedEP?: string;\n  category: {\n    section: string;\n    added?: string;\n    addedEP?: string;\n    FIXMLFileName: string;\n    componentType: string;\n    name: string;\n    description?: string;\n  };\n  section: any;\n  structure: Structure[];\n};\n\nexport class MessageType {\n  public cacheMap: Map<string, MessageTypeStructure>;\n\n  constructor() {\n    const map = Object.entries(prebuiltMap);\n    this.cacheMap = new Map<string, MessageTypeStructure>(\n      map as unknown as Map<string, MessageTypeStructure>\n    );\n  }\n\n  public setMessageType(message: Message, field: Field): void {\n    const messageType: MessageTypeStructure | undefined = this.cacheMap.get(\n      field.value as string\n    );\n    if (messageType) {\n      if (messageType.msgType) {\n        message.setMessageType(messageType.msgType);\n      }\n      if (messageType.name) {\n        message.setDescription(messageType.name);\n      }\n      if (messageType.description) {\n        message.setMessageTypeDescription(messageType.description);\n      }\n      message.setStructure(messageType.structure);\n    }\n  }\n\n  public setMessageSequence(message: Message, messageSequence: number): void {\n    message.setMessageSequence(messageSequence);\n  }\n}\n", "export interface ISpecFields {\n  id: number;\n  type: string;\n  name: string;\n  description?: string;\n  abbrName?: string;\n  added?: string;\n  addedEP?: string;\n  updated?: string;\n  updatedEP?: string;\n  deprecated?: string;\n  deprecatedEP?: string;\n  baseCategory?: string;\n  baseCategoryAbbrName?: string;\n  unionDataType?: string;\n  lengthId?: string;\n  discriminatorId?: string;\n}\nconst batch1: ISpecFields[] = [\n  {\n    abbrName: 'Acct',\n    type: 'String',\n    added: 'FIX.2.7',\n    name: 'Account',\n    id: 1,\n    description:\n      'Account mnemonic as agreed between buy and sell sides, e.g. broker and institution or investor/intermediary and fund manager.',\n  },\n  {\n    abbrName: 'AdvId',\n    type: 'String',\n    added: 'FIX.2.7',\n    name: 'AdvId',\n    id: 2,\n    description:\n      'Unique identifier of advertisement message.\\n\\n(Prior to FIX 4.1 this field was of type int)',\n  },\n  {\n    abbrName: 'AdvRefID',\n    type: 'String',\n    added: 'FIX.2.7',\n    name: 'AdvRefID',\n    id: 3,\n    description:\n      'Reference identifier used with CANCEL and REPLACE transaction types.\\n\\n(Prior to FIX 4.1 this field was of type int)',\n  },\n  {\n    abbrName: 'AdvSide',\n    type: 'AdvSideCodeSet',\n    added: 'FIX.2.7',\n    name: 'AdvSide',\n    id: 4,\n    description: \"Broker's side of advertised trade\",\n  },\n  {\n    abbrName: 'AdvTransTyp',\n    type: 'AdvTransTypeCodeSet',\n    added: 'FIX.2.7',\n    name: 'AdvTransType',\n    id: 5,\n    description: 'Identifies advertisement message transaction type',\n  },\n  {\n    abbrName: 'AvgPx',\n    type: 'Price',\n    added: 'FIX.2.7',\n    name: 'AvgPx',\n    id: 6,\n    description:\n      'Calculated average price of all fills on this order.\\n\\nFor Fixed Income trades AvgPx is always expressed as percent-of-par, regardless of the PriceType (423) of LastPx (31). I.e., AvgPx will contain an average of percent-of-par values (see LastParPx (669)) for issues traded in Yield, Spread or Discount.',\n  },\n  {\n    abbrName: 'BeginSeqNo',\n    type: 'SeqNum',\n    added: 'FIX.2.7',\n    name: 'BeginSeqNo',\n    id: 7,\n    description: 'Message sequence number of first message in range to be resent',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'BeginStringCodeSet',\n    updatedEP: '270',\n    added: 'FIX.2.7',\n    name: 'BeginString',\n    id: 8,\n    abbrName: 'BeginString',\n    description:\n      'Identifies beginning of new message and session protocol version by means of a session profile identifier (see FIX Session Layer for details). ALWAYS FIRST FIELD IN MESSAGE. (Always unencrypted).',\n  },\n  {\n    abbrName: 'BodyLength',\n    type: 'Length',\n    added: 'FIX.2.7',\n    name: 'BodyLength',\n    id: 9,\n    description:\n      'Message length, in bytes, forward to the CheckSum field. ALWAYS SECOND FIELD IN MESSAGE. (Always unencrypted)',\n  },\n  {\n    abbrName: 'CheckSum',\n    type: 'String',\n    added: 'FIX.2.7',\n    name: 'CheckSum',\n    id: 10,\n    description:\n      'Three byte, simple checksum (see Volume 2: \"Checksum Calculation\" for description). ALWAYS LAST FIELD IN MESSAGE; i.e. serves, with the trailing <SOH>, as the end-of-message delimiter. Always defined as three characters. (Always unencrypted)',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'String',\n    baseCategoryAbbrName: 'ID',\n    baseCategory: 'SingleGeneralOrderHandling',\n    updatedEP: '282',\n    added: 'FIX.2.7',\n    name: 'ClOrdID',\n    id: 11,\n    abbrName: 'ClOrdID',\n    description:\n      'Unique identifier for Order as assigned by the buy-side (institution, broker, intermediary etc.) (identified by SenderCompID(49) or OnBehalfOfCompID(115) as appropriate). Uniqueness must be guaranteed within a single trading day. Firms, particularly those which electronically submit multi-day orders, trade globally or throughout market close periods, should ensure uniqueness across days, for example by embedding a date within the ClOrdID(11) field.',\n  },\n  {\n    abbrName: 'Comm',\n    type: 'Amt',\n    added: 'FIX.2.7',\n    name: 'Commission',\n    id: 12,\n    description:\n      'Commission. Note if CommType (13) is percentage, Commission of 5% should be represented as .05.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'CommTypeCodeSet',\n    updatedEP: '204',\n    added: 'FIX.2.7',\n    name: 'CommType',\n    id: 13,\n    abbrName: 'CommTyp',\n    description:\n      'Specifies the basis or unit used to calculate the total commission based on the rate.',\n  },\n  {\n    abbrName: 'CumQty',\n    type: 'Qty',\n    added: 'FIX.2.7',\n    name: 'CumQty',\n    id: 14,\n    description:\n      'Total quantity (e.g. number of shares) filled.\\n\\n(Prior to FIX 4.2 this field was of type int)',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'Currency',\n    updatedEP: '273',\n    added: 'FIX.2.7',\n    name: 'Currency',\n    id: 15,\n    abbrName: 'Ccy',\n    description:\n      'Identifies currency used for price or quantity fields, depending on the asset class being traded. CurrencyCodeSource(2897) may be used to disambiguate the code source scheme used, and ISO 4217 is the default scheme if absent.\\n\\nAbsence of this field is interpreted as the default currency for the security as defined by the respective reference data. It is recommended that systems provide the currency value whenever possible.\\n\\nFor securities trading and digital assets traded securities-style, identifies the currency used to denote the price. Absence of this field is interpreted as the default for the security. For Foreign Exchange (FX) and digital assets traded FX-style, identifies the dealt currency used to denominate the quantity related field(s).',\n  },\n  {\n    abbrName: 'EndSeqNo',\n    type: 'SeqNum',\n    added: 'FIX.2.7',\n    name: 'EndSeqNo',\n    id: 16,\n    description:\n      'Message sequence number of last message in range to be resent. If request is for a single message BeginSeqNo (7) = EndSeqNo. If request is for all messages subsequent to a particular message, EndSeqNo = \"0\" (representing infinity).',\n  },\n  {\n    updated: 'FIX.5.0SP1',\n    type: 'String',\n    updatedEP: '95',\n    added: 'FIX.2.7',\n    name: 'ExecID',\n    id: 17,\n    abbrName: 'ExecID',\n    description:\n      'Unique identifier of execution message as assigned by sell-side (broker, exchange, ECN) (will be 0 (zero) for ExecType (150)=I (Order Status)).\\n\\nUniqueness must be guaranteed within a single trading day or the life of a multi-day order. Firms which accept multi-day orders should consider embedding a date within the ExecID field to assure uniqueness across days.\\n\\n(Prior to FIX 4.1 this field was of type int).',\n  },\n  {\n    abbrName: 'ExecInst',\n    type: 'ExecInstCodeSet',\n    added: 'FIX.2.7',\n    name: 'ExecInst',\n    id: 18,\n    description:\n      'Instructions for order handling on exchange trading floor. If more than one instruction is applicable to an order, this field can contain multiple instructions separated by space. *** SOME VALUES HAVE BEEN REPLACED - See \"Replaced Features and Supported Approach\" *** (see Volume : \"Glossary\" for value definitions)',\n  },\n  {\n    abbrName: 'ExecRefID',\n    type: 'String',\n    added: 'FIX.2.7',\n    name: 'ExecRefID',\n    id: 19,\n    description:\n      'Reference identifier used with Trade, Trade Cancel and Trade Correct execution types.\\n\\n(Prior to FIX 4.1 this field was of type int)',\n  },\n  {\n    abbrName: 'HandlInst',\n    type: 'HandlInstCodeSet',\n    added: 'FIX.2.7',\n    name: 'HandlInst',\n    id: 21,\n    description: 'Instructions for order handling on Broker trading floor',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'SecurityIDSourceCodeSet',\n    unionDataType: 'Reserved100Plus',\n    updatedEP: '161',\n    added: 'FIX.2.7',\n    name: 'SecurityIDSource',\n    id: 22,\n    abbrName: 'Src',\n    description: 'Identifies class or source of the SecurityID(48) value.',\n  },\n  {\n    type: 'String',\n    baseCategoryAbbrName: 'ID',\n    baseCategory: 'Indication',\n    added: 'FIX.2.7',\n    name: 'IOIID',\n    id: 23,\n    abbrName: 'IOIID',\n    description:\n      'Unique identifier of IOI message.\\n\\n(Prior to FIX 4.1 this field was of type int)',\n  },\n  {\n    abbrName: 'QltyInd',\n    type: 'IOIQltyIndCodeSet',\n    added: 'FIX.2.7',\n    name: 'IOIQltyInd',\n    id: 25,\n    description: 'Relative quality of indication',\n  },\n  {\n    abbrName: 'RefID',\n    type: 'String',\n    added: 'FIX.2.7',\n    name: 'IOIRefID',\n    id: 26,\n    description:\n      'Reference identifier used with CANCEL and REPLACE, transaction types.\\n\\n(Prior to FIX 4.1 this field was of type int)',\n  },\n  {\n    type: 'IOIQtyCodeSet',\n    unionDataType: 'Qty',\n    added: 'FIX.2.7',\n    name: 'IOIQty',\n    id: 27,\n    abbrName: 'Qty',\n    description: 'Quantity (e.g. number of shares) in numeric form or relative size.',\n  },\n  {\n    abbrName: 'TransTyp',\n    type: 'IOITransTypeCodeSet',\n    added: 'FIX.2.7',\n    name: 'IOITransType',\n    id: 28,\n    description: 'Identifies IOI message transaction type',\n  },\n  {\n    abbrName: 'LastCpcty',\n    type: 'LastCapacityCodeSet',\n    added: 'FIX.2.7',\n    name: 'LastCapacity',\n    id: 29,\n    description: 'Broker capacity in order execution',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'Exchange',\n    updatedEP: '228',\n    added: 'FIX.2.7',\n    name: 'LastMkt',\n    id: 30,\n    abbrName: 'LastMkt',\n    description:\n      'Market of execution for last fill, or an indication of the market where an order was routed\\n\\nValid values:\\n\\nSee \"Appendix 6-C\"\\n\\nIn the context of ESMA RTS 1 Annex I, Table 3, Field 6 \"Venue of Execution\" it is required that the \"venue where the transaction was executed\" be identified using ISO 10383 (MIC). Additionally, ESMA requires the use of \"MIC code \\'XOFF\\' for financial instruments admitted to trading or traded on a trading venue, where the transaction on that financial instrument is not executed on a trading venue, systematic internaliser or organized trading platform outside of the Union. Use \\'SINT\\' for financial instruments admitted to trading or traded on a trading venue, where the transaction is executed on a systematic internaliser.\"',\n  },\n  {\n    abbrName: 'LastPx',\n    type: 'Price',\n    added: 'FIX.2.7',\n    name: 'LastPx',\n    id: 31,\n    description: 'Price of this (last) fill.',\n  },\n  {\n    abbrName: 'LastQty',\n    type: 'Qty',\n    added: 'FIX.2.7',\n    name: 'LastQty',\n    id: 32,\n    description:\n      'Quantity (e.g. shares) bought/sold on this (last) fill.\\n\\n(Prior to FIX 4.2 this field was of type int)',\n  },\n  {\n    abbrName: 'NoLinesOfText',\n    type: 'NumInGroup',\n    added: 'FIX.2.7',\n    name: 'NoLinesOfText',\n    id: 33,\n    description: 'Identifies number of lines of text body',\n  },\n  {\n    abbrName: 'SeqNum',\n    type: 'SeqNum',\n    added: 'FIX.2.7',\n    name: 'MsgSeqNum',\n    id: 34,\n    description: 'Integer message sequence number.',\n  },\n  {\n    abbrName: 'MsgTyp',\n    type: 'MsgTypeCodeSet',\n    added: 'FIX.2.7',\n    name: 'MsgType',\n    id: 35,\n    description:\n      'Defines message type ALWAYS THIRD FIELD IN MESSAGE. (Always unencrypted)\\n\\nNote: A \"U\" as the first character in the MsgType field (i.e. U, U2, etc) indicates that the message format is privately defined between the sender and receiver.\\n\\n*** Note the use of lower case letters ***',\n  },\n  {\n    abbrName: 'NewSeqNo',\n    type: 'SeqNum',\n    added: 'FIX.2.7',\n    name: 'NewSeqNo',\n    id: 36,\n    description: 'New sequence number',\n  },\n  {\n    abbrName: 'OrdID',\n    type: 'String',\n    added: 'FIX.2.7',\n    name: 'OrderID',\n    id: 37,\n    description:\n      'Unique identifier for Order as assigned by sell-side (broker, exchange, ECN). Uniqueness must be guaranteed within a single trading day. Firms which accept multi-day orders should consider embedding a date within the OrderID field to assure uniqueness across days.',\n  },\n  {\n    abbrName: 'Qty',\n    type: 'Qty',\n    added: 'FIX.2.7',\n    name: 'OrderQty',\n    id: 38,\n    description:\n      'Quantity ordered. This represents the number of shares for equities or par, face or nominal value for FI instruments.\\n\\n(Prior to FIX 4.2 this field was of type int)',\n  },\n  {\n    type: 'OrdStatusCodeSet',\n    baseCategoryAbbrName: 'Stat',\n    baseCategory: 'SingleGeneralOrderHandling',\n    added: 'FIX.2.7',\n    name: 'OrdStatus',\n    id: 39,\n    abbrName: 'OrdStat',\n    description:\n      'Identifies current status of order. *** SOME VALUES HAVE BEEN REPLACED - See \"Replaced Features and Supported Approach\" *** (see Volume : \"Glossary\" for value definitions)',\n  },\n  {\n    type: 'OrdTypeCodeSet',\n    baseCategoryAbbrName: 'Typ',\n    baseCategory: 'SingleGeneralOrderHandling',\n    added: 'FIX.2.7',\n    name: 'OrdType',\n    id: 40,\n    abbrName: 'OrdTyp',\n    description:\n      'Order type. *** SOME VALUES ARE NO LONGER USED - See \"Deprecated (Phased-out) Features and Supported Approach\" *** (see Volume : \"Glossary\" for value definitions)',\n  },\n  {\n    type: 'String',\n    baseCategoryAbbrName: 'OrigID',\n    baseCategory: 'SingleGeneralOrderHandling',\n    added: 'FIX.2.7',\n    name: 'OrigClOrdID',\n    id: 41,\n    abbrName: 'OrigClOrdID',\n    description:\n      'ClOrdID (11) of the previous order (NOT the initial order of the day) as assigned by the institution, used to identify the previous order in cancel and cancel/replace requests.',\n  },\n  {\n    abbrName: 'OrigTm',\n    type: 'UTCTimestamp',\n    added: 'FIX.2.7',\n    name: 'OrigTime',\n    id: 42,\n    description:\n      'Time of message origination (always expressed in UTC (Universal Time Coordinated, also known as \"GMT\"))',\n  },\n  {\n    abbrName: 'PosDup',\n    type: 'PossDupFlagCodeSet',\n    added: 'FIX.2.7',\n    name: 'PossDupFlag',\n    id: 43,\n    description: 'Indicates possible retransmission of message with this sequence number',\n  },\n  {\n    abbrName: 'Px',\n    type: 'Price',\n    added: 'FIX.2.7',\n    name: 'Price',\n    id: 44,\n    description: 'Price per unit of quantity (e.g. per share)',\n  },\n  {\n    abbrName: 'RefSeqNum',\n    type: 'SeqNum',\n    added: 'FIX.2.7',\n    name: 'RefSeqNum',\n    id: 45,\n    description: 'Reference message sequence number',\n  },\n  {\n    abbrName: 'ID',\n    type: 'String',\n    added: 'FIX.2.7',\n    name: 'SecurityID',\n    id: 48,\n    discriminatorId: '22',\n    description:\n      'Security identifier value of SecurityIDSource (22) type (e.g. CUSIP, SEDOL, ISIN, etc). Requires SecurityIDSource.',\n  },\n  {\n    abbrName: 'SID',\n    type: 'String',\n    added: 'FIX.2.7',\n    name: 'SenderCompID',\n    id: 49,\n    description: 'Assigned value used to identify firm sending message.',\n  },\n  {\n    abbrName: 'SSub',\n    type: 'String',\n    added: 'FIX.2.7',\n    name: 'SenderSubID',\n    id: 50,\n    description:\n      'Assigned value used to identify specific message originator (desk, trader, etc.)',\n  },\n  {\n    abbrName: 'Snt',\n    type: 'UTCTimestamp',\n    added: 'FIX.2.7',\n    name: 'SendingTime',\n    id: 52,\n    description:\n      'Time of message transmission (always expressed in UTC (Universal Time Coordinated, also known as \"GMT\")',\n  },\n  {\n    abbrName: 'Qty',\n    type: 'Qty',\n    added: 'FIX.2.7',\n    name: 'Quantity',\n    id: 53,\n    description:\n      'Overall/total quantity (e.g. number of shares)\\n\\n(Prior to FIX 4.2 this field was of type int)',\n  },\n  {\n    abbrName: 'Side',\n    type: 'SideCodeSet',\n    added: 'FIX.2.7',\n    name: 'Side',\n    id: 54,\n    description: 'Side of order (see Volume : \"Glossary\" for value definitions)',\n  },\n  {\n    abbrName: 'Sym',\n    type: 'String',\n    added: 'FIX.2.7',\n    name: 'Symbol',\n    id: 55,\n    description:\n      'Ticker symbol. Common, \"human understood\" representation of the security. SecurityID (48) value can be specified if no symbol exists (e.g. non-exchange traded Collective Investment Vehicles)\\n\\nUse \"[N/A]\" for products which do not have a symbol.',\n  },\n  {\n    abbrName: 'TID',\n    type: 'String',\n    added: 'FIX.2.7',\n    name: 'TargetCompID',\n    id: 56,\n    description: 'Assigned value used to identify receiving firm.',\n  },\n  {\n    abbrName: 'TSub',\n    type: 'String',\n    added: 'FIX.2.7',\n    name: 'TargetSubID',\n    id: 57,\n    description:\n      'Assigned value used to identify specific individual or unit intended to receive message. \"ADMIN\" reserved for administrative messages not intended for a specific user.',\n  },\n  {\n    abbrName: 'Txt',\n    type: 'String',\n    added: 'FIX.2.7',\n    name: 'Text',\n    id: 58,\n    description:\n      'Free format text string\\n\\n(Note: this field does not have a specified maximum length)',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'TimeInForceCodeSet',\n    updatedEP: '253',\n    added: 'FIX.2.7',\n    name: 'TimeInForce',\n    id: 59,\n    abbrName: 'TmInForce',\n    description:\n      'Specifies how long the order remains in effect. Absence of this field is interpreted as DAY. NOTE not applicable to CIV Orders.',\n  },\n  {\n    updated: 'FIX.5.0SP1',\n    type: 'UTCTimestamp',\n    updatedEP: '94',\n    added: 'FIX.2.7',\n    name: 'TransactTime',\n    id: 60,\n    abbrName: 'TxnTm',\n    description:\n      'Timestamp when the business transaction represented by the message occurred.',\n  },\n  {\n    abbrName: 'Urgency',\n    type: 'UrgencyCodeSet',\n    added: 'FIX.2.7',\n    name: 'Urgency',\n    id: 61,\n    description: 'Urgency flag',\n  },\n  {\n    abbrName: 'ValidUntilTm',\n    type: 'UTCTimestamp',\n    added: 'FIX.2.7',\n    name: 'ValidUntilTime',\n    id: 62,\n    description:\n      'Indicates expiration time of indication message (always expressed in UTC (Universal Time Coordinated, also known as \"GMT\")',\n  },\n  {\n    type: 'SettlTypeCodeSet',\n    unionDataType: 'Tenor',\n    added: 'FIX.2.7',\n    name: 'SettlType',\n    id: 63,\n    abbrName: 'SettlTyp',\n    description:\n      'Indicates order settlement period. If present, SettlDate (64) overrides this field. If both SettlType (63) and SettDate (64) are omitted, the default for SettlType (63) is 0 (Regular)\\n\\nRegular is defined as the default settlement period for the particular security on the exchange of execution.\\n\\nIn Fixed Income the contents of this field may influence the instrument definition if the SecurityID (48) is ambiguous. In the US an active Treasury offering may be re-opened, and for a time one CUSIP will apply to both the current and \"when-issued\" securities. Supplying a value of \"7\" clarifies the instrument description; any other value or the absence of this field should cause the respondent to default to the active issue.\\n\\nAdditionally the following patterns may be uses as well as enum values\\n\\nDx = FX tenor expression for \"days\", e.g. \"D5\", where \"x\" is any integer > 0\\n\\nMx = FX tenor expression for \"months\", e.g. \"M3\", where \"x\" is any integer > 0\\n\\nWx = FX tenor expression for \"weeks\", e.g. \"W13\", where \"x\" is any integer > 0\\n\\nYx = FX tenor expression for \"years\", e.g. \"Y1\", where \"x\" is any integer > 0\\n\\nNoted that for FX the tenors expressed using Dx, Mx, Wx, and Yx values do not denote business days, but calendar days.',\n  },\n  {\n    abbrName: 'SettlDt',\n    type: 'LocalMktDate',\n    added: 'FIX.2.7',\n    name: 'SettlDate',\n    id: 64,\n    description:\n      'Specific date of trade settlement (SettlementDate) in YYYYMMDD format.\\n\\nIf present, this field overrides SettlType (63). This field is required if the value of SettlType (63) is 6 (Future) or 8 (Sellers Option). This field must be omitted if the value of SettlType (63) is 7 (When and If Issued)\\n\\n(expressed in local time at place of settlement)',\n  },\n  {\n    abbrName: 'Sfx',\n    type: 'SymbolSfxCodeSet',\n    added: 'FIX.2.7',\n    name: 'SymbolSfx',\n    id: 65,\n    description:\n      'Additional information about the security (e.g. preferred, warrants, etc.). Note also see SecurityType (167).\\n\\nAs defined in the NYSE Stock and bond Symbol Directory and in the AMEX Fitch Directory.',\n  },\n  {\n    type: 'String',\n    baseCategoryAbbrName: 'ID',\n    baseCategory: 'ProgramTrading',\n    added: 'FIX.2.7',\n    name: 'ListID',\n    id: 66,\n    abbrName: 'ListID',\n    description:\n      'Unique identifier for list as assigned by institution, used to associate multiple individual orders. Uniqueness must be guaranteed within a single trading day. Firms which generate multi-day orders should consider embedding a date within the ListID field to assure uniqueness across days.',\n  },\n  {\n    type: 'int',\n    baseCategoryAbbrName: 'SeqNo',\n    baseCategory: 'ProgramTrading',\n    added: 'FIX.2.7',\n    name: 'ListSeqNo',\n    id: 67,\n    abbrName: 'ListSeqNo',\n    description:\n      'Sequence of individual order within list (i.e. ListSeqNo of TotNoOrders (68), 2 of 25, 3 of 25, . . . )',\n  },\n  {\n    abbrName: 'TotNoOrds',\n    type: 'int',\n    added: 'FIX.2.7',\n    name: 'TotNoOrders',\n    id: 68,\n    description:\n      'Total number of list order entries across all messages. Should be the sum of all NoOrders (73) in each message that has repeating list order entries related to the same ListID (66). Used to support fragmentation.\\n\\n(Prior to FIX 4.2 this field was named \"ListNoOrds\")',\n  },\n  {\n    abbrName: 'ListExecInst',\n    type: 'String',\n    added: 'FIX.2.7',\n    name: 'ListExecInst',\n    id: 69,\n    description:\n      'Free format text message containing list handling and execution instructions.',\n  },\n  {\n    type: 'String',\n    baseCategoryAbbrName: 'ID',\n    baseCategory: 'Allocation',\n    added: 'FIX.2.7',\n    name: 'AllocID',\n    id: 70,\n    abbrName: 'AllocID',\n    description:\n      'Unique identifier for allocation message.\\n\\n(Prior to FIX 4.1 this field was of type int)',\n  },\n  {\n    abbrName: 'TransTyp',\n    type: 'AllocTransTypeCodeSet',\n    added: 'FIX.2.7',\n    name: 'AllocTransType',\n    id: 71,\n    description:\n      'Identifies allocation transaction type *** SOME VALUES HAVE BEEN REPLACED - See \"Replaced Features and Supported Approach\" ***',\n  },\n  {\n    type: 'String',\n    baseCategoryAbbrName: 'RefID',\n    baseCategory: 'Allocation',\n    added: 'FIX.2.7',\n    name: 'RefAllocID',\n    id: 72,\n    abbrName: 'RefAllocID',\n    description:\n      'Reference identifier to be used with AllocTransType (71) = Replace or Cancel.\\n\\n(Prior to FIX 4.1 this field was of type int)',\n  },\n  {\n    abbrName: 'NoOrds',\n    type: 'NumInGroup',\n    added: 'FIX.2.7',\n    name: 'NoOrders',\n    id: 73,\n    description:\n      'Indicates number of orders to be combined for average pricing and allocation.',\n  },\n  {\n    abbrName: 'AvgPxPrcsn',\n    type: 'int',\n    added: 'FIX.2.7',\n    name: 'AvgPxPrecision',\n    id: 74,\n    description:\n      'Indicates number of decimal places to be used for average pricing. Absence of this field indicates that default precision arranged by the broker/institution is to be used.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'LocalMktDate',\n    updatedEP: '190',\n    added: 'FIX.2.7',\n    name: 'TradeDate',\n    id: 75,\n    abbrName: 'TrdDt',\n    description:\n      'Indicates date of trading day. Absence of this field indicates current day (expressed in local time at place of trade).',\n  },\n  {\n    abbrName: 'PosEfct',\n    type: 'PositionEffectCodeSet',\n    added: 'FIX.2.7',\n    name: 'PositionEffect',\n    id: 77,\n    description:\n      'Indicates whether the resulting position after a trade should be an opening position or closing position. Used for omnibus accounting - where accounts are held on a gross basis instead of being netted together.',\n  },\n  {\n    abbrName: 'NoAllocs',\n    type: 'NumInGroup',\n    added: 'FIX.2.7',\n    name: 'NoAllocs',\n    id: 78,\n    description: 'Number of repeating AllocAccount (79)/AllocPrice (366) entries.',\n  },\n  {\n    abbrName: 'Acct',\n    type: 'String',\n    added: 'FIX.2.7',\n    name: 'AllocAccount',\n    id: 79,\n    description: 'Sub-account mnemonic',\n  },\n  {\n    abbrName: 'Qty',\n    type: 'Qty',\n    added: 'FIX.2.7',\n    name: 'AllocQty',\n    id: 80,\n    description:\n      'Quantity to be allocated to specific sub-account\\n\\n(Prior to FIX 4.2 this field was of type int)',\n  },\n  {\n    abbrName: 'ProcCode',\n    type: 'ProcessCodeCodeSet',\n    added: 'FIX.2.7',\n    name: 'ProcessCode',\n    id: 81,\n    description:\n      'Processing code for sub-account. Absence of this field in AllocAccount (79) / AllocPrice (366) /AllocQty (80) / ProcessCode instance indicates regular trade.',\n  },\n  {\n    abbrName: 'NoRpts',\n    type: 'int',\n    added: 'FIX.2.7',\n    name: 'NoRpts',\n    id: 82,\n    description: 'Total number of reports within series.',\n  },\n  {\n    abbrName: 'RptSeq',\n    type: 'int',\n    added: 'FIX.2.7',\n    name: 'RptSeq',\n    id: 83,\n    description:\n      'Sequence number of message within report series. Used to carry reporting sequence number of the fill as represented on the Trade Report Side.',\n  },\n  {\n    abbrName: 'CxlQty',\n    type: 'Qty',\n    added: 'FIX.2.7',\n    name: 'CxlQty',\n    id: 84,\n    description:\n      'Total quantity canceled for this order.\\n\\n(Prior to FIX 4.2 this field was of type int)',\n  },\n  {\n    abbrName: 'NoDlvyInst',\n    type: 'NumInGroup',\n    added: 'FIX.2.7',\n    name: 'NoDlvyInst',\n    id: 85,\n    description:\n      'Number of delivery instruction fields in repeating group.\\n\\nNote this field was removed in FIX 4.1 and reinstated in FIX 4.4.',\n  },\n  {\n    type: 'AllocStatusCodeSet',\n    baseCategoryAbbrName: 'Stat',\n    baseCategory: 'Allocation',\n    added: 'FIX.2.7',\n    name: 'AllocStatus',\n    id: 87,\n    abbrName: 'Stat',\n    description: 'Identifies status of allocation.',\n  },\n  {\n    updated: 'FIX.5.0SP1',\n    type: 'AllocRejCodeCodeSet',\n    unionDataType: 'Reserved100Plus',\n    updatedEP: '95',\n    added: 'FIX.2.7',\n    name: 'AllocRejCode',\n    id: 88,\n    abbrName: 'RejCode',\n    description: 'Identifies reason for rejection.',\n  },\n  {\n    type: 'data',\n    deprecated: 'FIXT.1.1',\n    added: 'FIX.2.7',\n    name: 'Signature',\n    id: 89,\n    abbrName: 'Signature',\n    lengthId: '93',\n    description: 'Electronic signature',\n  },\n  {\n    type: 'Length',\n    deprecated: 'FIXT.1.1',\n    added: 'FIX.2.7',\n    name: 'SecureDataLen',\n    id: 90,\n    abbrName: 'SecureDataLen',\n    description: 'Length of encrypted message',\n  },\n  {\n    type: 'data',\n    deprecated: 'FIXT.1.1',\n    added: 'FIX.2.7',\n    name: 'SecureData',\n    id: 91,\n    abbrName: 'SecureData',\n    lengthId: '90',\n    description: 'Actual encrypted data stream',\n  },\n  {\n    type: 'Length',\n    deprecated: 'FIXT.1.1',\n    added: 'FIX.2.7',\n    name: 'SignatureLength',\n    id: 93,\n    abbrName: 'SignatureLength',\n    description: 'Number of bytes in signature field',\n  },\n  {\n    abbrName: 'EmailTyp',\n    type: 'EmailTypeCodeSet',\n    added: 'FIX.2.7',\n    name: 'EmailType',\n    id: 94,\n    description: 'Email message type.',\n  },\n  {\n    abbrName: 'RawDataLength',\n    type: 'Length',\n    added: 'FIX.2.7',\n    name: 'RawDataLength',\n    id: 95,\n    description: 'Number of bytes in raw data field.',\n  },\n  {\n    abbrName: 'RawData',\n    type: 'data',\n    added: 'FIX.2.7',\n    name: 'RawData',\n    id: 96,\n    lengthId: '95',\n    description:\n      'Unformatted raw data, can include bitmaps, word processor documents, etc.',\n  },\n  {\n    abbrName: 'PosRsnd',\n    type: 'PossResendCodeSet',\n    added: 'FIX.2.7',\n    name: 'PossResend',\n    id: 97,\n    description:\n      'Indicates that message may contain information that has been sent under another sequence number.',\n  },\n  {\n    abbrName: 'EncryptMethod',\n    type: 'EncryptMethodCodeSet',\n    added: 'FIX.2.7',\n    name: 'EncryptMethod',\n    id: 98,\n    description: 'Method of encryption.',\n  },\n  {\n    abbrName: 'StopPx',\n    type: 'Price',\n    added: 'FIX.2.7',\n    name: 'StopPx',\n    id: 99,\n    description: 'Price per unit of quantity (e.g. per share)',\n  },\n  {\n    abbrName: 'ExDest',\n    type: 'Exchange',\n    added: 'FIX.2.7',\n    name: 'ExDestination',\n    id: 100,\n    description:\n      'Execution destination as defined by institution when order is entered.\\n\\nValid values:\\n\\nSee \"Appendix 6-C\"',\n  },\n  {\n    type: 'CxlRejReasonCodeSet',\n    unionDataType: 'Reserved100Plus',\n    added: 'FIX.2.7',\n    name: 'CxlRejReason',\n    id: 102,\n    abbrName: 'CxlRejRsn',\n    description: 'Code to identify reason for cancel rejection.',\n  },\n  {\n    type: 'OrdRejReasonCodeSet',\n    unionDataType: 'Reserved100Plus',\n    added: 'FIX.2.7',\n    name: 'OrdRejReason',\n    id: 103,\n    abbrName: 'RejRsn',\n    description:\n      'Code to identify reason for order rejection. Note: Values 3, 4, and 5 will be used when rejecting an order due to pre-allocation information errors.',\n  },\n  {\n    abbrName: 'Qual',\n    type: 'IOIQualifierCodeSet',\n    added: 'FIX.3.0',\n    name: 'IOIQualifier',\n    id: 104,\n    description:\n      'Code to qualify IOI use. (see Volume : \"Glossary\" for value definitions)',\n  },\n  {\n    abbrName: 'Issr',\n    type: 'String',\n    added: 'FIX.3.0',\n    name: 'Issuer',\n    id: 106,\n    description:\n      'Name of security issuer (e.g. International Business Machines, GNMA).\\n\\nsee also Volume 7: \"PRODUCT: FIXED INCOME - Euro Issuer Values\"',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'String',\n    updatedEP: '232',\n    added: 'FIX.3.0',\n    name: 'SecurityDesc',\n    id: 107,\n    abbrName: 'Desc',\n    description:\n      'Can be used by the venue or one of the trading parties to provide a non-normative textual description for the financial instrument.',\n  },\n  {\n    abbrName: 'HeartBtInt',\n    type: 'int',\n    added: 'FIX.3.0',\n    name: 'HeartBtInt',\n    id: 108,\n    description: 'Heartbeat interval (seconds)',\n  },\n  {\n    abbrName: 'MinQty',\n    type: 'Qty',\n    added: 'FIX.3.0',\n    name: 'MinQty',\n    id: 110,\n    description:\n      'Minimum quantity of an order to be executed.\\n\\n(Prior to FIX 4.2 this field was of type int)',\n  },\n  {\n    type: 'Qty',\n    deprecated: 'FIX.5.0',\n    added: 'FIX.3.0',\n    name: 'MaxFloor',\n    id: 111,\n    abbrName: 'MaxFloor',\n    description:\n      'The quantity to be displayed . Required for reserve orders. On orders specifies the qty to be displayed, on execution reports the currently displayed quantity.',\n  },\n  {\n    abbrName: 'TestReqID',\n    type: 'String',\n    added: 'FIX.3.0',\n    name: 'TestReqID',\n    id: 112,\n    description:\n      'Identifier included in Test Request message to be returned in resulting Heartbeat',\n  },\n  {\n    abbrName: 'RptToExch',\n    type: 'ReportToExchCodeSet',\n    added: 'FIX.3.0',\n    name: 'ReportToExch',\n    id: 113,\n    description: 'Identifies party of trade responsible for exchange reporting.',\n  },\n  {\n    abbrName: 'LocReqd',\n    type: 'LocateReqdCodeSet',\n    added: 'FIX.4.0',\n    name: 'LocateReqd',\n    id: 114,\n    description:\n      'Indicates whether the broker is to locate the stock in conjunction with a short sell order.',\n  },\n  {\n    abbrName: 'OBID',\n    type: 'String',\n    added: 'FIX.4.0',\n    name: 'OnBehalfOfCompID',\n    id: 115,\n    description:\n      'Assigned value used to identify firm originating message if the message was delivered by a third party i.e. the third party firm identifier would be delivered in the SenderCompID field and the firm originating the message in this field.',\n  },\n  {\n    abbrName: 'OBSub',\n    type: 'String',\n    added: 'FIX.4.0',\n    name: 'OnBehalfOfSubID',\n    id: 116,\n    description:\n      'Assigned value used to identify specific message originator (i.e. trader) if the message was delivered by a third party',\n  },\n  {\n    abbrName: 'QID',\n    type: 'String',\n    added: 'FIX.4.0',\n    name: 'QuoteID',\n    id: 117,\n    description: 'Unique identifier for quote',\n  },\n  {\n    abbrName: 'NetMny',\n    type: 'Amt',\n    added: 'FIX.4.0',\n    name: 'NetMoney',\n    id: 118,\n    description:\n      'Total amount due as the result of the transaction (e.g. for Buy order - principal + commission + fees) reported in currency of execution.',\n  },\n  {\n    abbrName: 'SettlCurrAmt',\n    type: 'Amt',\n    added: 'FIX.4.0',\n    name: 'SettlCurrAmt',\n    id: 119,\n    description:\n      'Total amount due expressed in settlement currency (includes the effect of the forex transaction)',\n  },\n  {\n    abbrName: 'SettlCcy',\n    type: 'Currency',\n    added: 'FIX.4.0',\n    name: 'SettlCurrency',\n    id: 120,\n    description: 'Currency code of settlement denomination.',\n  },\n  {\n    abbrName: 'ForexReq',\n    type: 'ForexReqCodeSet',\n    added: 'FIX.4.0',\n    name: 'ForexReq',\n    id: 121,\n    description:\n      'Indicates request for forex accommodation trade to be executed along with security transaction.',\n  },\n  {\n    abbrName: 'OrigSnt',\n    type: 'UTCTimestamp',\n    added: 'FIX.4.0',\n    name: 'OrigSendingTime',\n    id: 122,\n    description:\n      'Original time of message transmission (always expressed in UTC (Universal Time Coordinated, also known as \"GMT\") when transmitting orders as the result of a resend request.',\n  },\n  {\n    abbrName: 'GapFillFlag',\n    type: 'GapFillFlagCodeSet',\n    added: 'FIX.4.0',\n    name: 'GapFillFlag',\n    id: 123,\n    description:\n      'Indicates that the Sequence Reset message is replacing administrative or application messages which will not be resent.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'NumInGroup',\n    updatedEP: '118',\n    added: 'FIX.4.0',\n    name: 'NoExecs',\n    id: 124,\n    abbrName: 'NoExecs',\n    description: 'Number of executions or trades.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'UTCTimestamp',\n    updatedEP: '171',\n    added: 'FIX.4.0',\n    name: 'ExpireTime',\n    id: 126,\n    abbrName: 'ExpireTm',\n    description:\n      'Time/Date of order expiration (always expressed in UTC (Universal Time Coordinated, also known as \"GMT\")\\n\\nThe meaning of expiration is specific to the context where the field is used.\\n\\nFor orders, this is the expiration time of a Good Til Date TimeInForce.\\n\\nFor Quotes - this is the expiration of the quote.\\n\\nExpiration time is provided across the quote message dialog to control the length of time of the overall quoting process.\\n\\nFor collateral requests, this is the time by which collateral must be assigned.\\n\\nFor collateral assignments, this is the time by which a response to the assignment is expected.\\n\\nFor credit/risk limit checks, this is the time when the reserved credit limit will expire for the requested transaction.',\n  },\n  {\n    abbrName: 'DkRsn',\n    type: 'DKReasonCodeSet',\n    added: 'FIX.4.0',\n    name: 'DKReason',\n    id: 127,\n    description: 'Reason for execution rejection.',\n  },\n  {\n    abbrName: 'D2ID',\n    type: 'String',\n    added: 'FIX.4.0',\n    name: 'DeliverToCompID',\n    id: 128,\n    description:\n      'Assigned value used to identify the firm targeted to receive the message if the message is delivered by a third party i.e. the third party firm identifier would be delivered in the TargetCompID (56) field and the ultimate receiver firm ID in this field.',\n  },\n  {\n    abbrName: 'D2Sub',\n    type: 'String',\n    added: 'FIX.4.0',\n    name: 'DeliverToSubID',\n    id: 129,\n    description:\n      'Assigned value used to identify specific message recipient (i.e. trader) if the message is delivered by a third party',\n  },\n  {\n    abbrName: 'NatFlag',\n    type: 'IOINaturalFlagCodeSet',\n    added: 'FIX.4.0',\n    name: 'IOINaturalFlag',\n    id: 130,\n    description:\n      'Indicates that IOI is the result of an existing agency order or a facilitation position resulting from an agency order, not from principal trading or order solicitation activity.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'String',\n    updatedEP: '143',\n    added: 'FIX.4.0',\n    name: 'QuoteReqID',\n    id: 131,\n    abbrName: 'ReqID',\n    description: 'Unique identifier for a QuoteRequest(35=R).',\n  },\n  {\n    abbrName: 'BidPx',\n    type: 'Price',\n    added: 'FIX.4.0',\n    name: 'BidPx',\n    id: 132,\n    description: 'Bid price/rate',\n  },\n  {\n    abbrName: 'OfrPx',\n    type: 'Price',\n    added: 'FIX.4.0',\n    name: 'OfferPx',\n    id: 133,\n    description: 'Offer price/rate',\n  },\n  {\n    abbrName: 'BidSz',\n    type: 'Qty',\n    added: 'FIX.4.0',\n    name: 'BidSize',\n    id: 134,\n    description: 'Quantity of bid\\n\\n(Prior to FIX 4.2 this field was of type int)',\n  },\n  {\n    abbrName: 'OfrSz',\n    type: 'Qty',\n    added: 'FIX.4.0',\n    name: 'OfferSize',\n    id: 135,\n    description: 'Quantity of offer\\n\\n(Prior to FIX 4.2 this field was of type int)',\n  },\n  {\n    abbrName: 'NoMiscFees',\n    type: 'NumInGroup',\n    added: 'FIX.4.0',\n    name: 'NoMiscFees',\n    id: 136,\n    description: 'Number of repeating groups of miscellaneous fees',\n  },\n  {\n    abbrName: 'Amt',\n    type: 'Amt',\n    added: 'FIX.4.0',\n    name: 'MiscFeeAmt',\n    id: 137,\n    description: 'Miscellaneous fee value',\n  },\n  {\n    abbrName: 'Curr',\n    type: 'Currency',\n    added: 'FIX.4.0',\n    name: 'MiscFeeCurr',\n    id: 138,\n    description: 'Currency of miscellaneous fee',\n  },\n  {\n    abbrName: 'Typ',\n    type: 'MiscFeeTypeCodeSet',\n    added: 'FIX.4.0',\n    name: 'MiscFeeType',\n    id: 139,\n    description: 'Indicates type of miscellaneous fee.',\n  },\n  {\n    abbrName: 'PrevClsPx',\n    type: 'Price',\n    added: 'FIX.4.0',\n    name: 'PrevClosePx',\n    id: 140,\n    description: 'Previous closing price of security.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'ResetSeqNumFlagCodeSet',\n    updatedEP: '204',\n    added: 'FIX.4.1',\n    name: 'ResetSeqNumFlag',\n    id: 141,\n    abbrName: 'ResetSeqNumFlag',\n    description:\n      'Indicates that both sides of the FIX session should reset sequence numbers.',\n  },\n  {\n    abbrName: 'SLoc',\n    type: 'String',\n    added: 'FIX.4.1',\n    name: 'SenderLocationID',\n    id: 142,\n    description:\n      \"Assigned value used to identify specific message originator's location (i.e. geographic location and/or desk, trader)\",\n  },\n  {\n    abbrName: 'TLoc',\n    type: 'String',\n    added: 'FIX.4.1',\n    name: 'TargetLocationID',\n    id: 143,\n    description:\n      \"Assigned value used to identify specific message destination's location (i.e. geographic location and/or desk, trader)\",\n  },\n  {\n    abbrName: 'OBLoc',\n    type: 'String',\n    added: 'FIX.4.1',\n    name: 'OnBehalfOfLocationID',\n    id: 144,\n    description:\n      \"Assigned value used to identify specific message originator's location (i.e. geographic location and/or desk, trader) if the message was delivered by a third party\",\n  },\n  {\n    abbrName: 'D2Loc',\n    type: 'String',\n    added: 'FIX.4.1',\n    name: 'DeliverToLocationID',\n    id: 145,\n    description:\n      \"Assigned value used to identify specific message recipient's location (i.e. geographic location and/or desk, trader) if the message was delivered by a third party\",\n  },\n  {\n    abbrName: 'NoReltdSym',\n    type: 'NumInGroup',\n    added: 'FIX.4.1',\n    name: 'NoRelatedSym',\n    id: 146,\n    description: 'Specifies the number of repeating symbols specified.',\n  },\n  {\n    abbrName: 'Subject',\n    type: 'String',\n    added: 'FIX.4.1',\n    name: 'Subject',\n    id: 147,\n    description: 'The subject of an Email message',\n  },\n  {\n    abbrName: 'Headline',\n    type: 'String',\n    added: 'FIX.4.1',\n    name: 'Headline',\n    id: 148,\n    description: 'The headline of a News message',\n  },\n  {\n    abbrName: 'URL',\n    type: 'String',\n    added: 'FIX.4.1',\n    name: 'URLLink',\n    id: 149,\n    description:\n      'A URI (Uniform Resource Identifier) or URL (Uniform Resource Locator) link to additional information (i.e. http://www.XYZ.com/research.html)\\n\\nSee \"Appendix 6-B FIX Fields Based Upon Other Standards\"',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'ExecTypeCodeSet',\n    updatedEP: '131',\n    added: 'FIX.4.1',\n    name: 'ExecType',\n    id: 150,\n    abbrName: 'ExecTyp',\n    description:\n      'Describes the specific ExecutionRpt (e.g. Pending Cancel) while OrdStatus(39) will always identify the current order status (e.g. Partially Filled).',\n  },\n  {\n    abbrName: 'LeavesQty',\n    type: 'Qty',\n    added: 'FIX.4.1',\n    name: 'LeavesQty',\n    id: 151,\n    description:\n      'Quantity open for further execution. If the OrdStatus (39) is Canceled, DoneForTheDay, Expired, Calculated, or Rejected (in which case the order is no longer active) then LeavesQty could be 0, otherwise LeavesQty = OrderQty (38) - CumQty (14).\\n\\n(Prior to FIX 4.2 this field was of type int)',\n  },\n  {\n    abbrName: 'Cash',\n    type: 'Qty',\n    added: 'FIX.4.1',\n    name: 'CashOrderQty',\n    id: 152,\n    description:\n      'Specifies the approximate order quantity desired in total monetary units vs. as tradeable units (e.g. number of shares). The broker or fund manager (for CIV orders) would be responsible for converting and calculating a tradeable unit (e.g. share) quantity (OrderQty (38)) based upon this amount to be used for the actual order and subsequent messages.',\n  },\n  {\n    abbrName: 'AvgPx',\n    type: 'Price',\n    added: 'FIX.4.1',\n    name: 'AllocAvgPx',\n    id: 153,\n    description:\n      'AvgPx (6) for a specific AllocAccount (79)\\n\\nFor Fixed Income this is always expressed as \"percent of par\" price type.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'Amt',\n    updatedEP: '282',\n    added: 'FIX.4.1',\n    name: 'AllocNetMoney',\n    id: 154,\n    abbrName: 'NetMny',\n    description: 'NetMoney(118) for a specific AllocAccount(79).',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'float',\n    updatedEP: '282',\n    added: 'FIX.4.1',\n    name: 'SettlCurrFxRate',\n    id: 155,\n    abbrName: 'SettlCurrFxRt',\n    description:\n      'Foreign exchange rate used to compute SettlCurrAmt(119) from Currency(15) to SettlCurrency(120).',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'SettlCurrFxRateCalcCodeSet',\n    updatedEP: '179',\n    added: 'FIX.4.1',\n    name: 'SettlCurrFxRateCalc',\n    id: 156,\n    abbrName: 'SettlCurrFxRtCalc',\n    description:\n      'Specifies whether or not SettlCurrFxRate (155) should be multiplied or divided.',\n  },\n  {\n    abbrName: 'NumDaysInt',\n    type: 'int',\n    added: 'FIX.4.1',\n    name: 'NumDaysInterest',\n    id: 157,\n    description:\n      'Number of Days of Interest for convertible bonds and fixed income. Note value may be negative.',\n  },\n  {\n    abbrName: 'AcrdIntRt',\n    type: 'Percentage',\n    added: 'FIX.4.1',\n    name: 'AccruedInterestRate',\n    id: 158,\n    description:\n      'The amount the buyer compensates the seller for the portion of the next coupon interest payment the seller has earned but will not receive from the issuer because the issuer will send the next coupon payment to the buyer. Accrued Interest Rate is the annualized Accrued Interest amount divided by the purchase price of the bond.',\n  },\n  {\n    abbrName: 'AcrdIntAmt',\n    type: 'Amt',\n    added: 'FIX.4.1',\n    name: 'AccruedInterestAmt',\n    id: 159,\n    description: 'Amount of Accrued Interest for convertible bonds and fixed income',\n  },\n  {\n    abbrName: 'SettlInstMode',\n    type: 'SettlInstModeCodeSet',\n    added: 'FIX.4.1',\n    name: 'SettlInstMode',\n    id: 160,\n    description:\n      'Indicates mode used for Settlement Instructions message. *** SOME VALUES HAVE BEEN REPLACED - See \"Replaced Features and Supported Approach\" ***',\n  },\n  {\n    abbrName: 'Txt',\n    type: 'String',\n    added: 'FIX.4.1',\n    name: 'AllocText',\n    id: 161,\n    description: 'Free format text related to a specific AllocAccount (79).',\n  },\n  {\n    abbrName: 'SettlInstID',\n    type: 'String',\n    added: 'FIX.4.1',\n    name: 'SettlInstID',\n    id: 162,\n    description: 'Unique identifier for Settlement Instruction.',\n  },\n  {\n    abbrName: 'SettlInstTransTyp',\n    type: 'SettlInstTransTypeCodeSet',\n    added: 'FIX.4.1',\n    name: 'SettlInstTransType',\n    id: 163,\n    description: 'Settlement Instructions message transaction type',\n  },\n  {\n    abbrName: 'EmailThreadID',\n    type: 'String',\n    added: 'FIX.4.1',\n    name: 'EmailThreadID',\n    id: 164,\n    description: 'Unique identifier for an email thread (new and chain of replies)',\n  },\n  {\n    abbrName: 'InstSrc',\n    type: 'SettlInstSourceCodeSet',\n    added: 'FIX.4.1',\n    name: 'SettlInstSource',\n    id: 165,\n    description: 'Indicates source of Settlement Instructions',\n  },\n  {\n    abbrName: 'SecTyp',\n    type: 'SecurityTypeCodeSet',\n    added: 'FIX.4.1',\n    name: 'SecurityType',\n    id: 167,\n    description:\n      'Indicates type of security. Security type enumerations are grouped by Product(460) field value. NOTE: Additional values may be used by mutual agreement of the counterparties.',\n  },\n  {\n    abbrName: 'EfctvTm',\n    type: 'UTCTimestamp',\n    added: 'FIX.4.1',\n    name: 'EffectiveTime',\n    id: 168,\n    description:\n      'Time the details within the message should take effect (always expressed in UTC (Universal Time Coordinated, also known as \"GMT\")',\n  },\n  {\n    abbrName: 'StandInstDbTyp',\n    type: 'StandInstDbTypeCodeSet',\n    added: 'FIX.4.1',\n    name: 'StandInstDbType',\n    id: 169,\n    description: 'Identifies the Standing Instruction database used',\n  },\n  {\n    abbrName: 'StandInstDbName',\n    type: 'String',\n    added: 'FIX.4.1',\n    name: 'StandInstDbName',\n    id: 170,\n    description:\n      \"Name of the Standing Instruction database represented with StandInstDbType (169) (i.e. the Global Custodian's name).\",\n  },\n  {\n    abbrName: 'StandInstDbID',\n    type: 'String',\n    added: 'FIX.4.1',\n    name: 'StandInstDbID',\n    id: 171,\n    description:\n      'Unique identifier used on the Standing Instructions database for the Standing Instructions to be referenced.',\n  },\n  {\n    abbrName: 'DlvryTyp',\n    type: 'SettlDeliveryTypeCodeSet',\n    added: 'FIX.4.1',\n    name: 'SettlDeliveryType',\n    id: 172,\n    description: 'Identifies type of settlement',\n  },\n  {\n    abbrName: 'BidSpotRt',\n    type: 'Price',\n    added: 'FIX.4.1',\n    name: 'BidSpotRate',\n    id: 188,\n    description: 'Bid F/X spot rate.',\n  },\n  {\n    abbrName: 'BidFwdPnts',\n    type: 'PriceOffset',\n    added: 'FIX.4.1',\n    name: 'BidForwardPoints',\n    id: 189,\n    description: 'Bid F/X forward points added to spot rate. May be a negative value.',\n  },\n  {\n    abbrName: 'OfrSpotRt',\n    type: 'Price',\n    added: 'FIX.4.1',\n    name: 'OfferSpotRate',\n    id: 190,\n    description: 'Offer F/X spot rate.',\n  },\n  {\n    abbrName: 'OfrFwdPnts',\n    type: 'PriceOffset',\n    added: 'FIX.4.1',\n    name: 'OfferForwardPoints',\n    id: 191,\n    description: 'Offer F/X forward points added to spot rate. May be a negative value.',\n  },\n  {\n    type: 'Qty',\n    deprecated: 'FIX.5.0',\n    added: 'FIX.4.1',\n    name: 'OrderQty2',\n    id: 192,\n    abbrName: 'Qty2',\n    description: 'OrderQty (38) of the future part of a F/X swap order.',\n  },\n  {\n    type: 'LocalMktDate',\n    deprecated: 'FIX.5.0',\n    added: 'FIX.4.1',\n    name: 'SettlDate2',\n    id: 193,\n    abbrName: 'SettlDt2',\n    description: 'SettDate (64) of the future part of a F/X swap order.',\n  },\n  {\n    abbrName: 'LastSpotRt',\n    type: 'Price',\n    added: 'FIX.4.1',\n    name: 'LastSpotRate',\n    id: 194,\n    description: 'F/X spot rate.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'PriceOffset',\n    updatedEP: '282',\n    added: 'FIX.4.1',\n    name: 'LastForwardPoints',\n    id: 195,\n    abbrName: 'LastFwdPnts',\n    description:\n      'F/X forward points added to LastSpotRate(194). May be a negative value. Expressed in decimal form. For example, 61.99 points is expressed and sent as 0.006199.',\n  },\n  {\n    type: 'String',\n    baseCategoryAbbrName: 'LinkID',\n    baseCategory: 'Allocation',\n    added: 'FIX.4.1',\n    name: 'AllocLinkID',\n    id: 196,\n    abbrName: 'LinkID',\n    description:\n      'Can be used to link two different Allocation messages (each with unique AllocID (70)) together, i.e. for F/X \"Netting\" or \"Swaps\". Should be unique.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'AllocLinkTypeCodeSet',\n    updatedEP: '282',\n    added: 'FIX.4.1',\n    name: 'AllocLinkType',\n    id: 197,\n    abbrName: 'LinkTyp',\n    description:\n      'Identifies the type of Allocation linkage when AllocLinkID(196) is used.',\n  },\n  {\n    abbrName: 'OrdID2',\n    type: 'String',\n    added: 'FIX.4.1',\n    name: 'SecondaryOrderID',\n    id: 198,\n    description:\n      'Assigned by the party which accepts the order. Can be used to provide the OrderID (37) used by an exchange or executing system.',\n  },\n  {\n    abbrName: 'NoIOIQuals',\n    type: 'NumInGroup',\n    added: 'FIX.4.1',\n    name: 'NoIOIQualifiers',\n    id: 199,\n    description: 'Number of repeating groups of IOIQualifiers (04).',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'MonthYear',\n    updatedEP: '282',\n    added: 'FIX.4.1',\n    name: 'MaturityMonthYear',\n    id: 200,\n    abbrName: 'MMY',\n    description:\n      'Can be used with standardized derivatives vs. the MaturityDate (541) field. Month and Year of the maturity (used for standardized futures and options).\\n\\nFormat:\\n\\nYYYYMM (e.g. 199903)\\n\\nYYYYMMDD (e.g. 20030323)\\n\\nYYYYMMwN (e.g. 200303w) for week\\n\\nA specific date or can be appended to the MaturityMonthYear. For instance, if multiple standard products exist that mature in the same Year and Month, but actually mature at a different time, a value can be appended, such as \"w\" or \"w2\" to indicate week as opposed to week 2 expiration. Likewise, the date (0-3) can be appended to indicate a specific expiration (maturity date).',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PutOrCallCodeSet',\n    updatedEP: '238',\n    added: 'FIX.4.1',\n    name: 'PutOrCall',\n    id: 201,\n    abbrName: 'PutCall',\n    description:\n      'Indicates whether an option contract is a put, call, chooser or undetermined.',\n  },\n  {\n    abbrName: 'StrkPx',\n    type: 'Price',\n    added: 'FIX.4.1',\n    name: 'StrikePrice',\n    id: 202,\n    description: 'Strike Price for an Option.',\n  },\n  {\n    abbrName: 'Covered',\n    type: 'CoveredOrUncoveredCodeSet',\n    added: 'FIX.4.1',\n    name: 'CoveredOrUncovered',\n    id: 203,\n    description: 'Used for derivative products, such as options',\n  },\n  {\n    abbrName: 'OptAt',\n    type: 'char',\n    added: 'FIX.4.1',\n    name: 'OptAttribute',\n    id: 206,\n    description:\n      'Provided to support versioning of option contracts as a result of corporate actions or events. Use of this field is defined by counterparty agreement or market conventions.',\n  },\n  {\n    abbrName: 'Exch',\n    type: 'Exchange',\n    added: 'FIX.4.1',\n    name: 'SecurityExchange',\n    id: 207,\n    description:\n      'Market used to help identify a security.\\n\\nValid values:\\n\\nSee \"Appendix 6-C\"',\n  },\n  {\n    abbrName: 'NotifyBrkrOfCredit',\n    type: 'NotifyBrokerOfCreditCodeSet',\n    added: 'FIX.4.1',\n    name: 'NotifyBrokerOfCredit',\n    id: 208,\n    description:\n      'Indicates whether or not details should be communicated to BrokerOfCredit (i.e. step-in broker).',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'AllocHandlInstCodeSet',\n    baseCategoryAbbrName: 'HndInst',\n    baseCategory: 'SingleGeneralOrderHandling',\n    updatedEP: '245',\n    added: 'FIX.4.1',\n    name: 'AllocHandlInst',\n    id: 209,\n    abbrName: 'HandlInst',\n    description:\n      'Indicates how the receiver (i.e. third party) of allocation information should handle/process the account details.',\n  },\n  {\n    type: 'Qty',\n    deprecated: 'FIX.5.0',\n    added: 'FIX.4.1',\n    name: 'MaxShow',\n    id: 210,\n    abbrName: 'MaxShow',\n    description:\n      'Maximum quantity (e.g. number of shares) within an order to be shown to other customers (i.e. sent via an IOI).\\n\\n(Prior to FIX 4.2 this field was of type int)',\n  },\n  {\n    abbrName: 'OfstVal',\n    type: 'float',\n    added: 'FIX.4.1',\n    name: 'PegOffsetValue',\n    id: 211,\n    description:\n      'Amount (signed) added to the peg for a pegged order in the context of the PegOffsetType (836)\\n\\n(Prior to FIX 4.4 this field was of type PriceOffset)',\n  },\n  {\n    abbrName: 'XmlDataLen',\n    type: 'Length',\n    added: 'FIX.4.2',\n    name: 'XmlDataLen',\n    id: 212,\n    description: 'Length of the XmlData data block.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'XMLData',\n    updatedEP: '271',\n    added: 'FIX.4.2',\n    name: 'XmlData',\n    id: 213,\n    abbrName: 'XmlData',\n    lengthId: '212',\n    description:\n      'Actual XML data stream (e.g. FIXML). See appropriate XML reference (e.g. FIXML). Note: may contain embedded SOH characters.',\n  },\n  {\n    abbrName: 'SettlInstRefID',\n    type: 'String',\n    added: 'FIX.4.2',\n    name: 'SettlInstRefID',\n    id: 214,\n    description:\n      'Reference identifier for the SettlInstID (162) with Cancel and Replace SettlInstTransType (163) transaction types.',\n  },\n  {\n    abbrName: 'NoRtgIDs',\n    type: 'NumInGroup',\n    added: 'FIX.4.2',\n    name: 'NoRoutingIDs',\n    id: 215,\n    description:\n      'Number of repeating groups of RoutingID (217) and RoutingType (216) values.\\n\\nSee Volume 3: \"Pre-Trade Message Targeting/Routing\"',\n  },\n  {\n    abbrName: 'RtgTyp',\n    type: 'RoutingTypeCodeSet',\n    added: 'FIX.4.2',\n    name: 'RoutingType',\n    id: 216,\n    description: 'Indicates the type of RoutingID (217) specified.',\n  },\n  {\n    abbrName: 'RtgID',\n    type: 'String',\n    added: 'FIX.4.2',\n    name: 'RoutingID',\n    id: 217,\n    description: 'Assigned value used to identify a specific routing destination.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'PriceOffset',\n    updatedEP: '282',\n    added: 'FIX.4.2',\n    name: 'Spread',\n    id: 218,\n    abbrName: 'Spread',\n    description:\n      'For Fixed Income. Either Swap Spread or Spread to Benchmark depending upon the order type.\\n\\nSpread to Benchmark: Basis points relative to a benchmark. To be expressed as count of basis points (vs. an absolute value). E.g. High Grade Corporate Bonds may express price as basis points relative to benchmark (the BenchmarkCurveName(221) field). Note: Basis points can be negative.\\n\\nSwap Spread: Target spread for a swap.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'Currency',\n    updatedEP: '273',\n    added: 'FIX.4.2',\n    name: 'BenchmarkCurveCurrency',\n    id: 220,\n    abbrName: 'Ccy',\n    description:\n      'Specifies currency used for benchmark curve.\\n\\nBenchmarkCurveCurrencyCodeSource(2950) may be used to disambiguate the code source scheme used, and ISO 4217 is the default scheme if absent.',\n  },\n  {\n    abbrName: 'Name',\n    type: 'BenchmarkCurveNameCodeSet',\n    added: 'FIX.4.2',\n    name: 'BenchmarkCurveName',\n    id: 221,\n    description:\n      'Name of benchmark curve.\\n\\n(Note tag # was reserved in FIX 4.1, added in FIX 4.3)',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'String',\n    updatedEP: '187',\n    added: 'FIX.4.2',\n    name: 'BenchmarkCurvePoint',\n    id: 222,\n    abbrName: 'Point',\n    description:\n      'Point on benchmark curve. Free form values: e.g. \"Y\", \"7Y\", \"INTERPOLATED\".\\n\\nSample values:\\n\\nM = combination of a number between 1-12 and a \"M\" for month\\n\\nY = combination of number between 1-100 and a \"Y\" for year}\\n\\n10Y-OLD = see above, then add \"-OLD\" when appropriate\\n\\nINTERPOLATED = the point is mathematically derived\\n\\n2/2031 5 3/8 = the point is stated via a combination of maturity month / year and coupon\\n\\nSee Fixed Income-specific documentation at http://www.fixtradingcommunity.org for additional values.\\n\\n(Note tag # was reserved in FIX 4.1, added in FIX 4.3)',\n  },\n  {\n    abbrName: 'CpnRt',\n    type: 'Percentage',\n    added: 'FIX.4.2',\n    name: 'CouponRate',\n    id: 223,\n    description:\n      \"The rate of interest that, when multiplied by the principal, par value, or face value of a bond, provides the currency amount of the periodic interest payment. The coupon is always cited, along with maturity, in any quotation of a bond's price.\",\n  },\n  {\n    abbrName: 'CpnPmt',\n    type: 'LocalMktDate',\n    added: 'FIX.4.2',\n    name: 'CouponPaymentDate',\n    id: 224,\n    description:\n      'Date interest is to be paid. Used in identifying Corporate Bond issues.\\n\\n(Note tag # was reserved in FIX 4.1, added in FIX 4.3)\\n\\n(prior to FIX 4.4 field was of type UTCDate)',\n  },\n  {\n    abbrName: 'Issued',\n    type: 'LocalMktDate',\n    added: 'FIX.4.2',\n    name: 'IssueDate',\n    id: 225,\n    description:\n      'The date on which a bond or stock offering is issued. It may or may not be the same as the effective date (\"Dated Date\") or the date on which interest begins to accrue (\"Interest Accrual Date\")\\n\\n(Note tag # was reserved in FIX 4.1, added in FIX 4.3)\\n\\n(prior to FIX 4.4 field was of type UTCDate)',\n  },\n  {\n    type: 'int',\n    deprecated: 'FIX.4.4',\n    added: 'FIX.4.2',\n    name: 'RepurchaseTerm',\n    id: 226,\n    abbrName: 'RepoTrm',\n    description:\n      'Number of business days before repurchase of a repo. (Note tag # was reserved in FIX 4.1, added in FIX 4.3)',\n  },\n  {\n    type: 'Percentage',\n    deprecated: 'FIX.4.4',\n    added: 'FIX.4.2',\n    name: 'RepurchaseRate',\n    id: 227,\n    abbrName: 'RepoRt',\n    description:\n      'Percent of par at which a Repo will be repaid. Represented as a percent, e.g. .9525 represents 95-/4 percent of par. (Note tag # was reserved in FIX 4.1, added in FIX 4.3)',\n  },\n  {\n    abbrName: 'Fctr',\n    type: 'float',\n    added: 'FIX.4.2',\n    name: 'Factor',\n    id: 228,\n    description:\n      'For Fixed Income: Amorization Factor for deriving Current face from Original face for ABS or MBS securities, note the fraction may be greater than, equal to or less than . In TIPS securities this is the Inflation index.\\n\\nQty * Factor * Price = Gross Trade Amount\\n\\nFor Derivatives: Contract Value Factor by which price must be adjusted to determine the true nominal value of one futures/options contract.\\n\\n(Qty * Price) * Factor = Nominal Value\\n\\n(Note tag # was reserved in FIX 4.1, added in FIX 4.3)',\n  },\n  {\n    abbrName: 'OrignDt',\n    type: 'LocalMktDate',\n    added: 'FIX.4.2',\n    name: 'TradeOriginationDate',\n    id: 229,\n    description:\n      'Used with Fixed Income for Muncipal New Issue Market. Agreement in principal between counter-parties prior to actual trade date.\\n\\n(Note tag # was reserved in FIX 4.1, added in FIX 4.3)\\n\\n(prior to FIX 4.4 field was of type UTCDate)',\n  },\n  {\n    abbrName: 'ExDt',\n    type: 'LocalMktDate',\n    added: 'FIX.4.2',\n    name: 'ExDate',\n    id: 230,\n    description:\n      'The date when a distribution of interest is deducted from a securities assets or set aside for payment to bondholders. On the ex-date, the securities price drops by the amount of the distribution (plus or minus any market activity).\\n\\n(Note tag # was reserved in FIX 4.1, added in FIX 4.3)\\n\\n(prior to FIX 4.4 field was of type UTCDate)',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'float',\n    updatedEP: '204',\n    added: 'FIX.4.2',\n    name: 'ContractMultiplier',\n    id: 231,\n    abbrName: 'Mult',\n    description:\n      'Specifies the ratio or multiply factor to convert from \"nominal\" units (e.g. contracts) to total units (e.g. shares) (e.g. 1.0, 100, 1000, etc). Applicable For Fixed Income, Convertible Bonds, Derivatives, etc.\\n\\nIn general quantities for all classes should be expressed in the basic unit of the instrument, e.g. shares for equities, nominal or par amount for bonds, currency for foreign exchange. When quantity is expressed in contracts, e.g. financing transactions and bond trade reporting, ContractMultiplier(231) should contain the number of units in one contract and can be omitted if the multiplier is the default amount for the instrument, i.e. 1,000 par of bonds, 1,000,000 par for financing transactions.',\n  },\n  {\n    abbrName: 'NoStips',\n    type: 'NumInGroup',\n    added: 'FIX.4.2',\n    name: 'NoStipulations',\n    id: 232,\n    description:\n      'Number of stipulation entries\\n\\n(Note tag # was reserved in FIX 4.1, added in FIX 4.3).',\n  },\n  {\n    abbrName: 'Typ',\n    type: 'StipulationTypeCodeSet',\n    added: 'FIX.4.2',\n    name: 'StipulationType',\n    id: 233,\n    description:\n      'For Fixed Income.\\n\\nType of Stipulation.\\n\\nOther types may be used by mutual agreement of the counterparties.\\n\\n(Note tag # was reserved in FIX 4.1, added in FIX 4.3)',\n  },\n  {\n    abbrName: 'Val',\n    type: 'String',\n    added: 'FIX.4.2',\n    name: 'StipulationValue',\n    id: 234,\n    description:\n      'For Fixed Income. Value of stipulation.\\n\\nThe expression can be an absolute single value or a combination of values and logical operators:\\n\\n< value\\n\\n> value\\n\\n<= value\\n\\n>= value\\n\\nvalue\\n\\nvalue - value2\\n\\nvalue OR value2\\n\\nvalue AND value2\\n\\nYES\\n\\nNO\\n\\nBargain conditions recognized by the London Stock Exchange - to be used when StipulationType is \"BGNCON\".\\n\\nCD = Special cum Dividend\\n\\nXD = Special ex Dividend\\n\\nCC = Special cum Coupon\\n\\nXC = Special ex Coupon\\n\\nCB = Special cum Bonus\\n\\nXB = Special ex Bonus\\n\\nCR = Special cum Rights\\n\\nXR = Special ex Rights\\n\\nCP = Special cum Capital Repayments\\n\\nXP = Special ex Capital Repayments\\n\\nCS = Cash Settlement\\n\\nSP = Special Price\\n\\nTR = Report for European Equity Market Securities in accordance with Chapter 8 of the Rules.\\n\\nGD = Guaranteed Delivery\\n\\nValues for StipulationType = \"PXSOURCE\":\\n\\nBB GENERIC\\n\\nBB FAIRVALUE\\n\\nBROKERTEC\\n\\nESPEED\\n\\nGOVPX\\n\\nHILLIARD FARBER\\n\\nICAP\\n\\nTRADEWEB\\n\\nTULLETT LIBERTY\\n\\nIf a particular side of the market is wanted append /BID /OFFER or /MID.\\n\\nplus appropriate combinations of the above and other expressions by mutual agreement of the counterparties.\\n\\nExamples: \">=60\", \".25\", \"ORANGE OR CONTRACOSTA\", etc.\\n\\n(Note tag # was reserved in FIX 4.1, added in FIX 4.3)',\n  },\n  {\n    abbrName: 'Typ',\n    type: 'YieldTypeCodeSet',\n    added: 'FIX.4.2',\n    name: 'YieldType',\n    id: 235,\n    description: 'Type of yield. (Note tag # was reserved in FIX 4.1, added in FIX 4.3)',\n  },\n  {\n    abbrName: 'Yld',\n    type: 'Percentage',\n    added: 'FIX.4.2',\n    name: 'Yield',\n    id: 236,\n    description:\n      'Yield percentage.\\n\\n(Note tag # was reserved in FIX 4.1, added in FIX 4.3)',\n  },\n  {\n    abbrName: 'TotTakedown',\n    type: 'Amt',\n    added: 'FIX.4.2',\n    name: 'TotalTakedown',\n    id: 237,\n    description:\n      \"The price at which the securities are distributed to the different members of an underwriting group for the primary market in Municipals, total gross underwriter's spread.\\n\\n(Note tag # was reserved in FIX 4.1, added in FIX 4.3)\",\n  },\n  {\n    abbrName: 'Concession',\n    type: 'Amt',\n    added: 'FIX.4.2',\n    name: 'Concession',\n    id: 238,\n    description:\n      'Provides the reduction in price for the secondary market in Muncipals.\\n\\n(Note tag # was reserved in FIX 4.1, added in FIX 4.3)',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'String',\n    deprecated: 'FIX.4.4',\n    updatedEP: '208',\n    added: 'FIX.4.3',\n    name: 'RepoCollateralSecurityType',\n    id: 239,\n    abbrName: 'RepoCollSecTyp',\n    description:\n      'Identifies the collateral used in the transaction.\\n\\nValid values: see SecurityType (167) field (Note tag # was reserved in FIX 4.1, added in FIX 4.3)',\n  },\n  {\n    type: 'LocalMktDate',\n    deprecated: 'FIX.4.4',\n    added: 'FIX.4.2',\n    name: 'RedemptionDate',\n    id: 240,\n    abbrName: 'Redeem',\n    description:\n      \"Return of investor's principal in a security. Bond redemption can occur before maturity date.(Note tag # was reserved in FIX 4.1, added in FIX 4.3) (prior to FIX 4.4 field was of type UTCDate)\",\n  },\n  {\n    abbrName: 'CpnPmt',\n    type: 'LocalMktDate',\n    added: 'FIX.4.2',\n    name: 'UnderlyingCouponPaymentDate',\n    id: 241,\n    description:\n      \"Underlying security's CouponPaymentDate.\\n\\nSee CouponPaymentDate (224) field for description\\n\\n(Note tag # was reserved in FIX 4.1, added in FIX 4.3)\\n\\n(prior to FIX 4.4 field was of type UTCDate)\",\n  },\n  {\n    abbrName: 'Issued',\n    type: 'LocalMktDate',\n    added: 'FIX.4.2',\n    name: 'UnderlyingIssueDate',\n    id: 242,\n    description:\n      \"Underlying security's IssueDate.\\n\\nSee IssueDate (225) field for description\\n\\n(Note tag # was reserved in FIX 4.1, added in FIX 4.3)\\n\\n(prior to FIX 4.4 field was of type UTCDate)\",\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'String',\n    deprecated: 'FIX.4.4',\n    updatedEP: '208',\n    added: 'FIX.4.3',\n    name: 'UnderlyingRepoCollateralSecurityType',\n    id: 243,\n    abbrName: 'RepoCollSecTyp',\n    description:\n      \"Underlying security's RepoCollateralSecurityType. See RepoCollateralSecurityType (239) field for description.(Note tag # was reserved in FIX 4.1, added in FIX 4.3)\",\n  },\n  {\n    type: 'int',\n    deprecated: 'FIX.4.4',\n    added: 'FIX.4.2',\n    name: 'UnderlyingRepurchaseTerm',\n    id: 244,\n    abbrName: 'RepoTrm',\n    description:\n      \"Underlying security's RepurchaseTerm. See RepurchaseTerm (226) field for description (Note tag # was reserved in FIX 4.1, added in FIX 4.3)\",\n  },\n  {\n    type: 'Percentage',\n    deprecated: 'FIX.4.4',\n    added: 'FIX.4.2',\n    name: 'UnderlyingRepurchaseRate',\n    id: 245,\n    abbrName: 'RepoRt',\n    description:\n      \"Underlying security's RepurchaseRate. See RepurchaseRate (227) field for description (Note tag # was reserved in FIX 4.1, added in FIX 4.3)\",\n  },\n  {\n    abbrName: 'Fctr',\n    type: 'float',\n    added: 'FIX.4.2',\n    name: 'UnderlyingFactor',\n    id: 246,\n    description:\n      \"Underlying security's Factor.\\n\\nSee Factor (228) field for description\\n\\n(Note tag # was reserved in FIX 4.1, added in FIX 4.3)\",\n  },\n  {\n    type: 'LocalMktDate',\n    deprecated: 'FIX.4.4',\n    added: 'FIX.4.2',\n    name: 'UnderlyingRedemptionDate',\n    id: 247,\n    abbrName: 'Redeem',\n    description:\n      \"Underlying security's RedemptionDate. See RedemptionDate (240) field for description (Note tag # was reserved in FIX 4.1, added in FIX 4.3) (prior to FIX 4.4 field was of type UTCDate)\",\n  },\n  {\n    abbrName: 'CpnPmt',\n    type: 'LocalMktDate',\n    added: 'FIX.4.2',\n    name: 'LegCouponPaymentDate',\n    id: 248,\n    description:\n      \"Multileg instrument's individual leg security's CouponPaymentDate.\\n\\nSee CouponPaymentDate (224) field for description\\n\\n(Note tag # was reserved in FIX 4.1, added in FIX 4.3)\\n\\n(prior to FIX 4.4 field was of type UTCDate)\",\n  },\n  {\n    abbrName: 'Issued',\n    type: 'LocalMktDate',\n    added: 'FIX.4.2',\n    name: 'LegIssueDate',\n    id: 249,\n    description:\n      \"Multileg instrument's individual leg security's IssueDate.\\n\\nSee IssueDate (225) field for description\\n\\n(Note tag # was reserved in FIX 4.1, added in FIX 4.3)\\n\\n(prior to FIX 4.4 field was of type UTCDate)\",\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'String',\n    deprecated: 'FIX.4.4',\n    updatedEP: '208',\n    added: 'FIX.4.3',\n    name: 'LegRepoCollateralSecurityType',\n    id: 250,\n    abbrName: 'RepoCollSecTyp',\n    description:\n      \"Multileg instrument's individual leg security's RepoCollateralSecurityType. See RepoCollateralSecurityType (239) field for description (Note tag # was reserved in FIX 4.1, added in FIX 4.3)\",\n  },\n  {\n    type: 'int',\n    deprecated: 'FIX.4.4',\n    added: 'FIX.4.2',\n    name: 'LegRepurchaseTerm',\n    id: 251,\n    abbrName: 'RepoTrm',\n    description:\n      \"Multileg instrument's individual leg security's RepurchaseTerm. See RepurchaseTerm (226) field for description (Note tag # was reserved in FIX 4.1, added in FIX 4.3)\",\n  },\n  {\n    type: 'Percentage',\n    deprecated: 'FIX.4.4',\n    added: 'FIX.4.2',\n    name: 'LegRepurchaseRate',\n    id: 252,\n    abbrName: 'RepoRt',\n    description:\n      \"Multileg instrument's individual leg security's RepurchaseRate. See RepurchaseRate (227) field for description (Note tag # was reserved in FIX 4.1, added in FIX 4.3)\",\n  },\n  {\n    abbrName: 'Fctr',\n    type: 'float',\n    added: 'FIX.4.2',\n    name: 'LegFactor',\n    id: 253,\n    description:\n      \"Multileg instrument's individual leg security's Factor.\\n\\nSee Factor (228) field for description\\n\\n(Note tag # was reserved in FIX 4.1, added in FIX 4.3)\",\n  },\n  {\n    type: 'LocalMktDate',\n    deprecated: 'FIX.4.4',\n    added: 'FIX.4.2',\n    name: 'LegRedemptionDate',\n    id: 254,\n    abbrName: 'Redeem',\n    description:\n      \"Multileg instrument's individual leg security's RedemptionDate. See RedemptionDate (240) field for description (Note tag # was reserved in FIX 4.1, added in FIX 4.3) (prior to FIX 4.4 field was of type UTCDate)\",\n  },\n  {\n    abbrName: 'CrdRtg',\n    type: 'String',\n    added: 'FIX.4.2',\n    name: 'CreditRating',\n    id: 255,\n    description:\n      \"An evaluation of a company's ability to repay obligations or its likelihood of not defaulting. These evaluation are provided by Credit Rating Agencies, i.e. S&P, Moody's.\\n\\n(Note tag # was reserved in FIX 4.1, added in FIX 4.3)\",\n  },\n  {\n    abbrName: 'CrdRtg',\n    type: 'String',\n    added: 'FIX.4.2',\n    name: 'UnderlyingCreditRating',\n    id: 256,\n    description:\n      \"Underlying security's CreditRating.\\n\\nSee CreditRating (255) field for description\\n\\n(Note tag # was reserved in FIX 4.1, added in FIX 4.3)\",\n  },\n  {\n    abbrName: 'CrdRtg',\n    type: 'String',\n    added: 'FIX.4.2',\n    name: 'LegCreditRating',\n    id: 257,\n    description:\n      \"Multileg instrument's individual leg security's CreditRating.\\n\\nSee CreditRating (255) field for description\\n\\n(Note tag # was reserved in FIX 4.1, added in FIX 4.3)\",\n  },\n  {\n    abbrName: 'TrddFlatSwitch',\n    type: 'TradedFlatSwitchCodeSet',\n    added: 'FIX.4.2',\n    name: 'TradedFlatSwitch',\n    id: 258,\n    description:\n      'Driver and part of trade in the event that the Security Master file was wrong at the point of entry(Note tag # was reserved in FIX 4.1, added in FIX 4.3)',\n  },\n  {\n    abbrName: 'BasisFeatureDt',\n    type: 'LocalMktDate',\n    added: 'FIX.4.2',\n    name: 'BasisFeatureDate',\n    id: 259,\n    description:\n      'BasisFeatureDate allows requesting firms within fixed income the ability to request an alternative yield-to-worst, -maturity, -extended or other call. This flows through the confirm process.\\n\\n(Note tag # was reserved in FIX 4.1, added in FIX 4.3)\\n\\n(prior to FIX 4.4 field was of type UTCDate)',\n  },\n  {\n    abbrName: 'BasisFeaturePx',\n    type: 'Price',\n    added: 'FIX.4.2',\n    name: 'BasisFeaturePrice',\n    id: 260,\n    description:\n      'Price for BasisFeatureDate.\\n\\nSee BasisFeatureDate (259)\\n\\n(Note tag # was reserved in FIX 4.1, added in FIX 4.3)',\n  },\n  {\n    abbrName: 'ReqID',\n    type: 'String',\n    added: 'FIX.4.2',\n    name: 'MDReqID',\n    id: 262,\n    description: 'Unique identifier for Market Data Request',\n  },\n  {\n    abbrName: 'SubReqTyp',\n    type: 'SubscriptionRequestTypeCodeSet',\n    added: 'FIX.4.2',\n    name: 'SubscriptionRequestType',\n    id: 263,\n    description: 'Subscription Request Type',\n  },\n  {\n    abbrName: 'MktDepth',\n    type: 'int',\n    added: 'FIX.4.2',\n    name: 'MarketDepth',\n    id: 264,\n    description:\n      'Depth of market for Book Snapshot / Incremental updates\\n\\n0 - full book depth\\n\\n1 - top of book\\n\\n2 and above - book depth (number of levels)',\n  },\n  {\n    abbrName: 'UpdtTyp',\n    type: 'MDUpdateTypeCodeSet',\n    added: 'FIX.4.2',\n    name: 'MDUpdateType',\n    id: 265,\n    description: 'Specifies the type of Market Data update.',\n  },\n  {\n    abbrName: 'AggBook',\n    type: 'AggregatedBookCodeSet',\n    added: 'FIX.4.2',\n    name: 'AggregatedBook',\n    id: 266,\n    description:\n      'Specifies whether or not book entries should be aggregated. (Not specified) = broker option',\n  },\n  {\n    abbrName: 'NoMDEntryTyps',\n    type: 'NumInGroup',\n    added: 'FIX.4.2',\n    name: 'NoMDEntryTypes',\n    id: 267,\n    description: 'Number of MDEntryType (269) fields requested.',\n  },\n  {\n    abbrName: 'NoMDEntries',\n    type: 'NumInGroup',\n    added: 'FIX.4.2',\n    name: 'NoMDEntries',\n    id: 268,\n    description: 'Number of entries in Market Data message.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'MDEntryTypeCodeSet',\n    updatedEP: '174',\n    added: 'FIX.4.2',\n    name: 'MDEntryType',\n    id: 269,\n    abbrName: 'Typ',\n    description: 'Type of market data entry.',\n  },\n  {\n    abbrName: 'Px',\n    type: 'Price',\n    added: 'FIX.4.2',\n    name: 'MDEntryPx',\n    id: 270,\n    description: 'Price of the Market Data Entry.',\n  },\n  {\n    abbrName: 'Sz',\n    type: 'Qty',\n    added: 'FIX.4.2',\n    name: 'MDEntrySize',\n    id: 271,\n    description: 'Quantity or volume represented by the Market Data Entry.',\n  },\n  {\n    abbrName: 'Dt',\n    type: 'UTCDateOnly',\n    added: 'FIX.4.2',\n    name: 'MDEntryDate',\n    id: 272,\n    description:\n      'Date of Market Data Entry.\\n\\n(prior to FIX 4.4 field was of type UTCDate)',\n  },\n  {\n    abbrName: 'Tm',\n    type: 'UTCTimeOnly',\n    added: 'FIX.4.2',\n    name: 'MDEntryTime',\n    id: 273,\n    description: 'Time of Market Data Entry.',\n  },\n  {\n    abbrName: 'TickDirctn',\n    type: 'TickDirectionCodeSet',\n    added: 'FIX.4.2',\n    name: 'TickDirection',\n    id: 274,\n    description: 'Direction of the \"tick\".',\n  },\n  {\n    type: 'Exchange',\n    deprecated: 'FIX.5.0',\n    added: 'FIX.4.2',\n    name: 'MDMkt',\n    id: 275,\n    abbrName: 'Mkt',\n    description: 'Market posting quote / trade.\\n\\nValid values:\\n\\nSee \"Appendix 6-C\"',\n  },\n  {\n    abbrName: 'QCond',\n    type: 'QuoteConditionCodeSet',\n    added: 'FIX.4.2',\n    name: 'QuoteCondition',\n    id: 276,\n    description: 'Space-delimited list of conditions describing a quote.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'TradeConditionCodeSet',\n    updatedEP: '190',\n    added: 'FIX.4.2',\n    name: 'TradeCondition',\n    id: 277,\n    abbrName: 'TrdCond',\n    description: 'Type of market data entry.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'String',\n    baseCategoryAbbrName: 'ID',\n    baseCategory: 'MarketData',\n    updatedEP: '125',\n    added: 'FIX.4.2',\n    name: 'MDEntryID',\n    id: 278,\n    abbrName: 'MDID',\n    description: 'Unique Market Data Entry identifier.',\n  },\n  {\n    abbrName: 'UpdtAct',\n    type: 'MDUpdateActionCodeSet',\n    added: 'FIX.4.2',\n    name: 'MDUpdateAction',\n    id: 279,\n    description: 'Type of Market Data update action.',\n  },\n  {\n    abbrName: 'RefID',\n    type: 'String',\n    added: 'FIX.4.2',\n    name: 'MDEntryRefID',\n    id: 280,\n    description: 'Refers to a previous MDEntryID (278).',\n  },\n  {\n    abbrName: 'ReqRejResn',\n    type: 'MDReqRejReasonCodeSet',\n    added: 'FIX.4.2',\n    name: 'MDReqRejReason',\n    id: 281,\n    description: 'Reason for the rejection of a Market Data request.',\n  },\n  {\n    type: 'String',\n    deprecated: 'FIX.5.0',\n    added: 'FIX.4.2',\n    name: 'MDEntryOriginator',\n    id: 282,\n    abbrName: 'Orig',\n    description: 'Originator of a Market Data Entry',\n  },\n  {\n    abbrName: 'LctnID',\n    type: 'String',\n    added: 'FIX.4.2',\n    name: 'LocationID',\n    id: 283,\n    description: \"Identification of a Market Maker's location\",\n  },\n  {\n    abbrName: 'DeskID',\n    type: 'String',\n    added: 'FIX.4.2',\n    name: 'DeskID',\n    id: 284,\n    description: \"Identification of a Market Maker's desk\",\n  },\n  {\n    abbrName: 'DelRsn',\n    type: 'DeleteReasonCodeSet',\n    added: 'FIX.4.2',\n    name: 'DeleteReason',\n    id: 285,\n    description: 'Reason for deletion.',\n  },\n  {\n    abbrName: 'OpenClsSettlFlag',\n    type: 'OpenCloseSettlFlagCodeSet',\n    added: 'FIX.4.2',\n    name: 'OpenCloseSettlFlag',\n    id: 286,\n    description:\n      'Flag that identifies a market data entry. (Prior to FIX 4.3 this field was of type char)',\n  },\n  {\n    abbrName: 'SellerDays',\n    type: 'int',\n    added: 'FIX.4.2',\n    name: 'SellerDays',\n    id: 287,\n    description:\n      'Specifies the number of days that may elapse before delivery of the security',\n  },\n  {\n    abbrName: 'Buyer',\n    type: 'String',\n    added: 'FIX.4.2',\n    name: 'MDEntryBuyer',\n    id: 288,\n    description: 'Buying party in a trade',\n  },\n  {\n    abbrName: 'Seller',\n    type: 'String',\n    added: 'FIX.4.2',\n    name: 'MDEntrySeller',\n    id: 289,\n    description: 'Selling party in a trade',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'int',\n    updatedEP: '271',\n    added: 'FIX.4.2',\n    name: 'MDEntryPositionNo',\n    id: 290,\n    abbrName: 'PosNo',\n    description:\n      'Display position of a bid or offer, numbered from most competitive to least competitive, per market side, beginning with 1.',\n  },\n  {\n    abbrName: 'FinclStat',\n    type: 'FinancialStatusCodeSet',\n    added: 'FIX.4.2',\n    name: 'FinancialStatus',\n    id: 291,\n    description: \"Identifies a firm's or a security's financial status\",\n  },\n  {\n    abbrName: 'CorpActn',\n    type: 'CorporateActionCodeSet',\n    added: 'FIX.4.2',\n    name: 'CorporateAction',\n    id: 292,\n    description: 'Identifies the type of Corporate Action.',\n  },\n  {\n    abbrName: 'DefBidSz',\n    type: 'Qty',\n    added: 'FIX.4.2',\n    name: 'DefBidSize',\n    id: 293,\n    description: 'Default Bid Size.',\n  },\n  {\n    abbrName: 'DefOfrSz',\n    type: 'Qty',\n    added: 'FIX.4.2',\n    name: 'DefOfferSize',\n    id: 294,\n    description: 'Default Offer Size.',\n  },\n  {\n    abbrName: 'NoQuotEntries',\n    type: 'NumInGroup',\n    added: 'FIX.4.2',\n    name: 'NoQuoteEntries',\n    id: 295,\n    description: 'The number of quote entries for a QuoteSet.',\n  },\n  {\n    abbrName: 'NoQuotSets',\n    type: 'NumInGroup',\n    added: 'FIX.4.2',\n    name: 'NoQuoteSets',\n    id: 296,\n    description: 'The number of sets of quotes in the message.',\n  },\n  {\n    abbrName: 'Stat',\n    type: 'QuoteStatusCodeSet',\n    added: 'FIX.4.2',\n    name: 'QuoteStatus',\n    id: 297,\n    description: 'Identifies the status of the quote acknowledgement.',\n  },\n  {\n    updated: 'FIX.5.0SP1',\n    type: 'QuoteCancelTypeCodeSet',\n    unionDataType: 'Reserved100Plus',\n    updatedEP: '85',\n    added: 'FIX.4.2',\n    name: 'QuoteCancelType',\n    id: 298,\n    abbrName: 'CxlTyp',\n    description: 'Identifies the type of quote cancel.',\n  },\n  {\n    abbrName: 'EntryID',\n    type: 'String',\n    added: 'FIX.4.2',\n    name: 'QuoteEntryID',\n    id: 299,\n    description:\n      'Unique identifier for a quote. The QuoteEntryID stays with the quote as a static identifier even if the quote is updated.',\n  },\n  {\n    type: 'QuoteRejectReasonCodeSet',\n    unionDataType: 'Reserved100Plus',\n    added: 'FIX.4.2',\n    name: 'QuoteRejectReason',\n    id: 300,\n    abbrName: 'RejRsn',\n    description: 'Reason Quote was rejected:',\n  },\n  {\n    abbrName: 'RspLvl',\n    type: 'QuoteResponseLevelCodeSet',\n    added: 'FIX.4.2',\n    name: 'QuoteResponseLevel',\n    id: 301,\n    description:\n      'Level of Response requested from receiver of quote messages. A default value should be bilaterally agreed.',\n  },\n  {\n    abbrName: 'SetID',\n    type: 'String',\n    added: 'FIX.4.2',\n    name: 'QuoteSetID',\n    id: 302,\n    description: 'Unique id for the Quote Set.',\n  },\n  {\n    abbrName: 'ReqTyp',\n    type: 'QuoteRequestTypeCodeSet',\n    added: 'FIX.4.2',\n    name: 'QuoteRequestType',\n    id: 303,\n    description: 'Indicates the type of Quote Request being generated',\n  },\n  {\n    updated: 'FIX.5.0SP1',\n    type: 'int',\n    updatedEP: '95',\n    added: 'FIX.4.2',\n    name: 'TotNoQuoteEntries',\n    id: 304,\n    abbrName: 'TotNoQuotEntries',\n    description: 'Total number of quotes for the quote set.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'SecurityIDSourceCodeSet',\n    unionDataType: 'Reserved100Plus',\n    updatedEP: '271',\n    added: 'FIX.4.2',\n    name: 'UnderlyingSecurityIDSource',\n    id: 305,\n    abbrName: 'Src',\n    description: 'Identifies class or source of the UnderlyingSecurityID(309) value.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'String',\n    updatedEP: '282',\n    added: 'FIX.4.2',\n    name: 'UnderlyingIssuer',\n    id: 306,\n    abbrName: 'Issr',\n    description:\n      \"Underlying security's Issuer.\\n\\nSee Issuer(106) field for description.\",\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'String',\n    updatedEP: '232',\n    added: 'FIX.4.2',\n    name: 'UnderlyingSecurityDesc',\n    id: 307,\n    abbrName: 'Desc',\n    description:\n      'Description of the underlying security.\\n\\nCan be used by the venue or one of the trading parties to provide an optional non-normative textual description of the financial instrument.',\n  },\n  {\n    abbrName: 'Exch',\n    type: 'Exchange',\n    added: 'FIX.4.2',\n    name: 'UnderlyingSecurityExchange',\n    id: 308,\n    description:\n      \"Underlying security's SecurityExchange. Can be used to identify the underlying security.\\n\\nValid values: see SecurityExchange (207)\",\n  },\n  {\n    abbrName: 'ID',\n    type: 'String',\n    added: 'FIX.4.2',\n    name: 'UnderlyingSecurityID',\n    id: 309,\n    discriminatorId: '305',\n    description:\n      \"Underlying security's SecurityID.\\n\\nSee SecurityID (48) field for description\",\n  },\n  {\n    abbrName: 'SecTyp',\n    type: 'SecurityTypeCodeSet',\n    added: 'FIX.4.2',\n    name: 'UnderlyingSecurityType',\n    id: 310,\n    description:\n      \"Underlying security's SecurityType.\\n\\nValid values: see SecurityType (167) field\\n\\n(see below for details concerning this fields use in conjunction with SecurityType=REPO)\\n\\nThe following applies when used in conjunction with SecurityType=REPO\\n\\nRepresents the general or specific type of security that underlies a financing agreement\\n\\nValid values for SecurityType=REPO:\\n\\nIf bonds of a particular issuer or country are wanted in an Order or are in the basket of an Execution and the SecurityType is not granular enough, include the UnderlyingIssuer (306), UnderlyingCountryOfIssue (592), UnderlyingProgram, UnderlyingRegType and/or < UnderlyingStipulations > block e.g.:\",\n  },\n  {\n    abbrName: 'Sym',\n    type: 'String',\n    added: 'FIX.4.2',\n    name: 'UnderlyingSymbol',\n    id: 311,\n    description: \"Underlying security's Symbol.\\n\\nSee Symbol (55) field for description\",\n  },\n  {\n    abbrName: 'Sfx',\n    type: 'SymbolSfxCodeSet',\n    added: 'FIX.4.2',\n    name: 'UnderlyingSymbolSfx',\n    id: 312,\n    description:\n      \"Underlying security's SymbolSfx.\\n\\nSee SymbolSfx (65) field for description\",\n  },\n  {\n    abbrName: 'MMY',\n    type: 'MonthYear',\n    added: 'FIX.4.2',\n    name: 'UnderlyingMaturityMonthYear',\n    id: 313,\n    description:\n      \"Underlying security's MaturityMonthYear. Can be used with standardized derivatives vs. the UnderlyingMaturityDate (542) field.\\n\\nSee MaturityMonthYear (200) field for description\",\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PutOrCallCodeSet',\n    updatedEP: '238',\n    added: 'FIX.4.2',\n    name: 'UnderlyingPutOrCall',\n    id: 315,\n    abbrName: 'PutCall',\n    description:\n      'Indicates whether an underlying option contract is a put, call, chooser or undetermined.',\n  },\n  {\n    abbrName: 'StrkPx',\n    type: 'Price',\n    added: 'FIX.4.2',\n    name: 'UnderlyingStrikePrice',\n    id: 316,\n    description:\n      \"Underlying security's StrikePrice.\\n\\nSee StrikePrice (202) field for description\",\n  },\n  {\n    abbrName: 'OptA',\n    type: 'char',\n    added: 'FIX.4.2',\n    name: 'UnderlyingOptAttribute',\n    id: 317,\n    description:\n      \"Underlying security's OptAttribute.\\n\\nSee OptAttribute (206) field for description\",\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'Currency',\n    updatedEP: '273',\n    added: 'FIX.4.2',\n    name: 'UnderlyingCurrency',\n    id: 318,\n    abbrName: 'Ccy',\n    description: \"Underlying security's currency.\",\n  },\n  {\n    abbrName: 'ReqID',\n    type: 'String',\n    added: 'FIX.4.2',\n    name: 'SecurityReqID',\n    id: 320,\n    description: 'Unique ID of a Security Definition Request.',\n  },\n  {\n    abbrName: 'ReqTyp',\n    type: 'SecurityRequestTypeCodeSet',\n    added: 'FIX.4.2',\n    name: 'SecurityRequestType',\n    id: 321,\n    description: 'Type of Security Definition Request.',\n  },\n  {\n    abbrName: 'RspID',\n    type: 'String',\n    added: 'FIX.4.2',\n    name: 'SecurityResponseID',\n    id: 322,\n    description: 'Unique ID of a Security Definition message.',\n  },\n  {\n    abbrName: 'RspTyp',\n    type: 'SecurityResponseTypeCodeSet',\n    added: 'FIX.4.2',\n    name: 'SecurityResponseType',\n    id: 323,\n    description: 'Type of Security Definition message response.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'String',\n    updatedEP: '106',\n    added: 'FIX.4.2',\n    name: 'SecurityStatusReqID',\n    id: 324,\n    abbrName: 'StatReqID',\n    description:\n      'Unique ID of a Security Status Request or a Security Mass Status Request message.',\n  },\n  {\n    abbrName: 'Unsol',\n    type: 'UnsolicitedIndicatorCodeSet',\n    added: 'FIX.4.2',\n    name: 'UnsolicitedIndicator',\n    id: 325,\n    description:\n      'Indicates whether or not message is being sent as a result of a subscription request or not.',\n  },\n  {\n    type: 'SecurityTradingStatusCodeSet',\n    unionDataType: 'Reserved100Plus',\n    added: 'FIX.4.2',\n    name: 'SecurityTradingStatus',\n    id: 326,\n    abbrName: 'TrdgStat',\n    description: 'Identifies the trading status applicable to the transaction.',\n  },\n  {\n    updated: 'FIX.5.0SP1',\n    type: 'HaltReasonCodeSet',\n    unionDataType: 'Reserved100Plus',\n    updatedEP: '86',\n    added: 'FIX.4.2',\n    name: 'HaltReason',\n    id: 327,\n    abbrName: 'HaltRsn',\n    description: 'Denotes the reason for the Opening Delay or Trading Halt.',\n  },\n  {\n    abbrName: 'InViewOfCmn',\n    type: 'InViewOfCommonCodeSet',\n    added: 'FIX.4.2',\n    name: 'InViewOfCommon',\n    id: 328,\n    description:\n      'Indicates whether or not the halt was due to Common Stock trading being halted.',\n  },\n  {\n    abbrName: 'DueToReltd',\n    type: 'DueToRelatedCodeSet',\n    added: 'FIX.4.2',\n    name: 'DueToRelated',\n    id: 329,\n    description:\n      'Indicates whether or not the halt was due to the Related Security being halted.',\n  },\n  {\n    abbrName: 'BuyVol',\n    type: 'Qty',\n    added: 'FIX.4.2',\n    name: 'BuyVolume',\n    id: 330,\n    description: 'Quantity bought.',\n  },\n  {\n    abbrName: 'SellVol',\n    type: 'Qty',\n    added: 'FIX.4.2',\n    name: 'SellVolume',\n    id: 331,\n    description: 'Quantity sold.',\n  },\n  {\n    abbrName: 'HighPx',\n    type: 'Price',\n    added: 'FIX.4.2',\n    name: 'HighPx',\n    id: 332,\n    description:\n      'Represents an indication of the high end of the price range for a security prior to the open or reopen',\n  },\n  {\n    abbrName: 'LowPx',\n    type: 'Price',\n    added: 'FIX.4.2',\n    name: 'LowPx',\n    id: 333,\n    description:\n      'Represents an indication of the low end of the price range for a security prior to the open or reopen',\n  },\n  {\n    abbrName: 'Adjmt',\n    type: 'AdjustmentCodeSet',\n    added: 'FIX.4.2',\n    name: 'Adjustment',\n    id: 334,\n    description: 'Identifies the type of adjustment.',\n  },\n  {\n    abbrName: 'ReqID',\n    type: 'String',\n    added: 'FIX.4.2',\n    name: 'TradSesReqID',\n    id: 335,\n    description: 'Unique ID of a Trading Session Status message.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'TradingSessionIDCodeSet',\n    unionDataType: 'Reserved100Plus',\n    updatedEP: '190',\n    added: 'FIX.4.2',\n    name: 'TradingSessionID',\n    id: 336,\n    abbrName: 'SesID',\n    description:\n      'Identifier for a trading session.\\n\\nA trading session spans an extended period of time that can also be expressed informally in terms of the trading day. Usage is determined by market or counterparties.\\n\\nTo specify good for session where session spans more than one calendar day, use TimeInForce = 0 (Day) in conjunction with TradingSessionID(336).\\n\\nBilaterally agreed values of data type \"String\" that start with a character can be used for backward compatibility.',\n  },\n  {\n    type: 'String',\n    baseCategoryAbbrName: 'Trdr',\n    baseCategory: 'SingleGeneralOrderHandling',\n    added: 'FIX.4.2',\n    name: 'ContraTrader',\n    id: 337,\n    abbrName: 'CntraTrdr',\n    description: 'Identifies the trader (e.g. \"badge number\") of the ContraBroker.',\n  },\n  {\n    abbrName: 'Method',\n    type: 'TradSesMethodCodeSet',\n    added: 'FIX.4.2',\n    name: 'TradSesMethod',\n    id: 338,\n    description: 'Method of trading',\n  },\n  {\n    abbrName: 'Mode',\n    type: 'TradSesModeCodeSet',\n    added: 'FIX.4.2',\n    name: 'TradSesMode',\n    id: 339,\n    description: 'Trading Session Mode',\n  },\n  {\n    type: 'TradSesStatusCodeSet',\n    unionDataType: 'Reserved100Plus',\n    added: 'FIX.4.2',\n    name: 'TradSesStatus',\n    id: 340,\n    abbrName: 'Stat',\n    description: 'State of the trading session.',\n  },\n  {\n    abbrName: 'StartTm',\n    type: 'UTCTimestamp',\n    added: 'FIX.4.2',\n    name: 'TradSesStartTime',\n    id: 341,\n    description: 'Starting time of the trading session',\n  },\n  {\n    abbrName: 'OpenTm',\n    type: 'UTCTimestamp',\n    added: 'FIX.4.2',\n    name: 'TradSesOpenTime',\n    id: 342,\n    description: 'Time of the opening of the trading session',\n  },\n  {\n    abbrName: 'PreClsTm',\n    type: 'UTCTimestamp',\n    added: 'FIX.4.2',\n    name: 'TradSesPreCloseTime',\n    id: 343,\n    description: 'Time of the pre-closed of the trading session',\n  },\n  {\n    abbrName: 'ClsTm',\n    type: 'UTCTimestamp',\n    added: 'FIX.4.2',\n    name: 'TradSesCloseTime',\n    id: 344,\n    description: 'Closing time of the trading session',\n  },\n  {\n    abbrName: 'EndTm',\n    type: 'UTCTimestamp',\n    added: 'FIX.4.2',\n    name: 'TradSesEndTime',\n    id: 345,\n    description: 'End time of the trading session',\n  },\n  {\n    abbrName: 'NumOfOrds',\n    type: 'int',\n    added: 'FIX.4.2',\n    name: 'NumberOfOrders',\n    id: 346,\n    description: 'Number of orders in the market.',\n  },\n  {\n    abbrName: 'MsgEncd',\n    type: 'String',\n    added: 'FIX.4.2',\n    name: 'MessageEncoding',\n    id: 347,\n    description:\n      'Type of message encoding (non-ASCII (non-English) characters) used in a message\\'s \"Encoded\" fields.',\n  },\n  {\n    abbrName: 'EncIssrLen',\n    type: 'Length',\n    added: 'FIX.4.2',\n    name: 'EncodedIssuerLen',\n    id: 348,\n    description:\n      'Byte length of encoded (non-ASCII characters) EncodedIssuer (349) field.',\n  },\n  {\n    abbrName: 'EncIssr',\n    type: 'data',\n    added: 'FIX.4.2',\n    name: 'EncodedIssuer',\n    id: 349,\n    lengthId: '348',\n    description:\n      'Encoded (non-ASCII characters) representation of the Issuer field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the Issuer field.',\n  },\n  {\n    abbrName: 'EncSecDescLen',\n    type: 'Length',\n    added: 'FIX.4.2',\n    name: 'EncodedSecurityDescLen',\n    id: 350,\n    description:\n      'Byte length of encoded (non-ASCII characters) EncodedSecurityDesc (351) field.',\n  },\n  {\n    abbrName: 'EncSecDesc',\n    type: 'data',\n    added: 'FIX.4.2',\n    name: 'EncodedSecurityDesc',\n    id: 351,\n    lengthId: '350',\n    description:\n      'Encoded (non-ASCII characters) representation of the SecurityDesc (107) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the SecurityDesc field.',\n  },\n  {\n    abbrName: 'EncListExecInstLen',\n    type: 'Length',\n    added: 'FIX.4.2',\n    name: 'EncodedListExecInstLen',\n    id: 352,\n    description:\n      'Byte length of encoded (non-ASCII characters) EncodedListExecInst (353) field.',\n  },\n  {\n    abbrName: 'EncListExecInst',\n    type: 'data',\n    added: 'FIX.4.2',\n    name: 'EncodedListExecInst',\n    id: 353,\n    lengthId: '352',\n    description:\n      'Encoded (non-ASCII characters) representation of the ListExecInst (69) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the ListExecInst field.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'Length',\n    updatedEP: '192',\n    added: 'FIX.4.2',\n    name: 'EncodedTextLen',\n    id: 354,\n    abbrName: 'EncTxtLen',\n    description: 'Byte length of encoded (non-ASCII characters) EncodedText (355) field.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'data',\n    updatedEP: '192',\n    added: 'FIX.4.2',\n    name: 'EncodedText',\n    id: 355,\n    abbrName: 'EncTxt',\n    lengthId: '354',\n    description:\n      'Encoded (non-ASCII characters) representation of the Text (58) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the Text(58) field.',\n  },\n  {\n    abbrName: 'EncSubjectLen',\n    type: 'Length',\n    added: 'FIX.4.2',\n    name: 'EncodedSubjectLen',\n    id: 356,\n    description:\n      'Byte length of encoded (non-ASCII characters) EncodedSubject (357) field.',\n  },\n  {\n    abbrName: 'EncSubject',\n    type: 'data',\n    added: 'FIX.4.2',\n    name: 'EncodedSubject',\n    id: 357,\n    lengthId: '356',\n    description:\n      'Encoded (non-ASCII characters) representation of the Subject (147) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the Subject field.',\n  },\n  {\n    abbrName: 'EncHeadlineLen',\n    type: 'Length',\n    added: 'FIX.4.2',\n    name: 'EncodedHeadlineLen',\n    id: 358,\n    description:\n      'Byte length of encoded (non-ASCII characters) EncodedHeadline (359) field.',\n  },\n  {\n    abbrName: 'EncHeadline',\n    type: 'data',\n    added: 'FIX.4.2',\n    name: 'EncodedHeadline',\n    id: 359,\n    lengthId: '358',\n    description:\n      'Encoded (non-ASCII characters) representation of the Headline (148) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the Headline field.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'Length',\n    updatedEP: '192',\n    added: 'FIX.4.2',\n    name: 'EncodedAllocTextLen',\n    id: 360,\n    abbrName: 'EncAllocTextLen',\n    description:\n      'Byte length of encoded (non-ASCII characters) EncodedAllocText (361) field.',\n  },\n  {\n    abbrName: 'EncAllocText',\n    type: 'data',\n    added: 'FIX.4.2',\n    name: 'EncodedAllocText',\n    id: 361,\n    lengthId: '360',\n    description:\n      'Encoded (non-ASCII characters) representation of the AllocText (161) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the AllocText field.',\n  },\n  {\n    abbrName: 'EncUndIssrLen',\n    type: 'Length',\n    added: 'FIX.4.2',\n    name: 'EncodedUnderlyingIssuerLen',\n    id: 362,\n    description:\n      'Byte length of encoded (non-ASCII characters) EncodedUnderlyingIssuer (363) field.',\n  },\n  {\n    abbrName: 'EncUndIssr',\n    type: 'data',\n    added: 'FIX.4.2',\n    name: 'EncodedUnderlyingIssuer',\n    id: 363,\n    lengthId: '362',\n    description:\n      'Encoded (non-ASCII characters) representation of the UnderlyingIssuer (306) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the UnderlyingIssuer field.',\n  },\n  {\n    abbrName: 'EncUndSecDescLen',\n    type: 'Length',\n    added: 'FIX.4.2',\n    name: 'EncodedUnderlyingSecurityDescLen',\n    id: 364,\n    description:\n      'Byte length of encoded (non-ASCII characters) EncodedUnderlyingSecurityDesc (365) field.',\n  },\n  {\n    abbrName: 'EncUndSecDesc',\n    type: 'data',\n    added: 'FIX.4.2',\n    name: 'EncodedUnderlyingSecurityDesc',\n    id: 365,\n    lengthId: '364',\n    description:\n      'Encoded (non-ASCII characters) representation of the UnderlyingSecurityDesc (307) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the UnderlyingSecurityeDesc field.',\n  },\n  {\n    abbrName: 'Px',\n    type: 'Price',\n    added: 'FIX.4.2',\n    name: 'AllocPrice',\n    id: 366,\n    description:\n      'Executed price for an AllocAccount (79) entry used when using \"executed price\" vs. \"average price\" allocations (e.g. Japan).',\n  },\n  {\n    abbrName: 'ValidTil',\n    type: 'UTCTimestamp',\n    added: 'FIX.4.2',\n    name: 'QuoteSetValidUntilTime',\n    id: 367,\n    description:\n      'Indicates expiration time of this particular QuoteSet (always expressed in UTC (Universal Time Coordinated, also known as \"GMT\")',\n  },\n  {\n    type: 'QuoteRejectReasonCodeSet',\n    unionDataType: 'Reserved100Plus',\n    added: 'FIX.4.2',\n    name: 'QuoteEntryRejectReason',\n    id: 368,\n    abbrName: 'EntryRejRsn',\n    description: 'Reason Quote Entry was rejected:',\n  },\n  {\n    abbrName: 'LastMsgSeqNumProced',\n    type: 'SeqNum',\n    added: 'FIX.4.2',\n    name: 'LastMsgSeqNumProcessed',\n    id: 369,\n    description:\n      'The last MsgSeqNum (34) value received by the FIX engine and processed by downstream application, such as trading engine or order routing system. Can be specified on every message sent. Useful for detecting a backlog with a counterparty.',\n  },\n  {\n    abbrName: 'RefTagID',\n    type: 'int',\n    added: 'FIX.4.2',\n    name: 'RefTagID',\n    id: 371,\n    description: 'The tag number of the FIX field being referenced.',\n  },\n  {\n    abbrName: 'RefMsgTyp',\n    type: 'MsgTypeCodeSet',\n    added: 'FIX.4.2',\n    name: 'RefMsgType',\n    id: 372,\n    description: 'The MsgType (35) of the FIX message being referenced.',\n  },\n  {\n    type: 'SessionRejectReasonCodeSet',\n    unionDataType: 'Reserved100Plus',\n    added: 'FIX.4.2',\n    name: 'SessionRejectReason',\n    id: 373,\n    abbrName: 'SessRejRsn',\n    description: 'Code to identify reason for a session-level Reject message.',\n  },\n  {\n    abbrName: 'BidReqTransTyp',\n    type: 'BidRequestTransTypeCodeSet',\n    added: 'FIX.4.2',\n    name: 'BidRequestTransType',\n    id: 374,\n    description: 'Identifies the Bid Request message type.',\n  },\n  {\n    abbrName: 'CntraBrkr',\n    type: 'String',\n    added: 'FIX.4.2',\n    name: 'ContraBroker',\n    id: 375,\n    description:\n      'Identifies contra broker. Standard NASD market-maker mnemonic is preferred.',\n  },\n  {\n    abbrName: 'ComplianceID',\n    type: 'String',\n    added: 'FIX.4.2',\n    name: 'ComplianceID',\n    id: 376,\n    description:\n      'ID used to represent this transaction for compliance purposes (e.g. OATS reporting).',\n  },\n  {\n    abbrName: 'SolFlag',\n    type: 'SolicitedFlagCodeSet',\n    added: 'FIX.4.2',\n    name: 'SolicitedFlag',\n    id: 377,\n    description: 'Indicates whether or not the order was solicited.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'ExecRestatementReasonCodeSet',\n    unionDataType: 'Reserved100Plus',\n    updatedEP: '195',\n    added: 'FIX.4.2',\n    name: 'ExecRestatementReason',\n    id: 378,\n    abbrName: 'ExecRstmtRsn',\n    description:\n      'The reason for restatement when an ExecutionReport(35=8) or TradeCaptureReport(35=AE) message is sent with ExecType(150) = D (Restated) or used when communicating an unsolicited cancel.',\n  },\n  {\n    abbrName: 'BizRejRefID',\n    type: 'String',\n    added: 'FIX.4.2',\n    name: 'BusinessRejectRefID',\n    id: 379,\n    description:\n      'The value of the business-level \"ID\" field on the message being referenced.',\n  },\n  {\n    abbrName: 'BizRejRsn',\n    type: 'BusinessRejectReasonCodeSet',\n    added: 'FIX.4.2',\n    name: 'BusinessRejectReason',\n    id: 380,\n    description: 'Code to identify reason for a Business Message Reject message.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'Amt',\n    updatedEP: '258',\n    added: 'FIX.4.2',\n    name: 'GrossTradeAmt',\n    id: 381,\n    abbrName: 'GrossTrdAmt',\n    description:\n      'Total amount traded expressed in units of currency - usually quantity * price. For FX Futures this is used to express the notional value of a fill when quantity fields are expressed in terms of contract size (i.e. quantity * price * contract size).',\n  },\n  {\n    abbrName: 'NoCntraBrkrs',\n    type: 'NumInGroup',\n    added: 'FIX.4.2',\n    name: 'NoContraBrokers',\n    id: 382,\n    description: 'The number of ContraBroker (375) entries.',\n  },\n  {\n    abbrName: 'MaxMsgSz',\n    type: 'Length',\n    added: 'FIX.4.2',\n    name: 'MaxMessageSize',\n    id: 383,\n    description: 'Maximum number of bytes supported for a single message.',\n  },\n  {\n    abbrName: 'NoMsgTyps',\n    type: 'NumInGroup',\n    added: 'FIX.4.2',\n    name: 'NoMsgTypes',\n    id: 384,\n    description: 'Number of MsgTypes (35) in repeating group.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'MsgDirectionCodeSet',\n    updatedEP: '275',\n    added: 'FIX.4.2',\n    name: 'MsgDirection',\n    id: 385,\n    abbrName: 'MsgDirctn',\n    description: 'Specifies the direction of the message.',\n  },\n  {\n    abbrName: 'NoTrdgSesss',\n    type: 'NumInGroup',\n    added: 'FIX.4.2',\n    name: 'NoTradingSessions',\n    id: 386,\n    description: 'Number of TradingSessionIDs (336) in repeating group.',\n  },\n  {\n    abbrName: 'TotVolTrdd',\n    type: 'Qty',\n    added: 'FIX.4.2',\n    name: 'TotalVolumeTraded',\n    id: 387,\n    description: 'Total volume (quantity) traded.',\n  },\n  {\n    abbrName: 'DsctnInst',\n    type: 'DiscretionInstCodeSet',\n    added: 'FIX.4.2',\n    name: 'DiscretionInst',\n    id: 388,\n    description:\n      'Code to identify the price a DiscretionOffsetValue (389) is related to and should be mathematically added to.',\n  },\n  {\n    abbrName: 'OfstValu',\n    type: 'float',\n    added: 'FIX.4.2',\n    name: 'DiscretionOffsetValue',\n    id: 389,\n    description:\n      'Amount (signed) added to the \"related to\" price specified via DiscretionInst (388), in the context of DiscretionOffsetType (842)\\n\\n(Prior to FIX 4.4 this field was of type PriceOffset)',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'String',\n    updatedEP: '144',\n    added: 'FIX.4.2',\n    name: 'BidID',\n    id: 390,\n    abbrName: 'BidID',\n    description:\n      'For bid lists, unique identifier for BidResponse(35=I) as assigned by sell-side (broker, exchange, ECN). Uniqueness must be guaranteed within a single trading day.\\n\\nFor quotes, unique identifier for the bid side of the quote assigned by the quote issuer.',\n  },\n  {\n    abbrName: 'ClBidID',\n    type: 'String',\n    added: 'FIX.4.2',\n    name: 'ClientBidID',\n    id: 391,\n    description:\n      'Unique identifier for a Bid Request as assigned by institution. Uniqueness must be guaranteed within a single trading day.',\n  },\n  {\n    abbrName: 'ListName',\n    type: 'String',\n    added: 'FIX.4.2',\n    name: 'ListName',\n    id: 392,\n    description: 'Descriptive name for list order.',\n  },\n  {\n    abbrName: 'TotNoReltdSym',\n    type: 'int',\n    added: 'FIX.4.2',\n    name: 'TotNoRelatedSym',\n    id: 393,\n    description:\n      'Total number of securities.\\n\\n(Prior to FIX 4.4 this field was named TotalNumSecurities)',\n  },\n  {\n    abbrName: 'BidTyp',\n    type: 'BidTypeCodeSet',\n    added: 'FIX.4.2',\n    name: 'BidType',\n    id: 394,\n    description: 'Code to identify the type of Bid Request.',\n  },\n  {\n    abbrName: 'NumTkts',\n    type: 'int',\n    added: 'FIX.4.2',\n    name: 'NumTickets',\n    id: 395,\n    description: 'Total number of tickets.',\n  },\n  {\n    abbrName: 'SideValu1',\n    type: 'Amt',\n    added: 'FIX.4.2',\n    name: 'SideValue1',\n    id: 396,\n    description: 'Amounts in currency',\n  },\n  {\n    abbrName: 'SideValu2',\n    type: 'Amt',\n    added: 'FIX.4.2',\n    name: 'SideValue2',\n    id: 397,\n    description: 'Amounts in currency',\n  },\n  {\n    abbrName: 'NoBidDescptrs',\n    type: 'NumInGroup',\n    added: 'FIX.4.2',\n    name: 'NoBidDescriptors',\n    id: 398,\n    description: 'Number of BidDescriptor (400) entries.',\n  },\n  {\n    abbrName: 'BidDescptrTyp',\n    type: 'BidDescriptorTypeCodeSet',\n    added: 'FIX.4.2',\n    name: 'BidDescriptorType',\n    id: 399,\n    description: 'Code to identify the type of BidDescriptor (400).',\n  },\n  {\n    abbrName: 'BidDescptr',\n    type: 'String',\n    added: 'FIX.4.2',\n    name: 'BidDescriptor',\n    id: 400,\n    description:\n      'BidDescriptor value. Usage depends upon BidDescriptorTyp (399).\\n\\nIf BidDescriptorType = 1\\n\\nIndustrials etc - Free text\\n\\nIf BidDescriptorType = 2\\n\\n\"FR\" etc - ISO Country Codes\\n\\nIf BidDescriptorType = 3\\n\\nFT00, FT250, STOX - Free text',\n  },\n  {\n    abbrName: 'SideValuInd',\n    type: 'SideValueIndCodeSet',\n    added: 'FIX.4.2',\n    name: 'SideValueInd',\n    id: 401,\n    description:\n      'Code to identify which \"SideValue\" the value refers to. SideValue1 and SideValue2 are used as opposed to Buy or Sell so that the basket can be quoted either way as Buy or Sell.',\n  },\n  {\n    abbrName: 'LqdtyPctLow',\n    type: 'Percentage',\n    added: 'FIX.4.2',\n    name: 'LiquidityPctLow',\n    id: 402,\n    description:\n      'Liquidity indicator or lower limit if TotalNumSecurities (393) > 1. Represented as a percentage.',\n  },\n  {\n    abbrName: 'LqdtyPctHigh',\n    type: 'Percentage',\n    added: 'FIX.4.2',\n    name: 'LiquidityPctHigh',\n    id: 403,\n    description:\n      'Upper liquidity indicator if TotalNumSecurities (393) > 1. Represented as a percentage.',\n  },\n  {\n    abbrName: 'LqdtyValu',\n    type: 'Amt',\n    added: 'FIX.4.2',\n    name: 'LiquidityValue',\n    id: 404,\n    description:\n      'Value between LiquidityPctLow (402) and LiquidityPctHigh (403) in Currency',\n  },\n  {\n    abbrName: 'EFPTrkngErr',\n    type: 'Percentage',\n    added: 'FIX.4.2',\n    name: 'EFPTrackingError',\n    id: 405,\n    description:\n      'Eg Used in EFP trades 2% (EFP - Exchange for Physical ). Represented as a percentage.',\n  },\n  {\n    abbrName: 'FairValu',\n    type: 'Amt',\n    added: 'FIX.4.2',\n    name: 'FairValue',\n    id: 406,\n    description: 'Used in EFP trades',\n  },\n  {\n    abbrName: 'OutsideNdxPct',\n    type: 'Percentage',\n    added: 'FIX.4.2',\n    name: 'OutsideIndexPct',\n    id: 407,\n    description: 'Used in EFP trades. Represented as a percentage.',\n  },\n  {\n    abbrName: 'ValuOfFuts',\n    type: 'Amt',\n    added: 'FIX.4.2',\n    name: 'ValueOfFutures',\n    id: 408,\n    description: 'Used in EFP trades',\n  },\n  {\n    abbrName: 'LqdtyIndTyp',\n    type: 'LiquidityIndTypeCodeSet',\n    added: 'FIX.4.2',\n    name: 'LiquidityIndType',\n    id: 409,\n    description: 'Code to identify the type of liquidity indicator.',\n  },\n  {\n    abbrName: 'WtAvgLqdty',\n    type: 'Percentage',\n    added: 'FIX.4.2',\n    name: 'WtAverageLiquidity',\n    id: 410,\n    description:\n      'Overall weighted average liquidity expressed as a % of average daily volume. Represented as a percentage.',\n  },\n  {\n    abbrName: 'EFP',\n    type: 'ExchangeForPhysicalCodeSet',\n    added: 'FIX.4.2',\n    name: 'ExchangeForPhysical',\n    id: 411,\n    description: 'Indicates whether or not to exchange for phsyical.',\n  },\n  {\n    abbrName: 'OutMainCntryUNdx',\n    type: 'Amt',\n    added: 'FIX.4.2',\n    name: 'OutMainCntryUIndex',\n    id: 412,\n    description: 'Value of stocks in Currency',\n  },\n  {\n    type: 'Percentage',\n    baseCategoryAbbrName: 'Pct',\n    baseCategory: 'CrossOrders',\n    added: 'FIX.4.2',\n    name: 'CrossPercent',\n    id: 413,\n    abbrName: 'CrssPct',\n    description:\n      'Percentage of program that crosses in Currency. Represented as a percentage.',\n  },\n  {\n    abbrName: 'ProgRptReqs',\n    type: 'ProgRptReqsCodeSet',\n    added: 'FIX.4.2',\n    name: 'ProgRptReqs',\n    id: 414,\n    description: 'Code to identify the desired frequency of progress reports.',\n  },\n  {\n    abbrName: 'ProgPeriodIntvl',\n    type: 'int',\n    added: 'FIX.4.2',\n    name: 'ProgPeriodInterval',\n    id: 415,\n    description:\n      \"Time in minutes between each ListStatus report sent by SellSide. Zero means don't send status.\",\n  },\n  {\n    abbrName: 'IncTaxInd',\n    type: 'IncTaxIndCodeSet',\n    added: 'FIX.4.2',\n    name: 'IncTaxInd',\n    id: 416,\n    description: 'Code to represent whether value is net (inclusive of tax) or gross.',\n  },\n  {\n    abbrName: 'NumBidders',\n    type: 'int',\n    added: 'FIX.4.2',\n    name: 'NumBidders',\n    id: 417,\n    description: 'Indicates the total number of bidders on the list',\n  },\n  {\n    abbrName: 'BidTrdTyp',\n    type: 'BidTradeTypeCodeSet',\n    added: 'FIX.4.2',\n    name: 'BidTradeType',\n    id: 418,\n    description:\n      'Code to represent the type of trade.\\n\\n(Prior to FIX 4.4 this field was named \"TradeType\")',\n  },\n  {\n    abbrName: 'BasisPxTyp',\n    type: 'BasisPxTypeCodeSet',\n    added: 'FIX.4.2',\n    name: 'BasisPxType',\n    id: 419,\n    description: 'Code to represent the basis price type.',\n  },\n  {\n    abbrName: 'NoBidComponents',\n    type: 'NumInGroup',\n    added: 'FIX.4.2',\n    name: 'NoBidComponents',\n    id: 420,\n    description: 'Indicates the number of list entries.',\n  },\n  {\n    abbrName: 'Ctry',\n    type: 'Country',\n    added: 'FIX.4.2',\n    name: 'Country',\n    id: 421,\n    description: 'ISO Country Code in field',\n  },\n  {\n    abbrName: 'TotNoStrks',\n    type: 'int',\n    added: 'FIX.4.2',\n    name: 'TotNoStrikes',\n    id: 422,\n    description:\n      'Total number of strike price entries across all messages. Should be the sum of all NoStrikes (428) in each message that has repeating strike price entries related to the same ListID (66). Used to support fragmentation.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'PriceTypeCodeSet',\n    updatedEP: '271',\n    added: 'FIX.4.2',\n    name: 'PriceType',\n    id: 423,\n    abbrName: 'PxTyp',\n    description: 'Code to represent the price type.\\n\\n',\n  },\n  {\n    abbrName: 'DayOrdQty',\n    type: 'Qty',\n    added: 'FIX.4.2',\n    name: 'DayOrderQty',\n    id: 424,\n    description:\n      'For GT orders, the OrderQty (38) less all quantity (adjusted for stock splits) that traded on previous days. DayOrderQty (424) = OrderQty - (CumQty (14) - DayCumQty (425))',\n  },\n  {\n    abbrName: 'DayCumQty',\n    type: 'Qty',\n    added: 'FIX.4.2',\n    name: 'DayCumQty',\n    id: 425,\n    description: 'Quantity on a GT order that has traded today.',\n  },\n  {\n    abbrName: 'DayAvgPx',\n    type: 'Price',\n    added: 'FIX.4.2',\n    name: 'DayAvgPx',\n    id: 426,\n    description: 'The average price for quantity on a GT order that has traded today.',\n  },\n  {\n    abbrName: 'GTBkngInst',\n    type: 'GTBookingInstCodeSet',\n    added: 'FIX.4.2',\n    name: 'GTBookingInst',\n    id: 427,\n    description:\n      'Code to identify whether to book out executions on a part-filled GT order on the day of execution or to accumulate.',\n  },\n  {\n    abbrName: 'NoStrks',\n    type: 'NumInGroup',\n    added: 'FIX.4.2',\n    name: 'NoStrikes',\n    id: 428,\n    description: 'Number of list strike price entries.',\n  },\n  {\n    abbrName: 'ListStatTyp',\n    type: 'ListStatusTypeCodeSet',\n    added: 'FIX.4.2',\n    name: 'ListStatusType',\n    id: 429,\n    description: 'Code to represent the status type.',\n  },\n  {\n    abbrName: 'NetGrossInd',\n    type: 'NetGrossIndCodeSet',\n    added: 'FIX.4.2',\n    name: 'NetGrossInd',\n    id: 430,\n    description: 'Code to represent whether value is net (inclusive of tax) or gross.',\n  },\n  {\n    abbrName: 'ListOrdStat',\n    type: 'ListOrderStatusCodeSet',\n    added: 'FIX.4.2',\n    name: 'ListOrderStatus',\n    id: 431,\n    description: 'Code to represent the status of a list order.',\n  },\n  {\n    abbrName: 'ExpireDt',\n    type: 'LocalMktDate',\n    added: 'FIX.4.2',\n    name: 'ExpireDate',\n    id: 432,\n    description:\n      \"Date of order expiration (last day the order can trade), always expressed in terms of the local market date. The time at which the order expires is determined by the local market's business practices\",\n  },\n  {\n    abbrName: 'ListExecInstTyp',\n    type: 'ListExecInstTypeCodeSet',\n    added: 'FIX.4.2',\n    name: 'ListExecInstType',\n    id: 433,\n    description: 'Identifies the type of ListExecInst (69).',\n  },\n  {\n    abbrName: 'CxlRejRspTo',\n    type: 'CxlRejResponseToCodeSet',\n    added: 'FIX.4.2',\n    name: 'CxlRejResponseTo',\n    id: 434,\n    description: 'Identifies the type of request that a Cancel Reject is in response to.',\n  },\n  {\n    abbrName: 'CpnRt',\n    type: 'Percentage',\n    added: 'FIX.4.2',\n    name: 'UnderlyingCouponRate',\n    id: 435,\n    description:\n      \"Underlying security's CouponRate.\\n\\nSee CouponRate (223) field for description\",\n  },\n  {\n    abbrName: 'Mult',\n    type: 'float',\n    added: 'FIX.4.2',\n    name: 'UnderlyingContractMultiplier',\n    id: 436,\n    description:\n      \"Underlying security's ContractMultiplier.\\n\\nSee ContractMultiplier (231) field for description\",\n  },\n  {\n    type: 'Qty',\n    baseCategoryAbbrName: 'TrdQty',\n    baseCategory: 'SingleGeneralOrderHandling',\n    added: 'FIX.4.2',\n    name: 'ContraTradeQty',\n    id: 437,\n    abbrName: 'CntraTrdQty',\n    description: 'Quantity traded with the ContraBroker (375).',\n  },\n  {\n    type: 'UTCTimestamp',\n    baseCategoryAbbrName: 'TrdTm',\n    baseCategory: 'SingleGeneralOrderHandling',\n    added: 'FIX.4.2',\n    name: 'ContraTradeTime',\n    id: 438,\n    abbrName: 'CntraTrdTm',\n    description:\n      'Identifes the time of the trade with the ContraBroker (375). (always expressed in UTC (Universal Time Coordinated, also known as \"GMT\")',\n  },\n  {\n    abbrName: 'LqdtyNumSecurities',\n    type: 'int',\n    added: 'FIX.4.2',\n    name: 'LiquidityNumSecurities',\n    id: 441,\n    description:\n      'Number of Securites between LiquidityPctLow (402) and LiquidityPctHigh (403) in Currency.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'MultiLegReportingTypeCodeSet',\n    updatedEP: '150',\n    added: 'FIX.4.2',\n    name: 'MultiLegReportingType',\n    id: 442,\n    abbrName: 'MLegRptTyp',\n    description:\n      'Used to indicate how the multi-legged security (e.g. option strategies, spreads, etc.) is being reported.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'UTCTimestamp',\n    updatedEP: '226',\n    added: 'FIX.4.2',\n    name: 'StrikeTime',\n    id: 443,\n    abbrName: 'StrkTm',\n    description:\n      'The time at which current market prices are used to determine the value of a basket.\\n\\nIn negotiation workflows where a spread-to-benchmark price is negotiated, this is the pre-determined time at which the benchmark is to be spotted.',\n  },\n  {\n    abbrName: 'ListStatText',\n    type: 'String',\n    added: 'FIX.4.2',\n    name: 'ListStatusText',\n    id: 444,\n    description: 'Free format text string related to List Status.',\n  },\n  {\n    abbrName: 'EncListStatTextLen',\n    type: 'Length',\n    added: 'FIX.4.2',\n    name: 'EncodedListStatusTextLen',\n    id: 445,\n    description:\n      'Byte length of encoded (non-ASCII characters) EncodedListStatusText (446) field.',\n  },\n  {\n    abbrName: 'EncListStatText',\n    type: 'data',\n    added: 'FIX.4.2',\n    name: 'EncodedListStatusText',\n    id: 446,\n    lengthId: '445',\n    description:\n      'Encoded (non-ASCII characters) representation of the ListStatusText (444) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the ListStatusText field.',\n  },\n  {\n    abbrName: 'Src',\n    type: 'PartyIDSourceCodeSet',\n    added: 'FIX.4.3',\n    name: 'PartyIDSource',\n    id: 447,\n    description:\n      'Identifies class or source of the PartyID (448) value. Required if PartyID is specified. Note: applicable values depend upon PartyRole (452) specified.\\n\\nSee \"Appendix 6-G - Use of <Parties> Component Block\"',\n  },\n  {\n    abbrName: 'ID',\n    type: 'String',\n    added: 'FIX.4.3',\n    name: 'PartyID',\n    id: 448,\n    discriminatorId: '447',\n    description:\n      'Party identifier/code. See PartyIDSource (447) and PartyRole (452).\\n\\nSee \"Appendix 6-G - Use of <Parties> Component Block\"',\n  },\n  {\n    abbrName: 'NetChgPrevDay',\n    type: 'PriceOffset',\n    added: 'FIX.4.3',\n    name: 'NetChgPrevDay',\n    id: 451,\n    description: \"Net change from previous day's closing price vs. last traded price.\",\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PartyRoleCodeSet',\n    updatedEP: '256',\n    added: 'FIX.4.3',\n    name: 'PartyRole',\n    id: 452,\n    abbrName: 'R',\n    description: 'Identifies the type or role of the PartyID (448) specified.',\n  },\n  {\n    abbrName: 'NoPtyIDs',\n    type: 'NumInGroup',\n    added: 'FIX.4.3',\n    name: 'NoPartyIDs',\n    id: 453,\n    description:\n      'Number of PartyID (448), PartyIDSource (447), and PartyRole (452) entries',\n  },\n  {\n    abbrName: 'NoSecAltID',\n    type: 'NumInGroup',\n    added: 'FIX.4.3',\n    name: 'NoSecurityAltID',\n    id: 454,\n    description: 'Number of SecurityAltID (455) entries.',\n  },\n  {\n    abbrName: 'AltID',\n    type: 'String',\n    added: 'FIX.4.3',\n    name: 'SecurityAltID',\n    id: 455,\n    discriminatorId: '456',\n    description:\n      'Alternate Security identifier value for this security of SecurityAltIDSource (456) type (e.g. CUSIP, SEDOL, ISIN, etc). Requires SecurityAltIDSource.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'SecurityIDSourceCodeSet',\n    unionDataType: 'Reserved100Plus',\n    updatedEP: '271',\n    added: 'FIX.4.3',\n    name: 'SecurityAltIDSource',\n    id: 456,\n    abbrName: 'AltIDSrc',\n    description: 'Identifies class or source of the SecurityAltID(455) value.',\n  },\n  {\n    abbrName: 'NoUndSecAltID',\n    type: 'NumInGroup',\n    added: 'FIX.4.3',\n    name: 'NoUnderlyingSecurityAltID',\n    id: 457,\n    description: 'Number of UnderlyingSecurityAltID (458) entries.',\n  },\n  {\n    abbrName: 'AltID',\n    type: 'String',\n    added: 'FIX.4.3',\n    name: 'UnderlyingSecurityAltID',\n    id: 458,\n    discriminatorId: '459',\n    description:\n      'Alternate Security identifier value for this underlying security of UnderlyingSecurityAltIDSource (459) type (e.g. CUSIP, SEDOL, ISIN, etc). Requires UnderlyingSecurityAltIDSource.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'SecurityIDSourceCodeSet',\n    unionDataType: 'Reserved100Plus',\n    updatedEP: '271',\n    added: 'FIX.4.3',\n    name: 'UnderlyingSecurityAltIDSource',\n    id: 459,\n    abbrName: 'AltIDSrc',\n    description:\n      'Identifies class or source of the UnderlyingSecurityAltID(458) value.\\n\\nRequired if UnderlyingSecurityAltID is specified.',\n  },\n  {\n    abbrName: 'Prod',\n    type: 'ProductCodeSet',\n    added: 'FIX.4.3',\n    name: 'Product',\n    id: 460,\n    description:\n      'Indicates the type of product the security is associated with. See also the CFICode (461) and SecurityType (167) fields.',\n  },\n  {\n    abbrName: 'CFI',\n    type: 'String',\n    added: 'FIX.4.3',\n    name: 'CFICode',\n    id: 461,\n    description:\n      'Indicates the type of security using ISO 10962 standard, Classification of Financial Instruments (CFI code) values. ISO 10962 is maintained by ANNA (Association of National Numbering Agencies) acting as Registration Authority. See \"Appendix 6-B FIX Fields Based Upon Other Standards\". See also the Product (460) and SecurityType (167) fields. It is recommended that CFICode be used instead of SecurityType (167) for non-Fixed Income instruments.\\n\\nA subset of possible values applicable to FIX usage are identified in \"Appendix 6-D CFICode Usage - ISO 10962 Classification of Financial Instruments (CFI code)\"',\n  },\n  {\n    abbrName: 'Prod',\n    type: 'ProductCodeSet',\n    added: 'FIX.4.3',\n    name: 'UnderlyingProduct',\n    id: 462,\n    description: \"Underlying security's Product.\\n\\nValid values: see Product(460) field\",\n  },\n  {\n    abbrName: 'CFI',\n    type: 'String',\n    added: 'FIX.4.3',\n    name: 'UnderlyingCFICode',\n    id: 463,\n    description:\n      \"Underlying security's CFICode.\\n\\nValid values: see CFICode (461) field\",\n  },\n  {\n    abbrName: 'TestMsgInd',\n    type: 'TestMessageIndicatorCodeSet',\n    added: 'FIX.4.3',\n    name: 'TestMessageIndicator',\n    id: 464,\n    description:\n      'Indicates whether or not this FIX Session is a \"test\" vs. \"production\" connection. Useful for preventing \"accidents\".',\n  },\n  {\n    abbrName: 'BkngRefID',\n    type: 'String',\n    added: 'FIX.4.3',\n    name: 'BookingRefID',\n    id: 466,\n    description:\n      'Common reference passed to a post-trade booking process (e.g. industry matching utility).',\n  },\n  {\n    abbrName: 'IndAllocID',\n    type: 'String',\n    added: 'FIX.4.3',\n    name: 'IndividualAllocID',\n    id: 467,\n    description:\n      'Unique identifier for a specific NoAllocs (78) repeating group instance (e.g. for an AllocAccount).',\n  },\n  {\n    abbrName: 'RndDir',\n    type: 'RoundingDirectionCodeSet',\n    added: 'FIX.4.3',\n    name: 'RoundingDirection',\n    id: 468,\n    description:\n      'Specifies which direction to round For CIV - indicates whether or not the quantity of shares/units is to be rounded and in which direction where CashOrdQty (152) or (for CIV only) OrderPercent (516) are specified on an order.\\n\\nThe default is for rounding to be at the discretion of the executing broker or fund manager.\\n\\ne.g. for an order specifying CashOrdQty or OrderPercent if the calculated number of shares/units was 325.76 and RoundingModulus (469) was 0 - \"round down\" would give 320 units, 1 - \"round up\" would give 330 units and \"round to nearest\" would give 320 units.',\n  },\n  {\n    abbrName: 'RndMod',\n    type: 'float',\n    added: 'FIX.4.3',\n    name: 'RoundingModulus',\n    id: 469,\n    description:\n      'For CIV - a float value indicating the value to which rounding is required.\\n\\ni.e. 0 means round to a multiple of 0 units/shares; 0.5 means round to a multiple of 0.5 units/shares.\\n\\nThe default, if RoundingDirection (468) is specified without RoundingModulus, is to round to a whole unit/share.',\n  },\n  {\n    abbrName: 'IssuCtry',\n    type: 'Country',\n    added: 'FIX.4.3',\n    name: 'CountryOfIssue',\n    id: 470,\n    description:\n      'ISO Country code of instrument issue (e.g. the country portion typically used in ISIN). Can be used in conjunction with non-ISIN SecurityID (48) (e.g. CUSIP for Municipal Bonds without ISIN) to provide uniqueness.',\n  },\n  {\n    abbrName: 'StPrv',\n    type: 'String',\n    added: 'FIX.4.3',\n    name: 'StateOrProvinceOfIssue',\n    id: 471,\n    description: 'A two-character state or province abbreviation.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'String',\n    updatedEP: '192',\n    added: 'FIX.4.3',\n    name: 'LocaleOfIssue',\n    id: 472,\n    abbrName: 'Lcl',\n    description:\n      'Identifies the locale or region of issue.\\n\\nFor Municipal Security Issuers other than state or province. Refer to http://www.atmos.albany.edu/cgi/stagrep-cgi. Reference the IATA city codes for values. Note IATA (International Air Transport Association) maintains the codes at www.iata.org. For other securities the value may be a region of the issuer, e.g. North America.',\n  },\n  {\n    abbrName: 'NoRegistDtls',\n    type: 'NumInGroup',\n    added: 'FIX.4.3',\n    name: 'NoRegistDtls',\n    id: 473,\n    description:\n      'The number of registration details on a Registration Instructions message',\n  },\n  {\n    abbrName: 'MailingDtls',\n    type: 'String',\n    added: 'FIX.4.3',\n    name: 'MailingDtls',\n    id: 474,\n    description:\n      'Set of Correspondence address details, possibly including phone, fax, etc.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'Country',\n    updatedEP: '271',\n    added: 'FIX.4.3',\n    name: 'InvestorCountryOfResidence',\n    id: 475,\n    abbrName: 'InvestorCtryOfResidence',\n    description:\n      'The ISO 3166 Country code (2 character) identifying which country the beneficial investor is resident for tax purposes.',\n  },\n  {\n    abbrName: 'PmtRef',\n    type: 'String',\n    added: 'FIX.4.3',\n    name: 'PaymentRef',\n    id: 476,\n    description:\n      '\"Settlement Payment Reference\" - A free format Payment reference to assist with reconciliation, e.g. a Client and/or Order ID number.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'DistribPaymentMethodCodeSet',\n    unionDataType: 'Reserved1000Plus',\n    updatedEP: '271',\n    added: 'FIX.4.3',\n    name: 'DistribPaymentMethod',\n    id: 477,\n    abbrName: 'DistribPmtMethod',\n    description:\n      'Identifies the payment method for a (fractional) distribution. Used for CIV.',\n  },\n  {\n    abbrName: 'CshDistribCurr',\n    type: 'Currency',\n    added: 'FIX.4.3',\n    name: 'CashDistribCurr',\n    id: 478,\n    description:\n      'Specifies currency to be used for Cash Distributions see \"Appendix 6-A Valid Currency Codes\".',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'Currency',\n    updatedEP: '273',\n    added: 'FIX.4.3',\n    name: 'CommCurrency',\n    id: 479,\n    abbrName: 'Ccy',\n    description:\n      'Specifies currency to be used for Commission(12) if the commission currency is different from the deal currency.\\n\\nCommCurrencyCodeSource(2922) may be used to disambiguate the code source scheme used, and ISO 4217 is the default scheme if absent.',\n  },\n  {\n    abbrName: 'CxllationRights',\n    type: 'CancellationRightsCodeSet',\n    added: 'FIX.4.3',\n    name: 'CancellationRights',\n    id: 480,\n    description:\n      'For CIV - A one character code identifying whether Cancellation rights/Cooling off period applies.',\n  },\n  {\n    abbrName: 'MnyLaunderingStat',\n    type: 'MoneyLaunderingStatusCodeSet',\n    added: 'FIX.4.3',\n    name: 'MoneyLaunderingStatus',\n    id: 481,\n    description: 'A one character code identifying Money laundering status.',\n  },\n  {\n    abbrName: 'MailingInst',\n    type: 'String',\n    added: 'FIX.4.3',\n    name: 'MailingInst',\n    id: 482,\n    description:\n      'Free format text to specify mailing instruction requirements, e.g. \"no third party mailings\".',\n  },\n  {\n    abbrName: 'TransBkdTm',\n    type: 'UTCTimestamp',\n    added: 'FIX.4.3',\n    name: 'TransBkdTime',\n    id: 483,\n    description:\n      'For CIV A date and time stamp to indicate the time a CIV order was booked by the fund manager.\\n\\nFor derivatives a date and time stamp to indicate when this order was booked with the agent prior to submission to the VMU. Indicates the time at which the order was finalized between the buyer and seller prior to submission.',\n  },\n  {\n    abbrName: 'ExecPxTyp',\n    type: 'ExecPriceTypeCodeSet',\n    added: 'FIX.4.3',\n    name: 'ExecPriceType',\n    id: 484,\n    description:\n      'For CIV - Identifies how the execution price LastPx (31) was calculated from the fund unit/share price(s) calculated at the fund valuation point.',\n  },\n  {\n    abbrName: 'ExecPxAdjment',\n    type: 'float',\n    added: 'FIX.4.3',\n    name: 'ExecPriceAdjustment',\n    id: 485,\n    description:\n      'For CIV the amount or percentage by which the fund unit/share price was adjusted, as indicated by ExecPriceType (484)',\n  },\n  {\n    abbrName: 'DtOfBirth',\n    type: 'LocalMktDate',\n    added: 'FIX.4.3',\n    name: 'DateOfBirth',\n    id: 486,\n    description:\n      'The date of birth applicable to the individual, e.g. required to open some types of tax-exempt account.',\n  },\n  {\n    abbrName: 'TransTyp',\n    type: 'TradeReportTransTypeCodeSet',\n    added: 'FIX.4.3',\n    name: 'TradeReportTransType',\n    id: 487,\n    description:\n      'Identifies Trade Report message transaction type\\n\\n(Prior to FIX 4.4 this field was of type char)',\n  },\n  {\n    abbrName: 'CardHolderName',\n    type: 'String',\n    added: 'FIX.4.3',\n    name: 'CardHolderName',\n    id: 488,\n    description:\n      'The name of the payment card holder as specified on the card being used for payment.',\n  },\n  {\n    abbrName: 'CardNum',\n    type: 'String',\n    added: 'FIX.4.3',\n    name: 'CardNumber',\n    id: 489,\n    description:\n      'The number of the payment card as specified on the card being used for payment.',\n  },\n  {\n    abbrName: 'CardExpDt',\n    type: 'LocalMktDate',\n    added: 'FIX.4.3',\n    name: 'CardExpDate',\n    id: 490,\n    description:\n      'The expiry date of the payment card as specified on the card being used for payment.',\n  },\n  {\n    abbrName: 'CardIssNum',\n    type: 'String',\n    added: 'FIX.4.3',\n    name: 'CardIssNum',\n    id: 491,\n    description:\n      'The issue number of the payment card as specified on the card being used for payment. This is only applicable to certain types of card.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'PaymentMethodCodeSet',\n    unionDataType: 'Reserved1000Plus',\n    updatedEP: '271',\n    added: 'FIX.4.3',\n    name: 'PaymentMethod',\n    id: 492,\n    abbrName: 'PmtMethod',\n    description: 'Identifies the settlement payment method.',\n  },\n  {\n    type: 'String',\n    baseCategoryAbbrName: 'AcctTyp',\n    baseCategory: 'RegistrationInstruction',\n    added: 'FIX.4.3',\n    name: 'RegistAcctType',\n    id: 493,\n    abbrName: 'AcctTyp',\n    description:\n      \"For CIV - a fund manager-defined code identifying which of the fund manager's account types is required.\",\n  },\n  {\n    abbrName: 'Designation',\n    type: 'String',\n    added: 'FIX.4.3',\n    name: 'Designation',\n    id: 494,\n    description:\n      \"Free format text defining the designation to be associated with a holding on the register. Used to identify assets of a specific underlying investor using a common registration, e.g. a broker's nominee or street name.\",\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'TaxAdvantageTypeCodeSet',\n    unionDataType: 'Reserved1000Plus',\n    updatedEP: '271',\n    added: 'FIX.4.3',\n    name: 'TaxAdvantageType',\n    id: 495,\n    abbrName: 'TaxAdvantageTyp',\n    description:\n      'Identifies the type of tax exempt account in which purchases shares/units are to be held. Used for CIV.',\n  },\n  {\n    type: 'String',\n    baseCategoryAbbrName: 'Dtls',\n    baseCategory: 'RegistrationInstruction',\n    added: 'FIX.4.3',\n    name: 'RegistRejReasonText',\n    id: 496,\n    abbrName: 'RejRsnTxt',\n    description:\n      'Text indicating reason(s) why a Registration Instruction has been rejected.',\n  },\n  {\n    abbrName: 'FundRenewWaiv',\n    type: 'FundRenewWaivCodeSet',\n    added: 'FIX.4.3',\n    name: 'FundRenewWaiv',\n    id: 497,\n    description:\n      'A one character code identifying whether the Fund based renewal commission is to be waived.',\n  },\n  {\n    abbrName: 'CshDistribAgentName',\n    type: 'String',\n    added: 'FIX.4.3',\n    name: 'CashDistribAgentName',\n    id: 498,\n    description: 'Name of local agent bank if for cash distributions',\n  },\n  {\n    abbrName: 'CshDistribAgentCode',\n    type: 'String',\n    added: 'FIX.4.3',\n    name: 'CashDistribAgentCode',\n    id: 499,\n    description:\n      'BIC (Bank Identification Code--Swift managed) code of agent bank for cash distributions',\n  },\n  {\n    abbrName: 'CshDistribAgentAcctNum',\n    type: 'String',\n    added: 'FIX.4.3',\n    name: 'CashDistribAgentAcctNumber',\n    id: 500,\n    description: 'Account number at agent bank for distributions.',\n  },\n  {\n    abbrName: 'CshDistribPayRef',\n    type: 'String',\n    added: 'FIX.4.3',\n    name: 'CashDistribPayRef',\n    id: 501,\n    description:\n      'Free format Payment reference to assist with reconciliation of distributions.',\n  },\n  {\n    abbrName: 'CshDistribAgentAcctName',\n    type: 'String',\n    added: 'FIX.4.3',\n    name: 'CashDistribAgentAcctName',\n    id: 502,\n    description: 'Name of account at agent bank for distributions.',\n  },\n  {\n    abbrName: 'CardStartDt',\n    type: 'LocalMktDate',\n    added: 'FIX.4.3',\n    name: 'CardStartDate',\n    id: 503,\n    description:\n      'The start date of the card as specified on the card being used for payment.',\n  },\n  {\n    abbrName: 'PmtDt',\n    type: 'LocalMktDate',\n    added: 'FIX.4.3',\n    name: 'PaymentDate',\n    id: 504,\n    description:\n      'The date written on a cheque or date payment should be submitted to the relevant clearing system.',\n  },\n  {\n    abbrName: 'PmtRemtrID',\n    type: 'String',\n    added: 'FIX.4.3',\n    name: 'PaymentRemitterID',\n    id: 505,\n    description:\n      'Identifies sender of a payment, e.g. the payment remitter or a customer reference number.',\n  },\n  {\n    abbrName: 'RegStat',\n    type: 'RegistStatusCodeSet',\n    added: 'FIX.4.3',\n    name: 'RegistStatus',\n    id: 506,\n    description:\n      'Registration status as returned by the broker or (for CIV) the fund manager:',\n  },\n  {\n    type: 'RegistRejReasonCodeCodeSet',\n    baseCategoryAbbrName: 'RejRsnCd',\n    baseCategory: 'RegistrationInstruction',\n    unionDataType: 'Reserved100Plus',\n    added: 'FIX.4.3',\n    name: 'RegistRejReasonCode',\n    id: 507,\n    abbrName: 'RejRsnCd',\n    description:\n      'Reason(s) why Registration Instructions has been rejected.\\n\\nThe reason may be further amplified in the RegistRejReasonCode field.\\n\\nPossible values of reason code include:',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'String',\n    baseCategoryAbbrName: 'RefID',\n    baseCategory: 'RegistrationInstruction',\n    updatedEP: '282',\n    added: 'FIX.4.3',\n    name: 'RegistRefID',\n    id: 508,\n    abbrName: 'RefID',\n    description:\n      'Reference identifier for the RegistID(513) with Cancel and Replace RegistTransType(514) transaction types.',\n  },\n  {\n    type: 'String',\n    baseCategoryAbbrName: 'RejRsnTxt',\n    baseCategory: 'RegistrationInstruction',\n    added: 'FIX.4.3',\n    name: 'RegistDtls',\n    id: 509,\n    abbrName: 'Dtls',\n    description:\n      'Set of Registration name and address details, possibly including phone, fax etc.',\n  },\n  {\n    abbrName: 'NoDistribInsts',\n    type: 'NumInGroup',\n    added: 'FIX.4.3',\n    name: 'NoDistribInsts',\n    id: 510,\n    description:\n      'The number of Distribution Instructions on a Registration Instructions message',\n  },\n  {\n    type: 'String',\n    baseCategoryAbbrName: 'Email',\n    baseCategory: 'RegistrationInstruction',\n    added: 'FIX.4.3',\n    name: 'RegistEmail',\n    id: 511,\n    abbrName: 'Email',\n    description: 'Email address relating to Registration name and address details',\n  },\n  {\n    abbrName: 'DistribPctage',\n    type: 'Percentage',\n    added: 'FIX.4.3',\n    name: 'DistribPercentage',\n    id: 512,\n    description:\n      'The amount of each distribution to go to this beneficiary, expressed as a percentage',\n  },\n  {\n    type: 'String',\n    baseCategoryAbbrName: 'ID',\n    baseCategory: 'RegistrationInstruction',\n    added: 'FIX.4.3',\n    name: 'RegistID',\n    id: 513,\n    abbrName: 'RegistID',\n    description:\n      'Unique identifier of the registration details as assigned by institution or intermediary.',\n  },\n  {\n    abbrName: 'TransTyp',\n    type: 'RegistTransTypeCodeSet',\n    added: 'FIX.4.3',\n    name: 'RegistTransType',\n    id: 514,\n    description: 'Identifies Registration Instructions transaction type',\n  },\n  {\n    abbrName: 'ExecValuationPoint',\n    type: 'UTCTimestamp',\n    added: 'FIX.4.3',\n    name: 'ExecValuationPoint',\n    id: 515,\n    description:\n      'For CIV - a date and time stamp to indicate the fund valuation point with respect to which a order was priced by the fund manager.',\n  },\n  {\n    abbrName: 'Pct',\n    type: 'Percentage',\n    added: 'FIX.4.3',\n    name: 'OrderPercent',\n    id: 516,\n    description:\n      \"For CIV specifies the approximate order quantity desired. For a CIV Sale it specifies percentage of investor's total holding to be sold. For a CIV switch/exchange it specifies percentage of investor's cash realised from sales to be re-invested. The executing broker, intermediary or fund manager is responsible for converting and calculating OrderQty (38) in shares/units for subsequent messages.\",\n  },\n  {\n    abbrName: 'OwnershipTyp',\n    type: 'OwnershipTypeCodeSet',\n    added: 'FIX.4.3',\n    name: 'OwnershipType',\n    id: 517,\n    description: 'The relationship between Registration parties.',\n  },\n  {\n    abbrName: 'NoContAmts',\n    type: 'NumInGroup',\n    added: 'FIX.4.3',\n    name: 'NoContAmts',\n    id: 518,\n    description: 'The number of Contract Amount details on an Execution Report message',\n  },\n  {\n    abbrName: 'ContAmtTyp',\n    type: 'ContAmtTypeCodeSet',\n    added: 'FIX.4.3',\n    name: 'ContAmtType',\n    id: 519,\n    description:\n      'Type of ContAmtValue (520).\\n\\nNOTE That Commission Amount / % in Contract Amounts is the commission actually charged, rather than the commission instructions given in Fields 2/3.',\n  },\n  {\n    abbrName: 'ContAmtValu',\n    type: 'float',\n    added: 'FIX.4.3',\n    name: 'ContAmtValue',\n    id: 520,\n    description:\n      'Value of Contract Amount, e.g. a financial amount or percentage as indicated by ContAmtType (519).',\n  },\n  {\n    abbrName: 'ContAmtCurr',\n    type: 'Currency',\n    added: 'FIX.4.3',\n    name: 'ContAmtCurr',\n    id: 521,\n    description:\n      'Specifies currency for the Contract amount if different from the Deal Currency - see \"Appendix 6-A; Valid Currency Codes\".',\n  },\n  {\n    abbrName: 'OwnerTyp',\n    type: 'OwnerTypeCodeSet',\n    added: 'FIX.4.3',\n    name: 'OwnerType',\n    id: 522,\n    description: 'Identifies the type of owner.',\n  },\n  {\n    abbrName: 'ID',\n    type: 'String',\n    added: 'FIX.4.3',\n    name: 'PartySubID',\n    id: 523,\n    description:\n      'Sub-identifier (e.g. Clearing Account for PartyRole (452)=Clearing Firm, Locate ID # for PartyRole=Locate/Lending Firm, etc). Not required when using PartyID (448), PartyIDSource (447), and PartyRole.',\n  },\n  {\n    abbrName: 'ID',\n    type: 'String',\n    added: 'FIX.4.3',\n    name: 'NestedPartyID',\n    id: 524,\n    discriminatorId: '525',\n    description:\n      'PartyID value within a nested repeating group.\\n\\nSame values as PartyID (448)',\n  },\n  {\n    abbrName: 'Src',\n    type: 'PartyIDSourceCodeSet',\n    added: 'FIX.4.3',\n    name: 'NestedPartyIDSource',\n    id: 525,\n    description:\n      'PartyIDSource value within a nested repeating group.\\n\\nSame values as PartyIDSource (447)',\n  },\n  {\n    type: 'String',\n    baseCategoryAbbrName: 'ID2',\n    baseCategory: 'SingleGeneralOrderHandling',\n    added: 'FIX.4.3',\n    name: 'SecondaryClOrdID',\n    id: 526,\n    abbrName: 'ClOrdID2',\n    description:\n      'Assigned by the party which originates the order. Can be used to provide the ClOrdID (11) used by an exchange or executing system.',\n  },\n  {\n    abbrName: 'ExecID2',\n    type: 'String',\n    added: 'FIX.4.3',\n    name: 'SecondaryExecID',\n    id: 527,\n    description:\n      'Assigned by the party which accepts the order. Can be used to provide the ExecID (17) used by an exchange or executing system.',\n  },\n  {\n    abbrName: 'Cpcty',\n    type: 'OrderCapacityCodeSet',\n    added: 'FIX.4.3',\n    name: 'OrderCapacity',\n    id: 528,\n    description:\n      'Designates the capacity of the firm placing the order.\\n\\n(as of FIX 4.3, this field replaced Rule80A (tag 47) --used in conjunction with OrderRestrictions (529) field)\\n\\n(see Volume : \"Glossary\" for value definitions)',\n  },\n  {\n    abbrName: 'Rstctions',\n    type: 'OrderRestrictionsCodeSet',\n    added: 'FIX.4.3',\n    name: 'OrderRestrictions',\n    id: 529,\n    description:\n      'Restrictions associated with an order. If more than one restriction is applicable to an order, this field can contain multiple instructions separated by space.',\n  },\n  {\n    type: 'MassCancelRequestTypeCodeSet',\n    baseCategoryAbbrName: 'ReqTyp',\n    baseCategory: 'OrderMassHandling',\n    added: 'FIX.4.3',\n    name: 'MassCancelRequestType',\n    id: 530,\n    abbrName: 'MassCxlReqTyp',\n    description: 'Specifies scope of Order Mass Cancel Request.',\n  },\n  {\n    type: 'MassCancelResponseCodeSet',\n    baseCategoryAbbrName: 'Rsp',\n    baseCategory: 'OrderMassHandling',\n    added: 'FIX.4.3',\n    name: 'MassCancelResponse',\n    id: 531,\n    abbrName: 'MassCxlRsp',\n    description:\n      'Specifies the action taken by counterparty order handling system as a result of the Order Mass Cancel Request',\n  },\n  {\n    type: 'MassCancelRejectReasonCodeSet',\n    unionDataType: 'Reserved100Plus',\n    added: 'FIX.4.3',\n    name: 'MassCancelRejectReason',\n    id: 532,\n    abbrName: 'MassCxlRejRsn',\n    description: 'Reason Order Mass Cancel Request was rejected',\n  },\n  {\n    updated: 'FIX.5.0SP1',\n    type: 'int',\n    updatedEP: '95',\n    added: 'FIX.4.3',\n    name: 'TotalAffectedOrders',\n    id: 533,\n    abbrName: 'TotAffctdOrds',\n    description:\n      'Total number of orders affected by either the OrderMassActionRequest(MsgType=CA) or OrderMassCancelRequest(MsgType=Q).',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'NumInGroup',\n    updatedEP: '275',\n    added: 'FIX.4.3',\n    name: 'NoAffectedOrders',\n    id: 534,\n    abbrName: 'NoAffctdOrds',\n    description: 'Number of affected orders in the repeating group of order ids.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'String',\n    updatedEP: '131',\n    added: 'FIX.4.3',\n    name: 'AffectedOrderID',\n    id: 535,\n    abbrName: 'OrdID',\n    description:\n      'OrderID(37) of an order affected by a mass cancel or mass action request.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'String',\n    updatedEP: '131',\n    added: 'FIX.4.3',\n    name: 'AffectedSecondaryOrderID',\n    id: 536,\n    abbrName: 'OrdID2',\n    description:\n      'SecondaryOrderID(198) of an order affected by a mass cancel or mass action request.',\n  },\n  {\n    abbrName: 'Typ',\n    type: 'QuoteTypeCodeSet',\n    added: 'FIX.4.3',\n    name: 'QuoteType',\n    id: 537,\n    description:\n      'Identifies the type of quote.\\n\\nAn indicative quote is used to inform a counterparty of a market. An indicative quote does not result directly in a trade.\\n\\nA tradeable quote is submitted to a market and will result directly in a trade against other orders and quotes in a market.\\n\\nA restricted tradeable quote is submitted to a market and within a certain restriction (possibly based upon price or quantity) will automatically trade against orders. Order that do not comply with restrictions are sent to the quote issuer who can choose to accept or decline the order.\\n\\nA counter quote is used in the negotiation model. See Volume 7 - Product: Fixed Income for example usage.',\n  },\n  {\n    abbrName: 'R',\n    type: 'PartyRoleCodeSet',\n    added: 'FIX.4.3',\n    name: 'NestedPartyRole',\n    id: 538,\n    description:\n      'PartyRole value within a nested repeating group.\\n\\nSame values as PartyRole (452)',\n  },\n  {\n    abbrName: 'NoNstPtyIDs',\n    type: 'NumInGroup',\n    added: 'FIX.4.3',\n    name: 'NoNestedPartyIDs',\n    id: 539,\n    description:\n      'Number of NestedPartyID (524), NestedPartyIDSource (525), and NestedPartyRole (538) entries',\n  },\n  {\n    type: 'Amt',\n    deprecated: 'FIX.4.4',\n    added: 'FIX.4.3',\n    name: 'TotalAccruedInterestAmt',\n    id: 540,\n    abbrName: 'TotAcrdIntAmt',\n    description:\n      'Total Amount of Accrued Interest for convertible bonds and fixed income',\n  },\n  {\n    abbrName: 'MatDt',\n    type: 'LocalMktDate',\n    added: 'FIX.4.3',\n    name: 'MaturityDate',\n    id: 541,\n    description: 'Date of maturity.',\n  },\n  {\n    abbrName: 'Mat',\n    type: 'LocalMktDate',\n    added: 'FIX.4.3',\n    name: 'UnderlyingMaturityDate',\n    id: 542,\n    description:\n      \"Underlying security's maturity date.\\n\\nSee MaturityDate (541) field for description\",\n  },\n  {\n    abbrName: 'Rgstry',\n    type: 'String',\n    added: 'FIX.4.3',\n    name: 'InstrRegistry',\n    id: 543,\n    description:\n      'Values may include BIC for the depository or custodian who maintain ownership records, the ISO country code for the location of the record, or the value \"ZZ\" to specify physical ownership of the security (e.g. stock certificate).',\n  },\n  {\n    abbrName: 'CshMgn',\n    type: 'CashMarginCodeSet',\n    added: 'FIX.4.3',\n    name: 'CashMargin',\n    id: 544,\n    description:\n      'Identifies whether an order is a margin order or a non-margin order. This is primarily used when sending orders to Japanese exchanges to indicate sell margin or buy to cover. The same tag could be assigned also by buy-side to indicate the intent to sell or buy margin and the sell-side to accept or reject (base on some validation criteria) the margin request.',\n  },\n  {\n    abbrName: 'ID',\n    type: 'String',\n    added: 'FIX.4.3',\n    name: 'NestedPartySubID',\n    id: 545,\n    description:\n      'PartySubID value within a nested repeating group.\\n\\nSame values as PartySubID (523)',\n  },\n  {\n    updated: 'FIX.5.0SP1',\n    type: 'ScopeCodeSet',\n    updatedEP: '95',\n    added: 'FIX.4.3',\n    name: 'Scope',\n    id: 546,\n    abbrName: 'Scope',\n    description: 'Specifies the market scope of the market data.',\n  },\n  {\n    abbrName: 'ImplctDel',\n    type: 'MDImplicitDeleteCodeSet',\n    added: 'FIX.4.3',\n    name: 'MDImplicitDelete',\n    id: 547,\n    description:\n      'Defines how a server handles distribution of a truncated book. Defaults to broker option.',\n  },\n  {\n    type: 'String',\n    baseCategoryAbbrName: 'ID',\n    baseCategory: 'CrossOrders',\n    added: 'FIX.4.3',\n    name: 'CrossID',\n    id: 548,\n    abbrName: 'CrssID',\n    description:\n      'Identifier for a cross order. Must be unique during a given trading day. Recommend that firms use the order date as part of the CrossID for Good Till Cancel (GT) orders.',\n  },\n  {\n    type: 'CrossTypeCodeSet',\n    baseCategoryAbbrName: 'Typ',\n    baseCategory: 'CrossOrders',\n    added: 'FIX.4.3',\n    name: 'CrossType',\n    id: 549,\n    abbrName: 'CrssTyp',\n    description: 'Type of cross being submitted to a market',\n  },\n  {\n    type: 'CrossPrioritizationCodeSet',\n    baseCategoryAbbrName: 'Priorty',\n    baseCategory: 'CrossOrders',\n    added: 'FIX.4.3',\n    name: 'CrossPrioritization',\n    id: 550,\n    abbrName: 'CrssPriortstn',\n    description:\n      'Indicates if one side or the other of a cross order should be prioritized.\\n\\nThe definition of prioritization is left to the market. In some markets prioritization means which side of the cross order is applied to the market first. In other markets - prioritization may mean that the prioritized side is fully executed (sometimes referred to as the side being protected).',\n  },\n  {\n    type: 'String',\n    baseCategoryAbbrName: 'OrigID',\n    baseCategory: 'CrossOrders',\n    added: 'FIX.4.3',\n    name: 'OrigCrossID',\n    id: 551,\n    abbrName: 'OrigCrssID',\n    description:\n      'CrossID of the previous cross order (NOT the initial cross order of the day) as assigned by the institution, used to identify the previous cross order in Cross Cancel and Cross Cancel/Replace Requests.',\n  },\n  {\n    abbrName: 'NoSides',\n    type: 'NoSidesCodeSet',\n    added: 'FIX.4.3',\n    name: 'NoSides',\n    id: 552,\n    description: 'Number of Side repeating group instances.',\n  },\n  {\n    abbrName: 'Username',\n    type: 'String',\n    added: 'FIX.4.3',\n    name: 'Username',\n    id: 553,\n    description: 'Userid or username.',\n  },\n  {\n    abbrName: 'Password',\n    type: 'String',\n    added: 'FIX.4.3',\n    name: 'Password',\n    id: 554,\n    description: 'Password or passphrase.',\n  },\n  {\n    abbrName: 'NoLegs',\n    type: 'NumInGroup',\n    added: 'FIX.4.3',\n    name: 'NoLegs',\n    id: 555,\n    description: 'Number of InstrumentLeg repeating group instances.',\n  },\n  {\n    abbrName: 'Ccy',\n    type: 'Currency',\n    added: 'FIX.4.3',\n    name: 'LegCurrency',\n    id: 556,\n    description: \"Currency associated with a particular Leg's quantity\",\n  },\n  {\n    updated: 'FIX.5.0SP1',\n    type: 'int',\n    updatedEP: '95',\n    added: 'FIX.4.3',\n    name: 'TotNoSecurityTypes',\n    id: 557,\n    abbrName: 'TotNoSecTyps',\n    description:\n      'Used to support fragmentation. Indicates total number of security types when multiple Security Type messages are used to return results.',\n  },\n  {\n    abbrName: 'NoSecTyps',\n    type: 'NumInGroup',\n    added: 'FIX.4.3',\n    name: 'NoSecurityTypes',\n    id: 558,\n    description: 'Number of Security Type repeating group instances.',\n  },\n  {\n    abbrName: 'ListReqTyp',\n    type: 'SecurityListRequestTypeCodeSet',\n    added: 'FIX.4.3',\n    name: 'SecurityListRequestType',\n    id: 559,\n    description: 'Identifies the type/criteria of Security List Request',\n  },\n  {\n    abbrName: 'ReqRslt',\n    type: 'SecurityRequestResultCodeSet',\n    added: 'FIX.4.3',\n    name: 'SecurityRequestResult',\n    id: 560,\n    description: 'The results returned to a Security Request message',\n  },\n  {\n    abbrName: 'RndLot',\n    type: 'Qty',\n    added: 'FIX.4.3',\n    name: 'RoundLot',\n    id: 561,\n    description: 'The trading lot size of a security',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'Qty',\n    updatedEP: '130',\n    added: 'FIX.4.3',\n    name: 'MinTradeVol',\n    id: 562,\n    abbrName: 'MinTrdVol',\n    description:\n      'The minimum order quantity (as expressed by TradeVolType(1786)) that can be submitted for a security.',\n  },\n  {\n    abbrName: 'MLEGRptTypReq',\n    type: 'MultiLegRptTypeReqCodeSet',\n    added: 'FIX.4.3',\n    name: 'MultiLegRptTypeReq',\n    id: 563,\n    description:\n      'Indicates the method of execution reporting requested by issuer of the order.',\n  },\n  {\n    abbrName: 'PosEfct',\n    type: 'PositionEffectCodeSet',\n    added: 'FIX.4.3',\n    name: 'LegPositionEffect',\n    id: 564,\n    description:\n      'PositionEffect for leg of a multileg\\n\\nSee PositionEffect (77) field for description',\n  },\n  {\n    abbrName: 'Cover',\n    type: 'CoveredOrUncoveredCodeSet',\n    added: 'FIX.4.3',\n    name: 'LegCoveredOrUncovered',\n    id: 565,\n    description:\n      'CoveredOrUncovered for leg of a multileg\\n\\nSee CoveredOrUncovered (203) field for description',\n  },\n  {\n    abbrName: 'Px',\n    type: 'Price',\n    added: 'FIX.4.3',\n    name: 'LegPrice',\n    id: 566,\n    description: 'Price for leg of a multileg\\n\\nSee Price (44) field for description',\n  },\n  {\n    type: 'TradSesStatusRejReasonCodeSet',\n    unionDataType: 'Reserved100Plus',\n    added: 'FIX.4.3',\n    name: 'TradSesStatusRejReason',\n    id: 567,\n    abbrName: 'StatRejRsn',\n    description: 'Indicates the reason a Trading Session Status Request was rejected.',\n  },\n  {\n    abbrName: 'ReqID',\n    type: 'String',\n    added: 'FIX.4.3',\n    name: 'TradeRequestID',\n    id: 568,\n    description: 'Trade Capture Report Request ID',\n  },\n  {\n    abbrName: 'ReqTyp',\n    type: 'TradeRequestTypeCodeSet',\n    added: 'FIX.4.3',\n    name: 'TradeRequestType',\n    id: 569,\n    description: 'Type of Trade Capture Report.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PreviouslyReportedCodeSet',\n    updatedEP: '229',\n    added: 'FIX.4.3',\n    name: 'PreviouslyReported',\n    id: 570,\n    abbrName: 'PrevlyRpted',\n    description:\n      'Indicates if the transaction was previously reported to the counterparty or market.',\n  },\n  {\n    abbrName: 'RptID',\n    type: 'String',\n    added: 'FIX.4.3',\n    name: 'TradeReportID',\n    id: 571,\n    description: 'Unique identifier of trade capture report',\n  },\n  {\n    abbrName: 'RptRefID',\n    type: 'String',\n    added: 'FIX.4.3',\n    name: 'TradeReportRefID',\n    id: 572,\n    description: 'Reference identifier used with CANCEL and REPLACE transaction types.',\n  },\n  {\n    abbrName: 'MtchStat',\n    type: 'MatchStatusCodeSet',\n    added: 'FIX.4.3',\n    name: 'MatchStatus',\n    id: 573,\n    description: 'The status of this trade with respect to matching or comparison.',\n  },\n  {\n    abbrName: 'MtchTyp',\n    type: 'MatchTypeCodeSet',\n    added: 'FIX.4.3',\n    name: 'MatchType',\n    id: 574,\n    description: 'The point in the matching process at which this trade was matched.',\n  },\n  {\n    type: 'OddLotCodeSet',\n    deprecated: 'FIX.5.0',\n    added: 'FIX.4.3',\n    name: 'OddLot',\n    id: 575,\n    abbrName: 'OddLot',\n    description:\n      'This trade is to be treated as an odd lot\\n\\nIf this field is not specified, the default will be \"N\"',\n  },\n  {\n    abbrName: 'NoClrngInstrctns',\n    type: 'NumInGroup',\n    added: 'FIX.4.3',\n    name: 'NoClearingInstructions',\n    id: 576,\n    description: 'Number of clearing instructions',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'ClearingInstructionCodeSet',\n    unionDataType: 'Reserved4000Plus',\n    updatedEP: '204',\n    added: 'FIX.4.3',\n    name: 'ClearingInstruction',\n    id: 577,\n    abbrName: 'ClrngInstrctn',\n    description:\n      'Eligibility of this trade for clearing and central counterparty processing.',\n  },\n  {\n    abbrName: 'InptSrc',\n    type: 'String',\n    added: 'FIX.4.3',\n    name: 'TradeInputSource',\n    id: 578,\n    description: 'Type of input device or system from which the trade was entered.',\n  },\n  {\n    abbrName: 'InptDev',\n    type: 'String',\n    added: 'FIX.4.3',\n    name: 'TradeInputDevice',\n    id: 579,\n    description:\n      'Specific device number, terminal number or station where trade was entered',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'NumInGroup',\n    updatedEP: '275',\n    added: 'FIX.4.3',\n    name: 'NoDates',\n    id: 580,\n    abbrName: 'NoDts',\n    description: 'Number of Date fields provided in date range',\n  },\n  {\n    abbrName: 'AcctTyp',\n    type: 'AccountTypeCodeSet',\n    added: 'FIX.4.3',\n    name: 'AccountType',\n    id: 581,\n    description: 'Type of account associated with an order',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'CustOrderCapacityCodeSet',\n    updatedEP: '205',\n    added: 'FIX.4.3',\n    name: 'CustOrderCapacity',\n    id: 582,\n    abbrName: 'CustCpcty',\n    description:\n      'Capacity of customer placing the order.\\n\\nUsed by futures exchanges to indicate the CTICode (customer type indicator) as required by the US CFTC (Commodity Futures Trading Commission). May be used as required by other regulatory commissions for similar purposes.',\n  },\n  {\n    type: 'String',\n    baseCategoryAbbrName: 'LnkID',\n    baseCategory: 'SingleGeneralOrderHandling',\n    added: 'FIX.4.3',\n    name: 'ClOrdLinkID',\n    id: 583,\n    abbrName: 'ClOrdLinkID',\n    description:\n      'Permits order originators to tie together groups of orders in which trades resulting from orders are associated for a specific purpose, for example the calculation of average execution price for a customer or to associate lists submitted to a broker as waves of a larger program trade.',\n  },\n  {\n    type: 'String',\n    baseCategoryAbbrName: 'ReqID',\n    baseCategory: 'OrderMassHandling',\n    added: 'FIX.4.3',\n    name: 'MassStatusReqID',\n    id: 584,\n    abbrName: 'MassStatReqID',\n    description:\n      'Value assigned by issuer of Mass Status Request to uniquely identify the request',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'MassStatusReqTypeCodeSet',\n    baseCategoryAbbrName: 'ReqTyp',\n    baseCategory: 'OrderMassHandling',\n    unionDataType: 'Reserved100Plus',\n    updatedEP: '271',\n    added: 'FIX.4.3',\n    name: 'MassStatusReqType',\n    id: 585,\n    abbrName: 'MassStatReqTyp',\n    description: 'Specifies the type or scope of the mass order status request.',\n  },\n  {\n    abbrName: 'OrigOrdModTm',\n    type: 'UTCTimestamp',\n    added: 'FIX.4.3',\n    name: 'OrigOrdModTime',\n    id: 586,\n    description:\n      'The most recent (or current) modification TransactTime (tag 60) reported on an Execution Report for the order. The OrigOrdModTime is provided as an optional field on Order Cancel Request and Order Cancel Replace Requests to identify that the state of the order has not changed since the request was issued. The use of this approach is not recommended.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'SettlTypeCodeSet',\n    unionDataType: 'Tenor',\n    updatedEP: '187',\n    added: 'FIX.4.3',\n    name: 'LegSettlType',\n    id: 587,\n    abbrName: 'SettlTyp',\n    description:\n      'Indicates order settlement period. If present, LegSettlDate (588) overrides this field. If both LegSettlType (587) and LegSettDate (588) are omitted, the default for LegSettlType (587) is 0 (Regular)\\n\\nRegular is defined as the default settlement period for the particular security on the exchange of execution.\\n\\nIn Fixed Income the contents of this field may influence the instrument definition if the LegSecurityID (602) is ambiguous. In the US an active Treasury offering may be re-opened, and for a time one CUSIP will apply to both the current and \"when-issued\" securities. Supplying a value of \"7\" clarifies the instrument description; any other value or the absence of this field should cause the respondent to default to the active issue.\\n\\nAdditionally the following patterns may be uses as well as enum values\\n\\nDx = FX tenor expression for \"days\", e.g. \"D5\", where \"x\" is any integer > 0\\n\\nMx = FX tenor expression for \"months\", e.g. \"M3\", where \"x\" is any integer > 0\\n\\nWx = FX tenor expression for \"weeks\", e.g. \"W13\", where \"x\" is any integer > 0\\n\\nYx = FX tenor expression for \"years\", e.g. \"Y1\", where \"x\" is any integer > 0.\\n\\nNote that for FX the tenors expressed using Dx, Mx, Wx, and Yx values do not denote business days, but calendar days.',\n  },\n  {\n    abbrName: 'SettlDt',\n    type: 'LocalMktDate',\n    added: 'FIX.4.3',\n    name: 'LegSettlDate',\n    id: 588,\n    description: 'Refer to description for SettlDate[64]',\n  },\n  {\n    abbrName: 'DayBkngInst',\n    type: 'DayBookingInstCodeSet',\n    added: 'FIX.4.3',\n    name: 'DayBookingInst',\n    id: 589,\n    description: 'Indicates whether or not automatic booking can occur.',\n  },\n  {\n    abbrName: 'BkngUnit',\n    type: 'BookingUnitCodeSet',\n    added: 'FIX.4.3',\n    name: 'BookingUnit',\n    id: 590,\n    description: 'Indicates what constitutes a bookable unit.',\n  },\n  {\n    abbrName: 'PreallocMeth',\n    type: 'PreallocMethodCodeSet',\n    added: 'FIX.4.3',\n    name: 'PreallocMethod',\n    id: 591,\n    description: 'Indicates the method of preallocation.',\n  },\n  {\n    abbrName: 'Ctry',\n    type: 'Country',\n    added: 'FIX.4.3',\n    name: 'UnderlyingCountryOfIssue',\n    id: 592,\n    description:\n      \"Underlying security's CountryOfIssue.\\n\\nSee CountryOfIssue (470) field for description\",\n  },\n  {\n    abbrName: 'StOrProvnc',\n    type: 'String',\n    added: 'FIX.4.3',\n    name: 'UnderlyingStateOrProvinceOfIssue',\n    id: 593,\n    description:\n      \"Underlying security's StateOrProvinceOfIssue.\\n\\nSee StateOrProvinceOfIssue (471) field for description\",\n  },\n  {\n    abbrName: 'Lcl',\n    type: 'String',\n    added: 'FIX.4.3',\n    name: 'UnderlyingLocaleOfIssue',\n    id: 594,\n    description:\n      \"Underlying security's LocaleOfIssue.\\n\\nSee LocaleOfIssue (472) field for description\",\n  },\n  {\n    abbrName: 'Rgstry',\n    type: 'String',\n    added: 'FIX.4.3',\n    name: 'UnderlyingInstrRegistry',\n    id: 595,\n    description:\n      \"Underlying security's InstrRegistry.\\n\\nSee InstrRegistry (543) field for description\",\n  },\n  {\n    abbrName: 'Ctry',\n    type: 'Country',\n    added: 'FIX.4.3',\n    name: 'LegCountryOfIssue',\n    id: 596,\n    description:\n      \"Multileg instrument's individual leg security's CountryOfIssue.\\n\\nSee CountryOfIssue (470) field for description\",\n  },\n  {\n    abbrName: 'StOrProvnc',\n    type: 'String',\n    added: 'FIX.4.3',\n    name: 'LegStateOrProvinceOfIssue',\n    id: 597,\n    description:\n      \"Multileg instrument's individual leg security's StateOrProvinceOfIssue.\\n\\nSee StateOrProvinceOfIssue (471) field for description\",\n  },\n  {\n    abbrName: 'Lcl',\n    type: 'String',\n    added: 'FIX.4.3',\n    name: 'LegLocaleOfIssue',\n    id: 598,\n    description:\n      \"Multileg instrument's individual leg security's LocaleOfIssue.\\n\\nSee LocaleOfIssue (472) field for description\",\n  },\n  {\n    abbrName: 'Rgstry',\n    type: 'String',\n    added: 'FIX.4.3',\n    name: 'LegInstrRegistry',\n    id: 599,\n    description:\n      \"Multileg instrument's individual leg security's InstrRegistry.\\n\\nSee InstrRegistry (543) field for description\",\n  },\n  {\n    abbrName: 'Sym',\n    type: 'String',\n    added: 'FIX.4.3',\n    name: 'LegSymbol',\n    id: 600,\n    description:\n      \"Multileg instrument's individual security's Symbol.\\n\\nSee Symbol (55) field for description\",\n  },\n  {\n    abbrName: 'Sfx',\n    type: 'SymbolSfxCodeSet',\n    added: 'FIX.4.3',\n    name: 'LegSymbolSfx',\n    id: 601,\n    description:\n      \"Multileg instrument's individual security's SymbolSfx.\\n\\nSee SymbolSfx (65) field for description\",\n  },\n  {\n    abbrName: 'ID',\n    type: 'String',\n    added: 'FIX.4.3',\n    name: 'LegSecurityID',\n    id: 602,\n    discriminatorId: '603',\n    description:\n      \"Multileg instrument's individual security's SecurityID.\\n\\nSee SecurityID (48) field for description\",\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'SecurityIDSourceCodeSet',\n    unionDataType: 'Reserved100Plus',\n    updatedEP: '265',\n    added: 'FIX.4.3',\n    name: 'LegSecurityIDSource',\n    id: 603,\n    abbrName: 'Src',\n    description:\n      \"Multileg instrument's individual security's SecurityIDSource.\\n\\nSee SecurityIDSource (22) field for description\",\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'NumInGroup',\n    updatedEP: '275',\n    added: 'FIX.4.3',\n    name: 'NoLegSecurityAltID',\n    id: 604,\n    abbrName: 'NoLegSecAltID',\n    description:\n      \"Multileg instrument's individual security's NoSecurityAltID.\\n\\nSee NoSecurityAltID (454) field for description\",\n  },\n  {\n    abbrName: 'SecAltID',\n    type: 'String',\n    added: 'FIX.4.3',\n    name: 'LegSecurityAltID',\n    id: 605,\n    discriminatorId: '606',\n    description:\n      \"Multileg instrument's individual security's SecurityAltID.\\n\\nSee SecurityAltID (455) field for description\",\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'SecurityIDSourceCodeSet',\n    unionDataType: 'Reserved100Plus',\n    updatedEP: '271',\n    added: 'FIX.4.3',\n    name: 'LegSecurityAltIDSource',\n    id: 606,\n    abbrName: 'SecAltIDSrc',\n    description:\n      'Alternate identifier for individual leg security of a multileg instrument.\\n\\nSee SecurityAltIDSource(456) field for complete definition.',\n  },\n  {\n    abbrName: 'Prod',\n    type: 'ProductCodeSet',\n    added: 'FIX.4.3',\n    name: 'LegProduct',\n    id: 607,\n    description:\n      \"Multileg instrument's individual security's Product.\\n\\nSee Product (460) field for description\",\n  },\n  {\n    abbrName: 'CFI',\n    type: 'String',\n    added: 'FIX.4.3',\n    name: 'LegCFICode',\n    id: 608,\n    description:\n      \"Multileg instrument's individual security's CFICode.\\n\\nSee CFICode (461) field for description\",\n  },\n  {\n    abbrName: 'SecTyp',\n    type: 'SecurityTypeCodeSet',\n    added: 'FIX.4.3',\n    name: 'LegSecurityType',\n    id: 609,\n    description: 'Refer to definition of SecurityType(167)',\n  },\n  {\n    abbrName: 'MMY',\n    type: 'MonthYear',\n    added: 'FIX.4.3',\n    name: 'LegMaturityMonthYear',\n    id: 610,\n    description:\n      \"Multileg instrument's individual security's MaturityMonthYear.\\n\\nSee MaturityMonthYear (200) field for description\",\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'LocalMktDate',\n    updatedEP: '282',\n    added: 'FIX.4.3',\n    name: 'LegMaturityDate',\n    id: 611,\n    abbrName: 'Mat',\n    description:\n      \"Multileg instrument's individual security's MaturityDate.\\n\\nSee MaturityDate(541) field for description.\",\n  },\n  {\n    abbrName: 'Strk',\n    type: 'Price',\n    added: 'FIX.4.3',\n    name: 'LegStrikePrice',\n    id: 612,\n    description:\n      \"Multileg instrument's individual security's StrikePrice.\\n\\nSee StrikePrice (202) field for description\",\n  },\n  {\n    abbrName: 'OptA',\n    type: 'char',\n    added: 'FIX.4.3',\n    name: 'LegOptAttribute',\n    id: 613,\n    description:\n      \"Multileg instrument's individual security's OptAttribute.\\n\\nSee OptAttribute (206) field for description\",\n  },\n  {\n    abbrName: 'Cmult',\n    type: 'float',\n    added: 'FIX.4.3',\n    name: 'LegContractMultiplier',\n    id: 614,\n    description:\n      \"Multileg instrument's individual security's ContractMultiplier.\\n\\nSee ContractMultiplier (23) field for description\",\n  },\n  {\n    abbrName: 'CpnRt',\n    type: 'Percentage',\n    added: 'FIX.4.3',\n    name: 'LegCouponRate',\n    id: 615,\n    description:\n      \"Multileg instrument's individual security's CouponRate.\\n\\nSee CouponRate (223) field for description\",\n  },\n  {\n    abbrName: 'Exch',\n    type: 'Exchange',\n    added: 'FIX.4.3',\n    name: 'LegSecurityExchange',\n    id: 616,\n    description:\n      \"Multileg instrument's individual security's SecurityExchange.\\n\\nSee SecurityExchange (207) field for description\",\n  },\n  {\n    abbrName: 'Issr',\n    type: 'String',\n    added: 'FIX.4.3',\n    name: 'LegIssuer',\n    id: 617,\n    description:\n      \"Multileg instrument's individual security's Issuer.\\n\\nSee Issuer (106) field for description\",\n  },\n  {\n    abbrName: 'EncLegIssrLen',\n    type: 'Length',\n    added: 'FIX.4.3',\n    name: 'EncodedLegIssuerLen',\n    id: 618,\n    description:\n      \"Multileg instrument's individual security's EncodedIssuerLen.\\n\\nSee EncodedIssuerLen (348) field for description\",\n  },\n  {\n    abbrName: 'EncLegIssr',\n    type: 'data',\n    added: 'FIX.4.3',\n    name: 'EncodedLegIssuer',\n    id: 619,\n    lengthId: '618',\n    description:\n      \"Multileg instrument's individual security's EncodedIssuer.\\n\\nSee EncodedIssuer (349) field for description\",\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'String',\n    updatedEP: '232',\n    added: 'FIX.4.3',\n    name: 'LegSecurityDesc',\n    id: 620,\n    abbrName: 'Desc',\n    description:\n      'Description of a multileg instrument.\\n\\nCan be used by the venue or one of the trading parties to provide an optional non-normative textual description of the financial instrument.',\n  },\n  {\n    abbrName: 'EncLegSecDescLen',\n    type: 'Length',\n    added: 'FIX.4.3',\n    name: 'EncodedLegSecurityDescLen',\n    id: 621,\n    description:\n      \"Multileg instrument's individual security's EncodedSecurityDescLen.\\n\\nSee EncodedSecurityDescLen (350) field for description\",\n  },\n  {\n    abbrName: 'EncLegSecDesc',\n    type: 'data',\n    added: 'FIX.4.3',\n    name: 'EncodedLegSecurityDesc',\n    id: 622,\n    lengthId: '621',\n    description:\n      \"Multileg instrument's individual security's EncodedSecurityDesc.\\n\\nSee EncodedSecurityDesc (35) field for description\",\n  },\n  {\n    abbrName: 'RatioQty',\n    type: 'float',\n    added: 'FIX.4.3',\n    name: 'LegRatioQty',\n    id: 623,\n    description:\n      'The ratio of quantity for this individual leg relative to the entire multileg security.',\n  },\n  {\n    abbrName: 'Side',\n    type: 'SideCodeSet',\n    added: 'FIX.4.3',\n    name: 'LegSide',\n    id: 624,\n    description:\n      'The side of this individual leg (multileg security).\\n\\nSee Side (54) field for description and values',\n  },\n  {\n    type: 'TradingSessionSubIDCodeSet',\n    unionDataType: 'Reserved100Plus',\n    added: 'FIX.4.3',\n    name: 'TradingSessionSubID',\n    id: 625,\n    abbrName: 'SesSub',\n    description:\n      'Optional market assigned sub identifier for a trading phase within a trading session. Usage is determined by market or counterparties. Used by US based futures markets to identify exchange specific execution time bracket codes as required by US market regulations. Bilaterally agreed values of data type \"String\" that start with a character can be used for backward compatibility',\n  },\n  {\n    type: 'AllocTypeCodeSet',\n    baseCategoryAbbrName: 'Typ',\n    baseCategory: 'Allocation',\n    added: 'FIX.4.3',\n    name: 'AllocType',\n    id: 626,\n    abbrName: 'AllocType',\n    description:\n      'Describes the specific type or purpose of an Allocation message (i.e. \"Buyside Calculated\")\\n\\n(see Volume : \"Glossary\" for value definitions)\\n\\n*** SOME VALUES HAVE BEEN REPLACED - See \"Replaced Features and Supported Approach\" ***',\n  },\n  {\n    abbrName: 'NoHops',\n    type: 'NumInGroup',\n    added: 'FIX.4.3',\n    name: 'NoHops',\n    id: 627,\n    description: 'Number of HopCompID entries in repeating group.',\n  },\n  {\n    abbrName: 'ID',\n    type: 'String',\n    added: 'FIX.4.3',\n    name: 'HopCompID',\n    id: 628,\n    description:\n      'Assigned value used to identify the third party firm which delivered a specific message either from the firm which originated the message or from another third party (if multiple \"hops\" are performed). It is recommended that this value be the SenderCompID (49) of the third party.\\n\\nApplicable when messages are communicated/re-distributed via third parties which function as service bureaus or \"hubs\". Only applicable if OnBehalfOfCompID (115) is being used.',\n  },\n  {\n    abbrName: 'Snt',\n    type: 'UTCTimestamp',\n    added: 'FIX.4.3',\n    name: 'HopSendingTime',\n    id: 629,\n    description:\n      'Time that HopCompID (628) sent the message. It is recommended that this value be the SendingTime (52) of the message sent by the third party.\\n\\nApplicable when messages are communicated/re-distributed via third parties which function as service bureaus or \"hubs\". Only applicable if OnBehalfOfCompID (115) is being used.',\n  },\n  {\n    abbrName: 'Ref',\n    type: 'SeqNum',\n    added: 'FIX.4.3',\n    name: 'HopRefID',\n    id: 630,\n    description:\n      'Reference identifier assigned by HopCompID (628) associated with the message sent. It is recommended that this value be the MsgSeqNum (34) of the message sent by the third party.\\n\\nApplicable when messages are communicated/re-distributed via third parties which function as service bureaus or \"hubs\". Only applicable if OnBehalfOfCompID (115) is being used.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'Price',\n    updatedEP: '175',\n    added: 'FIX.4.3',\n    name: 'MidPx',\n    id: 631,\n    abbrName: 'MidPx',\n    description:\n      'Mid price/rate.\\n\\nFor OTC swaps this is the mid-market mark (for example, as defined by CFTC).\\n\\nFor uncleared OTC swaps, LegMidPx(2346) and the MidPx(631) fields are mutually exclusive.',\n  },\n  {\n    abbrName: 'BidYld',\n    type: 'Percentage',\n    added: 'FIX.4.3',\n    name: 'BidYield',\n    id: 632,\n    description: 'Bid yield',\n  },\n  {\n    abbrName: 'MidYld',\n    type: 'Percentage',\n    added: 'FIX.4.3',\n    name: 'MidYield',\n    id: 633,\n    description: 'Mid yield',\n  },\n  {\n    abbrName: 'OfrYld',\n    type: 'Percentage',\n    added: 'FIX.4.3',\n    name: 'OfferYield',\n    id: 634,\n    description: 'Offer yield',\n  },\n  {\n    abbrName: 'ClrFeeInd',\n    type: 'ClearingFeeIndicatorCodeSet',\n    added: 'FIX.4.3',\n    name: 'ClearingFeeIndicator',\n    id: 635,\n    description:\n      'Indicates type of fee being assessed of the customer for trade executions at an exchange. Applicable for futures markets only at this time.\\n\\n(Values source CBOT, CME, NYBOT, and NYMEX):',\n  },\n  {\n    abbrName: 'WorkingInd',\n    type: 'WorkingIndicatorCodeSet',\n    added: 'FIX.4.3',\n    name: 'WorkingIndicator',\n    id: 636,\n    description:\n      'Indicates if the order is currently being worked. Applicable only for OrdStatus = \"New\". For open outcry markets this indicates that the order is being worked in the crowd. For electronic markets it indicates that the order has transitioned from a contingent order to a market order.',\n  },\n  {\n    abbrName: 'LastPx',\n    type: 'Price',\n    added: 'FIX.4.3',\n    name: 'LegLastPx',\n    id: 637,\n    description:\n      'Execution price assigned to a leg of a multileg instrument.\\n\\nSee LastPx (31) field for description and values',\n  },\n  {\n    abbrName: 'PriInd',\n    type: 'PriorityIndicatorCodeSet',\n    added: 'FIX.4.3',\n    name: 'PriorityIndicator',\n    id: 638,\n    description:\n      'Indicates if a Cancel/Replace has caused an order to lose book priority.',\n  },\n  {\n    abbrName: 'PxImprvmnt',\n    type: 'PriceOffset',\n    added: 'FIX.4.3',\n    name: 'PriceImprovement',\n    id: 639,\n    description: 'Amount of price improvement.',\n  },\n  {\n    type: 'Price',\n    deprecated: 'FIX.5.0',\n    added: 'FIX.4.3',\n    name: 'Price2',\n    id: 640,\n    abbrName: 'Px2',\n    description:\n      'Price of the future part of a F/X swap order.\\n\\nSee Price (44) for description.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'PriceOffset',\n    deprecated: 'FIX.5.0',\n    updatedEP: '282',\n    added: 'FIX.4.3',\n    name: 'LastForwardPoints2',\n    id: 641,\n    abbrName: 'LastFwdPnts2',\n    description:\n      'F/X forward points of the future part of a F/X swap order added to LastSpotRate(194). May be a negative value.',\n  },\n  {\n    type: 'PriceOffset',\n    deprecated: 'FIX.5.0',\n    added: 'FIX.4.3',\n    name: 'BidForwardPoints2',\n    id: 642,\n    abbrName: 'BidFwdPnts2',\n    description:\n      'Bid F/X forward points of the future portion of a F/X swap quote added to spot rate. May be a negative value.',\n  },\n  {\n    type: 'PriceOffset',\n    deprecated: 'FIX.5.0',\n    added: 'FIX.4.3',\n    name: 'OfferForwardPoints2',\n    id: 643,\n    abbrName: 'OfrFwdPnts2',\n    description:\n      'Offer F/X forward points of the future portion of a F/X swap quote added to spot rate. May be a negative value.',\n  },\n  {\n    abbrName: 'RFQReqID',\n    type: 'String',\n    added: 'FIX.4.3',\n    name: 'RFQReqID',\n    id: 644,\n    description: 'RFQ Request ID - used to identify an RFQ Request.',\n  },\n  {\n    abbrName: 'MktBidPx',\n    type: 'Price',\n    added: 'FIX.4.3',\n    name: 'MktBidPx',\n    id: 645,\n    description: 'Used to indicate the best bid in a market',\n  },\n  {\n    abbrName: 'MktOfrPx',\n    type: 'Price',\n    added: 'FIX.4.3',\n    name: 'MktOfferPx',\n    id: 646,\n    description: 'Used to indicate the best offer in a market',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'Qty',\n    updatedEP: '208',\n    added: 'FIX.4.3',\n    name: 'MinBidSize',\n    id: 647,\n    abbrName: 'MinBidSz',\n    description: 'Used to indicate a minimum quantity for a bid.',\n  },\n  {\n    abbrName: 'MinOfrSz',\n    type: 'Qty',\n    added: 'FIX.4.3',\n    name: 'MinOfferSize',\n    id: 648,\n    description:\n      'Used to indicate a minimum quantity for an offer. If this field is used the OfferSize (135) field is interpreted as the maximum offer size.',\n  },\n  {\n    abbrName: 'StatReqID',\n    type: 'String',\n    added: 'FIX.4.3',\n    name: 'QuoteStatusReqID',\n    id: 649,\n    description: 'Unique identifier for Quote Status Request.',\n  },\n  {\n    abbrName: 'LegalCnfm',\n    type: 'LegalConfirmCodeSet',\n    added: 'FIX.4.3',\n    name: 'LegalConfirm',\n    id: 650,\n    description:\n      'Indicates that this message is to serve as the final and legal confirmation.',\n  },\n  {\n    abbrName: 'UndLastPx',\n    type: 'Price',\n    added: 'FIX.4.3',\n    name: 'UnderlyingLastPx',\n    id: 651,\n    description:\n      'The calculated or traded price for the underlying instrument that corresponds to a derivative. Used for transactions that include the cash instrument and the derivative.',\n  },\n  {\n    abbrName: 'UndLastQty',\n    type: 'Qty',\n    added: 'FIX.4.3',\n    name: 'UnderlyingLastQty',\n    id: 652,\n    description:\n      'The calculated or traded quantity for the underlying instrument that corresponds to a derivative. Used for transactions that include the cash instrument and the derivative.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'String',\n    updatedEP: '131',\n    added: 'FIX.4.3',\n    name: 'LegRefID',\n    id: 654,\n    abbrName: 'RefID',\n    description:\n      'Unique identifier for a specific leg (uniqueness not defined as part of the FIX specification). LegRefID(654) be used to reference the value from LegID(1788).',\n  },\n  {\n    type: 'String',\n    baseCategoryAbbrName: 'LegRefID',\n    baseCategory: 'SingleGeneralOrderHandling',\n    added: 'FIX.4.3',\n    name: 'ContraLegRefID',\n    id: 655,\n    abbrName: 'CntraLegRefID',\n    description: 'Unique indicator for a specific leg for the ContraBroker (375).',\n  },\n  {\n    abbrName: 'SettlCurrBidFxRt',\n    type: 'float',\n    added: 'FIX.4.3',\n    name: 'SettlCurrBidFxRate',\n    id: 656,\n    description:\n      'Foreign exchange rate used to compute the bid \"SettlCurrAmt\" (119) from Currency (15) to SettlCurrency (120)',\n  },\n  {\n    abbrName: 'SettlCurrOfrFxRt',\n    type: 'float',\n    added: 'FIX.4.3',\n    name: 'SettlCurrOfferFxRate',\n    id: 657,\n    description:\n      'Foreign exchange rate used to compute the offer \"SettlCurrAmt\" (119) from Currency (15) to SettlCurrency (120)',\n  },\n  {\n    type: 'QuoteRequestRejectReasonCodeSet',\n    unionDataType: 'Reserved100Plus',\n    added: 'FIX.4.3',\n    name: 'QuoteRequestRejectReason',\n    id: 658,\n    abbrName: 'ReqRejRsn',\n    description: 'Reason Quote was rejected:',\n  },\n  {\n    abbrName: 'SideComplianceID',\n    type: 'String',\n    added: 'FIX.4.3',\n    name: 'SideComplianceID',\n    id: 659,\n    description:\n      'ID within repeating group of sides which is used to represent this transaction for compliance purposes (e.g. OATS reporting).',\n  },\n  {\n    type: 'AcctIDSourceCodeSet',\n    unionDataType: 'Reserved100Plus',\n    added: 'FIX.4.4',\n    name: 'AcctIDSource',\n    id: 660,\n    abbrName: 'AcctIDSrc',\n    description:\n      'Used to identify the source of the Account (1) code. This is especially useful if the account is a new account that the Respondent may not have setup yet in their system.',\n  },\n  {\n    abbrName: 'ActIDSrc',\n    type: 'AcctIDSourceCodeSet',\n    added: 'FIX.4.4',\n    name: 'AllocAcctIDSource',\n    id: 661,\n    description:\n      'Used to identify the source of the AllocAccount (79) code.\\n\\nSee AcctIDSource (660) for valid values.',\n  },\n  {\n    abbrName: 'Px',\n    type: 'Price',\n    added: 'FIX.4.4',\n    name: 'BenchmarkPrice',\n    id: 662,\n    description: 'Specifies the price of the benchmark.',\n  },\n  {\n    abbrName: 'PxTyp',\n    type: 'PriceTypeCodeSet',\n    added: 'FIX.4.4',\n    name: 'BenchmarkPriceType',\n    id: 663,\n    description:\n      'Identifies type of BenchmarkPrice (662).\\n\\nSee PriceType (423) for valid values.',\n  },\n  {\n    abbrName: 'CnfmID',\n    type: 'String',\n    added: 'FIX.4.4',\n    name: 'ConfirmID',\n    id: 664,\n    description: 'Message reference for Confirmation',\n  },\n  {\n    abbrName: 'CnfmStat',\n    type: 'ConfirmStatusCodeSet',\n    added: 'FIX.4.4',\n    name: 'ConfirmStatus',\n    id: 665,\n    description: 'Identifies the status of the Confirmation.',\n  },\n  {\n    abbrName: 'CnfmTransTyp',\n    type: 'ConfirmTransTypeCodeSet',\n    added: 'FIX.4.4',\n    name: 'ConfirmTransType',\n    id: 666,\n    description: 'Identifies the Confirmation transaction type.',\n  },\n  {\n    abbrName: 'CSetMo',\n    type: 'MonthYear',\n    added: 'FIX.4.4',\n    name: 'ContractSettlMonth',\n    id: 667,\n    description: 'Specifies when the contract (i.e. MBS/TBA) will settle.',\n  },\n  {\n    abbrName: 'DlvryForm',\n    type: 'DeliveryFormCodeSet',\n    added: 'FIX.4.4',\n    name: 'DeliveryForm',\n    id: 668,\n    description: 'Identifies the form of delivery.',\n  },\n  {\n    abbrName: 'LastParPx',\n    type: 'Price',\n    added: 'FIX.4.4',\n    name: 'LastParPx',\n    id: 669,\n    description:\n      'Last price expressed in percent-of-par. Conditionally required for Fixed Income trades when LastPx (31) is expressed in Yield, Spread, Discount or any other type.\\n\\nUsage: Execution Report and Allocation Report repeating executions block (from sellside).',\n  },\n  {\n    abbrName: 'NoLegAllocs',\n    type: 'NumInGroup',\n    added: 'FIX.4.4',\n    name: 'NoLegAllocs',\n    id: 670,\n    description: 'Number of Allocations for the leg',\n  },\n  {\n    abbrName: 'AllocAcct',\n    type: 'String',\n    added: 'FIX.4.4',\n    name: 'LegAllocAccount',\n    id: 671,\n    description:\n      'Allocation Account for the leg\\n\\nSee AllocAccount (79) for description and valid values.',\n  },\n  {\n    abbrName: 'IndAllocID',\n    type: 'String',\n    added: 'FIX.4.4',\n    name: 'LegIndividualAllocID',\n    id: 672,\n    description:\n      'Reference for the individual allocation ticket\\n\\nSee IndividualAllocID (467) for description and valid values.',\n  },\n  {\n    abbrName: 'AllocQty',\n    type: 'Qty',\n    added: 'FIX.4.4',\n    name: 'LegAllocQty',\n    id: 673,\n    description:\n      'Leg allocation quantity.\\n\\nSee AllocQty (80) for description and valid values.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'AcctIDSourceCodeSet',\n    updatedEP: '271',\n    added: 'FIX.4.4',\n    name: 'LegAllocAcctIDSource',\n    id: 674,\n    abbrName: 'AllocAcctIDSrc',\n    description: 'Identifies the source of the LegAllocAccount(671).',\n  },\n  {\n    abbrName: 'SettlCcy',\n    type: 'Currency',\n    added: 'FIX.4.4',\n    name: 'LegSettlCurrency',\n    id: 675,\n    description:\n      'Identifies settlement currency for the Leg.\\n\\nSee SettlCurrency (20) for description and valid values',\n  },\n  {\n    abbrName: 'Ccy',\n    type: 'Currency',\n    added: 'FIX.4.4',\n    name: 'LegBenchmarkCurveCurrency',\n    id: 676,\n    description:\n      'LegBenchmarkPrice (679) currency\\n\\nSee BenchmarkCurveCurrency (220) for description and valid values.',\n  },\n  {\n    abbrName: 'Name',\n    type: 'BenchmarkCurveNameCodeSet',\n    added: 'FIX.4.4',\n    name: 'LegBenchmarkCurveName',\n    id: 677,\n    description:\n      'Name of the Leg Benchmark Curve.\\n\\nSee BenchmarkCurveName (22) for description and valid values.',\n  },\n  {\n    abbrName: 'Point',\n    type: 'String',\n    added: 'FIX.4.4',\n    name: 'LegBenchmarkCurvePoint',\n    id: 678,\n    description:\n      'Identifies the point on the Leg Benchmark Curve.\\n\\nSee BenchmarkCurvePoint (222) for description and valid values.',\n  },\n  {\n    abbrName: 'Px',\n    type: 'Price',\n    added: 'FIX.4.4',\n    name: 'LegBenchmarkPrice',\n    id: 679,\n    description:\n      'Used to identify the price of the benchmark security.\\n\\nSee BenchmarkPrice (662) for description and valid values.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PriceTypeCodeSet',\n    updatedEP: '204',\n    added: 'FIX.4.4',\n    name: 'LegBenchmarkPriceType',\n    id: 680,\n    abbrName: 'PxTyp',\n    description: 'The price type of the LegBenchmarkPrice(679).',\n  },\n  {\n    abbrName: 'BidPx',\n    type: 'Price',\n    added: 'FIX.4.4',\n    name: 'LegBidPx',\n    id: 681,\n    description:\n      'Bid price of this leg.\\n\\nSee BidPx (32) for description and valid values.',\n  },\n  {\n    type: 'IOIQtyCodeSet',\n    unionDataType: 'Qty',\n    added: 'FIX.4.4',\n    name: 'LegIOIQty',\n    id: 682,\n    abbrName: 'IOIQty',\n    description:\n      'Leg-specific IOI quantity.\\n\\nSee IOIQty (27) for description and valid values',\n  },\n  {\n    abbrName: 'NoLegStips',\n    type: 'NumInGroup',\n    added: 'FIX.4.4',\n    name: 'NoLegStipulations',\n    id: 683,\n    description: 'Number of leg stipulation entries',\n  },\n  {\n    abbrName: 'OfrPx',\n    type: 'Price',\n    added: 'FIX.4.4',\n    name: 'LegOfferPx',\n    id: 684,\n    description:\n      'Offer price of this leg.\\n\\nSee OfferPx (133) for description and valid values',\n  },\n  {\n    abbrName: 'OrdQty',\n    type: 'Qty',\n    added: 'FIX.4.4',\n    name: 'LegOrderQty',\n    id: 685,\n    description:\n      'Quantity ordered of this leg.\\n\\nSee OrderQty (38) for description and valid values',\n  },\n  {\n    abbrName: 'PxTyp',\n    type: 'PriceTypeCodeSet',\n    added: 'FIX.4.4',\n    name: 'LegPriceType',\n    id: 686,\n    description:\n      'The price type of the LegBidPx (681) and/or LegOfferPx (684).\\n\\nSee PriceType (423) for description and valid values',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'Qty',\n    deprecated: 'FIX.5.0SP1',\n    updatedEP: '271',\n    added: 'FIX.4.4',\n    name: 'LegQty',\n    id: 687,\n    abbrName: 'Qty',\n    description:\n      'This field is deprecated and has been replaced by LegOrderQty(685). This field will likely be removed from the FIX standard in a future version.',\n  },\n  {\n    abbrName: 'StipTyp',\n    type: 'StipulationTypeCodeSet',\n    added: 'FIX.4.4',\n    name: 'LegStipulationType',\n    id: 688,\n    description:\n      'For Fixed Income, type of Stipulation for this leg.\\n\\nSee StipulationType (233) for description and valid values',\n  },\n  {\n    abbrName: 'StipVal',\n    type: 'String',\n    added: 'FIX.4.4',\n    name: 'LegStipulationValue',\n    id: 689,\n    description:\n      'For Fixed Income, value of stipulation.\\n\\nSee StipulationValue (234) for description and valid values',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'LegSwapTypeCodeSet',\n    updatedEP: '131',\n    added: 'FIX.4.4',\n    name: 'LegSwapType',\n    id: 690,\n    abbrName: 'SwapTyp',\n    description:\n      'For Fixed Income, used instead of LegOrderQty(685) to requests the respondent to calculate the quantity based on the quantity on the opposite side of the swap.',\n  },\n  {\n    abbrName: 'Pool',\n    type: 'String',\n    added: 'FIX.4.4',\n    name: 'Pool',\n    id: 691,\n    description: 'For Fixed Income, identifies MBS / ABS pool.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'QuotePriceTypeCodeSet',\n    updatedEP: '207',\n    added: 'FIX.4.4',\n    name: 'QuotePriceType',\n    id: 692,\n    abbrName: 'QuotPxTyp',\n    description:\n      'Code to represent price type requested in Quote.\\n\\nIf the Quote Request is for a Swap, values 1-8 apply to all legs.',\n  },\n  {\n    abbrName: 'RspID',\n    type: 'String',\n    added: 'FIX.4.4',\n    name: 'QuoteRespID',\n    id: 693,\n    description: 'Message reference for Quote Response',\n  },\n  {\n    abbrName: 'RspTyp',\n    type: 'QuoteRespTypeCodeSet',\n    added: 'FIX.4.4',\n    name: 'QuoteRespType',\n    id: 694,\n    description: 'Identifies the type of Quote Response.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'IOIQualifierCodeSet',\n    updatedEP: '226',\n    added: 'FIX.4.4',\n    name: 'QuoteQualifier',\n    id: 695,\n    abbrName: 'Qual',\n    description: 'Code to qualify Quote use and other aspects of price negotiation.',\n  },\n  {\n    abbrName: 'RedDt',\n    type: 'LocalMktDate',\n    added: 'FIX.4.4',\n    name: 'YieldRedemptionDate',\n    id: 696,\n    description:\n      'Date to which the yield has been calculated (i.e. maturity, par call or current call, pre-refunded date).',\n  },\n  {\n    abbrName: 'RedPx',\n    type: 'Price',\n    added: 'FIX.4.4',\n    name: 'YieldRedemptionPrice',\n    id: 697,\n    description: 'Price to which the yield has been calculated.',\n  },\n  {\n    abbrName: 'RedPxTyp',\n    type: 'PriceTypeCodeSet',\n    added: 'FIX.4.4',\n    name: 'YieldRedemptionPriceType',\n    id: 698,\n    description:\n      'The price type of the YieldRedemptionPrice (697)\\n\\nSee PriceType (423) for description and valid values.',\n  },\n  {\n    abbrName: 'SecID',\n    type: 'String',\n    added: 'FIX.4.4',\n    name: 'BenchmarkSecurityID',\n    id: 699,\n    discriminatorId: '761',\n    description:\n      'The identifier of the benchmark security, e.g. Treasury against Corporate bond.\\n\\nSee SecurityID (tag 48) for description and valid values.',\n  },\n  {\n    abbrName: 'ReversalInd',\n    type: 'Boolean',\n    added: 'FIX.4.4',\n    name: 'ReversalIndicator',\n    id: 700,\n    description: 'Indicates a trade that reverses a previous trade.',\n  },\n  {\n    abbrName: 'CalcDt',\n    type: 'LocalMktDate',\n    added: 'FIX.4.4',\n    name: 'YieldCalcDate',\n    id: 701,\n    description:\n      'Include as needed to clarify yield irregularities associated with date, e.g. when it falls on a non-business day.',\n  },\n  {\n    abbrName: 'NoPoss',\n    type: 'NumInGroup',\n    added: 'FIX.4.4',\n    name: 'NoPositions',\n    id: 702,\n    description: 'Number of position entries.',\n  },\n  {\n    abbrName: 'Typ',\n    type: 'PosTypeCodeSet',\n    added: 'FIX.4.4',\n    name: 'PosType',\n    id: 703,\n    description: 'Used to identify the type of quantity that is being returned.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'Qty',\n    updatedEP: '141',\n    added: 'FIX.4.4',\n    name: 'LongQty',\n    id: 704,\n    abbrName: 'Long',\n    description: 'Long quantity.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'Qty',\n    updatedEP: '141',\n    added: 'FIX.4.4',\n    name: 'ShortQty',\n    id: 705,\n    abbrName: 'Short',\n    description: 'Short quantity.',\n  },\n  {\n    abbrName: 'Stat',\n    type: 'PosQtyStatusCodeSet',\n    added: 'FIX.4.4',\n    name: 'PosQtyStatus',\n    id: 706,\n    description: 'Status of this position.',\n  },\n  {\n    abbrName: 'Typ',\n    type: 'PosAmtTypeCodeSet',\n    added: 'FIX.4.4',\n    name: 'PosAmtType',\n    id: 707,\n    description: 'Type of Position amount',\n  },\n  {\n    abbrName: 'Amt',\n    type: 'Amt',\n    added: 'FIX.4.4',\n    name: 'PosAmt',\n    id: 708,\n    description: 'Position amount',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PosTransTypeCodeSet',\n    updatedEP: '199',\n    added: 'FIX.4.4',\n    name: 'PosTransType',\n    id: 709,\n    abbrName: 'TxnTyp',\n    description: 'Identifies the type of position transaction.',\n  },\n  {\n    abbrName: 'ReqID',\n    type: 'String',\n    added: 'FIX.4.4',\n    name: 'PosReqID',\n    id: 710,\n    description:\n      'Unique identifier for the position maintenance request as assigned by the submitter',\n  },\n  {\n    abbrName: 'NoUnds',\n    type: 'NumInGroup',\n    added: 'FIX.4.4',\n    name: 'NoUnderlyings',\n    id: 711,\n    description: 'Number of underlying legs that make up the security.',\n  },\n  {\n    abbrName: 'Actn',\n    type: 'PosMaintActionCodeSet',\n    added: 'FIX.4.4',\n    name: 'PosMaintAction',\n    id: 712,\n    description: 'Maintenance Action to be performed.',\n  },\n  {\n    type: 'String',\n    baseCategoryAbbrName: 'OrigReqRefID',\n    baseCategory: 'PositionMaintenance',\n    added: 'FIX.4.4',\n    name: 'OrigPosReqRefID',\n    id: 713,\n    abbrName: 'OrigPosReqRefID',\n    description:\n      'Reference to the PosReqID (710) of a previous maintenance request that is being replaced or canceled.',\n  },\n  {\n    abbrName: 'RptRefID',\n    type: 'String',\n    added: 'FIX.4.4',\n    name: 'PosMaintRptRefID',\n    id: 714,\n    description:\n      'Reference to a PosMaintRptID (721) from a previous Position Maintenance Report that is being replaced or canceled.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'LocalMktDate',\n    updatedEP: '150',\n    added: 'FIX.4.4',\n    name: 'ClearingBusinessDate',\n    id: 715,\n    abbrName: 'BizDt',\n    description: 'The business date for which the trade is expected to be cleared.',\n  },\n  {\n    abbrName: 'SetSesID',\n    type: 'SettlSessIDCodeSet',\n    added: 'FIX.4.4',\n    name: 'SettlSessID',\n    id: 716,\n    description: 'Identifies a specific settlement session',\n  },\n  {\n    abbrName: 'SetSesSub',\n    type: 'String',\n    added: 'FIX.4.4',\n    name: 'SettlSessSubID',\n    id: 717,\n    description: 'SubID value associated with SettlSessID(716)',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'AdjustmentTypeCodeSet',\n    updatedEP: '155',\n    added: 'FIX.4.4',\n    name: 'AdjustmentType',\n    id: 718,\n    abbrName: 'AdjTyp',\n    description:\n      'Type of adjustment to be applied. Used for Position Change Submission (PCS), Position Adjustment (PAJ), and Customer Gross Margin (CGM).',\n  },\n  {\n    type: 'Boolean',\n    baseCategoryAbbrName: 'InstrctnInd',\n    baseCategory: 'SingleGeneralOrderHandling',\n    added: 'FIX.4.4',\n    name: 'ContraryInstructionIndicator',\n    id: 719,\n    abbrName: 'CntraryInstrctnInd',\n    description:\n      'Used to indicate when a contrary instruction for exercise or abandonment is being submitted',\n  },\n  {\n    abbrName: 'PriorSpreadInd',\n    type: 'Boolean',\n    added: 'FIX.4.4',\n    name: 'PriorSpreadIndicator',\n    id: 720,\n    description: \"Indicates if requesting a rollover of prior day's spread submissions.\",\n  },\n  {\n    abbrName: 'RptID',\n    type: 'String',\n    added: 'FIX.4.4',\n    name: 'PosMaintRptID',\n    id: 721,\n    description: 'Unique identifier for this position report',\n  },\n  {\n    abbrName: 'Stat',\n    type: 'PosMaintStatusCodeSet',\n    added: 'FIX.4.4',\n    name: 'PosMaintStatus',\n    id: 722,\n    description: 'Status of Position Maintenance Request',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PosMaintResultCodeSet',\n    unionDataType: 'Reserved100Plus',\n    updatedEP: '204',\n    added: 'FIX.4.4',\n    name: 'PosMaintResult',\n    id: 723,\n    abbrName: 'Rslt',\n    description: 'Result of Position Maintenance Request.',\n  },\n  {\n    abbrName: 'ReqTyp',\n    type: 'PosReqTypeCodeSet',\n    added: 'FIX.4.4',\n    name: 'PosReqType',\n    id: 724,\n    description: 'Used to specify the type of position request being made.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'ResponseTransportTypeCodeSet',\n    updatedEP: '282',\n    added: 'FIX.4.4',\n    name: 'ResponseTransportType',\n    id: 725,\n    abbrName: 'RspTransportTyp',\n    description: 'Identifies how the response to the request should be transmitted.',\n  },\n  {\n    abbrName: 'RspDest',\n    type: 'String',\n    added: 'FIX.4.4',\n    name: 'ResponseDestination',\n    id: 726,\n    description:\n      'URI (Uniform Resource Identifier) for details) or other pre-arranged value. Used in conjunction with ResponseTransportType (725) value of Out-of-Band to identify the out-of-band destination.\\n\\nSee \"Appendix 6-B FIX Fields Based Upon Other Standards\"',\n  },\n  {\n    deprecatedEP: '102',\n    type: 'int',\n    deprecated: 'FIX.5.0SP2',\n    added: 'FIX.4.4',\n    name: 'TotalNumPosReports',\n    id: 727,\n    abbrName: 'TotRpts',\n    description: 'Total number of Position Reports being returned.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PosReqResultCodeSet',\n    unionDataType: 'Reserved100Plus',\n    updatedEP: '204',\n    added: 'FIX.4.4',\n    name: 'PosReqResult',\n    id: 728,\n    abbrName: 'Rslt',\n    description: 'Result of Request for Positions.',\n  },\n  {\n    abbrName: 'Stat',\n    type: 'PosReqStatusCodeSet',\n    added: 'FIX.4.4',\n    name: 'PosReqStatus',\n    id: 729,\n    description: 'Status of Request for Positions',\n  },\n  {\n    abbrName: 'SetPx',\n    type: 'Price',\n    added: 'FIX.4.4',\n    name: 'SettlPrice',\n    id: 730,\n    description: 'Settlement price',\n  },\n  {\n    abbrName: 'SetPxTyp',\n    type: 'SettlPriceTypeCodeSet',\n    added: 'FIX.4.4',\n    name: 'SettlPriceType',\n    id: 731,\n    description: 'Type of settlement price',\n  },\n  {\n    abbrName: 'UndSetPx',\n    type: 'Price',\n    added: 'FIX.4.4',\n    name: 'UnderlyingSettlPrice',\n    id: 732,\n    description:\n      \"Underlying security's SettlPrice.\\n\\nSee SettlPrice (730) field for description\",\n  },\n  {\n    abbrName: 'UndSetPxTyp',\n    type: 'SettlPriceTypeCodeSet',\n    added: 'FIX.4.4',\n    name: 'UnderlyingSettlPriceType',\n    id: 733,\n    description:\n      \"Underlying security's SettlPriceType.\\n\\nSee SettlPriceType (731) field for description\",\n  },\n  {\n    abbrName: 'PriSetPx',\n    type: 'Price',\n    added: 'FIX.4.4',\n    name: 'PriorSettlPrice',\n    id: 734,\n    description: 'Previous settlement price',\n  },\n  {\n    abbrName: 'NoQuotQuals',\n    type: 'NumInGroup',\n    added: 'FIX.4.4',\n    name: 'NoQuoteQualifiers',\n    id: 735,\n    description: 'Number of repeating groups of QuoteQualifiers (695).',\n  },\n  {\n    abbrName: 'AllocSettlCcy',\n    type: 'Currency',\n    added: 'FIX.4.4',\n    name: 'AllocSettlCurrency',\n    id: 736,\n    description:\n      'Currency code of settlement denomination for a specific AllocAccount (79).',\n  },\n  {\n    type: 'Amt',\n    baseCategoryAbbrName: 'SettlCcyAmt',\n    baseCategory: 'Allocation',\n    added: 'FIX.4.4',\n    name: 'AllocSettlCurrAmt',\n    id: 737,\n    abbrName: 'AllocSettlCurrAmt',\n    description:\n      'Total amount due expressed in settlement currency (includes the effect of the forex transaction) for a specific AllocAccount (79).',\n  },\n  {\n    abbrName: 'IntAtMat',\n    type: 'Amt',\n    added: 'FIX.4.4',\n    name: 'InterestAtMaturity',\n    id: 738,\n    description: 'Amount of interest (i.e. lump-sum) at maturity.',\n  },\n  {\n    abbrName: 'Dated',\n    type: 'LocalMktDate',\n    added: 'FIX.4.4',\n    name: 'LegDatedDate',\n    id: 739,\n    description:\n      'The effective date of a new securities issue determined by its underwriters. Often but not always the same as the Issue Date and the Interest Accrual Date',\n  },\n  {\n    abbrName: 'Pool',\n    type: 'String',\n    added: 'FIX.4.4',\n    name: 'LegPool',\n    id: 740,\n    description:\n      'For Fixed Income, identifies MBS / ABS pool for a specific leg of a multi-leg instrument.\\n\\nSee Pool (691) for description and valid values.',\n  },\n  {\n    abbrName: 'IntAtMat',\n    type: 'Amt',\n    added: 'FIX.4.4',\n    name: 'AllocInterestAtMaturity',\n    id: 741,\n    description: 'Amount of interest (i.e. lump-sum) at maturity at the account-level.',\n  },\n  {\n    abbrName: 'AcrdIntAmt',\n    type: 'Amt',\n    added: 'FIX.4.4',\n    name: 'AllocAccruedInterestAmt',\n    id: 742,\n    description:\n      'Amount of Accrued Interest for convertible bonds and fixed income at the allocation-level.',\n  },\n  {\n    abbrName: 'DlvDt',\n    type: 'LocalMktDate',\n    added: 'FIX.4.4',\n    name: 'DeliveryDate',\n    id: 743,\n    description: 'Date of delivery.',\n  },\n  {\n    abbrName: 'AsgnMeth',\n    type: 'AssignmentMethodCodeSet',\n    added: 'FIX.4.4',\n    name: 'AssignmentMethod',\n    id: 744,\n    description:\n      'Method by which short positions are assigned to an exercise notice during exercise and assignment processing',\n  },\n  {\n    abbrName: 'Unit',\n    type: 'Qty',\n    added: 'FIX.4.4',\n    name: 'AssignmentUnit',\n    id: 745,\n    description: 'Quantity Increment used in performing assignment.',\n  },\n  {\n    abbrName: 'OpenInt',\n    type: 'Amt',\n    added: 'FIX.4.4',\n    name: 'OpenInterest',\n    id: 746,\n    description: 'Open interest that was eligible for assignment.',\n  },\n  {\n    abbrName: 'ExrMethod',\n    type: 'ExerciseMethodCodeSet',\n    added: 'FIX.4.4',\n    name: 'ExerciseMethod',\n    id: 747,\n    description: 'Exercise Method used to in performing assignment.',\n  },\n  {\n    abbrName: 'TotNumTrdRpts',\n    type: 'int',\n    added: 'FIX.4.4',\n    name: 'TotNumTradeReports',\n    id: 748,\n    description: 'Total number of trade reports returned.',\n  },\n  {\n    type: 'TradeRequestResultCodeSet',\n    unionDataType: 'Reserved100Plus',\n    added: 'FIX.4.4',\n    name: 'TradeRequestResult',\n    id: 749,\n    abbrName: 'ReqRslt',\n    description: 'Result of Trade Request',\n  },\n  {\n    abbrName: 'ReqStat',\n    type: 'TradeRequestStatusCodeSet',\n    added: 'FIX.4.4',\n    name: 'TradeRequestStatus',\n    id: 750,\n    description: 'Status of Trade Request.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'TradeReportRejectReasonCodeSet',\n    unionDataType: 'Reserved100Plus',\n    updatedEP: '107',\n    added: 'FIX.4.4',\n    name: 'TradeReportRejectReason',\n    id: 751,\n    abbrName: 'RejRsn',\n    description:\n      'Reason Trade Capture Request was rejected.\\n\\n100+ Reserved and available for bi-laterally agreed upon user-defined values.',\n  },\n  {\n    abbrName: 'MLegRptTyp',\n    type: 'SideMultiLegReportingTypeCodeSet',\n    added: 'FIX.4.4',\n    name: 'SideMultiLegReportingType',\n    id: 752,\n    description:\n      'Used to indicate if the side being reported on Trade Capture Report represents a leg of a multileg instrument or a single security.',\n  },\n  {\n    abbrName: 'NoPosAmt',\n    type: 'NumInGroup',\n    added: 'FIX.4.4',\n    name: 'NoPosAmt',\n    id: 753,\n    description: 'Number of position amount entries.',\n  },\n  {\n    abbrName: 'AutoAcceptInd',\n    type: 'Boolean',\n    added: 'FIX.4.4',\n    name: 'AutoAcceptIndicator',\n    id: 754,\n    description:\n      'Identifies whether or not an allocation has been automatically accepted on behalf of the Carry Firm by the Clearing House.',\n  },\n  {\n    abbrName: 'RptID',\n    type: 'String',\n    added: 'FIX.4.4',\n    name: 'AllocReportID',\n    id: 755,\n    description: 'Unique identifier for Allocation Report message.',\n  },\n  {\n    abbrName: 'NoNst2PtyIDs',\n    type: 'NumInGroup',\n    added: 'FIX.4.4',\n    name: 'NoNested2PartyIDs',\n    id: 756,\n    description:\n      'Number of Nested2PartyID (757), Nested2PartyIDSource (758), and Nested2PartyRole (759) entries',\n  },\n  {\n    abbrName: 'ID',\n    type: 'String',\n    added: 'FIX.4.4',\n    name: 'Nested2PartyID',\n    id: 757,\n    discriminatorId: '758',\n    description:\n      'PartyID value within a \"second instance\" Nested repeating group.\\n\\nSame values as PartyID (448)',\n  },\n  {\n    abbrName: 'Src',\n    type: 'PartyIDSourceCodeSet',\n    added: 'FIX.4.4',\n    name: 'Nested2PartyIDSource',\n    id: 758,\n    description:\n      'PartyIDSource value within a \"second instance\" Nested repeating group.\\n\\nSame values as PartyIDSource (447)',\n  },\n  {\n    abbrName: 'R',\n    type: 'PartyRoleCodeSet',\n    added: 'FIX.4.4',\n    name: 'Nested2PartyRole',\n    id: 759,\n    description:\n      'PartyRole value within a \"second instance\" Nested repeating group.\\n\\nSame values as PartyRole (452)',\n  },\n  {\n    abbrName: 'ID',\n    type: 'String',\n    added: 'FIX.4.4',\n    name: 'Nested2PartySubID',\n    id: 760,\n    description:\n      'PartySubID value within a \"second instance\" Nested repeating group.\\n\\nSame values as PartySubID (523)',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'SecurityIDSourceCodeSet',\n    unionDataType: 'Reserved100Plus',\n    updatedEP: '271',\n    added: 'FIX.4.4',\n    name: 'BenchmarkSecurityIDSource',\n    id: 761,\n    abbrName: 'SecIDSrc',\n    description:\n      'Identifies class or source of the BenchmarkSecurityID(699) value.\\n\\nRequired if BenchmarkSecurityID is specified.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'String',\n    updatedEP: '254',\n    added: 'FIX.4.4',\n    name: 'SecuritySubType',\n    id: 762,\n    abbrName: 'SubTyp',\n    description:\n      'Sub-type qualification/identification of the SecurityType. As an example for SecurityType(167)=\"REPO\", the SecuritySubType=\"General Collateral\" can be used to further specify the type of REPO.\\n\\nIf SecuritySubType is used, then SecurityType is required.\\n\\nFor SecurityType=\"MLEG\" a name of the option or futures strategy name can be specified, such as \"Calendar\", \"Vertical\", \"Butterfly\".\\n\\nFor SecurityType(167)=\"OPT\" the subclassification can be specified, such as \"Asian\".\\n\\nFor SecurityType(167)=\"SWAPTION\" a value of \"Straddle\" is used to identify a straddle swaption.\\n\\nIn the context of EU SFTR reporting use the appropriate 4-character code noted in the regulations - \"GENE\" for general collateral or \"SPEC\" for specific collateral (without quote marks).',\n  },\n  {\n    abbrName: 'SubTyp',\n    type: 'String',\n    added: 'FIX.4.4',\n    name: 'UnderlyingSecuritySubType',\n    id: 763,\n    description:\n      \"Underlying security's SecuritySubType.\\n\\nSee SecuritySubType (762) field for description\",\n  },\n  {\n    abbrName: 'SecSubTyp',\n    type: 'String',\n    added: 'FIX.4.4',\n    name: 'LegSecuritySubType',\n    id: 764,\n    description:\n      'SecuritySubType of the leg instrument.\\n\\nSee SecuritySubType (762) field for description',\n  },\n  {\n    abbrName: 'AOSPct',\n    type: 'Percentage',\n    added: 'FIX.4.4',\n    name: 'AllowableOneSidednessPct',\n    id: 765,\n    description:\n      'The maximum percentage that execution of one side of a program trade can exceed execution of the other.',\n  },\n  {\n    abbrName: 'AOSValu',\n    type: 'Amt',\n    added: 'FIX.4.4',\n    name: 'AllowableOneSidednessValue',\n    id: 766,\n    description:\n      'The maximum amount that execution of one side of a program trade can exceed execution of the other.',\n  },\n  {\n    abbrName: 'AOSCurr',\n    type: 'Currency',\n    added: 'FIX.4.4',\n    name: 'AllowableOneSidednessCurr',\n    id: 767,\n    description:\n      'The currency that AllowableOneSidednessValue (766) is expressed in if AllowableOneSidednessValue is used.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'NumInGroup',\n    updatedEP: '291',\n    added: 'FIX.4.4',\n    name: 'NoTrdRegTimestamps',\n    id: 768,\n    abbrName: 'NoTrdRegTmstamps',\n    description: 'Number of timestamp entries.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'UTCTimestamp',\n    updatedEP: '291',\n    added: 'FIX.4.4',\n    name: 'TrdRegTimestamp',\n    id: 769,\n    abbrName: 'TS',\n    description:\n      'Traded / Regulatory timestamp value.\\n\\nUse to store time information required by government regulators or self-regulatory organizations (such as an exchange or clearing house).',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'TrdRegTimestampTypeCodeSet',\n    updatedEP: '291',\n    added: 'FIX.4.4',\n    name: 'TrdRegTimestampType',\n    id: 770,\n    abbrName: 'Typ',\n    description:\n      'Trading / Regulatory timestamp type.\\n\\nNote of applicability: Values are required in various regulatory environments: required for US futures markets to support computerized trade reconstruction, required by MiFID II / MiFIR for transaction reporting and publication, required by FINRA for reporting to the Consolidated Audit Trail (CAT), and required by SEC for recordkeeping requirements in the context of T+1.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'String',\n    updatedEP: '291',\n    added: 'FIX.4.4',\n    name: 'TrdRegTimestampOrigin',\n    id: 771,\n    abbrName: 'Src',\n    description:\n      'Text which identifies the \"origin\" (i.e. system which was used to generate the timestamp) for the Traded / Regulatory timestamp value.',\n  },\n  {\n    abbrName: 'CnfmRefID',\n    type: 'String',\n    added: 'FIX.4.4',\n    name: 'ConfirmRefID',\n    id: 772,\n    description:\n      'Reference identifier to be used with ConfirmTransType (666) = Replace or Cancel',\n  },\n  {\n    abbrName: 'CnfmTyp',\n    type: 'ConfirmTypeCodeSet',\n    added: 'FIX.4.4',\n    name: 'ConfirmType',\n    id: 773,\n    description: 'Identifies the type of Confirmation message being sent.',\n  },\n  {\n    type: 'ConfirmRejReasonCodeSet',\n    unionDataType: 'Reserved100Plus',\n    added: 'FIX.4.4',\n    name: 'ConfirmRejReason',\n    id: 774,\n    abbrName: 'CnfmRejRsn',\n    description: 'Identifies the reason for rejecting a Confirmation.',\n  },\n  {\n    abbrName: 'BkngTyp',\n    type: 'BookingTypeCodeSet',\n    added: 'FIX.4.4',\n    name: 'BookingType',\n    id: 775,\n    description:\n      'Method for booking out this order. Used when notifying a broker that an order to be settled by that broker is to be booked out as an OTC derivative (e.g. CFD or similar).',\n  },\n  {\n    abbrName: 'IndAllocRejCode',\n    type: 'AllocRejCodeCodeSet',\n    added: 'FIX.4.4',\n    name: 'IndividualAllocRejCode',\n    id: 776,\n    description:\n      'Identified reason for rejecting an individual AllocAccount (79) detail.\\n\\nSame values as AllocRejCode (88)',\n  },\n  {\n    abbrName: 'SettlInstMsgID',\n    type: 'String',\n    added: 'FIX.4.4',\n    name: 'SettlInstMsgID',\n    id: 777,\n    description: 'Unique identifier for Settlement Instruction message.',\n  },\n  {\n    abbrName: 'NoSettlInst',\n    type: 'NumInGroup',\n    added: 'FIX.4.4',\n    name: 'NoSettlInst',\n    id: 778,\n    description: 'Number of settlement instructions within repeating group.',\n  },\n  {\n    abbrName: 'LastUpdateTm',\n    type: 'UTCTimestamp',\n    added: 'FIX.4.4',\n    name: 'LastUpdateTime',\n    id: 779,\n    description:\n      'Timestamp of last update to data item (or creation if no updates made since creation).',\n  },\n  {\n    abbrName: 'SettlInstTyp',\n    type: 'AllocSettlInstTypeCodeSet',\n    added: 'FIX.4.4',\n    name: 'AllocSettlInstType',\n    id: 780,\n    description:\n      'Used to indicate whether settlement instructions are provided on an allocation instruction message, and if not, how they are to be derived.',\n  },\n  {\n    abbrName: 'NoSettlPtyIDs',\n    type: 'NumInGroup',\n    added: 'FIX.4.4',\n    name: 'NoSettlPartyIDs',\n    id: 781,\n    description:\n      'Number of SettlPartyID (782), SettlPartyIDSource (783), and SettlPartyRole (784) entries',\n  },\n  {\n    abbrName: 'ID',\n    type: 'String',\n    added: 'FIX.4.4',\n    name: 'SettlPartyID',\n    id: 782,\n    discriminatorId: '783',\n    description:\n      'PartyID value within a settlement parties component. Nested repeating group.\\n\\nSame values as PartyID (448)',\n  },\n  {\n    abbrName: 'Src',\n    type: 'PartyIDSourceCodeSet',\n    added: 'FIX.4.4',\n    name: 'SettlPartyIDSource',\n    id: 783,\n    description:\n      'PartyIDSource value within a settlement parties component.\\n\\nSame values as PartyIDSource (447)',\n  },\n  {\n    abbrName: 'R',\n    type: 'PartyRoleCodeSet',\n    added: 'FIX.4.4',\n    name: 'SettlPartyRole',\n    id: 784,\n    description:\n      'PartyRole value within a settlement parties component.\\n\\nSame values as PartyRole (452)',\n  },\n  {\n    abbrName: 'ID',\n    type: 'String',\n    added: 'FIX.4.4',\n    name: 'SettlPartySubID',\n    id: 785,\n    description:\n      'PartySubID value within a settlement parties component.\\n\\nSame values as PartySubID (523)',\n  },\n  {\n    abbrName: 'Typ',\n    type: 'PartySubIDTypeCodeSet',\n    added: 'FIX.4.4',\n    name: 'SettlPartySubIDType',\n    id: 786,\n    description:\n      'Type of SettlPartySubID (785) value.\\n\\nSame values as PartySubIDType (803)',\n  },\n  {\n    abbrName: 'InstTyp',\n    type: 'DlvyInstTypeCodeSet',\n    added: 'FIX.4.4',\n    name: 'DlvyInstType',\n    id: 787,\n    description:\n      'Used to indicate whether a delivery instruction is used for securities or cash settlement.',\n  },\n  {\n    abbrName: 'TrmTyp',\n    type: 'TerminationTypeCodeSet',\n    added: 'FIX.4.4',\n    name: 'TerminationType',\n    id: 788,\n    description: 'Type of financing termination.',\n  },\n  {\n    abbrName: 'NextExpectedMsgSeqNum',\n    type: 'SeqNum',\n    added: 'FIX.4.4',\n    name: 'NextExpectedMsgSeqNum',\n    id: 789,\n    description: 'Next expected MsgSeqNum value to be received.',\n  },\n  {\n    abbrName: 'StatReqID',\n    type: 'String',\n    added: 'FIX.4.4',\n    name: 'OrdStatusReqID',\n    id: 790,\n    description:\n      'Can be used to uniquely identify a specific Order Status Request message.',\n  },\n  {\n    abbrName: 'SettlInstReqID',\n    type: 'String',\n    added: 'FIX.4.4',\n    name: 'SettlInstReqID',\n    id: 791,\n    description: 'Unique ID of settlement instruction request message',\n  },\n  {\n    type: 'SettlInstReqRejCodeCodeSet',\n    unionDataType: 'Reserved100Plus',\n    added: 'FIX.4.4',\n    name: 'SettlInstReqRejCode',\n    id: 792,\n    abbrName: 'SettlInstReqRejCode',\n    description:\n      'Identifies reason for rejection (of a settlement instruction request message).',\n  },\n  {\n    type: 'String',\n    baseCategoryAbbrName: 'ID2',\n    baseCategory: 'Allocation',\n    added: 'FIX.4.4',\n    name: 'SecondaryAllocID',\n    id: 793,\n    abbrName: 'AllocID2',\n    description:\n      'Secondary allocation identifier. Unlike the AllocID (70), this can be shared across a number of allocation instruction or allocation report messages, thereby making it possible to pass an identifier for an original allocation message on multiple messages (e.g. from one party to a second to a third, across cancel and replace messages etc.).',\n  },\n  {\n    abbrName: 'RptTyp',\n    type: 'AllocReportTypeCodeSet',\n    added: 'FIX.4.4',\n    name: 'AllocReportType',\n    id: 794,\n    description: 'Describes the specific type or purpose of an Allocation Report message',\n  },\n  {\n    abbrName: 'RptRefID',\n    type: 'String',\n    added: 'FIX.4.4',\n    name: 'AllocReportRefID',\n    id: 795,\n    description:\n      'Reference identifier to be used with AllocTransType (7) = Replace or Cancel',\n  },\n  {\n    type: 'AllocCancReplaceReasonCodeSet',\n    baseCategoryAbbrName: 'CxlRplcRsn',\n    baseCategory: 'Allocation',\n    unionDataType: 'Reserved100Plus',\n    added: 'FIX.4.4',\n    name: 'AllocCancReplaceReason',\n    id: 796,\n    abbrName: 'CxlRplcRsn',\n    description:\n      'Reason for cancelling or replacing an Allocation Instruction or Allocation Report message',\n  },\n  {\n    abbrName: 'CopyMsgInd',\n    type: 'Boolean',\n    added: 'FIX.4.4',\n    name: 'CopyMsgIndicator',\n    id: 797,\n    description:\n      'Indicates whether or not this message is a drop copy of another message.',\n  },\n  {\n    abbrName: 'AcctTyp',\n    type: 'AllocAccountTypeCodeSet',\n    added: 'FIX.4.4',\n    name: 'AllocAccountType',\n    id: 798,\n    description:\n      'Type of account associated with a confirmation or other trade-level message',\n  },\n  {\n    abbrName: 'AvgPx',\n    type: 'Price',\n    added: 'FIX.4.4',\n    name: 'OrderAvgPx',\n    id: 799,\n    description: 'Average price for a specific order',\n  },\n  {\n    abbrName: 'BkngQty',\n    type: 'Qty',\n    added: 'FIX.4.4',\n    name: 'OrderBookingQty',\n    id: 800,\n    description:\n      'Quantity of the order that is being booked out as part of an Allocation Instruction or Allocation Report message',\n  },\n  {\n    abbrName: 'NoSettlPtySubIDs',\n    type: 'NumInGroup',\n    added: 'FIX.4.4',\n    name: 'NoSettlPartySubIDs',\n    id: 801,\n    description: 'Number of SettlPartySubID (785) and SettlPartySubIDType (786) entries',\n  },\n  {\n    abbrName: 'NoPtySubIDs',\n    type: 'NumInGroup',\n    added: 'FIX.4.4',\n    name: 'NoPartySubIDs',\n    id: 802,\n    description: 'Number of PartySubID (523)and PartySubIDType (803) entries',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PartySubIDTypeCodeSet',\n    unionDataType: 'Reserved4000Plus',\n    updatedEP: '204',\n    added: 'FIX.4.4',\n    name: 'PartySubIDType',\n    id: 803,\n    abbrName: 'Typ',\n    description: 'Type of PartySubID(523) value.',\n  },\n  {\n    abbrName: 'NoNstPtySubIDs',\n    type: 'NumInGroup',\n    added: 'FIX.4.4',\n    name: 'NoNestedPartySubIDs',\n    id: 804,\n    description:\n      'Number of NestedPartySubID (545) and NestedPartySubIDType (805) entries',\n  },\n  {\n    abbrName: 'Typ',\n    type: 'PartySubIDTypeCodeSet',\n    added: 'FIX.4.4',\n    name: 'NestedPartySubIDType',\n    id: 805,\n    description:\n      'Type of NestedPartySubID (545) value.\\n\\nSame values as PartySubIDType (803)',\n  },\n  {\n    abbrName: 'NoNst2PtySubIDs',\n    type: 'NumInGroup',\n    added: 'FIX.4.4',\n    name: 'NoNested2PartySubIDs',\n    id: 806,\n    description:\n      'Number of Nested2PartySubID (760) and Nested2PartySubIDType (807) entries. Second instance of <NestedParties>.',\n  },\n  {\n    abbrName: 'Typ',\n    type: 'PartySubIDTypeCodeSet',\n    added: 'FIX.4.4',\n    name: 'Nested2PartySubIDType',\n    id: 807,\n    description:\n      'Type of Nested2PartySubID (760) value. Second instance of <NestedParties>.\\n\\nSame values as PartySubIDType (803)',\n  },\n];\n\nconst batch2: ISpecFields[] = [\n  {\n    type: 'AllocIntermedReqTypeCodeSet',\n    baseCategoryAbbrName: 'ImReqTyp',\n    baseCategory: 'Allocation',\n    added: 'FIX.4.4',\n    name: 'AllocIntermedReqType',\n    id: 808,\n    abbrName: 'IntermedReqTyp',\n    description:\n      'Response to allocation to be communicated to a counterparty through an intermediary, i.e. clearing house. Used in conjunction with AllocType = \"Request to Intermediary\" and AllocReportType = \"Request to Intermediary\"',\n  },\n  {\n    abbrName: 'Px',\n    type: 'Price',\n    added: 'FIX.4.4',\n    name: 'UnderlyingPx',\n    id: 810,\n    description: 'Underlying price associate with a derivative instrument.',\n  },\n  {\n    abbrName: 'PxDelta',\n    type: 'float',\n    added: 'FIX.4.4',\n    name: 'PriceDelta',\n    id: 811,\n    description:\n      'The rate of change in the price of a derivative with respect to the movement in the price of the underlying instrument(s) upon which the derivative instrument price is based.\\n\\nThis value is normally between -1.0 and 1.0.',\n  },\n  {\n    abbrName: 'ApplQuMax',\n    type: 'int',\n    added: 'FIX.4.4',\n    name: 'ApplQueueMax',\n    id: 812,\n    description:\n      'Used to specify the maximum number of application messages that can be queued bedore a corrective action needs to take place to resolve the queuing issue.',\n  },\n  {\n    abbrName: 'ApplQuDepth',\n    type: 'int',\n    added: 'FIX.4.4',\n    name: 'ApplQueueDepth',\n    id: 813,\n    description:\n      'Current number of application messages that were queued at the time that the message was created by the counterparty.',\n  },\n  {\n    abbrName: 'ApplQuResolution',\n    type: 'ApplQueueResolutionCodeSet',\n    added: 'FIX.4.4',\n    name: 'ApplQueueResolution',\n    id: 814,\n    description:\n      'Resolution taken when ApplQueueDepth (813) exceeds ApplQueueMax (812) or system specified maximum queue size.',\n  },\n  {\n    abbrName: 'ApplQuActn',\n    type: 'ApplQueueActionCodeSet',\n    added: 'FIX.4.4',\n    name: 'ApplQueueAction',\n    id: 815,\n    description: 'Action to take to resolve an application message queue (backlog).',\n  },\n  {\n    abbrName: 'NoAltMDSrc',\n    type: 'NumInGroup',\n    added: 'FIX.4.4',\n    name: 'NoAltMDSource',\n    id: 816,\n    description: 'Number of alternative market data sources',\n  },\n  {\n    abbrName: 'AltMDSrcID',\n    type: 'String',\n    added: 'FIX.4.4',\n    name: 'AltMDSourceID',\n    id: 817,\n    description:\n      'Session layer source for market data\\n\\n(For the standard FIX session layer, this would be the TargetCompID (56) where market data can be obtained).',\n  },\n  {\n    type: 'String',\n    baseCategoryAbbrName: 'RptID2',\n    baseCategory: 'TradeCapture',\n    deprecated: 'FIX.5.0',\n    added: 'FIX.4.4',\n    name: 'SecondaryTradeReportID',\n    id: 818,\n    abbrName: 'TrdRptID2',\n    description:\n      'Secondary trade report identifier - can be used to associate an additional identifier with a trade.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'AvgPxIndicatorCodeSet',\n    updatedEP: '239',\n    added: 'FIX.4.4',\n    name: 'AvgPxIndicator',\n    id: 819,\n    abbrName: 'AvgPxInd',\n    description: 'Average pricing indicator.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'String',\n    baseCategoryAbbrName: 'LinkID',\n    baseCategory: 'TradeCapture',\n    updatedEP: '141',\n    added: 'FIX.4.4',\n    name: 'TradeLinkID',\n    id: 820,\n    abbrName: 'LinkID',\n    description: 'Used to link a group of trades together.',\n  },\n  {\n    abbrName: 'OrdInptDev',\n    type: 'String',\n    added: 'FIX.4.4',\n    name: 'OrderInputDevice',\n    id: 821,\n    description:\n      'Specific device number, terminal number or station where order was entered',\n  },\n  {\n    abbrName: 'UndSesID',\n    type: 'String',\n    added: 'FIX.4.4',\n    name: 'UnderlyingTradingSessionID',\n    id: 822,\n    description: 'Trading Session in which the underlying instrument trades',\n  },\n  {\n    abbrName: 'UndSesSub',\n    type: 'String',\n    added: 'FIX.4.4',\n    name: 'UnderlyingTradingSessionSubID',\n    id: 823,\n    description:\n      'Trading Session sub identifier in which the underlying instrument trades',\n  },\n  {\n    abbrName: 'TrdLegRefID',\n    type: 'String',\n    added: 'FIX.4.4',\n    name: 'TradeLegRefID',\n    id: 824,\n    description:\n      'Reference to the leg of a multileg instrument to which this trade refers',\n  },\n  {\n    abbrName: 'ExchRule',\n    type: 'String',\n    added: 'FIX.4.4',\n    name: 'ExchangeRule',\n    id: 825,\n    description:\n      'Used to report any exchange rules that apply to this trade.\\n\\nPrimarily intended for US futures markets. Certain trading practices are permitted by the CFTC, such as large lot trading, block trading, all or none trades. If the rules are used, the exchanges are required to indicate these rules on the trade.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'TradeAllocIndicatorCodeSet',\n    updatedEP: '141',\n    added: 'FIX.4.4',\n    name: 'TradeAllocIndicator',\n    id: 826,\n    abbrName: 'AllocInd',\n    description: 'Identifies if, and how, the trade is to be allocated or split.',\n  },\n  {\n    abbrName: 'ExpirationCycle',\n    type: 'ExpirationCycleCodeSet',\n    added: 'FIX.4.4',\n    name: 'ExpirationCycle',\n    id: 827,\n    description:\n      'Part of trading cycle when an instrument expires. Field is applicable for derivatives.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'TrdTypeCodeSet',\n    unionDataType: 'Reserved1000Plus',\n    updatedEP: '289',\n    added: 'FIX.4.4',\n    name: 'TrdType',\n    id: 828,\n    abbrName: 'TrdTyp',\n    description:\n      'Type of trade assigned to a trade. SecondaryTrdType(855) and TertiaryTrdType(2896) may be used in addition to TrdType(828) to assign up to three different trade types to a single trade.\\n\\nNote: several enumerations of this field duplicate the enumerations in TradePriceCondition(1839) field. These may be deprecated from TrdType(828) in the future. TradePriceCondition(1839) is preferred in messages that support it.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'TrdSubTypeCodeSet',\n    unionDataType: 'Reserved1000Plus',\n    updatedEP: '289',\n    added: 'FIX.4.4',\n    name: 'TrdSubType',\n    id: 829,\n    abbrName: 'TrdSubTyp',\n    description: 'Further qualification to the trade type defined in TrdType(828).',\n  },\n  {\n    abbrName: 'TrnsfrRsn',\n    type: 'String',\n    added: 'FIX.4.4',\n    name: 'TransferReason',\n    id: 830,\n    description: 'Reason trade is being transferred',\n  },\n  {\n    abbrName: 'TotNumAsgnRpts',\n    type: 'int',\n    added: 'FIX.4.4',\n    name: 'TotNumAssignmentReports',\n    id: 832,\n    description: 'Total Number of Assignment Reports being returned to a firm',\n  },\n  {\n    abbrName: 'RptID',\n    type: 'String',\n    added: 'FIX.4.4',\n    name: 'AsgnRptID',\n    id: 833,\n    description: 'Unique identifier for the Assignment Report',\n  },\n  {\n    abbrName: 'ThresholdAmt',\n    type: 'PriceOffset',\n    added: 'FIX.4.4',\n    name: 'ThresholdAmount',\n    id: 834,\n    description: 'Amount that a position has to be in the money before it is exercised.',\n  },\n  {\n    abbrName: 'MoveTyp',\n    type: 'PegMoveTypeCodeSet',\n    added: 'FIX.4.4',\n    name: 'PegMoveType',\n    id: 835,\n    description: 'Describes whether peg is static or floats',\n  },\n  {\n    abbrName: 'OfstTyp',\n    type: 'PegOffsetTypeCodeSet',\n    added: 'FIX.4.4',\n    name: 'PegOffsetType',\n    id: 836,\n    description: 'Type of Peg Offset value',\n  },\n  {\n    abbrName: 'LmtTyp',\n    type: 'PegLimitTypeCodeSet',\n    added: 'FIX.4.4',\n    name: 'PegLimitType',\n    id: 837,\n    description: 'Type of Peg Limit',\n  },\n  {\n    abbrName: 'RndDir',\n    type: 'PegRoundDirectionCodeSet',\n    added: 'FIX.4.4',\n    name: 'PegRoundDirection',\n    id: 838,\n    description:\n      'If the calculated peg price is not a valid tick price, specifies whether to round the price to be more or less aggressive',\n  },\n  {\n    abbrName: 'PeggedPx',\n    type: 'Price',\n    added: 'FIX.4.4',\n    name: 'PeggedPrice',\n    id: 839,\n    description: 'The price the order is currently pegged at',\n  },\n  {\n    abbrName: 'Scope',\n    type: 'PegScopeCodeSet',\n    added: 'FIX.4.4',\n    name: 'PegScope',\n    id: 840,\n    description: 'The scope of the peg',\n  },\n  {\n    abbrName: 'MoveTyp',\n    type: 'DiscretionMoveTypeCodeSet',\n    added: 'FIX.4.4',\n    name: 'DiscretionMoveType',\n    id: 841,\n    description: 'Describes whether discretionay price is static or floats',\n  },\n  {\n    abbrName: 'OfstTyp',\n    type: 'DiscretionOffsetTypeCodeSet',\n    added: 'FIX.4.4',\n    name: 'DiscretionOffsetType',\n    id: 842,\n    description: 'Type of Discretion Offset value',\n  },\n  {\n    abbrName: 'LimitTyp',\n    type: 'DiscretionLimitTypeCodeSet',\n    added: 'FIX.4.4',\n    name: 'DiscretionLimitType',\n    id: 843,\n    description: 'Type of Discretion Limit',\n  },\n  {\n    abbrName: 'RndDir',\n    type: 'DiscretionRoundDirectionCodeSet',\n    added: 'FIX.4.4',\n    name: 'DiscretionRoundDirection',\n    id: 844,\n    description:\n      'If the calculated discretionary price is not a valid tick price, specifies whether to round the price to be more or less aggressive',\n  },\n  {\n    abbrName: 'DsctnPx',\n    type: 'Price',\n    added: 'FIX.4.4',\n    name: 'DiscretionPrice',\n    id: 845,\n    description: 'The current discretionary price of the order',\n  },\n  {\n    abbrName: 'Scope',\n    type: 'DiscretionScopeCodeSet',\n    added: 'FIX.4.4',\n    name: 'DiscretionScope',\n    id: 846,\n    description: 'The scope of the discretion',\n  },\n  {\n    type: 'TargetStrategyCodeSet',\n    unionDataType: 'Reserved1000Plus',\n    added: 'FIX.4.4',\n    name: 'TargetStrategy',\n    id: 847,\n    abbrName: 'TgtStrategy',\n    description:\n      'The target strategy of the order\\n\\n1000+ = Reserved and available for bi-laterally agreed upon user defined values',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'String',\n    deprecated: 'FIX.5.0',\n    updatedEP: '282',\n    added: 'FIX.4.4',\n    name: 'TargetStrategyParameters',\n    id: 848,\n    abbrName: 'TgtStrategyParameters',\n    description:\n      'Field to allow further specification of the TargetStrategy - usage to be agreed between counterparties\\n\\nThe StrategyParametersGrp repeating group is used instead to convey target strategy parameters and values.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'Percentage',\n    deprecated: 'FIX.5.0',\n    updatedEP: '282',\n    added: 'FIX.4.4',\n    name: 'ParticipationRate',\n    id: 849,\n    abbrName: 'ParticipationRt',\n    description:\n      'For a TargetStrategy=Participate order specifies the target particpation rate. For other order types this is a volume limit (i.e. do not be more than this percent of the market volume)\\n\\nThe StrategyParametersGrp repeating group is used instead to convey target strategy parameters and values.',\n  },\n  {\n    abbrName: 'TgtStrategyPerformance',\n    type: 'float',\n    added: 'FIX.4.4',\n    name: 'TargetStrategyPerformance',\n    id: 850,\n    description:\n      'For communication of the performance of the order versus the target strategy',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'LastLiquidityIndCodeSet',\n    updatedEP: '223',\n    added: 'FIX.4.4',\n    name: 'LastLiquidityInd',\n    id: 851,\n    abbrName: 'LastLqdtyInd',\n    description:\n      'Indicator to identify whether this fill was a result of a liquidity provider providing or liquidity taker taking the liquidity.',\n  },\n  {\n    type: 'PublishTrdIndicatorCodeSet',\n    deprecated: 'FIX.5.0',\n    added: 'FIX.4.4',\n    name: 'PublishTrdIndicator',\n    id: 852,\n    abbrName: 'PubTrdInd',\n    description:\n      'Indicates if a trade should be reported via a market reporting service.',\n  },\n  {\n    abbrName: 'ShrtSaleRsn',\n    type: 'ShortSaleReasonCodeSet',\n    added: 'FIX.4.4',\n    name: 'ShortSaleReason',\n    id: 853,\n    description: 'Reason for short sale.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'QtyTypeCodeSet',\n    updatedEP: '107',\n    added: 'FIX.4.4',\n    name: 'QtyType',\n    id: 854,\n    abbrName: 'QtyTyp',\n    description:\n      'Type of quantity specified in quantity field. ContractMultiplier (tag 231) is required when QtyType = 1 (Contracts). UnitOfMeasure (tag 996) and TimeUnit (tag 997) are required when QtyType = 2 (Units of Measure per Time Unit).',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'TrdTypeCodeSet',\n    updatedEP: '268',\n    added: 'FIX.4.4',\n    name: 'SecondaryTrdType',\n    id: 855,\n    abbrName: 'TrdTyp2',\n    description:\n      'Type of trade assigned to a trade. Used in addition to TrdType(828). Must not be used when only one trade type needs to be assigned.',\n  },\n  {\n    abbrName: 'RptTyp',\n    type: 'TradeReportTypeCodeSet',\n    added: 'FIX.4.4',\n    name: 'TradeReportType',\n    id: 856,\n    description: 'Type of Trade Report',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'AllocNoOrdersTypeCodeSet',\n    updatedEP: '118',\n    added: 'FIX.4.4',\n    name: 'AllocNoOrdersType',\n    id: 857,\n    abbrName: 'NoOrdsTyp',\n    description:\n      'Indicates how the orders being booked and allocated by an AllocationInstruction or AllocationReport message are identified, e.g. by explicit definition in the OrdAllocGrp or ExecAllocGrp components, or not identified explicitly.',\n  },\n  {\n    abbrName: 'SharedComm',\n    type: 'Amt',\n    added: 'FIX.4.4',\n    name: 'SharedCommission',\n    id: 858,\n    description:\n      'Commission to be shared with a third party, e.g. as part of a directed brokerage commission sharing arrangement.',\n  },\n  {\n    abbrName: 'CnfmReqID',\n    type: 'String',\n    added: 'FIX.4.4',\n    name: 'ConfirmReqID',\n    id: 859,\n    description: 'Unique identifier for a Confirmation Request message',\n  },\n  {\n    abbrName: 'AvgParPx',\n    type: 'Price',\n    added: 'FIX.4.4',\n    name: 'AvgParPx',\n    id: 860,\n    description:\n      'Used to express average price as percent of par (used where AvgPx field is expressed in some other way)',\n  },\n  {\n    abbrName: 'RptedPx',\n    type: 'Price',\n    added: 'FIX.4.4',\n    name: 'ReportedPx',\n    id: 861,\n    description:\n      'Reported price (used to differentiate from AvgPx on a confirmation of a marked-up or marked-down principal trade)',\n  },\n  {\n    abbrName: 'NoCapacities',\n    type: 'NumInGroup',\n    added: 'FIX.4.4',\n    name: 'NoCapacities',\n    id: 862,\n    description: 'Number of repeating OrderCapacity entries.',\n  },\n  {\n    abbrName: 'CpctyQty',\n    type: 'Qty',\n    added: 'FIX.4.4',\n    name: 'OrderCapacityQty',\n    id: 863,\n    description:\n      'Quantity executed under a specific OrderCapacity (e.g. quantity executed as agent, quantity executed as principal)',\n  },\n  {\n    abbrName: 'NoEvents',\n    type: 'NumInGroup',\n    added: 'FIX.4.4',\n    name: 'NoEvents',\n    id: 864,\n    description: 'Number of repeating EventType entries.',\n  },\n  {\n    type: 'EventTypeCodeSet',\n    unionDataType: 'Reserved100Plus',\n    added: 'FIX.4.4',\n    name: 'EventType',\n    id: 865,\n    abbrName: 'EventTyp',\n    description: 'Code to represent the type of event',\n  },\n  {\n    abbrName: 'Dt',\n    type: 'LocalMktDate',\n    added: 'FIX.4.4',\n    name: 'EventDate',\n    id: 866,\n    description: 'Date of event',\n  },\n  {\n    abbrName: 'Px',\n    type: 'Price',\n    added: 'FIX.4.4',\n    name: 'EventPx',\n    id: 867,\n    description: 'Predetermined price of issue at event, if applicable',\n  },\n  {\n    abbrName: 'Txt',\n    type: 'String',\n    added: 'FIX.4.4',\n    name: 'EventText',\n    id: 868,\n    description: 'Comments related to the event.',\n  },\n  {\n    abbrName: 'PctAtRisk',\n    type: 'Percentage',\n    added: 'FIX.4.4',\n    name: 'PctAtRisk',\n    id: 869,\n    description: 'Percent at risk due to lowest possible call.',\n  },\n  {\n    abbrName: 'NoInstrAttrib',\n    type: 'NumInGroup',\n    added: 'FIX.4.4',\n    name: 'NoInstrAttrib',\n    id: 870,\n    description: 'Number of repeating InstrAttribType entries.',\n  },\n  {\n    type: 'InstrAttribTypeCodeSet',\n    unionDataType: 'Reserved100Plus',\n    added: 'FIX.4.4',\n    name: 'InstrAttribType',\n    id: 871,\n    abbrName: 'Typ',\n    description: 'Code to represent the type of instrument attribute',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'String',\n    updatedEP: '271',\n    added: 'FIX.4.4',\n    name: 'InstrAttribValue',\n    id: 872,\n    abbrName: 'Val',\n    description: 'Attribute value appropriate to the InstrAttribType (871) field.',\n  },\n  {\n    abbrName: 'Dated',\n    type: 'LocalMktDate',\n    added: 'FIX.4.4',\n    name: 'DatedDate',\n    id: 873,\n    description:\n      'The effective date of a new securities issue determined by its underwriters. Often but not always the same as the Issue Date and the Interest Accrual Date',\n  },\n  {\n    abbrName: 'IntAcrl',\n    type: 'LocalMktDate',\n    added: 'FIX.4.4',\n    name: 'InterestAccrualDate',\n    id: 874,\n    description:\n      'The start date used for calculating accrued interest on debt instruments which are being sold between interest payment dates. Often but not always the same as the Issue Date and the Dated Date',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'CPProgramCodeSet',\n    unionDataType: 'Reserved100Plus',\n    updatedEP: '201',\n    added: 'FIX.4.4',\n    name: 'CPProgram',\n    id: 875,\n    abbrName: 'CPPgm',\n    description:\n      'The program under which a commercial paper offering is exempt from SEC registration identified by the paragraph number(s) within the US Securities Act of 1933 or as identified below.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'String',\n    updatedEP: '201',\n    added: 'FIX.4.4',\n    name: 'CPRegType',\n    id: 876,\n    abbrName: 'CPRegT',\n    description:\n      'The description of commercial paper registration or rule under which exempt commercial paper is offered. For example \"144a\", \"Tax Exempt\" or \"REG. S\".',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'CPProgramCodeSet',\n    unionDataType: 'Reserved100Plus',\n    updatedEP: '187',\n    added: 'FIX.4.4',\n    name: 'UnderlyingCPProgram',\n    id: 877,\n    abbrName: 'CPPgm',\n    description: 'The program under which the underlying commercial paper is issued',\n  },\n  {\n    abbrName: 'CPRegTyp',\n    type: 'String',\n    added: 'FIX.4.4',\n    name: 'UnderlyingCPRegType',\n    id: 878,\n    description: 'The registration type of the underlying commercial paper issuance',\n  },\n  {\n    abbrName: 'Qty',\n    type: 'Qty',\n    added: 'FIX.4.4',\n    name: 'UnderlyingQty',\n    id: 879,\n    description: 'Unit amount of the underlying security (par, shares, currency, etc.)',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'String',\n    updatedEP: '279',\n    added: 'FIX.4.4',\n    name: 'TrdMatchID',\n    id: 880,\n    abbrName: 'MtchID',\n    description:\n      'Identifier assigned by a matching system to a match event that results in multiple executions or trades.',\n  },\n  {\n    type: 'String',\n    baseCategoryAbbrName: 'RptRefID2',\n    baseCategory: 'TradeCapture',\n    deprecated: 'FIX.5.0',\n    added: 'FIX.4.4',\n    name: 'SecondaryTradeReportRefID',\n    id: 881,\n    abbrName: 'TrdRptRefID2',\n    description:\n      'Used to refer to a previous SecondaryTradeReportRefID when amending the transaction (cancel, replace, release, or reversal).',\n  },\n  {\n    abbrName: 'DirtPx',\n    type: 'Price',\n    added: 'FIX.4.4',\n    name: 'UnderlyingDirtyPrice',\n    id: 882,\n    description:\n      'Price (percent-of-par or per unit) of the underlying security or basket. \"Dirty\" means it includes accrued interest',\n  },\n  {\n    abbrName: 'EndPx',\n    type: 'Price',\n    added: 'FIX.4.4',\n    name: 'UnderlyingEndPrice',\n    id: 883,\n    description:\n      'Price (percent-of-par or per unit) of the underlying security or basket at the end of the agreement.',\n  },\n  {\n    abbrName: 'StartVal',\n    type: 'Amt',\n    added: 'FIX.4.4',\n    name: 'UnderlyingStartValue',\n    id: 884,\n    description:\n      'Currency value attributed to this collateral at the start of the agreement',\n  },\n  {\n    abbrName: 'CurVal',\n    type: 'Amt',\n    added: 'FIX.4.4',\n    name: 'UnderlyingCurrentValue',\n    id: 885,\n    description: 'Currency value currently attributed to this collateral',\n  },\n  {\n    abbrName: 'EndVal',\n    type: 'Amt',\n    added: 'FIX.4.4',\n    name: 'UnderlyingEndValue',\n    id: 886,\n    description:\n      'Currency value attributed to this collateral at the end of the agreement',\n  },\n  {\n    abbrName: 'NoUndStips',\n    type: 'NumInGroup',\n    added: 'FIX.4.4',\n    name: 'NoUnderlyingStips',\n    id: 887,\n    description: 'Number of underlying stipulation entries',\n  },\n  {\n    abbrName: 'Typ',\n    type: 'StipulationTypeCodeSet',\n    added: 'FIX.4.4',\n    name: 'UnderlyingStipType',\n    id: 888,\n    description: 'Type of stipulation.\\n\\nSame values as StipulationType (233)',\n  },\n  {\n    abbrName: 'Val',\n    type: 'String',\n    added: 'FIX.4.4',\n    name: 'UnderlyingStipValue',\n    id: 889,\n    description: 'Value of stipulation.\\n\\nSame values as StipulationValue (234)',\n  },\n  {\n    abbrName: 'MatNetMny',\n    type: 'Amt',\n    added: 'FIX.4.4',\n    name: 'MaturityNetMoney',\n    id: 890,\n    description:\n      'Net Money at maturity if Zero Coupon and maturity value is different from par value',\n  },\n  {\n    abbrName: 'Basis',\n    type: 'MiscFeeBasisCodeSet',\n    added: 'FIX.4.4',\n    name: 'MiscFeeBasis',\n    id: 891,\n    description: 'Defines the unit for a miscellaneous fee.',\n  },\n  {\n    abbrName: 'TotNoAllocs',\n    type: 'int',\n    added: 'FIX.4.4',\n    name: 'TotNoAllocs',\n    id: 892,\n    description:\n      'Total number of NoAlloc entries across all messages. Should be the sum of all NoAllocs in each message that has repeating NoAlloc entries related to the same AllocID or AllocReportID. Used to support fragmentation.',\n  },\n  {\n    abbrName: 'LastFragment',\n    type: 'LastFragmentCodeSet',\n    added: 'FIX.4.4',\n    name: 'LastFragment',\n    id: 893,\n    description:\n      'Indicates whether this message is the last in a sequence of messages for those messages that support fragmentation, such as Allocation Instruction, Mass Quote, Security List, Derivative Security List',\n  },\n  {\n    abbrName: 'ReqID',\n    type: 'String',\n    added: 'FIX.4.4',\n    name: 'CollReqID',\n    id: 894,\n    description: 'Collateral Request Identifier',\n  },\n  {\n    abbrName: 'AsgnRsn',\n    type: 'CollAsgnReasonCodeSet',\n    added: 'FIX.4.4',\n    name: 'CollAsgnReason',\n    id: 895,\n    description: 'Reason for Collateral Assignment',\n  },\n  {\n    abbrName: 'Qual',\n    type: 'CollInquiryQualifierCodeSet',\n    added: 'FIX.4.4',\n    name: 'CollInquiryQualifier',\n    id: 896,\n    description: 'Collateral inquiry qualifiers:',\n  },\n  {\n    abbrName: 'NoTrds',\n    type: 'NumInGroup',\n    added: 'FIX.4.4',\n    name: 'NoTrades',\n    id: 897,\n    description: 'Number of trades in repeating group.',\n  },\n  {\n    abbrName: 'MgnRatio',\n    type: 'Percentage',\n    added: 'FIX.4.4',\n    name: 'MarginRatio',\n    id: 898,\n    description:\n      'The fraction of the cash consideration that must be collateralized, expressed as a percent. A MarginRatio of 02% indicates that the value of the collateral (after deducting for \"haircut\") must exceed the cash consideration by 2%.',\n  },\n  {\n    abbrName: 'MgnExcess',\n    type: 'Amt',\n    added: 'FIX.4.4',\n    name: 'MarginExcess',\n    id: 899,\n    description: 'Excess margin amount (deficit if value is negative)',\n  },\n  {\n    abbrName: 'TotNetValu',\n    type: 'Amt',\n    added: 'FIX.4.4',\n    name: 'TotalNetValue',\n    id: 900,\n    description:\n      'TotalNetValue is determined as follows:\\n\\nAt the initial collateral assignment TotalNetValue is the sum of (UnderlyingStartValue * (1-haircut)).\\n\\nIn a collateral substitution TotalNetValue is the sum of (UnderlyingCurrentValue * (1-haircut)).\\n\\nFor listed derivatives clearing margin management, this is the collateral value which equals (Market value * haircut)',\n  },\n  {\n    abbrName: 'CshOutstanding',\n    type: 'Amt',\n    added: 'FIX.4.4',\n    name: 'CashOutstanding',\n    id: 901,\n    description: 'Starting consideration less repayments',\n  },\n  {\n    abbrName: 'ID',\n    type: 'String',\n    added: 'FIX.4.4',\n    name: 'CollAsgnID',\n    id: 902,\n    description: 'Collateral Assignment Identifier',\n  },\n  {\n    abbrName: 'TransTyp',\n    type: 'CollAsgnTransTypeCodeSet',\n    added: 'FIX.4.4',\n    name: 'CollAsgnTransType',\n    id: 903,\n    description: 'Collateral Assignment Transaction Type',\n  },\n  {\n    abbrName: 'RespID',\n    type: 'String',\n    added: 'FIX.4.4',\n    name: 'CollRespID',\n    id: 904,\n    description: 'Collateral Response Identifier',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'CollAsgnRespTypeCodeSet',\n    updatedEP: '192',\n    added: 'FIX.4.4',\n    name: 'CollAsgnRespType',\n    id: 905,\n    abbrName: 'RespTyp',\n    description: 'Type of collateral assignment response.',\n  },\n  {\n    type: 'CollAsgnRejectReasonCodeSet',\n    unionDataType: 'Reserved100Plus',\n    added: 'FIX.4.4',\n    name: 'CollAsgnRejectReason',\n    id: 906,\n    abbrName: 'RejRsn',\n    description: 'Collateral Assignment Reject Reason',\n  },\n  {\n    abbrName: 'RefID',\n    type: 'String',\n    added: 'FIX.4.4',\n    name: 'CollAsgnRefID',\n    id: 907,\n    description: 'Collateral Assignment Identifier to which a transaction refers',\n  },\n  {\n    abbrName: 'RptID',\n    type: 'String',\n    added: 'FIX.4.4',\n    name: 'CollRptID',\n    id: 908,\n    description: 'Collateral Report Identifier',\n  },\n  {\n    abbrName: 'ID',\n    type: 'String',\n    added: 'FIX.4.4',\n    name: 'CollInquiryID',\n    id: 909,\n    description: 'Collateral Inquiry Identifier',\n  },\n  {\n    abbrName: 'Stat',\n    type: 'CollStatusCodeSet',\n    added: 'FIX.4.4',\n    name: 'CollStatus',\n    id: 910,\n    description: 'Collateral Status',\n  },\n  {\n    updated: 'FIX.5.0SP1',\n    type: 'int',\n    updatedEP: '95',\n    added: 'FIX.4.4',\n    name: 'TotNumReports',\n    id: 911,\n    abbrName: 'TotNumRpts',\n    description: 'Total number of reports returned in response to a request.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'LastRptRequestedCodeSet',\n    updatedEP: '141',\n    added: 'FIX.4.4',\n    name: 'LastRptRequested',\n    id: 912,\n    abbrName: 'LastRptReqed',\n    description:\n      'Indicates whether this message is the last report message in response to a request message, e.g. OrderMassStatusRequest(35=AF), TradeCaptureReportRequest(35=AD).',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'String',\n    updatedEP: '254',\n    added: 'FIX.4.4',\n    name: 'AgreementDesc',\n    id: 913,\n    abbrName: 'AgmtDesc',\n    description:\n      'The full name of the base standard agreement, annexes and amendments in place between the principals applicable to a financing transaction. See http://www.fpml.org/coding-scheme/master-agreement-type for derivative values.\\n\\nFor EU SFTR reporting use the appropriate 4-character code noted in the regulations. See SFTR ITS \"Commission Implementing Regulation (EU) 2019/363\" Annexes 1 to 2 for values. For other agreement type use OTHR and the name of the agreement concatenated with a hyphen, e.g. OTHR-<IndexName>.',\n  },\n  {\n    abbrName: 'AgmtID',\n    type: 'String',\n    added: 'FIX.4.4',\n    name: 'AgreementID',\n    id: 914,\n    description:\n      'A common reference to the applicable standing agreement between the counterparties to a financing transaction.',\n  },\n  {\n    abbrName: 'AgmtDt',\n    type: 'LocalMktDate',\n    added: 'FIX.4.4',\n    name: 'AgreementDate',\n    id: 915,\n    description:\n      'A reference to the date the underlying agreement specified by AgreementID and AgreementDesc was executed.',\n  },\n  {\n    abbrName: 'StartDt',\n    type: 'LocalMktDate',\n    added: 'FIX.4.4',\n    name: 'StartDate',\n    id: 916,\n    description:\n      'Start date of a financing deal, i.e. the date the buyer pays the seller cash and takes control of the collateral',\n  },\n  {\n    abbrName: 'EndDt',\n    type: 'LocalMktDate',\n    added: 'FIX.4.4',\n    name: 'EndDate',\n    id: 917,\n    description:\n      'End date of a financing deal, i.e. the date the seller reimburses the buyer and takes back control of the collateral',\n  },\n  {\n    abbrName: 'AgmtCcy',\n    type: 'Currency',\n    added: 'FIX.4.4',\n    name: 'AgreementCurrency',\n    id: 918,\n    description:\n      'Contractual currency forming the basis of a financing agreement and associated transactions. Usually, but not always, the same as the trade currency.',\n  },\n  {\n    abbrName: 'DlvryTyp',\n    type: 'DeliveryTypeCodeSet',\n    added: 'FIX.4.4',\n    name: 'DeliveryType',\n    id: 919,\n    description: 'Identifies type of settlement',\n  },\n  {\n    abbrName: 'EndAcrdIntAmt',\n    type: 'Amt',\n    added: 'FIX.4.4',\n    name: 'EndAccruedInterestAmt',\n    id: 920,\n    description:\n      'Accrued Interest Amount applicable to a financing transaction on the End Date.',\n  },\n  {\n    abbrName: 'StartCsh',\n    type: 'Amt',\n    added: 'FIX.4.4',\n    name: 'StartCash',\n    id: 921,\n    description:\n      'Starting dirty cash consideration of a financing deal, i.e. paid to the seller on the Start Date.',\n  },\n  {\n    abbrName: 'EndCsh',\n    type: 'Amt',\n    added: 'FIX.4.4',\n    name: 'EndCash',\n    id: 922,\n    description:\n      'Ending dirty cash consideration of a financing deal. i.e. reimbursed to the buyer on the End Date.',\n  },\n  {\n    abbrName: 'UserReqID',\n    type: 'String',\n    added: 'FIX.4.4',\n    name: 'UserRequestID',\n    id: 923,\n    description: 'Unique identifier for a User Request.',\n  },\n  {\n    abbrName: 'UserReqTyp',\n    type: 'UserRequestTypeCodeSet',\n    added: 'FIX.4.4',\n    name: 'UserRequestType',\n    id: 924,\n    description: 'Indicates the action required by a User Request Message',\n  },\n  {\n    abbrName: 'NewPassword',\n    type: 'String',\n    added: 'FIX.4.4',\n    name: 'NewPassword',\n    id: 925,\n    description: 'New Password or passphrase',\n  },\n  {\n    abbrName: 'UserStat',\n    type: 'UserStatusCodeSet',\n    added: 'FIX.4.4',\n    name: 'UserStatus',\n    id: 926,\n    description: 'Indicates the status of a user',\n  },\n  {\n    abbrName: 'UserStatText',\n    type: 'String',\n    added: 'FIX.4.4',\n    name: 'UserStatusText',\n    id: 927,\n    description: 'A text description associated with a user status.',\n  },\n  {\n    abbrName: 'StatValu',\n    type: 'StatusValueCodeSet',\n    added: 'FIX.4.4',\n    name: 'StatusValue',\n    id: 928,\n    description: 'Indicates the status of a network connection',\n  },\n  {\n    abbrName: 'StatText',\n    type: 'String',\n    added: 'FIX.4.4',\n    name: 'StatusText',\n    id: 929,\n    description: 'A text description associated with a network status.',\n  },\n  {\n    abbrName: 'RefCompID',\n    type: 'String',\n    added: 'FIX.4.4',\n    name: 'RefCompID',\n    id: 930,\n    description: 'Assigned value used to identify a firm.',\n  },\n  {\n    abbrName: 'RefSubID',\n    type: 'String',\n    added: 'FIX.4.4',\n    name: 'RefSubID',\n    id: 931,\n    description: 'Assigned value used to identify specific elements within a firm.',\n  },\n  {\n    abbrName: 'NtwkRspID',\n    type: 'String',\n    added: 'FIX.4.4',\n    name: 'NetworkResponseID',\n    id: 932,\n    description: 'Unique identifier for a network response.',\n  },\n  {\n    abbrName: 'NtwkReqID',\n    type: 'String',\n    added: 'FIX.4.4',\n    name: 'NetworkRequestID',\n    id: 933,\n    description: 'Unique identifier for a network resquest.',\n  },\n  {\n    abbrName: 'LastNtwkRspID',\n    type: 'String',\n    added: 'FIX.4.4',\n    name: 'LastNetworkResponseID',\n    id: 934,\n    description:\n      'Identifier of the previous Network Response message sent to a counterparty, used to allow incremental updates.',\n  },\n  {\n    abbrName: 'NtwkReqTyp',\n    type: 'NetworkRequestTypeCodeSet',\n    added: 'FIX.4.4',\n    name: 'NetworkRequestType',\n    id: 935,\n    description:\n      \"Indicates the type and level of details required for a Network Status Request Message\\n\\nBoolean logic applies EG If you want to subscribe for changes to certain id's then UserRequestType =0 (8+2), Snapshot for certain ID's = 9 (8+1)\",\n  },\n  {\n    abbrName: 'NoCompIDs',\n    type: 'NumInGroup',\n    added: 'FIX.4.4',\n    name: 'NoCompIDs',\n    id: 936,\n    description: 'Number of CompID entries in a repeating group.',\n  },\n  {\n    abbrName: 'NtwkStatRspTyp',\n    type: 'NetworkStatusResponseTypeCodeSet',\n    added: 'FIX.4.4',\n    name: 'NetworkStatusResponseType',\n    id: 937,\n    description: 'Indicates the type of Network Response Message.',\n  },\n  {\n    abbrName: 'NoCollInqQual',\n    type: 'NumInGroup',\n    added: 'FIX.4.4',\n    name: 'NoCollInquiryQualifier',\n    id: 938,\n    description: 'Number of CollInquiryQualifier entries in a repeating group.',\n  },\n  {\n    abbrName: 'TrdRptStat',\n    type: 'TrdRptStatusCodeSet',\n    added: 'FIX.4.4',\n    name: 'TrdRptStatus',\n    id: 939,\n    description: 'Trade Report Status',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'AffirmStatusCodeSet',\n    updatedEP: '215',\n    added: 'FIX.4.4',\n    name: 'AffirmStatus',\n    id: 940,\n    abbrName: 'AffirmStat',\n    description: 'Specifies the affirmation status of the confirmation.',\n  },\n  {\n    abbrName: 'StrkCcy',\n    type: 'Currency',\n    added: 'FIX.4.4',\n    name: 'UnderlyingStrikeCurrency',\n    id: 941,\n    description:\n      'Currency in which the strike price of an underlying instrument is denominated',\n  },\n  {\n    abbrName: 'StrkCcy',\n    type: 'Currency',\n    added: 'FIX.4.4',\n    name: 'LegStrikeCurrency',\n    id: 942,\n    description:\n      'Currency in which the strike price of a instrument leg of a multileg instrument is denominated',\n  },\n  {\n    abbrName: 'TmBkt',\n    type: 'String',\n    added: 'FIX.4.4',\n    name: 'TimeBracket',\n    id: 943,\n    description:\n      'A code that represents a time interval in which a fill or trade occurred.\\n\\nRequired for US futures markets.',\n  },\n  {\n    abbrName: 'Actn',\n    type: 'CollActionCodeSet',\n    added: 'FIX.4.4',\n    name: 'CollAction',\n    id: 944,\n    description: 'Action proposed for an Underlying Instrument instance.',\n  },\n  {\n    abbrName: 'Stat',\n    type: 'CollInquiryStatusCodeSet',\n    added: 'FIX.4.4',\n    name: 'CollInquiryStatus',\n    id: 945,\n    description: 'Status of Collateral Inquiry',\n  },\n  {\n    type: 'CollInquiryResultCodeSet',\n    unionDataType: 'Reserved100Plus',\n    added: 'FIX.4.4',\n    name: 'CollInquiryResult',\n    id: 946,\n    abbrName: 'Rslt',\n    description:\n      'Result returned in response to Collateral Inquiry\\n\\n4000+ Reserved and available for bi-laterally agreed upon user-defined values',\n  },\n  {\n    abbrName: 'StrkCcy',\n    type: 'Currency',\n    added: 'FIX.4.4',\n    name: 'StrikeCurrency',\n    id: 947,\n    description: 'Currency in which the StrikePrice is denominated.',\n  },\n  {\n    abbrName: 'NoNst3PtyIDs',\n    type: 'NumInGroup',\n    added: 'FIX.4.4',\n    name: 'NoNested3PartyIDs',\n    id: 948,\n    description:\n      'Number of Nested3PartyID (949), Nested3PartyIDSource (950), and Nested3PartyRole (95) entries',\n  },\n  {\n    abbrName: 'ID',\n    type: 'String',\n    added: 'FIX.4.4',\n    name: 'Nested3PartyID',\n    id: 949,\n    discriminatorId: '950',\n    description:\n      'PartyID value within a \"third instance\" Nested repeating group.\\n\\nSame values as PartyID (448)',\n  },\n  {\n    abbrName: 'Src',\n    type: 'PartyIDSourceCodeSet',\n    added: 'FIX.4.4',\n    name: 'Nested3PartyIDSource',\n    id: 950,\n    description:\n      'PartyIDSource value within a \"third instance\" Nested repeating group.\\n\\nSame values as PartyIDSource (447)',\n  },\n  {\n    abbrName: 'R',\n    type: 'PartyRoleCodeSet',\n    added: 'FIX.4.4',\n    name: 'Nested3PartyRole',\n    id: 951,\n    description:\n      'PartyRole value within a \"third instance\" Nested repeating group.\\n\\nSame values as PartyRole (452)',\n  },\n  {\n    abbrName: 'NoNst3PtySubIDs',\n    type: 'NumInGroup',\n    added: 'FIX.4.4',\n    name: 'NoNested3PartySubIDs',\n    id: 952,\n    description: 'Number of Nested3PartySubIDs (953) entries',\n  },\n  {\n    abbrName: 'ID',\n    type: 'String',\n    added: 'FIX.4.4',\n    name: 'Nested3PartySubID',\n    id: 953,\n    description:\n      'PartySubID value within a \"third instance\" Nested repeating group.\\n\\nSame values as PartySubID (523)',\n  },\n  {\n    abbrName: 'Typ',\n    type: 'PartySubIDTypeCodeSet',\n    added: 'FIX.4.4',\n    name: 'Nested3PartySubIDType',\n    id: 954,\n    description:\n      'PartySubIDType value within a \"third instance\" Nested repeating group.\\n\\nSame values as PartySubIDType (803)',\n  },\n  {\n    abbrName: 'CSetMo',\n    type: 'MonthYear',\n    added: 'FIX.4.4',\n    name: 'LegContractSettlMonth',\n    id: 955,\n    description: 'Specifies when the contract (i.e. MBS/TBA) will settle.',\n  },\n  {\n    abbrName: 'IntAcrl',\n    type: 'LocalMktDate',\n    added: 'FIX.4.4',\n    name: 'LegInterestAccrualDate',\n    id: 956,\n    description:\n      'The start date used for calculating accrued interest on debt instruments which are being sold between interest payment dates. Often but not always the same as the Issue Date and the Dated Date',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '2',\n    added: 'FIX.4.4',\n    name: 'NoStrategyParameters',\n    id: 957,\n    abbrName: 'NoStrtPrm',\n    description: 'Indicates number of strategy parameters',\n  },\n  {\n    type: 'String',\n    addedEP: '2',\n    added: 'FIX.4.4',\n    name: 'StrategyParameterName',\n    id: 958,\n    abbrName: 'StrtPrmNme',\n    description: 'Name of parameter',\n  },\n  {\n    type: 'StrategyParameterTypeCodeSet',\n    addedEP: '2',\n    added: 'FIX.4.4',\n    name: 'StrategyParameterType',\n    id: 959,\n    abbrName: 'StrtPrmTyp',\n    description: 'Datatype of the parameter',\n  },\n  {\n    type: 'String',\n    addedEP: '2',\n    added: 'FIX.4.4',\n    name: 'StrategyParameterValue',\n    id: 960,\n    abbrName: 'StrtPrmVal',\n    description: 'Value of the parameter',\n  },\n  {\n    type: 'String',\n    addedEP: '3',\n    added: 'FIX.4.4',\n    name: 'HostCrossID',\n    id: 961,\n    abbrName: 'HstCxID',\n    description:\n      'Host assigned entity ID that can be used to reference all components of a cross; sides + strategy + legs. Used as the primary key with which to refer to the Cross Order for cancellation and replace. The HostCrossID will also be used to link together components of the Cross Order. For example, each individual Execution Report associated with the order will carry HostCrossID in order to tie back to the original cross order.',\n  },\n  {\n    type: 'UTCTimestamp',\n    addedEP: '3',\n    added: 'FIX.4.4',\n    name: 'SideTimeInForce',\n    id: 962,\n    abbrName: 'SideTmFrc',\n    description:\n      'Indicates how long the order as specified in the side stays in effect. SideTimeInForce allows a two-sided cross order to specify order behavior separately for each side. Absence of this field indicates that TimeInForce should be referenced. SideTimeInForce will override TimeInForce if both are provided.',\n  },\n  {\n    type: 'int',\n    addedEP: '4',\n    added: 'FIX.4.4',\n    name: 'MDReportID',\n    id: 963,\n    abbrName: 'RptID',\n    description: 'Unique identifier for the Market Data Report.',\n  },\n  {\n    updated: 'FIX.5.0SP1',\n    type: 'int',\n    addedEP: '4',\n    updatedEP: '87',\n    added: 'FIX.4.4',\n    name: 'SecurityReportID',\n    id: 964,\n    abbrName: 'RptID',\n    description: 'Identifies a Security List message.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'SecurityStatusCodeSet',\n    addedEP: '4',\n    updatedEP: '271',\n    added: 'FIX.4.4',\n    name: 'SecurityStatus',\n    id: 965,\n    abbrName: 'Status',\n    description: 'Indicates the current state of the instrument.',\n  },\n  {\n    type: 'String',\n    addedEP: '4',\n    added: 'FIX.4.4',\n    name: 'SettleOnOpenFlag',\n    id: 966,\n    abbrName: 'SettlOnOpenFlag',\n    description: 'Indicator to determine if instrument is settle on open',\n  },\n  {\n    type: 'float',\n    addedEP: '4',\n    added: 'FIX.4.4',\n    name: 'StrikeMultiplier',\n    id: 967,\n    abbrName: 'StrkMult',\n    description:\n      'Used for derivatives. Multiplier applied to the strike price for the purpose of calculating the settlement value.',\n  },\n  {\n    type: 'float',\n    addedEP: '4',\n    added: 'FIX.4.4',\n    name: 'StrikeValue',\n    id: 968,\n    abbrName: 'StrkValu',\n    description:\n      'Used for derivatives. The number of shares/units for the financial instrument involved in the option trade.',\n  },\n  {\n    type: 'float',\n    addedEP: '4',\n    added: 'FIX.4.4',\n    name: 'MinPriceIncrement',\n    id: 969,\n    abbrName: 'MinPxIncr',\n    description: 'Minimum price increase for a given exchange-traded Instrument',\n  },\n  {\n    type: 'int',\n    addedEP: '4',\n    added: 'FIX.4.4',\n    name: 'PositionLimit',\n    id: 970,\n    abbrName: 'PosLmt',\n    description: 'Position Limit for a given exchange-traded product.',\n  },\n  {\n    type: 'int',\n    addedEP: '4',\n    added: 'FIX.4.4',\n    name: 'NTPositionLimit',\n    id: 971,\n    abbrName: 'NTPosLmt',\n    description:\n      'Position Limit in the near-term contract for a given exchange-traded product.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '4',\n    added: 'FIX.4.4',\n    name: 'UnderlyingAllocationPercent',\n    id: 972,\n    abbrName: 'AllocPct',\n    description: 'Percent of the Strike Price that this underlying represents.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '4',\n    added: 'FIX.4.4',\n    name: 'UnderlyingCashAmount',\n    id: 973,\n    abbrName: 'CashAmt',\n    description: 'Cash amount associated with the underlying component.',\n  },\n  {\n    updated: 'FIX.5.0SP1',\n    type: 'UnderlyingCashTypeCodeSet',\n    addedEP: '4',\n    updatedEP: '95',\n    added: 'FIX.4.4',\n    name: 'UnderlyingCashType',\n    id: 974,\n    abbrName: 'CashTyp',\n    description: 'Used for derivatives that deliver into cash underlying.',\n  },\n  {\n    type: 'UnderlyingSettlementTypeCodeSet',\n    addedEP: '4',\n    added: 'FIX.4.4',\n    name: 'UnderlyingSettlementType',\n    id: 975,\n    abbrName: 'SettlTyp',\n    description: 'Indicates order settlement period for the underlying instrument.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '4',\n    added: 'FIX.4.4',\n    name: 'QuantityDate',\n    id: 976,\n    abbrName: 'QtyDt',\n    description:\n      'Date associated to the quantity that is being reported for the position.',\n  },\n  {\n    type: 'String',\n    addedEP: '4',\n    added: 'FIX.4.4',\n    name: 'ContIntRptID',\n    id: 977,\n    abbrName: 'RptID',\n    description: 'Unique identifier for the Contrary Intention report',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '4',\n    added: 'FIX.4.4',\n    name: 'LateIndicator',\n    id: 978,\n    abbrName: 'LateInd',\n    description:\n      'Indicates if the contrary intention was received after the exchange imposed cutoff time',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'String',\n    addedEP: '4',\n    updatedEP: '148',\n    added: 'FIX.4.4',\n    name: 'InputSource',\n    id: 979,\n    abbrName: 'InptSrc',\n    description: 'Originating source of the request.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'SecurityUpdateActionCodeSet',\n    addedEP: '4',\n    updatedEP: '275',\n    added: 'FIX.4.4',\n    name: 'SecurityUpdateAction',\n    id: 980,\n    abbrName: 'UpdActn',\n    description:\n      'Specifies the action taken or to be taken for the specified instrument or list of instruments.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '4',\n    added: 'FIX.4.4',\n    name: 'NoExpiration',\n    id: 981,\n    abbrName: 'NoExpiration',\n    description: 'Number of Expiration Qty entries',\n  },\n  {\n    type: 'ExpirationQtyTypeCodeSet',\n    addedEP: '4',\n    added: 'FIX.4.4',\n    name: 'ExpirationQtyType',\n    id: 982,\n    abbrName: 'ExpTyp',\n    description: 'Expiration Quantity type',\n  },\n  {\n    type: 'Qty',\n    addedEP: '4',\n    added: 'FIX.4.4',\n    name: 'ExpQty',\n    id: 983,\n    abbrName: 'ExpQty',\n    description: 'Expiration Quantity associated with the Expiration Type',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '4',\n    added: 'FIX.4.4',\n    name: 'NoUnderlyingAmounts',\n    id: 984,\n    abbrName: 'NoUnderlyingAmounts',\n    description:\n      'Total number of occurrences of Amount to pay in order to receive the underlying instrument',\n  },\n  {\n    type: 'Amt',\n    addedEP: '4',\n    added: 'FIX.4.4',\n    name: 'UnderlyingPayAmount',\n    id: 985,\n    abbrName: 'PayAmt',\n    description: 'Amount to pay in order to receive the underlying instrument',\n  },\n  {\n    type: 'Amt',\n    addedEP: '4',\n    added: 'FIX.4.4',\n    name: 'UnderlyingCollectAmount',\n    id: 986,\n    abbrName: 'ColAmt',\n    description: 'Amount to collect in order to deliver the underlying instrument',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '4',\n    added: 'FIX.4.4',\n    name: 'UnderlyingSettlementDate',\n    id: 987,\n    abbrName: 'StlDt',\n    description:\n      'Date the underlying instrument will settle. Used for derivatives that deliver into more than one underlying instrument. Settlement dates can vary across underlying instruments.',\n  },\n  {\n    type: 'String',\n    addedEP: '4',\n    added: 'FIX.4.4',\n    name: 'UnderlyingSettlementStatus',\n    id: 988,\n    abbrName: 'SetStat',\n    description:\n      'Settlement status of the underlying instrument. Used for derivatives that deliver into more than one underlying instrument. Settlement can be delayed for an underlying instrument.',\n  },\n  {\n    type: 'String',\n    addedEP: '5',\n    added: 'FIX.4.4',\n    name: 'SecondaryIndividualAllocID',\n    id: 989,\n    abbrName: 'IndAllocID2',\n    description:\n      'Will allow the intermediary to specify an allocation ID generated by their system.',\n  },\n  {\n    type: 'String',\n    addedEP: '5',\n    added: 'FIX.4.4',\n    name: 'LegReportID',\n    id: 990,\n    abbrName: 'RptID',\n    description: 'Additional attribute to store the Trade ID of the Leg.',\n  },\n  {\n    type: 'Price',\n    addedEP: '5',\n    added: 'FIX.4.4',\n    name: 'RndPx',\n    id: 991,\n    abbrName: 'RndPx',\n    description: 'Specifies average price rounded to quoted precision.',\n  },\n  {\n    type: 'IndividualAllocTypeCodeSet',\n    addedEP: '5',\n    added: 'FIX.4.4',\n    name: 'IndividualAllocType',\n    id: 992,\n    abbrName: 'Typ',\n    description:\n      'Identifies whether the allocation is to be sub-allocated or allocated to a third party',\n  },\n  {\n    type: 'String',\n    addedEP: '5',\n    added: 'FIX.4.4',\n    name: 'AllocCustomerCapacity',\n    id: 993,\n    abbrName: 'CustCpcty',\n    description: 'Capacity of customer in the allocation block.',\n  },\n  {\n    type: 'String',\n    addedEP: '5',\n    added: 'FIX.4.4',\n    name: 'TierCode',\n    id: 994,\n    abbrName: 'TierCD',\n    description: 'The Tier the trade was matched by the clearing system.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'UnitOfMeasureCodeSet',\n    addedEP: '5',\n    updatedEP: '122',\n    added: 'FIX.4.4',\n    name: 'UnitOfMeasure',\n    id: 996,\n    abbrName: 'UOM',\n    description:\n      \"The unit of measure of the underlying commodity upon which the contract is based. Two groups of units of measure enumerations are supported.\\n\\nFixed Magnitude UOMs are primarily used in energy derivatives and specify a magnitude (such as, MM, Kilo, M, etc.) and the dimension (such as, watt hours, BTU's) to produce standard fixed measures (such as MWh - Megawatt-hours, MMBtu - One million BTUs).\\n\\nThe second group, Variable Quantity UOMs, specifies the dimension as a single unit without a magnitude (or more accurately a magnitude of one) and uses the UnitOfMeasureQty(1147) field to define the quantity of units per contract. Variable Quantity UOMs are used for both commodities (such as lbs of lean cattle, bushels of corn, ounces of gold) and financial futures.\\n\\nExamples:\\n\\nFor lean cattle futures contracts, a UnitOfMeasure of 'lbs' with a UnitOfMeasureQty(1147) of 40,000, means each lean cattle futures contract represents 40,000 lbs of lean cattle.\\n\\nFor Eurodollars futures contracts, a UnitOfMeasure of Ccy with a UnitOfMeasureCurrency(1716) of USD and a UnitOfMeasureQty(1147) of 1,000,000, means a Eurodollar futures contract represents 1,000,000 USD.\\n\\nFor gold futures contracts, a UnitOfMeasure is oz_tr (Troy ounce) with a UnitOfMeasureQty(1147) of 1,000, means each gold futures contract represents 1,000 troy ounces of gold.\",\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'TimeUnitCodeSet',\n    addedEP: '5',\n    updatedEP: '287',\n    added: 'FIX.4.4',\n    name: 'TimeUnit',\n    id: 997,\n    abbrName: 'TmUnit',\n    description:\n      'Unit of time associated with the contract.\\n\\nNOTE: Additional values may be used by mutual agreement of the counterparties.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'UnitOfMeasureCodeSet',\n    addedEP: '5',\n    updatedEP: '271',\n    added: 'FIX.4.4',\n    name: 'UnderlyingUnitOfMeasure',\n    id: 998,\n    abbrName: 'UOM',\n    description:\n      'Underlying unit of measure.\\n\\nSee UnitOfMeasure(996) for complete definition.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'UnitOfMeasureCodeSet',\n    addedEP: '5',\n    updatedEP: '271',\n    added: 'FIX.4.4',\n    name: 'LegUnitOfMeasure',\n    id: 999,\n    abbrName: 'UOM',\n    description:\n      'Multileg instrument unit of measure.\\n\\nSee UnitOfMeasure(996) for complete definition.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'TimeUnitCodeSet',\n    addedEP: '5',\n    updatedEP: '287',\n    added: 'FIX.4.4',\n    name: 'UnderlyingTimeUnit',\n    id: 1000,\n    abbrName: 'TmUnit',\n    description: 'See TimeUnit(997) for complete definition.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'TimeUnitCodeSet',\n    addedEP: '5',\n    updatedEP: '287',\n    added: 'FIX.4.4',\n    name: 'LegTimeUnit',\n    id: 1001,\n    abbrName: 'TmUnit',\n    description: 'See TimeUnit(997) for complete definition.',\n  },\n  {\n    type: 'AllocMethodCodeSet',\n    addedEP: '5',\n    added: 'FIX.4.4',\n    name: 'AllocMethod',\n    id: 1002,\n    abbrName: 'Meth',\n    description: 'Specifies the method under which a trade quantity was allocated.',\n  },\n  {\n    type: 'String',\n    addedEP: '11',\n    added: 'FIX.4.4',\n    name: 'TradeID',\n    id: 1003,\n    abbrName: 'TrdID',\n    description:\n      'The unique ID assigned to the trade entity once it is received or matched by the exchange or central counterparty.',\n  },\n  {\n    type: 'String',\n    addedEP: '5',\n    added: 'FIX.4.4',\n    name: 'SideTradeReportID',\n    id: 1005,\n    abbrName: 'RptID',\n    description: 'Used on a multi-sided trade to designate the ReportID',\n  },\n  {\n    type: 'String',\n    addedEP: '5',\n    added: 'FIX.4.4',\n    name: 'SideFillStationCd',\n    id: 1006,\n    abbrName: 'FillStationCd',\n    description: 'Used on a multi-sided trade to convey order routing information',\n  },\n  {\n    type: 'String',\n    addedEP: '5',\n    added: 'FIX.4.4',\n    name: 'SideReasonCd',\n    id: 1007,\n    abbrName: 'RsnCD',\n    description: 'Used on a multi-sided trade to convey reason for execution',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'TrdSubTypeCodeSet',\n    addedEP: '5',\n    updatedEP: '271',\n    added: 'FIX.4.4',\n    name: 'SideTrdSubType',\n    id: 1008,\n    abbrName: 'TrdSubTyp',\n    description:\n      'Used on a multi-sided trade to specify the type of trade for a given side. Same values as TrdSubType (829).',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'Qty',\n    addedEP: '5',\n    updatedEP: '161',\n    added: 'FIX.4.4',\n    name: 'SideLastQty',\n    id: 1009,\n    abbrName: 'SideQty',\n    description: 'Used to indicate the quantity on one side of a multi-sided trade.',\n  },\n  {\n    type: 'String',\n    addedEP: '5',\n    added: 'FIX.4.4',\n    name: 'MessageEventSource',\n    id: 1011,\n    abbrName: 'MsgEvtSrc',\n    description:\n      'Used to identify the event or source which gave rise to a message.\\n\\nValid values will be based on an exchange\\'s implementation.\\n\\nExample values are:\\n\\n\"MQM\" (originated at Firm Back Office)\\n\\n\"Clear\" (originated in Clearing System)\\n\\n\"Reg\" (static data generated via Register request)',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'UTCTimestamp',\n    addedEP: '5',\n    updatedEP: '291',\n    added: 'FIX.4.4',\n    name: 'SideTrdRegTimestamp',\n    id: 1012,\n    abbrName: 'TS',\n    description:\n      'Same as TrdRegTimestamp(769). Used in a multi-sided message to indicate relevant trade-side timestamp.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'TrdRegTimestampTypeCodeSet',\n    addedEP: '5',\n    updatedEP: '291',\n    added: 'FIX.4.4',\n    name: 'SideTrdRegTimestampType',\n    id: 1013,\n    abbrName: 'Typ',\n    description:\n      'Same as TrdRegTimeStampType(770). Used in a multi-sided message to indicate relevant trade-side timestamp type.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'String',\n    addedEP: '5',\n    updatedEP: '291',\n    added: 'FIX.4.4',\n    name: 'SideTrdRegTimestampSrc',\n    id: 1014,\n    abbrName: 'Src',\n    description:\n      'Same as TrdRegTimestampOrigin(771). Used in a multi-sided message to indicate relevant trade-side origin or source of timestamp.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'AsOfIndicatorCodeSet',\n    addedEP: '5',\n    updatedEP: '141',\n    added: 'FIX.4.4',\n    name: 'AsOfIndicator',\n    id: 1015,\n    abbrName: 'AsOfInd',\n    description:\n      'A trade that is being submitted for a trade date prior to the current trade or clearing date, e.g. in an open outcry market an out trade being submitted for the previous trading session or trading day.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'NumInGroup',\n    addedEP: '5',\n    updatedEP: '291',\n    added: 'FIX.4.4',\n    name: 'NoSideTrdRegTS',\n    id: 1016,\n    abbrName: 'NoSideTrdRegTS',\n    description: 'Number of timestamp entries.',\n  },\n  {\n    type: 'float',\n    addedEP: '18',\n    added: 'FIX.4.4',\n    name: 'LegOptionRatio',\n    id: 1017,\n    abbrName: 'LegOptionRatio',\n    description:\n      'Expresses the risk of an option leg\\n\\nValue must be between -1 and 1.\\n\\nA Call Option will require a ratio value between 0 and 1\\n\\nA Put Option will require a ratio value between -1 and 0',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '4',\n    added: 'FIX.4.4',\n    name: 'NoInstrumentParties',\n    id: 1018,\n    abbrName: 'NoInstrmntPty',\n    description: 'Identifies the number of parties identified with an instrument',\n  },\n  {\n    type: 'String',\n    addedEP: '4',\n    added: 'FIX.4.4',\n    name: 'InstrumentPartyID',\n    id: 1019,\n    abbrName: 'ID',\n    discriminatorId: '1050',\n    description:\n      'PartyID value within an instrument party repeating group. Same values as PartyID (448)',\n  },\n  {\n    type: 'Qty',\n    addedEP: '7',\n    added: 'FIX.4.4',\n    name: 'TradeVolume',\n    id: 1020,\n    abbrName: 'TrdVol',\n    description: 'Used to report volume with a trade',\n  },\n  {\n    type: 'MDBookTypeCodeSet',\n    addedEP: '7',\n    added: 'FIX.4.4',\n    name: 'MDBookType',\n    id: 1021,\n    abbrName: 'MDBkTyp',\n    description:\n      'Describes the type of book for which the feed is intended. Used when multiple feeds are provided over the same connection',\n  },\n  {\n    type: 'String',\n    addedEP: '7',\n    added: 'FIX.4.4',\n    name: 'MDFeedType',\n    id: 1022,\n    abbrName: 'MDFeedTyp',\n    description:\n      'Describes a class of service for a given data feed, ie Regular and Market Maker, Bandwidth Intensive or Bandwidth Conservative',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'int',\n    addedEP: '7',\n    updatedEP: '271',\n    added: 'FIX.4.4',\n    name: 'MDPriceLevel',\n    id: 1023,\n    abbrName: 'MDPxLvl',\n    description:\n      'Integer to convey the level of a bid or offer at a given price level. This is in contrast to MDEntryPositionNo(290) which is used to convey the position of an order within a price level.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'MDOriginTypeCodeSet',\n    addedEP: '7',\n    updatedEP: '216',\n    added: 'FIX.4.4',\n    name: 'MDOriginType',\n    id: 1024,\n    abbrName: 'MDOrigTyp',\n    description: 'Used to describe the origin of the market data entry.',\n  },\n  {\n    type: 'Price',\n    addedEP: '7',\n    added: 'FIX.4.4',\n    name: 'FirstPx',\n    id: 1025,\n    abbrName: 'FirstPx',\n    description: 'Indicates the first trade price of the day/session',\n  },\n  {\n    type: 'float',\n    addedEP: '7',\n    added: 'FIX.4.4',\n    name: 'MDEntrySpotRate',\n    id: 1026,\n    abbrName: 'MDEntrySpotRt',\n    description: 'The spot rate for an FX entry',\n  },\n  {\n    type: 'PriceOffset',\n    addedEP: '7',\n    added: 'FIX.4.4',\n    name: 'MDEntryForwardPoints',\n    id: 1027,\n    abbrName: 'MDEntryFwdPnts',\n    description:\n      'Used for an F/X entry. The forward points to be added to or subtracted from the spot rate to get the \"all-in\" rate in MDEntryPx. Expressed in decimal form. For example, 61.99 points is expressed and sent as 0.006199',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'Boolean',\n    addedEP: '9',\n    updatedEP: '264',\n    added: 'FIX.4.4',\n    name: 'ManualOrderIndicator',\n    id: 1028,\n    abbrName: 'ManOrdInd',\n    description:\n      'Indicates if an order, quote or trade was initially received manually (as opposed to electronically) or if it was entered manually (as opposed to entered by automated trading software).',\n  },\n  {\n    updated: 'FIX.5.0SP1',\n    type: 'Boolean',\n    addedEP: '9',\n    updatedEP: '95',\n    added: 'FIX.4.4',\n    name: 'CustDirectedOrder',\n    id: 1029,\n    abbrName: 'CustDrctdOrd',\n    description:\n      'Indicates if the customer directed this order to a specific execution venue \"Y\" or not \"N\".\\n\\nA default of \"N\" customer did not direct this order should be used in the case where the information is both missing and essential.',\n  },\n  {\n    deprecatedEP: '135',\n    updated: 'FIX.5.0SP2',\n    type: 'String',\n    deprecated: 'FIX.5.0SP2',\n    addedEP: '9',\n    updatedEP: '135',\n    added: 'FIX.4.4',\n    name: 'ReceivedDeptID',\n    id: 1030,\n    abbrName: 'RcvdDptID',\n    description: 'Identifies the broker-dealer department that first took the order.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'CustOrderHandlingInstCodeSet',\n    addedEP: '9',\n    updatedEP: '135',\n    added: 'FIX.4.4',\n    name: 'CustOrderHandlingInst',\n    id: 1031,\n    abbrName: 'CustOrdHdlInst',\n    description:\n      'Codes that apply special information that the Broker / Dealer needs to report, as specified by the customer.\\n\\nNOTE: This field and its values have no bearing on the ExecInst and TimeInForce fields. These values should not be used instead of ExecInst or TimeInForce. This field and its values are intended for compliance reporting and/or billing purposes only.\\n\\nFor OrderHandlingInstSrc(1032) = 1 (FINRA OATS), valid values are (as of OATS Phase 3 as provided by FINRA. See also http://www.finra.org/Industry/Compliance/MarketTransparency/OATS/PhaseIII/index.htm for a complete list.\\n\\nFor OrderHandlingInstSrc(1032) = 2 (FIA Execution Source Code), only one enumeration value may be specified.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'OrderHandlingInstSourceCodeSet',\n    addedEP: '9',\n    updatedEP: '135',\n    added: 'FIX.4.4',\n    name: 'OrderHandlingInstSource',\n    id: 1032,\n    abbrName: 'OrdHndlInstSrc',\n    description:\n      'Identifies the class or source of the order handling instruction values. \u00A0Scope of this will apply to both CustOrderHandlingInst(1031) and DeskOrderHandlingInst(1035).\\n\\nConditionally required when CustOrderHandlingInst(1031) or DeskOrderHandlingInst(1035) is specified.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'DeskTypeCodeSet',\n    addedEP: '9',\n    updatedEP: '135',\n    added: 'FIX.4.4',\n    name: 'DeskType',\n    id: 1033,\n    abbrName: 'DskTyp',\n    discriminatorId: '1034',\n    description:\n      'Identifies the type of Trading Desk.\\n\\nConditionally required when InformationBarrierID(1727) is specified for OATS.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'DeskTypeSourceCodeSet',\n    addedEP: '9',\n    updatedEP: '135',\n    added: 'FIX.4.4',\n    name: 'DeskTypeSource',\n    id: 1034,\n    abbrName: 'DskTypSrc',\n    description:\n      'Identifies the class or source of DeskType(1033) values. Conditionally required when DeskType(1033) is specified.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'CustOrderHandlingInstCodeSet',\n    addedEP: '9',\n    updatedEP: '135',\n    added: 'FIX.4.4',\n    name: 'DeskOrderHandlingInst',\n    id: 1035,\n    abbrName: 'DskOrdHndlInst',\n    description:\n      'Codes that apply special information that the broker-dealer needs to report.',\n  },\n  {\n    type: 'ExecAckStatusCodeSet',\n    addedEP: '10',\n    added: 'FIX.4.4',\n    name: 'ExecAckStatus',\n    id: 1036,\n    abbrName: 'ExecAckStat',\n    description: 'The status of this execution acknowledgement message.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '8',\n    added: 'FIX.4.4',\n    name: 'UnderlyingDeliveryAmount',\n    id: 1037,\n    abbrName: 'UndlyDlvAmt',\n    description: 'Indicates the underlying position amount to be delivered',\n  },\n  {\n    type: 'Amt',\n    addedEP: '8',\n    added: 'FIX.4.4',\n    name: 'UnderlyingCapValue',\n    id: 1038,\n    abbrName: 'CapValu',\n    description: 'Maximum notional value for a capped financial instrument',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'SettlMethodCodeSet',\n    addedEP: '8',\n    updatedEP: '169',\n    added: 'FIX.4.4',\n    name: 'UnderlyingSettlMethod',\n    id: 1039,\n    abbrName: 'SetMeth',\n    description:\n      'Settlement method for a contract or instrument. Additional values may be used with bilateral agreement.',\n  },\n  {\n    type: 'String',\n    addedEP: '11',\n    added: 'FIX.4.4',\n    name: 'SecondaryTradeID',\n    id: 1040,\n    abbrName: 'TrdID2',\n    description:\n      'Used to carry an internal trade entity ID which may or may not be reported to the firm',\n  },\n  {\n    type: 'String',\n    addedEP: '11',\n    added: 'FIX.4.4',\n    name: 'FirmTradeID',\n    id: 1041,\n    abbrName: 'FirmTrdID',\n    description:\n      'The ID assigned to a trade by the Firm to track a trade within the Firm system. This ID can be assigned either before or after submission to the exchange or central counterpary',\n  },\n  {\n    type: 'String',\n    addedEP: '11',\n    added: 'FIX.4.4',\n    name: 'SecondaryFirmTradeID',\n    id: 1042,\n    abbrName: 'FirmTrdID2',\n    description:\n      'Used to carry an internal firm assigned ID which may or may not be reported to the exchange or central counterpary',\n  },\n  {\n    type: 'CollApplTypeCodeSet',\n    addedEP: '12',\n    added: 'FIX.4.4',\n    name: 'CollApplType',\n    id: 1043,\n    abbrName: 'ApplTyp',\n    description: 'conveys how the collateral should be/has been applied',\n  },\n  {\n    type: 'Qty',\n    addedEP: '12',\n    added: 'FIX.4.4',\n    name: 'UnderlyingAdjustedQuantity',\n    id: 1044,\n    abbrName: 'AdjQty',\n    description:\n      'Unit amount of the underlying security (shares) adjusted for pending corporate action not yet allocated.',\n  },\n  {\n    type: 'float',\n    addedEP: '12',\n    added: 'FIX.4.4',\n    name: 'UnderlyingFXRate',\n    id: 1045,\n    abbrName: 'FxRate',\n    description:\n      'Foreign exchange rate used to compute UnderlyingCurrentValue(885) (or market value) from UnderlyingCurrency(318) to Currency(15).',\n  },\n  {\n    type: 'UnderlyingFXRateCalcCodeSet',\n    addedEP: '12',\n    added: 'FIX.4.4',\n    name: 'UnderlyingFXRateCalc',\n    id: 1046,\n    abbrName: 'FxRateCalc',\n    description:\n      'Specifies whether the UnderlyingFxRate(1045) should be multiplied or divided.',\n  },\n  {\n    type: 'AllocPositionEffectCodeSet',\n    addedEP: '17',\n    added: 'FIX.4.4',\n    name: 'AllocPositionEffect',\n    id: 1047,\n    abbrName: 'AllocPosEfct',\n    description:\n      'Indicates whether the resulting position after a trade should be an opening position or closing position. Used for omnibus accounting - where accounts are held on a gross basis instead of being netted together.',\n  },\n  {\n    updated: 'FIX.5.0SP1',\n    type: 'DealingCapacityCodeSet',\n    addedEP: '7',\n    updatedEP: '95',\n    added: 'FIX.4.4',\n    name: 'DealingCapacity',\n    id: 1048,\n    abbrName: 'DealingCpcty',\n    description: 'Identifies role of dealer; Agent, Principal, RisklessPrincipal',\n  },\n  {\n    type: 'InstrmtAssignmentMethodCodeSet',\n    addedEP: '4',\n    added: 'FIX.4.4',\n    name: 'InstrmtAssignmentMethod',\n    id: 1049,\n    abbrName: 'AsgnMeth',\n    description: 'Method under which assignment was conducted',\n  },\n  {\n    type: 'PartyIDSourceCodeSet',\n    addedEP: '4',\n    added: 'FIX.4.4',\n    name: 'InstrumentPartyIDSource',\n    id: 1050,\n    abbrName: 'Src',\n    description:\n      'PartyIDSource value within an instrument partyrepeating group.\\n\\nSame values as PartyIDSource (447)',\n  },\n  {\n    type: 'PartyRoleCodeSet',\n    addedEP: '4',\n    added: 'FIX.4.4',\n    name: 'InstrumentPartyRole',\n    id: 1051,\n    abbrName: 'R',\n    description:\n      'PartyRole value within an instrument partyepeating group.\\n\\nSame values as PartyRole (452)',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '4',\n    added: 'FIX.4.4',\n    name: 'NoInstrumentPartySubIDs',\n    id: 1052,\n    abbrName: 'NoInstrmntPtySubIDs',\n    description:\n      'Number of InstrumentPartySubID (1053) and InstrumentPartySubIDType (1054) entries',\n  },\n  {\n    type: 'String',\n    addedEP: '4',\n    added: 'FIX.4.4',\n    name: 'InstrumentPartySubID',\n    id: 1053,\n    abbrName: 'ID',\n    description:\n      'PartySubID value within an instrument party repeating group.\\n\\nSame values as PartySubID (523)',\n  },\n  {\n    type: 'PartySubIDTypeCodeSet',\n    addedEP: '4',\n    added: 'FIX.4.4',\n    name: 'InstrumentPartySubIDType',\n    id: 1054,\n    abbrName: 'Typ',\n    description:\n      'Type of InstrumentPartySubID (1053) value.\\n\\nSame values as PartySubIDType (803)',\n  },\n  {\n    type: 'String',\n    addedEP: '8',\n    added: 'FIX.4.4',\n    name: 'PositionCurrency',\n    id: 1055,\n    abbrName: 'Ccy',\n    description: 'The Currency in which the position Amount is denominated',\n  },\n  {\n    type: 'Qty',\n    addedEP: '21',\n    added: 'FIX.4.4',\n    name: 'CalculatedCcyLastQty',\n    id: 1056,\n    abbrName: 'CalcCcyLastQty',\n    description:\n      'Used for the calculated quantity of the other side of the currency trade. Can be derived from LastQty and LastPx.',\n  },\n  {\n    type: 'AggressorIndicatorCodeSet',\n    addedEP: '21',\n    added: 'FIX.4.4',\n    name: 'AggressorIndicator',\n    id: 1057,\n    abbrName: 'AgrsrInd',\n    description:\n      'Used to identify whether the order initiator is an aggressor or not in the trade.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '8',\n    added: 'FIX.4.4',\n    name: 'NoUndlyInstrumentParties',\n    id: 1058,\n    abbrName: 'NoInstrmntPty',\n    description:\n      'Identifies the number of parties identified with an underlying instrument',\n  },\n  {\n    updated: 'FIX.5.0SP1',\n    type: 'String',\n    addedEP: '8',\n    updatedEP: '95',\n    added: 'FIX.4.4',\n    name: 'UnderlyingInstrumentPartyID',\n    id: 1059,\n    abbrName: 'ID',\n    discriminatorId: '1060',\n    description:\n      'PartyID value within an underlying instrument party repeating group.\\n\\nSame values as PartyID (448)',\n  },\n  {\n    updated: 'FIX.5.0SP1',\n    type: 'PartyIDSourceCodeSet',\n    addedEP: '8',\n    updatedEP: '95',\n    added: 'FIX.4.4',\n    name: 'UnderlyingInstrumentPartyIDSource',\n    id: 1060,\n    abbrName: 'Src',\n    description:\n      'PartyIDSource value within an underlying instrument partyrepeating group.\\n\\nSame values as PartyIDSource (447)',\n  },\n  {\n    updated: 'FIX.5.0SP1',\n    type: 'PartyRoleCodeSet',\n    addedEP: '8',\n    updatedEP: '95',\n    added: 'FIX.4.4',\n    name: 'UnderlyingInstrumentPartyRole',\n    id: 1061,\n    abbrName: 'R',\n    description:\n      'PartyRole value within an underlying instrument partyepeating group.\\n\\nSame values as PartyRole (452)',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '8',\n    added: 'FIX.4.4',\n    name: 'NoUndlyInstrumentPartySubIDs',\n    id: 1062,\n    abbrName: 'NoInstrmntPtySubIDs',\n    description:\n      'Number of Underlying InstrumentPartySubID (1053) and InstrumentPartySubIDType (1054) entries',\n  },\n  {\n    updated: 'FIX.5.0SP1',\n    type: 'String',\n    addedEP: '8',\n    updatedEP: '95',\n    added: 'FIX.4.4',\n    name: 'UnderlyingInstrumentPartySubID',\n    id: 1063,\n    abbrName: 'ID',\n    description:\n      'PartySubID value within an underlying instrument party repeating group.\\n\\nSame values as PartySubID (523)',\n  },\n  {\n    updated: 'FIX.5.0SP1',\n    type: 'PartySubIDTypeCodeSet',\n    addedEP: '8',\n    updatedEP: '95',\n    added: 'FIX.4.4',\n    name: 'UnderlyingInstrumentPartySubIDType',\n    id: 1064,\n    abbrName: 'Typ',\n    description:\n      'Type of underlying InstrumentPartySubID (1053) value.\\n\\nSame values as PartySubIDType (803)',\n  },\n  {\n    type: 'PriceOffset',\n    addedEP: '21',\n    added: 'FIX.4.4',\n    name: 'BidSwapPoints',\n    id: 1065,\n    abbrName: 'BidSwapPnts',\n    description:\n      'The bid FX Swap points for an FX Swap. It is the \"far bid forward points - near offer forward point\". Value can be negative. Expressed in decimal form. For example, 61.99 points is expressed and sent as 0.006199',\n  },\n  {\n    type: 'PriceOffset',\n    addedEP: '21',\n    added: 'FIX.4.4',\n    name: 'OfferSwapPoints',\n    id: 1066,\n    abbrName: 'OfrSwapPnts',\n    description:\n      'The offer FX Swap points for an FX Swap. It is the \"far offer forward points - near bid forward points\". Value can be negative. Expressed in decimal form. For example, 61.99 points is expressed and sent as 0.006199',\n  },\n  {\n    type: 'PriceOffset',\n    addedEP: '21',\n    added: 'FIX.4.4',\n    name: 'LegBidForwardPoints',\n    id: 1067,\n    abbrName: 'LegBidFwdPnts',\n    description:\n      'The bid FX forward points for the leg of an FX Swap. Value can be negative. Expressed in decimal form. For example, 61.99 points is expressed and sent as 0.006199',\n  },\n  {\n    type: 'PriceOffset',\n    addedEP: '21',\n    added: 'FIX.4.4',\n    name: 'LegOfferForwardPoints',\n    id: 1068,\n    abbrName: 'LegOfrFwdPnts',\n    description:\n      'The offer FX forward points for the leg of an FX Swap. Value can be negative. Expressed in decimal form. For example, 61.99 points is expressed and sent as 0.006199',\n  },\n  {\n    type: 'PriceOffset',\n    addedEP: '21',\n    added: 'FIX.4.4',\n    name: 'SwapPoints',\n    id: 1069,\n    abbrName: 'SwapPnts',\n    description:\n      \"For FX Swap, this is used to express the differential between the far leg's bid/offer and the near leg's bid/offer. Value can be negative. Expressed in decimal form. For example, 61.99 points is expressed and sent as 0.006199\",\n  },\n  {\n    type: 'MDQuoteTypeCodeSet',\n    addedEP: '7',\n    added: 'FIX.4.4',\n    name: 'MDQuoteType',\n    id: 1070,\n    abbrName: 'MDQteTyp',\n    description: 'Identifies market data quote type.',\n  },\n  {\n    type: 'PriceOffset',\n    addedEP: '21',\n    added: 'FIX.4.4',\n    name: 'LastSwapPoints',\n    id: 1071,\n    abbrName: 'LastSwapPnts',\n    description:\n      \"For FX Swap, this is used to express the last market event for the differential between the far leg's bid/offer and the near leg's bid/offer in a fill or partial fill. Value can be negative. Expressed in decimal form. For example, 61.99 points is expressed and sent as 0.006199\",\n  },\n  {\n    type: 'Amt',\n    addedEP: '25',\n    added: 'FIX.4.4',\n    name: 'SideGrossTradeAmt',\n    id: 1072,\n    abbrName: 'SideGrossTradeAmt',\n    description:\n      'The gross trade amount for this side of the trade. See also GrossTradeAmt (381) for additional definition.',\n  },\n  {\n    type: 'PriceOffset',\n    addedEP: '21',\n    added: 'FIX.4.4',\n    name: 'LegLastForwardPoints',\n    id: 1073,\n    abbrName: 'LegLastFwdPnts',\n    description:\n      \"The forward points for this leg's fill event. Value can be negative. Expressed in decimal form. For example, 61.99 points is expressed and sent as 0.006199\",\n  },\n  {\n    type: 'Qty',\n    addedEP: '21',\n    added: 'FIX.4.4',\n    name: 'LegCalculatedCcyLastQty',\n    id: 1074,\n    abbrName: 'LegCalcCcyLastQty',\n    description:\n      'Used for the calculated quantity of the other side of the currency for this leg. Can be derived from LegQty and LegLastPx.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '21',\n    added: 'FIX.4.4',\n    name: 'LegGrossTradeAmt',\n    id: 1075,\n    abbrName: 'LegGrossTrdAmt',\n    description:\n      'The gross trade amount of the leg. For FX Futures this is used to express the notional value of a fill when LegLastQty and other quantity fields are express in terms of contract size.',\n  },\n  {\n    type: 'TZTimeOnly',\n    addedEP: '21',\n    added: 'FIX.4.4',\n    name: 'MaturityTime',\n    id: 1079,\n    abbrName: 'MatTm',\n    description:\n      \"Time of security's maturity expressed in local time with offset to UTC specified\",\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'String',\n    addedEP: '22',\n    updatedEP: '171',\n    added: 'FIX.4.4',\n    name: 'RefOrderID',\n    id: 1080,\n    abbrName: 'RefOrdID',\n    discriminatorId: '1081',\n    description:\n      'The ID reference to the order being hit or taken.\\n\\nFor pre-trade credit/risk limit check process, this is the reference to the placed order, quote request or quote for the credit/risk limit check.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'RefOrderIDSourceCodeSet',\n    addedEP: '22',\n    updatedEP: '253',\n    added: 'FIX.4.4',\n    name: 'RefOrderIDSource',\n    id: 1081,\n    abbrName: 'RefOrdIDSrc',\n    description:\n      'Used to specify the source for the identifier in RefOrderID(1080). This can be an identifier provided in order depth market data when hitting (taking) a specific order or to identify what type of order or quote reference is being provided when seeking credit limit check. In the context of US CAT this can be used to identify related orders and quotes which are parent, previous, or manual orders or quotes. Previous relates to orders changing their unique system assigned order identifier.',\n  },\n  {\n    type: 'Qty',\n    addedEP: '22',\n    added: 'FIX.4.4',\n    name: 'SecondaryDisplayQty',\n    id: 1082,\n    abbrName: 'SecDspQty',\n    description:\n      'Used for reserve orders when DisplayQty applies to the primary execution market (e.g.an ECN) and another quantity is to be shown at other markets (e.g. the exchange). On orders specifies the qty to be displayed, on execution reports the currently displayed quantity.',\n  },\n  {\n    type: 'DisplayWhenCodeSet',\n    addedEP: '22',\n    added: 'FIX.4.4',\n    name: 'DisplayWhen',\n    id: 1083,\n    abbrName: 'DspWhn',\n    description: 'Instructs when to refresh DisplayQty (1138).',\n  },\n  {\n    type: 'DisplayMethodCodeSet',\n    addedEP: '22',\n    added: 'FIX.4.4',\n    name: 'DisplayMethod',\n    id: 1084,\n    abbrName: 'DspMthd',\n    description:\n      'Defines what value to use in DisplayQty (1138). If not specified the default DisplayMethod is \"1\"',\n  },\n  {\n    type: 'Qty',\n    addedEP: '22',\n    added: 'FIX.4.4',\n    name: 'DisplayLowQty',\n    id: 1085,\n    abbrName: 'DsplLwQty',\n    description:\n      'Defines the lower quantity limit to a randomized refresh of DisplayQty.',\n  },\n  {\n    type: 'Qty',\n    addedEP: '22',\n    added: 'FIX.4.4',\n    name: 'DisplayHighQty',\n    id: 1086,\n    abbrName: 'DisplayHighQty',\n    description:\n      'Defines the upper quantity limit to a randomized refresh of DisplayQty.',\n  },\n  {\n    type: 'Qty',\n    addedEP: '22',\n    added: 'FIX.4.4',\n    name: 'DisplayMinIncr',\n    id: 1087,\n    abbrName: 'DspMinIncr',\n    description:\n      'Defines the minimum increment to be used when calculating a random refresh of DisplayQty. A user specifies this when he wants a larger increment than the standard provided by the market (e.g. the round lot size).',\n  },\n  {\n    type: 'Qty',\n    addedEP: '22',\n    added: 'FIX.4.4',\n    name: 'RefreshQty',\n    id: 1088,\n    abbrName: 'RfrshQty',\n    description: 'Defines the quantity used to refresh DisplayQty.',\n  },\n  {\n    type: 'Qty',\n    addedEP: '22',\n    added: 'FIX.4.4',\n    name: 'MatchIncrement',\n    id: 1089,\n    abbrName: 'MtchInc',\n    description:\n      'Allows orders to specify a minimum quantity that applies to every execution (one execution could be for multiple counter-orders). The order may still fill against smaller orders, but the cumulative quantity of the execution must be in multiples of the MatchIncrement.',\n  },\n  {\n    type: 'int',\n    addedEP: '22',\n    added: 'FIX.4.4',\n    name: 'MaxPriceLevels',\n    id: 1090,\n    abbrName: 'MxPxLvls',\n    description:\n      'Allows an order to specify a maximum number of price levels to trade through. Only valid for aggressive orders and during continuous (autoexecution) trading sessions. Property lost when order is put on book. A partially filled order is assigned last trade price as limit price. Non-filled order behaves as ordinary Market or Limit.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '22',\n    added: 'FIX.4.4',\n    name: 'PreTradeAnonymity',\n    id: 1091,\n    abbrName: 'PrTrdAnon',\n    description:\n      'Allows trader to explicitly request anonymity or disclosure in pre-trade market data feeds. Anonymity is relevant in markets where counterparties are regularly disclosed in order depth feeds. Disclosure is relevant when counterparties are not normally visible.',\n  },\n  {\n    type: 'PriceProtectionScopeCodeSet',\n    addedEP: '22',\n    added: 'FIX.4.4',\n    name: 'PriceProtectionScope',\n    id: 1092,\n    abbrName: 'PxPrtScp',\n    description:\n      'Defines the type of price protection the customer requires on their order.',\n  },\n  {\n    type: 'LotTypeCodeSet',\n    addedEP: '22',\n    added: 'FIX.4.4',\n    name: 'LotType',\n    id: 1093,\n    abbrName: 'LotTyp',\n    description: 'Defines the lot type assigned to the order.',\n  },\n  {\n    type: 'PegPriceTypeCodeSet',\n    addedEP: '22',\n    added: 'FIX.4.4',\n    name: 'PegPriceType',\n    id: 1094,\n    abbrName: 'PegPxTyp',\n    description: 'Defines the type of peg.',\n  },\n  {\n    type: 'Price',\n    addedEP: '22',\n    added: 'FIX.4.4',\n    name: 'PeggedRefPrice',\n    id: 1095,\n    abbrName: 'PggdRefPx',\n    description:\n      'The value of the reference price that the order is pegged to. PeggedRefPrice + PegOffsetValue (211) = PeggedPrice (839) unless the limit price (44, Price) is breached. The values may not be exact due to rounding.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'SecurityIDSourceCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '22',\n    updatedEP: '265',\n    added: 'FIX.4.4',\n    name: 'PegSecurityIDSource',\n    id: 1096,\n    abbrName: 'PegSecurityIDSource',\n    description:\n      'Defines the identity of the security off whose prices the order will peg. Same values as SecurityIDSource (22)',\n  },\n  {\n    type: 'String',\n    addedEP: '22',\n    added: 'FIX.4.4',\n    name: 'PegSecurityID',\n    id: 1097,\n    abbrName: 'PegSecID',\n    discriminatorId: '1096',\n    description:\n      'Defines the identity of the security off whose prices the order will peg.',\n  },\n  {\n    type: 'String',\n    addedEP: '22',\n    added: 'FIX.4.4',\n    name: 'PegSymbol',\n    id: 1098,\n    abbrName: 'PgSymbl',\n    description:\n      \"Defines the common, 'human understood' representation of the security off whose prices the order will Peg.\",\n  },\n  {\n    type: 'String',\n    addedEP: '22',\n    added: 'FIX.4.4',\n    name: 'PegSecurityDesc',\n    id: 1099,\n    abbrName: 'PegSecDesc',\n    description:\n      'Security description of the security off whose prices the order will Peg.',\n  },\n  {\n    type: 'TriggerTypeCodeSet',\n    addedEP: '-1',\n    added: 'FIX.5.0',\n    name: 'TriggerType',\n    id: 1100,\n    abbrName: 'TrgrTyp',\n    description:\n      'Defines when the trigger will hit, i.e. the action specified by the trigger instructions will come into effect.',\n  },\n  {\n    type: 'TriggerActionCodeSet',\n    addedEP: '-1',\n    added: 'FIX.5.0',\n    name: 'TriggerAction',\n    id: 1101,\n    abbrName: 'TrgrActn',\n    description: 'Defines the type of action to take when the trigger hits.',\n  },\n  {\n    type: 'Price',\n    addedEP: '-1',\n    added: 'FIX.5.0',\n    name: 'TriggerPrice',\n    id: 1102,\n    abbrName: 'TrgrPx',\n    description: 'The price at which the trigger should hit.',\n  },\n  {\n    type: 'String',\n    addedEP: '-1',\n    added: 'FIX.5.0',\n    name: 'TriggerSymbol',\n    id: 1103,\n    abbrName: 'TrgrSym',\n    description:\n      \"Defines the common, 'human understood' representation of the security whose prices will be tracked by the trigger logic.\",\n  },\n  {\n    type: 'String',\n    addedEP: '-1',\n    added: 'FIX.5.0',\n    name: 'TriggerSecurityID',\n    id: 1104,\n    abbrName: 'TrgrSecID',\n    discriminatorId: '1105',\n    description:\n      'Defines the identity of the security whose prices will be tracked by the trigger logic.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'SecurityIDSourceCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '-1',\n    updatedEP: '265',\n    added: 'FIX.5.0',\n    name: 'TriggerSecurityIDSource',\n    id: 1105,\n    abbrName: 'TrgrSecIDSrc',\n    description:\n      'Defines the identity of the security whose prices will be tracked by the trigger logic. Same values as SecurityIDSource (22).',\n  },\n  {\n    type: 'String',\n    addedEP: '-1',\n    added: 'FIX.5.0',\n    name: 'TriggerSecurityDesc',\n    id: 1106,\n    abbrName: 'TrgrSecDesc',\n    description:\n      'Defines the security description of the security whose prices will be tracked by the trigger logic.',\n  },\n  {\n    type: 'TriggerPriceTypeCodeSet',\n    addedEP: '-1',\n    added: 'FIX.5.0',\n    name: 'TriggerPriceType',\n    id: 1107,\n    abbrName: 'TrgrPxTyp',\n    description: 'The type of price that the trigger is compared to.',\n  },\n  {\n    type: 'TriggerPriceTypeScopeCodeSet',\n    addedEP: '-1',\n    added: 'FIX.5.0',\n    name: 'TriggerPriceTypeScope',\n    id: 1108,\n    abbrName: 'TrgrPxTypScp',\n    description:\n      'Defines the type of price protection the customer requires on their order.',\n  },\n  {\n    type: 'TriggerPriceDirectionCodeSet',\n    addedEP: '-1',\n    added: 'FIX.5.0',\n    name: 'TriggerPriceDirection',\n    id: 1109,\n    abbrName: 'TrgrPxDir',\n    description: 'The side from which the trigger price is reached.',\n  },\n  {\n    type: 'Price',\n    addedEP: '-1',\n    added: 'FIX.5.0',\n    name: 'TriggerNewPrice',\n    id: 1110,\n    abbrName: 'TrgrNewPx',\n    description:\n      'The Price that the order should have after the trigger has hit. Could be applicable for any trigger type, but must be specified for Trigger Type 1.',\n  },\n  {\n    type: 'TriggerOrderTypeCodeSet',\n    addedEP: '-1',\n    added: 'FIX.5.0',\n    name: 'TriggerOrderType',\n    id: 1111,\n    abbrName: 'TrgrOrdTyp',\n    description:\n      'The OrdType the order should have after the trigger has hit. Required to express orders that change from Limit to Market. Other values from OrdType (40) may be used if appropriate and bilaterally agreed upon.',\n  },\n  {\n    type: 'Qty',\n    addedEP: '-1',\n    added: 'FIX.5.0',\n    name: 'TriggerNewQty',\n    id: 1112,\n    abbrName: 'TrgrNewQty',\n    description: 'The Quantity the order should have after the trigger has hit.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'TradingSessionIDCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '-1',\n    updatedEP: '282',\n    added: 'FIX.5.0',\n    name: 'TriggerTradingSessionID',\n    id: 1113,\n    abbrName: 'TrgrTrdSessID',\n    description: 'Defines the trading session at which the order will be activated.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'TradingSessionSubIDCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '-1',\n    updatedEP: '282',\n    added: 'FIX.5.0',\n    name: 'TriggerTradingSessionSubID',\n    id: 1114,\n    abbrName: 'TrgrTrdSessSubID',\n    description:\n      'Defines the subordinate trading session at which the order will be activated.',\n  },\n  {\n    type: 'OrderCategoryCodeSet',\n    addedEP: '22',\n    added: 'FIX.4.4',\n    name: 'OrderCategory',\n    id: 1115,\n    abbrName: 'OrdCat',\n    description: 'Defines the type of interest behind a trade (fill or partial fill).',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '22',\n    added: 'FIX.4.4',\n    name: 'NoRootPartyIDs',\n    id: 1116,\n    abbrName: 'NoRootPartyIDs',\n    description:\n      'Number of RootPartyID (1117), RootPartyIDSource (1118), and RootPartyRole (1119) entries',\n  },\n  {\n    type: 'String',\n    addedEP: '22',\n    added: 'FIX.4.4',\n    name: 'RootPartyID',\n    id: 1117,\n    abbrName: 'ID',\n    discriminatorId: '1118',\n    description:\n      'PartyID value within a root parties component. Same values as PartyID (448)',\n  },\n  {\n    type: 'PartyIDSourceCodeSet',\n    addedEP: '22',\n    added: 'FIX.4.4',\n    name: 'RootPartyIDSource',\n    id: 1118,\n    abbrName: 'Src',\n    description:\n      'PartyIDSource value within a root parties component. Same values as PartyIDSource (447)',\n  },\n  {\n    type: 'PartyRoleCodeSet',\n    addedEP: '22',\n    added: 'FIX.4.4',\n    name: 'RootPartyRole',\n    id: 1119,\n    abbrName: 'R',\n    description:\n      'PartyRole value within a root parties component. Same values as PartyRole (452)',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '22',\n    added: 'FIX.4.4',\n    name: 'NoRootPartySubIDs',\n    id: 1120,\n    abbrName: 'NoRootPartySubIDs',\n    description: 'Number of RootPartySubID (1121) and RootPartySubIDType (1122) entries',\n  },\n  {\n    type: 'String',\n    addedEP: '22',\n    added: 'FIX.4.4',\n    name: 'RootPartySubID',\n    id: 1121,\n    abbrName: 'ID',\n    description:\n      'PartySubID value within a root parties component. Same values as PartySubID (523)',\n  },\n  {\n    type: 'PartySubIDTypeCodeSet',\n    addedEP: '22',\n    added: 'FIX.4.4',\n    name: 'RootPartySubIDType',\n    id: 1122,\n    abbrName: 'Typ',\n    description:\n      'Type of RootPartySubID (1121) value. Same values as PartySubIDType (803)',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'TradeHandlingInstrCodeSet',\n    addedEP: '23',\n    updatedEP: '136',\n    added: 'FIX.4.4',\n    name: 'TradeHandlingInstr',\n    id: 1123,\n    abbrName: 'TrdHandlInst',\n    description:\n      'Specified how the TradeCaptureReport(35=AE) should be handled by the respondent.',\n  },\n  {\n    type: 'TradeHandlingInstrCodeSet',\n    addedEP: '23',\n    added: 'FIX.4.4',\n    name: 'OrigTradeHandlingInstr',\n    id: 1124,\n    abbrName: 'OrigTrdHandlInst',\n    description:\n      'Optionally used with TradeHandlingInstr = 0 to relay the trade handling instruction used when reporting the trade to the marketplace. Same values as TradeHandlingInstr (1123)',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '23',\n    added: 'FIX.4.4',\n    name: 'OrigTradeDate',\n    id: 1125,\n    abbrName: 'OrigTrdDt',\n    description:\n      'Used to preserve original trade date when original trade is being referenced in a subsequent trade transaction such as a transfer',\n  },\n  {\n    type: 'String',\n    addedEP: '23',\n    added: 'FIX.4.4',\n    name: 'OrigTradeID',\n    id: 1126,\n    abbrName: 'OrigTrdID',\n    description:\n      'Used to preserve original trade id when original trade is being referenced in a subsequent trade transaction such as a transfer',\n  },\n  {\n    type: 'String',\n    addedEP: '23',\n    added: 'FIX.4.4',\n    name: 'OrigSecondaryTradeID',\n    id: 1127,\n    abbrName: 'OrignTrdID2',\n    description:\n      'Used to preserve original secondary trade id when original trade is being referenced in a subsequent trade transaction such as a transfer',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'ApplVerIDCodeSet',\n    addedEP: '16',\n    updatedEP: '270',\n    added: 'FIX.4.4',\n    name: 'ApplVerID',\n    id: 1128,\n    abbrName: 'ApplVerID',\n    description:\n      'Specifies the application layer version being applied at the message level.',\n  },\n  {\n    type: 'String',\n    addedEP: '16',\n    added: 'FIX.4.4',\n    name: 'CstmApplVerID',\n    id: 1129,\n    abbrName: 'CstmApplVerID',\n    description:\n      'Specifies a custom extension to a message being applied at the message level. Enumerated field',\n  },\n  {\n    type: 'ApplVerIDCodeSet',\n    addedEP: '16',\n    added: 'FIX.4.4',\n    name: 'RefApplVerID',\n    id: 1130,\n    abbrName: 'RefApplVerID',\n    description:\n      'Specifies the service pack release being applied to a message at the session level. Enumerated field with values assigned at time of service pack release. Uses same values as ApplVerID',\n  },\n  {\n    type: 'String',\n    addedEP: '16',\n    added: 'FIX.4.4',\n    name: 'RefCstmApplVerID',\n    id: 1131,\n    abbrName: 'RefCstmApplVerID',\n    description:\n      'Specifies a custom extension to a message being applied at the session level.',\n  },\n  {\n    type: 'TZTimestamp',\n    addedEP: '26',\n    added: 'FIX.4.4',\n    name: 'TZTransactTime',\n    id: 1132,\n    abbrName: 'TZTransactTime',\n    description:\n      'Transact time in the local date-time stamp with a TZ offset to UTC identified',\n  },\n  {\n    type: 'ExDestinationIDSourceCodeSet',\n    addedEP: '26',\n    added: 'FIX.4.4',\n    name: 'ExDestinationIDSource',\n    id: 1133,\n    abbrName: 'ExDestIDSrc',\n    description: 'The ID source of ExDestination',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '26',\n    added: 'FIX.4.4',\n    name: 'ReportedPxDiff',\n    id: 1134,\n    abbrName: 'ReportedPxDiff',\n    description:\n      'Indicates that the reported price that is different from the market price. The price difference should be stated by using field 828 TrdType and, if required, field 829 TrdSubType',\n  },\n  {\n    type: 'String',\n    addedEP: '26',\n    added: 'FIX.4.4',\n    name: 'RptSys',\n    id: 1135,\n    abbrName: 'RptSys',\n    description: 'Indicates the system or medium on which the report has been published',\n  },\n  {\n    type: 'String',\n    addedEP: '25',\n    added: 'FIX.4.4',\n    name: 'AllocClearingFeeIndicator',\n    id: 1136,\n    abbrName: 'ClrFeeInd',\n    description:\n      'ClearingFeeIndicator(635) for Allocation, see ClearingFeeIndicator(635) for permitted values.',\n  },\n  {\n    type: 'ApplVerIDCodeSet',\n    addedEP: '16',\n    added: 'FIX.4.4',\n    name: 'DefaultApplVerID',\n    id: 1137,\n    abbrName: 'DefApplVerID',\n    description:\n      'Specifies the service pack release being applied, by default, to message at the session level. Enumerated field with values assigned at time of service pack release. Uses same values as ApplVerID',\n  },\n  {\n    type: 'Qty',\n    addedEP: '22',\n    added: 'FIX.4.4',\n    name: 'DisplayQty',\n    id: 1138,\n    abbrName: 'DisplayQty',\n    description:\n      'The quantity to be displayed . Required for reserve orders. On orders specifies the qty to be displayed, on execution reports the currently displayed quantity.',\n  },\n  {\n    updated: 'FIX.5.0SP1',\n    type: 'String',\n    addedEP: '29',\n    updatedEP: '95',\n    added: 'FIX.4.4',\n    name: 'ExchangeSpecialInstructions',\n    id: 1139,\n    abbrName: 'ExchSpeclInstr',\n    description: 'Free format text string related to exchange.',\n  },\n  {\n    type: 'TZTimeOnly',\n    addedEP: '41',\n    added: 'FIX.5.0',\n    name: 'UnderlyingMaturityTime',\n    id: 1213,\n    abbrName: 'MatTm',\n    description:\n      \"Time of security's maturity expressed in local time with offset to UTC specified\",\n  },\n  {\n    type: 'TZTimeOnly',\n    addedEP: '41',\n    added: 'FIX.5.0',\n    name: 'LegMaturityTime',\n    id: 1212,\n    abbrName: 'MatTm',\n    description:\n      \"Time of security's maturity expressed in local time with offset to UTC specified\",\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'Qty',\n    addedEP: '42',\n    updatedEP: '130',\n    added: 'FIX.5.0',\n    name: 'MaxTradeVol',\n    id: 1140,\n    abbrName: 'MaxTrdVol',\n    description:\n      'The maximum order quantity (as expressed by TradeVolType(1786)) that can be submitted for a security.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '42',\n    added: 'FIX.5.0',\n    name: 'NoMDFeedTypes',\n    id: 1141,\n    abbrName: 'NoMDFeedTypes',\n    description:\n      'The number of feed types and corresponding book depths associated with a security',\n  },\n  {\n    type: 'String',\n    addedEP: '42',\n    added: 'FIX.5.0',\n    name: 'MatchAlgorithm',\n    id: 1142,\n    abbrName: 'MtchAlgo',\n    description:\n      'The types of algorithm used to match orders in a specific security. Possilbe value types are FIFO, Allocation, Pro-rata, Lead Market Maker, Currency Calender.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'float',\n    addedEP: '42',\n    updatedEP: '195',\n    added: 'FIX.5.0',\n    name: 'MaxPriceVariation',\n    id: 1143,\n    abbrName: 'MxPxVar',\n    description:\n      'The maximum price variation of an execution from one event to the next for a given security. Expressed in absolute price terms.',\n  },\n  {\n    type: 'ImpliedMarketIndicatorCodeSet',\n    addedEP: '42',\n    added: 'FIX.5.0',\n    name: 'ImpliedMarketIndicator',\n    id: 1144,\n    abbrName: 'ImpldMktInd',\n    description:\n      'Indicates that an implied market should be created for either the legs of a multi-leg instrument (Implied-in) or for the multi-leg instrument based on the existence of the legs (Implied-out). Determination as to whether implied markets should be created is generally done at the level of the multi-leg instrument. Commonly used in listed derivatives.',\n  },\n  {\n    type: 'UTCTimestamp',\n    addedEP: '42',\n    added: 'FIX.5.0',\n    name: 'EventTime',\n    id: 1145,\n    abbrName: 'Tm',\n    description: 'Specific time of event. To be used in combination with EventDate [866]',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'Amt',\n    addedEP: '42',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'MinPriceIncrementAmount',\n    id: 1146,\n    abbrName: 'MinPxIncrAmt',\n    description:\n      'Minimum price increment amount associated with MinPriceIncrement(969). For listed derivatives, the value can be calculated by multiplying MinPriceIncrement(969) with ContractMultiplier(231).',\n  },\n  {\n    type: 'Qty',\n    addedEP: '42',\n    added: 'FIX.5.0',\n    name: 'UnitOfMeasureQty',\n    id: 1147,\n    abbrName: 'UOMQty',\n    description:\n      'Used to indicate the quantity of the underlying commodity unit of measure on which the contract is based, such as, 2500 lbs of lean cattle, 1000 barrels of crude oil, 1000 bushels of corn, etc. UnitOfMeasureQty is required for UnitOfMeasure(996) Variable Quantity UOMs enumerations. Refer to the definition of UnitOfMeasure(996) for more information on the use of UnitOfMeasureQty.',\n  },\n  {\n    type: 'Price',\n    addedEP: '42',\n    added: 'FIX.5.0',\n    name: 'LowLimitPrice',\n    id: 1148,\n    abbrName: 'LowLmtPx',\n    description:\n      'Allowable low limit price for the trading day. A key parameter in validating order price. Used as the lower band for validating order prices. Orders submitted with prices below the lower limit will be rejected',\n  },\n  {\n    updated: 'FIX.5.0SP1',\n    type: 'Price',\n    addedEP: '42',\n    updatedEP: '76',\n    added: 'FIX.5.0',\n    name: 'HighLimitPrice',\n    id: 1149,\n    abbrName: 'HiLmtPx',\n    description:\n      'Allowable high limit price for the trading day. A key parameter in validating order price. Used as the upper band for validating order prices. Orders submitted with prices above the upper limit will be rejected',\n  },\n  {\n    type: 'Price',\n    addedEP: '42',\n    added: 'FIX.5.0',\n    name: 'TradingReferencePrice',\n    id: 1150,\n    abbrName: 'TrdgRefPx',\n    description:\n      'Reference price for the current trading price range usually representing the mid price between the HighLimitPrice and LowLimitPrice. The value may be the settlement price or closing price of the prior trading day.',\n  },\n  {\n    type: 'String',\n    addedEP: '42',\n    added: 'FIX.5.0',\n    name: 'SecurityGroup',\n    id: 1151,\n    abbrName: 'SecGrp',\n    description:\n      'An exchange specific name assigned to a group of related securities which may be concurrently affected by market events and actions.',\n  },\n  {\n    type: 'int',\n    addedEP: '44',\n    added: 'FIX.5.0',\n    name: 'LegNumber',\n    id: 1152,\n    abbrName: 'LegNo',\n    description: 'Allow sequencing of Legs for a Strategy to be captured',\n  },\n  {\n    type: 'int',\n    addedEP: '44',\n    added: 'FIX.5.0',\n    name: 'SettlementCycleNo',\n    id: 1153,\n    abbrName: 'CycleNo',\n    description: 'Settlement cycle in which the settlement obligation was generated',\n  },\n  {\n    type: 'Currency',\n    addedEP: '44',\n    added: 'FIX.5.0',\n    name: 'SideCurrency',\n    id: 1154,\n    abbrName: 'Ccy',\n    description: 'Used to identify the trading currency on the Trade Capture Report Side',\n  },\n  {\n    type: 'Currency',\n    addedEP: '44',\n    added: 'FIX.5.0',\n    name: 'SideSettlCurrency',\n    id: 1155,\n    abbrName: 'SettlCcy',\n    description:\n      'Used to identify the settlement currency on the Trade Capture Report Side',\n  },\n  {\n    type: 'Amt',\n    addedEP: '44',\n    added: 'FIX.5.0',\n    name: 'CcyAmt',\n    id: 1157,\n    abbrName: 'CcyAmt',\n    description: 'Net flow of Currency 1',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '44',\n    added: 'FIX.5.0',\n    name: 'NoSettlDetails',\n    id: 1158,\n    abbrName: 'NoSettlDetails',\n    description: 'Used to group Each Settlement Party',\n  },\n  {\n    type: 'SettlObligModeCodeSet',\n    addedEP: '44',\n    added: 'FIX.5.0',\n    name: 'SettlObligMode',\n    id: 1159,\n    abbrName: 'SettlMode',\n    description:\n      'Used to identify the reporting mode of the settlement obligation which is either preliminary or final',\n  },\n  {\n    type: 'String',\n    addedEP: '44',\n    added: 'FIX.5.0',\n    name: 'SettlObligMsgID',\n    id: 1160,\n    abbrName: 'SettlMsgID',\n    description: 'Message identifier for Settlement Obligation Report',\n  },\n  {\n    type: 'String',\n    addedEP: '44',\n    added: 'FIX.5.0',\n    name: 'SettlObligID',\n    id: 1161,\n    abbrName: 'SettlID',\n    description: 'Unique ID for this settlement instruction.',\n  },\n  {\n    type: 'SettlObligTransTypeCodeSet',\n    addedEP: '44',\n    added: 'FIX.5.0',\n    name: 'SettlObligTransType',\n    id: 1162,\n    abbrName: 'SettlTransTyp',\n    description:\n      'Transaction Type - required except where SettlInstMode is 5=Reject SSI request',\n  },\n  {\n    type: 'String',\n    addedEP: '44',\n    added: 'FIX.5.0',\n    name: 'SettlObligRefID',\n    id: 1163,\n    abbrName: 'SettlRefID',\n    description: 'Required where SettlInstTransType is Cancel or Replace',\n  },\n  {\n    type: 'SettlObligSourceCodeSet',\n    addedEP: '44',\n    added: 'FIX.5.0',\n    name: 'SettlObligSource',\n    id: 1164,\n    abbrName: 'SettlSrc',\n    description:\n      'Used to identify whether these delivery instructions are for the buyside or the sellside.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '44',\n    added: 'FIX.5.0',\n    name: 'NoSettlOblig',\n    id: 1165,\n    abbrName: 'NoSettlOblig',\n    description: 'Number of settlement obligations',\n  },\n  {\n    type: 'String',\n    addedEP: '45',\n    added: 'FIX.5.0',\n    name: 'QuoteMsgID',\n    id: 1166,\n    abbrName: 'QtMsgID',\n    description: 'Unique identifier for a quote message.',\n  },\n  {\n    updated: 'FIX.5.0SP1',\n    type: 'QuoteEntryStatusCodeSet',\n    addedEP: '45',\n    updatedEP: '95',\n    added: 'FIX.5.0',\n    name: 'QuoteEntryStatus',\n    id: 1167,\n    abbrName: 'QtEntSts',\n    description:\n      'Identifies the status of an individual quote. See also QuoteStatus(297) which is used for single Quotes.',\n  },\n  {\n    type: 'int',\n    addedEP: '45',\n    added: 'FIX.5.0',\n    name: 'TotNoCxldQuotes',\n    id: 1168,\n    abbrName: 'TotNoCxldQts',\n    description: 'Specifies the number of canceled quotes',\n  },\n  {\n    type: 'int',\n    addedEP: '45',\n    added: 'FIX.5.0',\n    name: 'TotNoAccQuotes',\n    id: 1169,\n    abbrName: 'TotNoAccQts',\n    description: 'Specifies the number of accepted quotes',\n  },\n  {\n    type: 'int',\n    addedEP: '45',\n    added: 'FIX.5.0',\n    name: 'TotNoRejQuotes',\n    id: 1170,\n    abbrName: 'TotNoRejQts',\n    description: 'Specifies the number of rejected quotes',\n  },\n  {\n    type: 'PrivateQuoteCodeSet',\n    addedEP: '46',\n    added: 'FIX.5.0',\n    name: 'PrivateQuote',\n    id: 1171,\n    abbrName: 'PrvtQt',\n    description:\n      'Specifies whether a quote is public, i.e. available to the market, or private, i.e. available to a specified counterparty only.',\n  },\n  {\n    type: 'RespondentTypeCodeSet',\n    addedEP: '46',\n    added: 'FIX.5.0',\n    name: 'RespondentType',\n    id: 1172,\n    abbrName: 'RspdntTyp',\n    description: 'Specifies the type of respondents requested.',\n  },\n  {\n    type: 'int',\n    addedEP: '47',\n    added: 'FIX.5.0',\n    name: 'MDSubBookType',\n    id: 1173,\n    abbrName: 'MDSubBkTyp',\n    description:\n      'Describes a class of sub book, e.g. for the separation of various lot types. The Sub Book Type indicates that the following Market Data Entries belong to a non-integrated Sub Book. Whenever provided the Sub Book must be used together with MDPriceLevel and MDEntryPositionNo in order to sort the order properly.\\n\\nValues are bilaterally agreed.',\n  },\n  {\n    type: 'SecurityTradingEventCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '47',\n    added: 'FIX.5.0',\n    name: 'SecurityTradingEvent',\n    id: 1174,\n    abbrName: 'SecTrdEvnt',\n    description:\n      'Identifies an event related to a SecurityTradingStatus(326). An event occurs and is gone, it is not a state that applies for a period of time.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '47',\n    added: 'FIX.5.0',\n    name: 'NoStatsIndicators',\n    id: 1175,\n    abbrName: 'NoStatsInds',\n    description: 'Number of statistics indicator repeating group entries',\n  },\n  {\n    type: 'StatsTypeCodeSet',\n    addedEP: '47',\n    added: 'FIX.5.0',\n    name: 'StatsType',\n    id: 1176,\n    abbrName: 'StatsTyp',\n    description: 'Type of statistics',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '47',\n    added: 'FIX.5.0',\n    name: 'NoOfSecSizes',\n    id: 1177,\n    abbrName: 'NoSecSzs',\n    description: 'The number of secondary sizes specifies in this entry',\n  },\n  {\n    type: 'MDSecSizeTypeCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '47',\n    added: 'FIX.5.0',\n    name: 'MDSecSizeType',\n    id: 1178,\n    abbrName: 'MDSecSizeType',\n    description: 'Specifies the type of secondary size.',\n  },\n  {\n    type: 'Qty',\n    addedEP: '47',\n    added: 'FIX.5.0',\n    name: 'MDSecSize',\n    id: 1179,\n    abbrName: 'MDSecSize',\n    description:\n      'A part of the MDEntrySize(271) that represents secondary interest as specified by MDSecSizeType(1178).',\n  },\n  {\n    type: 'String',\n    addedEP: '48',\n    added: 'FIX.5.0',\n    name: 'ApplID',\n    id: 1180,\n    abbrName: 'ApplID',\n    description:\n      'Identifies the application with which a message is associated. Used only if application sequencing is in effect.',\n  },\n  {\n    type: 'SeqNum',\n    addedEP: '48',\n    added: 'FIX.5.0',\n    name: 'ApplSeqNum',\n    id: 1181,\n    abbrName: 'ApplSeqNum',\n    description: 'Data sequence number to be used when FIX session is not in effect',\n  },\n  {\n    type: 'SeqNum',\n    addedEP: '48',\n    added: 'FIX.5.0',\n    name: 'ApplBegSeqNum',\n    id: 1182,\n    abbrName: 'ApplBegSeqNum',\n    description: 'Beginning range of application sequence numbers',\n  },\n  {\n    type: 'SeqNum',\n    addedEP: '48',\n    added: 'FIX.5.0',\n    name: 'ApplEndSeqNum',\n    id: 1183,\n    abbrName: 'ApplEndSeq',\n    description: 'Ending range of application sequence numbers',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'Length',\n    addedEP: '49',\n    updatedEP: '145',\n    added: 'FIX.5.0',\n    name: 'SecurityXMLLen',\n    id: 1184,\n    abbrName: 'SecXMLLen',\n    description: 'The length of the SecurityXML(1185) data block.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'XMLData',\n    addedEP: '49',\n    updatedEP: '275',\n    added: 'FIX.5.0',\n    name: 'SecurityXML',\n    id: 1185,\n    abbrName: 'SecXML',\n    lengthId: '1184',\n    description: 'XML definition for the security.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'String',\n    addedEP: '49',\n    updatedEP: '145',\n    added: 'FIX.5.0',\n    name: 'SecurityXMLSchema',\n    id: 1186,\n    abbrName: 'Schema',\n    description: 'The schema used to validate the contents of SecurityXML(1185).',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '50',\n    added: 'FIX.5.0',\n    name: 'RefreshIndicator',\n    id: 1187,\n    abbrName: 'RefInd',\n    description:\n      \"Set by the sender to tell the receiver to perform an immediate refresh of the book due to disruptions in the accompanying real-time feed\\n\\n'Y' - Mandatory refresh by all participants\\n\\n'N' - Process as required\",\n  },\n  {\n    type: 'float',\n    addedEP: '51',\n    added: 'FIX.5.0',\n    name: 'Volatility',\n    id: 1188,\n    abbrName: 'Vol',\n    description: 'Annualized volatility for option model calculations',\n  },\n  {\n    type: 'float',\n    addedEP: '51',\n    added: 'FIX.5.0',\n    name: 'TimeToExpiration',\n    id: 1189,\n    abbrName: 'TmToExp',\n    description:\n      'Time to expiration in years calculated as the number of days remaining to expiration divided by 365 days per year.',\n  },\n  {\n    type: 'float',\n    addedEP: '51',\n    added: 'FIX.5.0',\n    name: 'RiskFreeRate',\n    id: 1190,\n    abbrName: 'RFR',\n    description: 'Interest rate. Usually some form of short term rate.',\n  },\n  {\n    type: 'UnitOfMeasureCodeSet',\n    addedEP: '52',\n    added: 'FIX.5.0',\n    name: 'PriceUnitOfMeasure',\n    id: 1191,\n    abbrName: 'PxUOM',\n    description:\n      'Used to express the UOM of the price if different from the contract. In futures, this can be different for cross-rate products in which the price is quoted in units differently from the contract',\n  },\n  {\n    type: 'Qty',\n    addedEP: '52',\n    added: 'FIX.5.0',\n    name: 'PriceUnitOfMeasureQty',\n    id: 1192,\n    abbrName: 'PxUOMQty',\n    description:\n      'Used to express the UOM Quantity of the price if different from the contract. In futures, this can be different for physically delivered products in which price is quoted in a unit size different from the contract, i.e. a Cattle Future contract has a UOMQty of 40,000 and a PriceUOMQty of 100.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'SettlMethodCodeSet',\n    addedEP: '52',\n    updatedEP: '169',\n    added: 'FIX.5.0',\n    name: 'SettlMethod',\n    id: 1193,\n    abbrName: 'SettlMeth',\n    description:\n      'Settlement method for a contract or instrument. Additional values may be used with bilateral agreement.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'ExerciseStyleCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '52',\n    updatedEP: '161',\n    added: 'FIX.5.0',\n    name: 'ExerciseStyle',\n    id: 1194,\n    abbrName: 'ExerStyle',\n    description: 'Type of exercise of a derivatives security',\n  },\n  {\n    type: 'ExerciseStyleCodeSet',\n    addedEP: '52',\n    added: 'FIX.5.0',\n    name: 'UnderlyingExerciseStyle',\n    id: 1419,\n    abbrName: 'ExerStyle',\n    description: 'Type of exercise of a derivatives security',\n  },\n  {\n    type: 'ExerciseStyleCodeSet',\n    addedEP: '52',\n    added: 'FIX.5.0',\n    name: 'LegExerciseStyle',\n    id: 1420,\n    abbrName: 'ExerStyle',\n    description: 'Type of exercise of a derivatives security',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'Amt',\n    addedEP: '52',\n    updatedEP: '169',\n    added: 'FIX.5.0',\n    name: 'OptPayoutAmount',\n    id: 1195,\n    abbrName: 'OptPayAmt',\n    description:\n      'Cash amount indicating the pay out associated with an option. For binary options this is a fixed amount.',\n  },\n  {\n    type: 'PriceQuoteMethodCodeSet',\n    addedEP: '52',\n    added: 'FIX.5.0',\n    name: 'PriceQuoteMethod',\n    id: 1196,\n    abbrName: 'PxQteMeth',\n    description: 'Method for price quotation',\n  },\n  {\n    updated: 'FIX.5.0SP1',\n    type: 'ValuationMethodCodeSet',\n    addedEP: '52',\n    updatedEP: '83',\n    added: 'FIX.5.0',\n    name: 'ValuationMethod',\n    id: 1197,\n    abbrName: 'ValMeth',\n    description: 'Specifies the type of valuation method applied.',\n  },\n  {\n    type: 'ListMethodCodeSet',\n    addedEP: '52',\n    added: 'FIX.5.0',\n    name: 'ListMethod',\n    id: 1198,\n    abbrName: 'ListMeth',\n    description:\n      'Indicates whether instruments are pre-listed only or can also be defined via user request',\n  },\n  {\n    type: 'Price',\n    addedEP: '52',\n    added: 'FIX.5.0',\n    name: 'CapPrice',\n    id: 1199,\n    abbrName: 'CapPx',\n    description: 'Used to express the ceiling price of a capped call',\n  },\n  {\n    type: 'Price',\n    addedEP: '52',\n    added: 'FIX.5.0',\n    name: 'FloorPrice',\n    id: 1200,\n    abbrName: 'FlrPx',\n    description: 'Used to express the floor price of a capped put',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '52',\n    added: 'FIX.5.0',\n    name: 'NoStrikeRules',\n    id: 1201,\n    description:\n      'Number of strike rule entries. This block specifies the rules for determining how new strikes should be listed within the stated price range of the underlying instrument',\n  },\n  {\n    type: 'Price',\n    addedEP: '52',\n    added: 'FIX.5.0',\n    name: 'StartStrikePxRange',\n    id: 1202,\n    abbrName: 'StartStrkPxRng',\n    description:\n      'Starting price for the range to which the StrikeIncrement applies. Price refers to the price of the underlying',\n  },\n  {\n    type: 'Price',\n    addedEP: '52',\n    added: 'FIX.5.0',\n    name: 'EndStrikePxRange',\n    id: 1203,\n    abbrName: 'EndStrkPxRng',\n    description:\n      'Ending price of the range to which the StrikeIncrement applies. Price refers to the price of the underlying',\n  },\n  {\n    type: 'float',\n    addedEP: '52',\n    added: 'FIX.5.0',\n    name: 'StrikeIncrement',\n    id: 1204,\n    abbrName: 'StrkIncr',\n    description:\n      'Value by which strike price should be incremented within the specified price range.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '52',\n    added: 'FIX.5.0',\n    name: 'NoTickRules',\n    id: 1205,\n    description:\n      'Number of tick rules. This block specifies the rules for determining how a security ticks, i.e. the price increments at which it can be quoted and traded, depending on the current price of the security',\n  },\n  {\n    type: 'Price',\n    addedEP: '52',\n    added: 'FIX.5.0',\n    name: 'StartTickPriceRange',\n    id: 1206,\n    abbrName: 'StartTickPxRng',\n    description: 'Starting price range for specified tick increment',\n  },\n  {\n    type: 'Price',\n    addedEP: '52',\n    added: 'FIX.5.0',\n    name: 'EndTickPriceRange',\n    id: 1207,\n    abbrName: 'EndTickPxRng',\n    description: 'Ending price range for the specified tick increment',\n  },\n  {\n    type: 'Price',\n    addedEP: '52',\n    added: 'FIX.5.0',\n    name: 'TickIncrement',\n    id: 1208,\n    abbrName: 'TickIncr',\n    description:\n      'Tick increment for stated price range. Specifies the valid price increments at which a security can be quoted and traded',\n  },\n  {\n    type: 'TickRuleTypeCodeSet',\n    addedEP: '52',\n    added: 'FIX.5.0',\n    name: 'TickRuleType',\n    id: 1209,\n    abbrName: 'TickRuleTyp',\n    description: 'Specifies the type of tick rule which is being described',\n  },\n  {\n    type: 'InstrAttribTypeCodeSet',\n    addedEP: '52',\n    added: 'FIX.5.0',\n    name: 'NestedInstrAttribType',\n    id: 1210,\n    abbrName: 'Typ',\n    description: 'Code to represent the type of instrument attribute',\n  },\n  {\n    type: 'String',\n    addedEP: '52',\n    added: 'FIX.5.0',\n    name: 'NestedInstrAttribValue',\n    id: 1211,\n    abbrName: 'Val',\n    description: 'Attribute value appropriate to the NestedInstrAttribType field',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'String',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'DerivativeSymbol',\n    id: 1214,\n    abbrName: 'Sym',\n    description:\n      'Ticker symbol. Common, human understood representation of the security.\\n\\nSee Symbol(55) for complete definition.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'SymbolSfxCodeSet',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'DerivativeSymbolSfx',\n    id: 1215,\n    abbrName: 'Sfx',\n    description:\n      'Additional information about the security (e.g. preferred, warrants, etc.).\\n\\nSee SymbolSfx(65) for complete definition.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'String',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'DerivativeSecurityID',\n    id: 1216,\n    abbrName: 'ID',\n    discriminatorId: '1217',\n    description:\n      'Security identifier value (e.g. CUSIP, SEDOL, ISIN, etc).\\n\\nRequires DerivativeSecurityIDSource(1217).\\n\\nSee SecurityID(48) for complete definition.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'SecurityIDSourceCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'DerivativeSecurityIDSource',\n    id: 1217,\n    abbrName: 'Src',\n    description:\n      'Identifies class or source of the DerivativeSecurityID(1217) value.\\n\\nSee SecurityIDSource(22) for complete definition.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'NumInGroup',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'NoDerivativeSecurityAltID',\n    id: 1218,\n    abbrName: 'NoDerivativeSecurityAltID',\n    description: 'Number of alternate derivative security IDs.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'String',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'DerivativeSecurityAltID',\n    id: 1219,\n    abbrName: 'ID',\n    discriminatorId: '1220',\n    description:\n      'Alternate derivative security identifier value of DerivativeSecurityAltIDSource(1220) type.\\n\\nRequires DerivativeSecurityAltIDSource(1220).',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'SecurityIDSourceCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'DerivativeSecurityAltIDSource',\n    id: 1220,\n    abbrName: 'Src',\n    description: 'Identifies class or source of the DerivativeSecurityAltID(1219) value.',\n  },\n  {\n    type: 'Price',\n    addedEP: '52',\n    added: 'FIX.5.0',\n    name: 'SecondaryLowLimitPrice',\n    id: 1221,\n    abbrName: 'LowLmtPx',\n    description: 'Refer to definition of LowLimitPrice(1148)',\n  },\n  {\n    type: 'Price',\n    addedEP: '52',\n    added: 'FIX.5.0',\n    name: 'SecondaryHighLimitPrice',\n    id: 1230,\n    abbrName: 'HiLmtPx',\n    description: 'Refer to definition of HighLimitPrice(1149)',\n  },\n  {\n    type: 'String',\n    addedEP: '52',\n    added: 'FIX.5.0',\n    name: 'MaturityRuleID',\n    id: 1222,\n    abbrName: 'MatRuleID',\n    description:\n      'Allows maturity rule to be referenced via an identifier so that rules do not need to be explicitly enumerated',\n  },\n  {\n    type: 'String',\n    addedEP: '52',\n    added: 'FIX.5.0',\n    name: 'StrikeRuleID',\n    id: 1223,\n    abbrName: 'StrkRule',\n    description:\n      'Allows strike rule to be referenced via an identifier so that rules do not need to be explicitly enumerated',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'Amt',\n    addedEP: '52',\n    updatedEP: '282',\n    added: 'FIX.5.0',\n    name: 'DerivativeOptPayoutAmount',\n    id: 1225,\n    abbrName: 'OptPayAmt',\n    description:\n      'Cash amount indicating the pay out associated with an option. For binary options this is a fixed amount.\\n\\nSee OptPayoutAmount(1195) for complete definition.',\n  },\n  {\n    type: 'MonthYear',\n    addedEP: '52',\n    added: 'FIX.5.0',\n    name: 'EndMaturityMonthYear',\n    id: 1226,\n    abbrName: 'EndMMY',\n    description: 'Ending maturity month year for an option class',\n  },\n  {\n    type: 'String',\n    addedEP: '52',\n    added: 'FIX.5.0',\n    name: 'ProductComplex',\n    id: 1227,\n    abbrName: 'ProdCmplx',\n    description:\n      'Identifies an entire suite of products for a given market. In Futures this may be \"interest rates\", \"agricultural\", \"equity indexes\", etc.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'String',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'DerivativeProductComplex',\n    id: 1228,\n    abbrName: 'ProdCmplx',\n    description:\n      'Identifies an entire suite of products for a given market.\\n\\nSee ProductComplex(1227) for complete definition.',\n  },\n  {\n    type: 'int',\n    addedEP: '52',\n    added: 'FIX.5.0',\n    name: 'MaturityMonthYearIncrement',\n    id: 1229,\n    abbrName: 'MMYIncr',\n    description: 'Increment between successive maturities for an option class',\n  },\n  {\n    type: 'Qty',\n    addedEP: '52',\n    added: 'FIX.5.0',\n    name: 'MinLotSize',\n    id: 1231,\n    abbrName: 'MinLotSz',\n    description: 'Minimum lot size allowed based on lot type specified in LotType(1093)',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '52',\n    added: 'FIX.5.0',\n    name: 'NoExecInstRules',\n    id: 1232,\n    abbrName: 'NoExecInstRules',\n    description: 'Number of execution instructions',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '52',\n    added: 'FIX.5.0',\n    name: 'NoLotTypeRules',\n    id: 1234,\n    abbrName: 'NoLotTypeRules',\n    description: 'Number of Lot Type Rules',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '52',\n    added: 'FIX.5.0',\n    name: 'NoMatchRules',\n    id: 1235,\n    abbrName: 'NoMatchRules',\n    description: 'Number of Match Rules',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '52',\n    added: 'FIX.5.0',\n    name: 'NoMaturityRules',\n    id: 1236,\n    abbrName: 'NoMaturityRules',\n    description: 'Number of maturity rules in MarurityRules component block',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '52',\n    added: 'FIX.5.0',\n    name: 'NoOrdTypeRules',\n    id: 1237,\n    abbrName: 'NoOrdTypeRules',\n    description: 'Number of order types',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '52',\n    added: 'FIX.5.0',\n    name: 'NoTimeInForceRules',\n    id: 1239,\n    abbrName: 'NoTimeInForceRules',\n    description: 'Number of time in force techniques',\n  },\n  {\n    type: 'Price',\n    addedEP: '52',\n    added: 'FIX.5.0',\n    name: 'SecondaryTradingReferencePrice',\n    id: 1240,\n    abbrName: 'TrdgRefPx',\n    description: 'Refer to definition for TradingReferencePrice(1150)',\n  },\n  {\n    type: 'MonthYear',\n    addedEP: '52',\n    added: 'FIX.5.0',\n    name: 'StartMaturityMonthYear',\n    id: 1241,\n    abbrName: 'StartMMY',\n    description: 'Starting maturity month year for an option class',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '52',\n    added: 'FIX.5.0',\n    name: 'FlexProductEligibilityIndicator',\n    id: 1242,\n    abbrName: 'FlexProdElig',\n    description:\n      'Used to indicate if a product or group of product supports the creation of flexible securities',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'Boolean',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'DerivFlexProductEligibilityIndicator',\n    id: 1243,\n    abbrName: 'FlexProdElig',\n    description:\n      'Used to indicate if a product or group of product supports the creation of flexible securities.\\n\\nSee FlexProductEligibilityIndicator(1242) for complete definition.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '52',\n    added: 'FIX.5.0',\n    name: 'FlexibleIndicator',\n    id: 1244,\n    abbrName: 'FlexInd',\n    description:\n      'Used to indicate a derivatives security that can be defined using flexible terms. The terms commonly permitted to be defined by market participants are expiration date and strike price. FlexibleIndicator is an alternative CFICode(461) Standard/Non-standard attribute.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '52',\n    added: 'FIX.5.0',\n    name: 'TradingCurrency',\n    id: 1245,\n    abbrName: 'TrdCcy',\n    description: 'Used when the trading currency can differ from the price currency',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'ProductCodeSet',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'DerivativeProduct',\n    id: 1246,\n    abbrName: 'Prod',\n    description:\n      'The type of product the security is associated with.\\n\\nSee Product(460) for complete definition.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'String',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'DerivativeSecurityGroup',\n    id: 1247,\n    abbrName: 'SecGrp',\n    description:\n      'An exchange specific name assigned to a group of related securities which may be concurrently affected by market events and actions.\\n\\nSee SecurityGroup(1151) for complete definition.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'String',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'DerivativeCFICode',\n    id: 1248,\n    abbrName: 'CFI',\n    description:\n      'The type of security using ISO 10962 standard, Classification of Financial Instruments (CFI code) values.\\n\\nSee CFICode(461) for complete definition.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'SecurityTypeCodeSet',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'DerivativeSecurityType',\n    id: 1249,\n    abbrName: 'SecTyp',\n    description:\n      'The type of security.\\n\\nSee SecurityType(167) for complete definition.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'String',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'DerivativeSecuritySubType',\n    id: 1250,\n    abbrName: 'SecSubTyp',\n    description:\n      'Sub-type qualification/identification of the security type.\\n\\nSee SecuritySubType(762) for complete definition.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'MonthYear',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'DerivativeMaturityMonthYear',\n    id: 1251,\n    abbrName: 'MMY',\n    description:\n      'Month and Year of the maturity (used for standardized futures and options).\\n\\nSee MaturityMonthYear(200) for complete definition.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'LocalMktDate',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'DerivativeMaturityDate',\n    id: 1252,\n    abbrName: 'MatDt',\n    description: 'Date of maturity.\\n\\nSee MaturityDate(541) for complete definition.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'TZTimeOnly',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'DerivativeMaturityTime',\n    id: 1253,\n    abbrName: 'MatTm',\n    description:\n      \"Time of security's maturity expressed in local time with offset to UTC specified.\\n\\nSee MaturityTime(1079) for complete definition.\",\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'String',\n    addedEP: '52',\n    updatedEP: '282',\n    added: 'FIX.5.0',\n    name: 'DerivativeSettleOnOpenFlag',\n    id: 1254,\n    abbrName: 'SettlOnOpenFlag',\n    description:\n      'Indicator to determine if instrument is settle on open.\\n\\nSee SettleOnOpenFlag(966) for complete definition.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'InstrmtAssignmentMethodCodeSet',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'DerivativeInstrmtAssignmentMethod',\n    id: 1255,\n    abbrName: 'AsgnMeth',\n    description:\n      'Method under which assignment was conducted.\\n\\nSee InstrmtAssignmentMethod(1049) for complete definition.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'SecurityStatusCodeSet',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'DerivativeSecurityStatus',\n    id: 1256,\n    abbrName: 'Status',\n    description:\n      'Indicates the current state of the derivative instrument.\\n\\nSee SecurityStatus(965) for complete definition.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'String',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'DerivativeInstrRegistry',\n    id: 1257,\n    abbrName: 'Rgstry',\n    description:\n      'Values may include BIC for the depository or custodian who maintain ownership records, the ISO country code for the location of the record, or the value ZZ to specify physical ownership of the security (e.g. stock certificate).\\n\\nSee InstrRegistry(543) for complete definition.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'Country',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'DerivativeCountryOfIssue',\n    id: 1258,\n    abbrName: 'Ctry',\n    description:\n      'ISO Country code of instrument issue (e.g. the country portion typically used in ISIN).\\n\\nSee CountryOfIssue(470) for complete definition.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'String',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'DerivativeStateOrProvinceOfIssue',\n    id: 1259,\n    abbrName: 'StPrv',\n    description:\n      'A two-character state or province abbreviation.\\n\\nSee StateOrProvinceOfIssue(471) for complete definition.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'String',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'DerivativeLocaleOfIssue',\n    id: 1260,\n    abbrName: 'Lcl',\n    description:\n      'Identifies the locale or region of issue.\\n\\nSee LocaleOfIssue(472) for complete definition.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'Price',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'DerivativeStrikePrice',\n    id: 1261,\n    abbrName: 'StrkPx',\n    description:\n      'Strike price for an option.\\n\\nSee StrikePrice(202) for complete definition.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'Currency',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'DerivativeStrikeCurrency',\n    id: 1262,\n    abbrName: 'StrkCcy',\n    description:\n      'Currency in which the strike price is denominated.\\n\\nSee StrikeCurrency(947) for complete definition.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'float',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'DerivativeStrikeMultiplier',\n    id: 1263,\n    abbrName: 'StrkMult',\n    description:\n      'Multiplier applied to the strike price for the purpose of calculating the settlement value.\\n\\nSee StrikeMultiplier(967) for complete definition.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'float',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'DerivativeStrikeValue',\n    id: 1264,\n    abbrName: 'StrkValu',\n    description:\n      'The number of shares/units for the financial instrument involved in the option trade.\\n\\nSee StrikeValue(968) for complete definition.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'char',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'DerivativeOptAttribute',\n    id: 1265,\n    abbrName: 'OptAt',\n    description:\n      'Provided to support versioning of option contracts as a result of corporate actions or events. Use of this field is defined by counterparty agreement or market conventions.\\n\\nSee OptAttribute(206) for complete definition.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'float',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'DerivativeContractMultiplier',\n    id: 1266,\n    abbrName: 'Mult',\n    description:\n      'Specifies the ratio or multiply factor to convert from nominal units (e.g. contracts) to total units (e.g. shares) (e.g. 1.0, 100, 1000, etc.).\\n\\nSee ContractMultiplier(231) for complete definition.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'float',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'DerivativeMinPriceIncrement',\n    id: 1267,\n    abbrName: 'MinPxIncr',\n    description:\n      'Minimum price increase for a given exchange-traded Instrument.\\n\\nSee MinPriceIncrement(969) for complete definition.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'Amt',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'DerivativeMinPriceIncrementAmount',\n    id: 1268,\n    abbrName: 'MinPxIncrAmt',\n    description:\n      'Minimum price increment amount associated with the minimum price increment.\\n\\nSee MinPriceIncrementAmount(1146) for complete definition.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'UnitOfMeasureCodeSet',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'DerivativeUnitOfMeasure',\n    id: 1269,\n    abbrName: 'UOM',\n    description:\n      'The unit of measure of the underlying commodity upon which the contract is based.\\n\\nSee UnitOfMeasure(996) for complete definition.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'Qty',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'DerivativeUnitOfMeasureQty',\n    id: 1270,\n    abbrName: 'UOMQty',\n    description:\n      'Used to indicate the quantity of the underlying commodity unit of measure on which the contract is based.\\n\\nSee UnitOfMeasureQty(1147) for complete definition.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'TimeUnitCodeSet',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'DerivativeTimeUnit',\n    id: 1271,\n    abbrName: 'TmUnit',\n    description:\n      'Unit of time associated with the contract.\\n\\nNOTE: Additional values may be used by mutual agreement of the counterparties.\\n\\nSee TimeUnit(997) for complete definition.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'Exchange',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'DerivativeSecurityExchange',\n    id: 1272,\n    abbrName: 'Exch',\n    description:\n      'Market used to help identify a security.\\n\\nSee SecurityExchange(207) for complete definition.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'int',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'DerivativePositionLimit',\n    id: 1273,\n    abbrName: 'PosLmt',\n    description:\n      'Position limit for a given exchange-traded product.\\n\\nSee PositionLimit(970) for complete definition.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'int',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'DerivativeNTPositionLimit',\n    id: 1274,\n    abbrName: 'NTPosLmt',\n    description:\n      'Position limit in the near-term contract for a given exchange-traded product.\\n\\nSee NTPositionLimit(971) for complete definition.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'String',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'DerivativeIssuer',\n    id: 1275,\n    abbrName: 'Issr',\n    description: 'Name of security issuer.\\n\\nSee Issuer(106) for complete definition.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'LocalMktDate',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'DerivativeIssueDate',\n    id: 1276,\n    abbrName: 'IssDt',\n    description:\n      'The date on which the security is issued.\\n\\nSee IssueDate(225) for complete definition.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'Length',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'DerivativeEncodedIssuerLen',\n    id: 1277,\n    abbrName: 'EncIssrLen',\n    description:\n      'Byte length of encoded (non-ASCII characters) DerivativeEncodedSecurityDesc (1281) field.\\n\\nSee EncodedIssuerLen(348) for complete definition.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'data',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'DerivativeEncodedIssuer',\n    id: 1278,\n    abbrName: 'EncIssr',\n    lengthId: '1277',\n    description:\n      'Encoded (non-ASCII characters) representation of the DerivativeIssuer(1275) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the DerivativeIssuer(1275) field.\\n\\nSee EncodedIssuer(349) for complete definition.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'String',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'DerivativeSecurityDesc',\n    id: 1279,\n    abbrName: 'Desc',\n    description:\n      'Can be used by the venue or one of the trading parties to provide a non-normative textual description for the financial instrument.\\n\\nSee SecurityDesc(107) for complete definition.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'Length',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'DerivativeEncodedSecurityDescLen',\n    id: 1280,\n    abbrName: 'EncSecDescLen',\n    description:\n      'Byte length of encoded (non-ASCII characters) DerivativeEncodedSecurityDesc (1281) field.\\n\\nSee EncodedSecurityDescLen(350) for complete definition.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'data',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'DerivativeEncodedSecurityDesc',\n    id: 1281,\n    abbrName: 'EncSecDesc',\n    lengthId: '1280',\n    description:\n      'Encoded (non-ASCII characters) representation of the DerivativeSecurityDesc(1279) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the DerivativeSecurityDesc(1279) field.\\n\\nSee EncodedSecurityDesc(351) for complete definition.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'Length',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'DerivativeSecurityXMLLen',\n    id: 1282,\n    abbrName: 'SecXMLLen',\n    description:\n      'The length of the DerivativeSecurityXML(1283) data block.\\n\\nSee SecurityXMLLen(1184) for complete definition.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'XMLData',\n    addedEP: '52',\n    updatedEP: '275',\n    added: 'FIX.5.0',\n    name: 'DerivativeSecurityXML',\n    id: 1283,\n    abbrName: 'SecXML',\n    lengthId: '1282',\n    description:\n      'XML definition for the security.\\n\\nSee SecurityXML(1185) for complete definition.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'String',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'DerivativeSecurityXMLSchema',\n    id: 1284,\n    abbrName: 'Schema',\n    description:\n      'The schema used to validate the contents of DerivativeSecurityXML(1283).\\n\\nSee SecurityXMLSchema(1186) for complete definition.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'MonthYear',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'DerivativeContractSettlMonth',\n    id: 1285,\n    abbrName: 'CSetMo',\n    description:\n      'Specifies when the contract (i.e. MBS/TBA) will settle.\\n\\nSee ContractSettlMonth(667) for complete definition.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'NumInGroup',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'NoDerivativeEvents',\n    id: 1286,\n    abbrName: 'NoDerivativeEvents',\n    description: 'Number of repeating DerivativeEventType entries.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'EventTypeCodeSet',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'DerivativeEventType',\n    id: 1287,\n    abbrName: 'EventTyp',\n    description:\n      'Code to represent the type of event.\\n\\nSee EventType(865) for complete definition.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'LocalMktDate',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'DerivativeEventDate',\n    id: 1288,\n    abbrName: 'Dt',\n    description: 'Date of event.\\n\\nSee EventDate(866) for complete definition.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'UTCTimestamp',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'DerivativeEventTime',\n    id: 1289,\n    abbrName: 'Tm',\n    description:\n      'Specific time of event. To be used in combination with DerivativeEventDate(1288).\\n\\nSee EventTime(1145) for complete definition.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'Price',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'DerivativeEventPx',\n    id: 1290,\n    abbrName: 'Px',\n    description:\n      'Predetermined price of issue at event.\\n\\nSee EventPx(867) for complete definition.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'String',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'DerivativeEventText',\n    id: 1291,\n    abbrName: 'Txt',\n    description:\n      'Comments related to the event.\\n\\nSee EventText(868) for complete definition.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'NumInGroup',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'NoDerivativeInstrumentParties',\n    id: 1292,\n    description: 'Number of repeating derivative instrument party entries.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'String',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'DerivativeInstrumentPartyID',\n    id: 1293,\n    abbrName: 'ID',\n    discriminatorId: '1294',\n    description: 'Party identifier/code.\\n\\nSee PartyID(448) for complete definition.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'PartyIDSourceCodeSet',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'DerivativeInstrumentPartyIDSource',\n    id: 1294,\n    abbrName: 'Src',\n    description:\n      'Identifies class or source of the DerivativeInstrumentPartyID (1293) value.\\n\\nRequired if DerivativeInstrumentPartyID(1293) is specified.\\n\\nSee PartyIDSource(447) for complete definition.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'PartyRoleCodeSet',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'DerivativeInstrumentPartyRole',\n    id: 1295,\n    abbrName: 'R',\n    description:\n      'Identifies the type or role of the DerivativeInstrumentPartyID (1293) specified.\\n\\nSee PartyRole(452) for complete definition.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'NumInGroup',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'NoDerivativeInstrumentPartySubIDs',\n    id: 1296,\n    description: 'Number of derivative instrument party sub IDs.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'String',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'DerivativeInstrumentPartySubID',\n    id: 1297,\n    abbrName: 'ID',\n    description: 'Party sub-identifier.\\n\\nSee PartySubID(523) for complete definition.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'PartySubIDTypeCodeSet',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'DerivativeInstrumentPartySubIDType',\n    id: 1298,\n    abbrName: 'Typ',\n    description:\n      'Type of party sub-identifier.\\n\\nSee PartySubIDType(803) for complete definition.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'ExerciseStyleCodeSet',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'DerivativeExerciseStyle',\n    id: 1299,\n    abbrName: 'ExerStyle',\n    description: 'Type of exercise.\\n\\nSee ExerciseStyle(1194) for complete definition.',\n  },\n  {\n    type: 'String',\n    addedEP: '52',\n    added: 'FIX.5.0',\n    name: 'MarketSegmentID',\n    id: 1300,\n    abbrName: 'MktSegID',\n    description: 'Identifies the market segment',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'Exchange',\n    addedEP: '52',\n    updatedEP: '190',\n    added: 'FIX.5.0',\n    name: 'MarketID',\n    id: 1301,\n    abbrName: 'MktID',\n    description: 'Identifies the market',\n  },\n  {\n    type: 'MaturityMonthYearIncrementUnitsCodeSet',\n    addedEP: '52',\n    added: 'FIX.5.0',\n    name: 'MaturityMonthYearIncrementUnits',\n    id: 1302,\n    abbrName: 'MMYIncrUnits',\n    description: 'Unit of measure for the Maturity Month Year Increment',\n  },\n  {\n    type: 'MaturityMonthYearFormatCodeSet',\n    addedEP: '52',\n    added: 'FIX.5.0',\n    name: 'MaturityMonthYearFormat',\n    id: 1303,\n    abbrName: 'MMYFmt',\n    description: 'Format used to generate the MaturityMonthYear for each option',\n  },\n  {\n    type: 'ExerciseStyleCodeSet',\n    addedEP: '52',\n    added: 'FIX.5.0',\n    name: 'StrikeExerciseStyle',\n    id: 1304,\n    abbrName: 'StrkExrStyle',\n    description: 'Expiration Style for an option class:',\n  },\n  {\n    type: 'PriceLimitTypeCodeSet',\n    addedEP: '52',\n    added: 'FIX.5.0',\n    name: 'SecondaryPriceLimitType',\n    id: 1305,\n    abbrName: 'PxLmtTyp',\n    description: 'Describes the how the price limits are expressed',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PriceLimitTypeCodeSet',\n    addedEP: '52',\n    updatedEP: '204',\n    added: 'FIX.5.0',\n    name: 'PriceLimitType',\n    id: 1306,\n    abbrName: 'PxLmtTyp',\n    description: 'Describes the how the price limits are expressed.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'ExecInstCodeSet',\n    addedEP: '52',\n    updatedEP: '208',\n    added: 'FIX.5.0',\n    name: 'ExecInstValue',\n    id: 1308,\n    abbrName: 'ExecInstValu',\n    description:\n      'Indicates execution instructions that are valid for the specified market segment',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '52',\n    added: 'FIX.5.0',\n    name: 'NoTradingSessionRules',\n    id: 1309,\n    description: 'Allows trading rules to be expressed by trading session',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '52',\n    added: 'FIX.5.0',\n    name: 'NoMarketSegments',\n    id: 1310,\n    description: 'Number of Market Segments on which a security may trade.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'NumInGroup',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'NoDerivativeInstrAttrib',\n    id: 1311,\n    description: 'Number of instrument attributes.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '52',\n    added: 'FIX.5.0',\n    name: 'NoNestedInstrAttrib',\n    id: 1312,\n    description: '',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'InstrAttribTypeCodeSet',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'DerivativeInstrAttribType',\n    id: 1313,\n    abbrName: 'Typ',\n    description:\n      'Type of instrument attribute.\\n\\nSee InstrAttribType(871) for complete definition.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'String',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'DerivativeInstrAttribValue',\n    id: 1314,\n    abbrName: 'Val',\n    description:\n      'Attribute value appropriate to the DerivativeInstrAttribValue(1313) field.\\n\\nSee InstrAttribValue(872) for complete definition.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'UnitOfMeasureCodeSet',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'DerivativePriceUnitOfMeasure',\n    id: 1315,\n    abbrName: 'PxUOM',\n    description:\n      'Used to express the UOM of the price if different from the contract.\\n\\nSee PriceUnitOfMeasureQty(1191) for complete definition.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'Qty',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'DerivativePriceUnitOfMeasureQty',\n    id: 1316,\n    abbrName: 'PxUOMQty',\n    description:\n      'Used to express the UOM Quantity of the price if different from the contract.\\n\\nSee PriceUnitOfMeasureQty(1192) for complete definition.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'SettlMethodCodeSet',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'DerivativeSettlMethod',\n    id: 1317,\n    abbrName: 'SettlMeth',\n    description:\n      'Settlement method for a contract or instrument.\\n\\nSee SettlMethod(1193) for complete definition.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'PriceQuoteMethodCodeSet',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'DerivativePriceQuoteMethod',\n    id: 1318,\n    abbrName: 'PxQteMeth',\n    description:\n      'Specifies the method for price quotation.\\n\\nSee PriceQuoteMethod(1196) for complete definition.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'ValuationMethodCodeSet',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'DerivativeValuationMethod',\n    id: 1319,\n    abbrName: 'ValMeth',\n    description:\n      'Specifies the method for price quotation.\\n\\nSee ValuationMethod(1197) for complete definition.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'ListMethodCodeSet',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'DerivativeListMethod',\n    id: 1320,\n    abbrName: 'ListMeth',\n    description:\n      'Indicates whether instruments are pre-listed only or can also be defined via user request.\\n\\nSee ListMethod(1198) for complete definition.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'Price',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'DerivativeCapPrice',\n    id: 1321,\n    abbrName: 'CapPx',\n    description:\n      'Used to express the ceiling price of a capped call.\\n\\nSee CapPrice(1199) for complete definition.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'Price',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'DerivativeFloorPrice',\n    id: 1322,\n    abbrName: 'FlrPx',\n    description:\n      'Used to express the floor price of a capped put.\\n\\nSee FloorPrice(1200) for complete definition.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'PutOrCallCodeSet',\n    addedEP: '52',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'DerivativePutOrCall',\n    id: 1323,\n    abbrName: 'PutCall',\n    description:\n      'Indicates whether an option contract is a put, call, chooser or undetermined.\\n\\nSee PutOrCall(201) for complete definition.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'ListUpdateActionCodeSet',\n    addedEP: '52',\n    updatedEP: '128',\n    added: 'FIX.5.0',\n    name: 'ListUpdateAction',\n    id: 1324,\n    abbrName: 'ListUpdActn',\n    description: 'If provided, then Instrument occurrence has explicitly changed',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PutOrCallCodeSet',\n    addedEP: '52',\n    updatedEP: '238',\n    added: 'FIX.5.0',\n    name: 'LegPutOrCall',\n    id: 1358,\n    abbrName: 'PutCall',\n    description:\n      'Indicates whether a leg option contract is a put, call, chooser or undetermined.',\n  },\n  {\n    type: 'Qty',\n    addedEP: '52',\n    added: 'FIX.5.0',\n    name: 'LegUnitOfMeasureQty',\n    id: 1224,\n    abbrName: 'UOMQty',\n    description: 'Refer to definition of UnitOfMeasureQty(1147)',\n  },\n  {\n    type: 'UnitOfMeasureCodeSet',\n    addedEP: '52',\n    added: 'FIX.5.0',\n    name: 'LegPriceUnitOfMeasure',\n    id: 1421,\n    abbrName: 'PxUOM',\n    description: 'Refer to definition for PriceUnitOfMeasure(1191)',\n  },\n  {\n    type: 'Qty',\n    addedEP: '52',\n    added: 'FIX.5.0',\n    name: 'LegPriceUnitOfMeasureQty',\n    id: 1422,\n    abbrName: 'PxUOMQty',\n    description: 'Refer to definition of PriceUnitOfMeasureQty(1192)',\n  },\n  {\n    type: 'Qty',\n    addedEP: '52',\n    added: 'FIX.5.0',\n    name: 'UnderlyingUnitOfMeasureQty',\n    id: 1423,\n    abbrName: 'UOMQty',\n    description: 'Refer to definition of UnitOfMeasureQty(1147)',\n  },\n  {\n    type: 'UnitOfMeasureCodeSet',\n    addedEP: '52',\n    added: 'FIX.5.0',\n    name: 'UnderlyingPriceUnitOfMeasure',\n    id: 1424,\n    abbrName: 'PxUOM',\n    description: 'Refer to definition for PriceUnitOfMeasure(1191)',\n  },\n  {\n    type: 'Qty',\n    addedEP: '52',\n    added: 'FIX.5.0',\n    name: 'UnderlyingPriceUnitOfMeasureQty',\n    id: 1425,\n    abbrName: 'PxUOMQty',\n    description: 'Refer to definition of PriceUnitOfMeasureQty(1192)',\n  },\n  {\n    type: 'String',\n    addedEP: '53',\n    added: 'FIX.5.0',\n    name: 'MarketReqID',\n    id: 1393,\n    abbrName: 'MktReqID',\n    description: 'Unique ID of a Market Definition Request message.',\n  },\n  {\n    type: 'String',\n    addedEP: '53',\n    added: 'FIX.5.0',\n    name: 'MarketReportID',\n    id: 1394,\n    abbrName: 'MktRptID',\n    description: 'Market Definition message identifier.',\n  },\n  {\n    type: 'SecurityUpdateActionCodeSet',\n    addedEP: '53',\n    added: 'FIX.5.0',\n    name: 'MarketUpdateAction',\n    id: 1395,\n    abbrName: 'MktUpdtActn',\n    description:\n      'Specifies the action taken for the specified MarketID(1301) + MarketSegmentID(1300).',\n  },\n  {\n    type: 'String',\n    addedEP: '53',\n    added: 'FIX.5.0',\n    name: 'MarketSegmentDesc',\n    id: 1396,\n    abbrName: 'MarketSegmentDesc',\n    description: 'Description or name of Market Segment',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'Length',\n    addedEP: '53',\n    updatedEP: '229',\n    added: 'FIX.5.0',\n    name: 'EncodedMktSegmDescLen',\n    id: 1397,\n    abbrName: 'EncodedMktSegmDescLen',\n    description:\n      'Byte length of encoded (non-ASCII characters) EncodedMktSegmDesc(1324) field.',\n  },\n  {\n    type: 'data',\n    addedEP: '53',\n    added: 'FIX.5.0',\n    name: 'EncodedMktSegmDesc',\n    id: 1398,\n    abbrName: 'EncodedMktSegmDesc',\n    lengthId: '1397',\n    description:\n      'Encoded (non-ASCII characters) representation of the MarketSegmDesc(1396) field in the encoded format specified via the MessageEncoding(347) field. If used, the ASCII (English) representation should also be specified in the MarketSegmDesc field.',\n  },\n  {\n    type: 'String',\n    addedEP: '53',\n    added: 'FIX.5.0',\n    name: 'ParentMktSegmID',\n    id: 1325,\n    abbrName: 'ParentMktSegmID',\n    description: 'Reference to a parent Market Segment. See MarketSegmentID(1300)',\n  },\n  {\n    type: 'String',\n    addedEP: '53',\n    added: 'FIX.5.0',\n    name: 'TradingSessionDesc',\n    id: 1326,\n    abbrName: 'TradingSessionDesc',\n    description: 'Trading Session description',\n  },\n  {\n    type: 'SecurityUpdateActionCodeSet',\n    addedEP: '53',\n    added: 'FIX.5.0',\n    name: 'TradSesUpdateAction',\n    id: 1327,\n    abbrName: 'TradSesUpdtActn',\n    description: 'Specifies the action taken for the specified trading sessions.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'String',\n    addedEP: '55',\n    updatedEP: '103',\n    added: 'FIX.5.0',\n    name: 'RejectText',\n    id: 1328,\n    abbrName: 'RejTxt',\n    description: 'Identifies the reason for rejection.',\n  },\n  {\n    type: 'float',\n    addedEP: '55',\n    added: 'FIX.5.0',\n    name: 'FeeMultiplier',\n    id: 1329,\n    abbrName: 'FeeMult',\n    description:\n      'This is a multiplier that Clearing (Fee system) will use to calculate fees and will be sent to the firms on their confirms.',\n  },\n  {\n    deprecatedEP: '187',\n    type: 'String',\n    deprecated: 'FIX.5.0SP2',\n    addedEP: '55',\n    added: 'FIX.5.0',\n    name: 'UnderlyingLegSymbol',\n    id: 1330,\n    abbrName: 'Sym',\n    description: 'Refer to definition for Symbol(55)',\n  },\n  {\n    deprecatedEP: '187',\n    type: 'String',\n    deprecated: 'FIX.5.0SP2',\n    addedEP: '55',\n    added: 'FIX.5.0',\n    name: 'UnderlyingLegSymbolSfx',\n    id: 1331,\n    abbrName: 'Sfx',\n    description: 'Refer to definition for SymbolSfx(65)',\n  },\n  {\n    deprecatedEP: '187',\n    type: 'String',\n    deprecated: 'FIX.5.0SP2',\n    addedEP: '55',\n    added: 'FIX.5.0',\n    name: 'UnderlyingLegSecurityID',\n    id: 1332,\n    abbrName: 'ID',\n    discriminatorId: '1333',\n    description: 'Refer to definition for SecurityID(48)',\n  },\n  {\n    deprecatedEP: '187',\n    type: 'String',\n    deprecated: 'FIX.5.0SP2',\n    addedEP: '55',\n    added: 'FIX.5.0',\n    name: 'UnderlyingLegSecurityIDSource',\n    id: 1333,\n    abbrName: 'Src',\n    description: 'Refer to definition for SecurityIDSource(22)',\n  },\n  {\n    deprecatedEP: '187',\n    type: 'NumInGroup',\n    deprecated: 'FIX.5.0SP2',\n    addedEP: '55',\n    added: 'FIX.5.0',\n    name: 'NoUnderlyingLegSecurityAltID',\n    id: 1334,\n    abbrName: 'NoUnderlyingLegSecurityAltID',\n    description: 'Refer to definition for NoSecurityAltID(454)',\n  },\n  {\n    deprecatedEP: '187',\n    type: 'String',\n    deprecated: 'FIX.5.0SP2',\n    addedEP: '55',\n    added: 'FIX.5.0',\n    name: 'UnderlyingLegSecurityAltID',\n    id: 1335,\n    abbrName: 'AltID',\n    discriminatorId: '1336',\n    description: 'Refer to definition for SecurityAltID(455)',\n  },\n  {\n    deprecatedEP: '187',\n    updated: 'FIX.Latest',\n    type: 'String',\n    deprecated: 'FIX.5.0SP2',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '55',\n    updatedEP: '271',\n    added: 'FIX.5.0',\n    name: 'UnderlyingLegSecurityAltIDSource',\n    id: 1336,\n    abbrName: 'AltIDSrc',\n    description: 'Refer to definition for SecurityAltIDSource(456)',\n  },\n  {\n    deprecatedEP: '187',\n    type: 'String',\n    deprecated: 'FIX.5.0SP2',\n    addedEP: '55',\n    added: 'FIX.5.0',\n    name: 'UnderlyingLegSecurityType',\n    id: 1337,\n    abbrName: 'SecType',\n    description: 'Refer to definition for SecurityType(167)',\n  },\n  {\n    deprecatedEP: '187',\n    type: 'String',\n    deprecated: 'FIX.5.0SP2',\n    addedEP: '55',\n    added: 'FIX.5.0',\n    name: 'UnderlyingLegSecuritySubType',\n    id: 1338,\n    abbrName: 'SubType',\n    description: 'Refer to definition for SecuritySubType(762)',\n  },\n  {\n    deprecatedEP: '187',\n    type: 'MonthYear',\n    deprecated: 'FIX.5.0SP2',\n    addedEP: '55',\n    added: 'FIX.5.0',\n    name: 'UnderlyingLegMaturityMonthYear',\n    id: 1339,\n    abbrName: 'MMY',\n    description: 'Refer to definition for MaturityMonthYear(200)',\n  },\n  {\n    deprecatedEP: '187',\n    type: 'int',\n    deprecated: 'FIX.5.0SP2',\n    addedEP: '55',\n    added: 'FIX.5.0',\n    name: 'UnderlyingLegPutOrCall',\n    id: 1343,\n    abbrName: 'PutCall',\n    description: 'Refer to definition for PutOrCall(201)',\n  },\n  {\n    deprecatedEP: '187',\n    type: 'Price',\n    deprecated: 'FIX.5.0SP2',\n    addedEP: '55',\n    added: 'FIX.5.0',\n    name: 'UnderlyingLegStrikePrice',\n    id: 1340,\n    abbrName: 'StrkPx',\n    description: 'Refer to definition for StrikePrice(202)',\n  },\n  {\n    deprecatedEP: '187',\n    type: 'String',\n    deprecated: 'FIX.5.0SP2',\n    addedEP: '55',\n    added: 'FIX.5.0',\n    name: 'UnderlyingLegSecurityExchange',\n    id: 1341,\n    abbrName: 'Exch',\n    description: 'Refer to definition for SecurityExchange(207)',\n  },\n  {\n    deprecatedEP: '187',\n    type: 'NumInGroup',\n    deprecated: 'FIX.5.0SP2',\n    addedEP: '55',\n    added: 'FIX.5.0',\n    name: 'NoOfLegUnderlyings',\n    id: 1342,\n    abbrName: 'NoOfLegUnderlyings',\n    description: 'Number of Underlyings, Identifies the Underlying of the Leg',\n  },\n  {\n    deprecatedEP: '187',\n    type: 'String',\n    deprecated: 'FIX.5.0SP2',\n    addedEP: '55',\n    added: 'FIX.5.0',\n    name: 'UnderlyingLegCFICode',\n    id: 1344,\n    abbrName: 'CFI',\n    description: 'Refer to definition for CFICode(461)',\n  },\n  {\n    deprecatedEP: '187',\n    type: 'LocalMktDate',\n    deprecated: 'FIX.5.0SP2',\n    addedEP: '55',\n    added: 'FIX.5.0',\n    name: 'UnderlyingLegMaturityDate',\n    id: 1345,\n    abbrName: 'MatDt',\n    description: 'Date of maturity.',\n  },\n  {\n    deprecatedEP: '187',\n    type: 'TZTimeOnly',\n    deprecated: 'FIX.5.0SP2',\n    addedEP: '55',\n    added: 'FIX.5.0',\n    name: 'UnderlyingLegMaturityTime',\n    id: 1405,\n    abbrName: 'MatTm',\n    description:\n      \"Time of security's maturity expressed in local time with offset to UTC specified\",\n  },\n  {\n    deprecatedEP: '187',\n    type: 'char',\n    deprecated: 'FIX.5.0SP2',\n    addedEP: '55',\n    added: 'FIX.5.0',\n    name: 'UnderlyingLegOptAttribute',\n    id: 1391,\n    abbrName: 'OptAt',\n    description: 'Refer to definition of OptAttribute(206)',\n  },\n  {\n    deprecatedEP: '187',\n    type: 'String',\n    deprecated: 'FIX.5.0SP2',\n    addedEP: '55',\n    added: 'FIX.5.0',\n    name: 'UnderlyingLegSecurityDesc',\n    id: 1392,\n    abbrName: 'Desc',\n    description: 'Refer to definition of SecurityDesc(107)',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '56',\n    added: 'FIX.5.0',\n    name: 'EncryptedPasswordMethod',\n    id: 1400,\n    abbrName: 'EncPwdMethod',\n    description:\n      'Enumeration defining the encryption method used to encrypt password fields.\\n\\nAt this time there are no encryption methods defined by FPL.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'Length',\n    addedEP: '56',\n    updatedEP: '208',\n    added: 'FIX.5.0',\n    name: 'EncryptedPasswordLen',\n    id: 1401,\n    abbrName: 'EncPwdLen',\n    description: 'Length of the EncryptedPassword(1402) field',\n  },\n  {\n    type: 'data',\n    addedEP: '56',\n    added: 'FIX.5.0',\n    name: 'EncryptedPassword',\n    id: 1402,\n    abbrName: 'EncPwd',\n    lengthId: '1401',\n    description:\n      'Encrypted password - encrypted via the method specified in the field EncryptedPasswordMethod(1400)',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'Length',\n    addedEP: '56',\n    updatedEP: '208',\n    added: 'FIX.5.0',\n    name: 'EncryptedNewPasswordLen',\n    id: 1403,\n    abbrName: 'EncNewPwdLen',\n    description: 'Length of the EncryptedNewPassword(1404) field',\n  },\n  {\n    type: 'data',\n    addedEP: '56',\n    added: 'FIX.5.0',\n    name: 'EncryptedNewPassword',\n    id: 1404,\n    abbrName: 'EncNewPwd',\n    lengthId: '1403',\n    description:\n      'Encrypted new password - encrypted via the method specified in the field EncryptedPasswordMethod(1400)',\n  },\n  {\n    type: 'int',\n    addedEP: '56',\n    added: 'FIX.5.0',\n    name: 'ApplExtID',\n    id: 1156,\n    abbrName: 'ApplExtID',\n    description: 'The extension pack number associated with an application message.',\n  },\n  {\n    type: 'int',\n    addedEP: '56',\n    added: 'FIX.5.0',\n    name: 'RefApplExtID',\n    id: 1406,\n    abbrName: 'RefApplExtID',\n    description: 'The extension pack number associated with an application message.',\n  },\n  {\n    type: 'int',\n    addedEP: '56',\n    added: 'FIX.5.0',\n    name: 'DefaultApplExtID',\n    id: 1407,\n    abbrName: 'DfltApplExtID',\n    description: 'The extension pack number that is the default for a FIX session.',\n  },\n  {\n    type: 'String',\n    addedEP: '56',\n    added: 'FIX.5.0',\n    name: 'DefaultCstmApplVerID',\n    id: 1408,\n    abbrName: 'DefaultCstmApplVerID',\n    description:\n      'The default custom application version ID that is the default for a session.',\n  },\n  {\n    type: 'SessionStatusCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '56',\n    added: 'FIX.5.0',\n    name: 'SessionStatus',\n    id: 1409,\n    abbrName: 'SessStat',\n    description: 'Status of a FIX session',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'Boolean',\n    addedEP: '56',\n    updatedEP: '275',\n    added: 'FIX.5.0',\n    name: 'DefaultVerIndicator',\n    id: 1410,\n    abbrName: 'DfltVerInd',\n    description:\n      'Indicates that the application version identified in the fields RefApplVerID(1130), RefApplExtID(1406), and RefCstmApplVerID(1131) is the default for the message type identified in RefMsgType(372) field.',\n  },\n  {\n    abbrName: 'NoUsers',\n    type: 'NumInGroup',\n    added: 'FIX.4.4',\n    name: 'NoUsernames',\n    id: 809,\n    description: 'Number of Usernames to which this this response is directed',\n  },\n  {\n    type: 'Currency',\n    addedEP: '58',\n    added: 'FIX.5.0',\n    name: 'LegAllocSettlCurrency',\n    id: 1367,\n    abbrName: 'AllocSettlCcy',\n    description: 'Identifies settlement currency for the leg level allocation.',\n  },\n  {\n    type: 'int',\n    addedEP: '58',\n    added: 'FIX.5.0',\n    name: 'TotNoFills',\n    id: 1361,\n    abbrName: 'TotNoFills',\n    description:\n      'Total number of fill entries across all messages. Should be the sum of all NoFills(1362) in each message that has repeating list of fill entries related to the same ExecID(17). Used to support fragmentation.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '58',\n    added: 'FIX.5.0',\n    name: 'NoFills',\n    id: 1362,\n    abbrName: 'NoFills',\n    description: '',\n  },\n  {\n    type: 'String',\n    addedEP: '58',\n    added: 'FIX.5.0',\n    name: 'FillExecID',\n    id: 1363,\n    abbrName: 'FillExecID',\n    description:\n      'Refer to ExecID(17). Used when multiple partial fills are reported in single Execution Report. ExecID and FillExecID should not overlap,',\n  },\n  {\n    type: 'Price',\n    addedEP: '58',\n    added: 'FIX.5.0',\n    name: 'FillPx',\n    id: 1364,\n    abbrName: 'FillPx',\n    description: 'Price of Fill. Refer to LastPx(31).',\n  },\n  {\n    type: 'Qty',\n    addedEP: '58',\n    added: 'FIX.5.0',\n    name: 'FillQty',\n    id: 1365,\n    abbrName: 'FillQty',\n    description: 'Quantity of Fill. Refer to LastQty(32).',\n  },\n  {\n    type: 'String',\n    addedEP: '58',\n    added: 'FIX.5.0',\n    name: 'LegAllocID',\n    id: 1366,\n    abbrName: 'LegAllocID',\n    description: 'The AllocID(70) of an individual leg of a multileg order.',\n  },\n  {\n    type: 'TradSesEventCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '58',\n    added: 'FIX.5.0',\n    name: 'TradSesEvent',\n    id: 1368,\n    abbrName: 'TradSesEvent',\n    description:\n      'Identifies an event related to a TradSesStatus(340). An event occurs and is gone, it is not a state that applies for a period of time.',\n  },\n  {\n    type: 'String',\n    addedEP: '58',\n    added: 'FIX.5.0',\n    name: 'MassActionReportID',\n    id: 1369,\n    abbrName: 'MassActionReportID',\n    description:\n      'Unique identifier of Order Mass Cancel Report or Order Mass Action Report message as assigned by sell-side (broker, exchange, ECN)',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '58',\n    added: 'FIX.5.0',\n    name: 'NoNotAffectedOrders',\n    id: 1370,\n    abbrName: 'NoNotAffectedOrders',\n    description: 'Number of not affected orders in the repeating group of order ids.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'String',\n    addedEP: '58',\n    updatedEP: '131',\n    added: 'FIX.5.0',\n    name: 'NotAffectedOrderID',\n    id: 1371,\n    abbrName: 'OrdID',\n    description:\n      'OrderID(37) of an order not affected by a mass cancel or mass action request.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'String',\n    addedEP: '58',\n    updatedEP: '131',\n    added: 'FIX.5.0',\n    name: 'NotAffOrigClOrdID',\n    id: 1372,\n    abbrName: 'OrigClOrdID',\n    description:\n      'ClOrdID(11) of an order not affected by a mass cancel or mass action request.',\n  },\n  {\n    type: 'MassActionTypeCodeSet',\n    addedEP: '58',\n    added: 'FIX.5.0',\n    name: 'MassActionType',\n    id: 1373,\n    abbrName: 'MassActionType',\n    description: 'Specifies the type of action requested',\n  },\n  {\n    updated: 'FIX.5.0SP1',\n    type: 'MassActionScopeCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '58',\n    updatedEP: '85',\n    added: 'FIX.5.0',\n    name: 'MassActionScope',\n    id: 1374,\n    abbrName: 'MassActionScope',\n    description: 'Specifies scope of Order Mass Action Request.',\n  },\n  {\n    type: 'MassActionResponseCodeSet',\n    addedEP: '58',\n    added: 'FIX.5.0',\n    name: 'MassActionResponse',\n    id: 1375,\n    abbrName: 'MassActionResponse',\n    description:\n      'Specifies the action taken by counterparty order handling system as a result of the action type indicated in MassActionType of the Order Mass Action Request.',\n  },\n  {\n    type: 'MassActionRejectReasonCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '58',\n    added: 'FIX.5.0',\n    name: 'MassActionRejectReason',\n    id: 1376,\n    abbrName: 'MassActionRejectReason',\n    description: 'Reason Order Mass Action Request was rejected',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'MultilegModelCodeSet',\n    addedEP: '59',\n    updatedEP: '195',\n    added: 'FIX.5.0',\n    name: 'MultilegModel',\n    id: 1377,\n    abbrName: 'MlegModel',\n    description:\n      'Specifies the type of multileg order. Defines whether the security is pre-defined or user-defined. Note that MultilegModel(1377)=2(User-defined, Non-Securitized, Multileg) does not apply for Securities.',\n  },\n  {\n    type: 'MultilegPriceMethodCodeSet',\n    addedEP: '59',\n    added: 'FIX.5.0',\n    name: 'MultilegPriceMethod',\n    id: 1378,\n    abbrName: 'MlegPxMeth',\n    description:\n      'Code to represent how the multileg price is to be interpreted when applied to the legs.\\n\\n(See Volume : \"Glossary\" for further value definitions)',\n  },\n  {\n    type: 'float',\n    addedEP: '59',\n    added: 'FIX.5.0',\n    name: 'LegVolatility',\n    id: 1379,\n    abbrName: 'LegVolatility',\n    description: 'Specifies the volatility of an instrument leg.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '59',\n    added: 'FIX.5.0',\n    name: 'DividendYield',\n    id: 1380,\n    abbrName: 'DividendYield',\n    description:\n      'The continuously-compounded annualized dividend yield of the underlying(s) of an option. Used as a parameter to theoretical option pricing models.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '59',\n    added: 'FIX.5.0',\n    name: 'LegDividendYield',\n    id: 1381,\n    abbrName: 'LegDividendYield',\n    description: 'Refer to definition for DividendYield(1380).',\n  },\n  {\n    type: 'float',\n    addedEP: '59',\n    added: 'FIX.5.0',\n    name: 'CurrencyRatio',\n    id: 1382,\n    abbrName: 'CurrencyRatio',\n    description:\n      'Specifies the currency ratio between the currency used for a multileg price and the currency used by the outright book defined by the leg. Example: Multileg quoted in EUR, outright leg in USD and 1 EUR = 0,7 USD then CurrencyRatio = 0.7',\n  },\n  {\n    type: 'float',\n    addedEP: '59',\n    added: 'FIX.5.0',\n    name: 'LegCurrencyRatio',\n    id: 1383,\n    abbrName: 'LegCurrencyRatio',\n    description:\n      'Specifies the currency ratio between the currency used for a multileg price and the currency used by the outright book defined by the leg. Example: Multileg quoted in EUR, outright leg in USD and 1 EUR = 0,7 USD then LegCurrencyRatio = 0.7',\n  },\n  {\n    type: 'ExecInstCodeSet',\n    addedEP: '59',\n    added: 'FIX.5.0',\n    name: 'LegExecInst',\n    id: 1384,\n    abbrName: 'LegExecInst',\n    description: 'Refer to ExecInst(18)\\n\\nSame values as ExecInst(18)',\n  },\n  {\n    type: 'ContingencyTypeCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '60',\n    added: 'FIX.5.0',\n    name: 'ContingencyType',\n    id: 1385,\n    abbrName: 'ContingencyType',\n    description: 'Defines the type of contingency.',\n  },\n  {\n    type: 'ListRejectReasonCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '60',\n    added: 'FIX.5.0',\n    name: 'ListRejectReason',\n    id: 1386,\n    abbrName: 'ListRejectReason',\n    description:\n      'Identifies the reason for rejection of a New Order List message. Note that OrdRejReason(103) is used if the rejection is based on properties of an individual order part of the List.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '61',\n    added: 'FIX.5.0',\n    name: 'NoTrdRepIndicators',\n    id: 1387,\n    abbrName: 'NoTrdRepIndicators',\n    description: 'Number of trade reporting indicators',\n  },\n  {\n    type: 'PartyRoleCodeSet',\n    addedEP: '61',\n    added: 'FIX.5.0',\n    name: 'TrdRepPartyRole',\n    id: 1388,\n    abbrName: 'PtyRole',\n    description:\n      'Identifies the type of party for trade reporting. Same values as PartyRole(452).',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '61',\n    added: 'FIX.5.0',\n    name: 'TrdRepIndicator',\n    id: 1389,\n    abbrName: 'TrdRepInd',\n    description:\n      'Specifies whether the trade should be reported (or not) to parties of the provided TrdRepPartyRole(1388). Used to override standard reporting behavior by the receiver of the trade report and thereby complements the PublTrdIndicator( tag1390).',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'TradePublishIndicatorCodeSet',\n    addedEP: '61',\n    updatedEP: '229',\n    added: 'FIX.5.0',\n    name: 'TradePublishIndicator',\n    id: 1390,\n    abbrName: 'TrdPubInd',\n    description:\n      'Indicates if a trade should be or has been published via a market publication service. The indicator governs all publication services of the recipient. Replaces PublishTrdIndicator(852).',\n  },\n  {\n    type: 'String',\n    addedEP: '63',\n    added: 'FIX.5.0',\n    name: 'ApplReqID',\n    id: 1346,\n    abbrName: 'ApplReqID',\n    description: 'Unique identifier for request',\n  },\n  {\n    type: 'ApplReqTypeCodeSet',\n    addedEP: '63',\n    added: 'FIX.5.0',\n    name: 'ApplReqType',\n    id: 1347,\n    abbrName: 'ApplReqTyp',\n    description: 'Type of Application Message Request being made.',\n  },\n  {\n    type: 'ApplResponseTypeCodeSet',\n    addedEP: '63',\n    added: 'FIX.5.0',\n    name: 'ApplResponseType',\n    id: 1348,\n    abbrName: 'ApplRespTyp',\n    description: 'Used to indicate the type of acknowledgement being sent.',\n  },\n  {\n    type: 'int',\n    addedEP: '63',\n    added: 'FIX.5.0',\n    name: 'ApplTotalMessageCount',\n    id: 1349,\n    abbrName: 'ApplTotMsgCnt',\n    description: 'Total number of messages included in transmission.',\n  },\n  {\n    type: 'SeqNum',\n    addedEP: '63',\n    added: 'FIX.5.0',\n    name: 'ApplLastSeqNum',\n    id: 1350,\n    abbrName: 'ApplLastSeqNum',\n    description: 'Application sequence number of last message in transmission',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '63',\n    added: 'FIX.5.0',\n    name: 'NoApplIDs',\n    id: 1351,\n    abbrName: 'NoApplIDs',\n    description: 'Specifies number of application id occurrences',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '63',\n    added: 'FIX.5.0',\n    name: 'ApplResendFlag',\n    id: 1352,\n    abbrName: 'ApplResendFlag',\n    description:\n      \"Used to indicate that a message is being sent in response to an Application Message Request. It is possible for both ApplResendFlag and PossDupFlag to be set on the same message if the Sender's cache size is greater than zero and the message is being resent due to a session level resend request\",\n  },\n  {\n    type: 'String',\n    addedEP: '63',\n    added: 'FIX.5.0',\n    name: 'ApplResponseID',\n    id: 1353,\n    abbrName: 'ApplRespID',\n    description: 'Identifier for the Applicaton Message Request Ack',\n  },\n  {\n    type: 'ApplResponseErrorCodeSet',\n    addedEP: '63',\n    added: 'FIX.5.0',\n    name: 'ApplResponseError',\n    id: 1354,\n    abbrName: 'ApplRespErr',\n    description:\n      'Used to return an error code or text associated with a response to an Application Request.',\n  },\n  {\n    type: 'String',\n    addedEP: '63',\n    added: 'FIX.5.0',\n    name: 'RefApplID',\n    id: 1355,\n    abbrName: 'RefApplID',\n    description:\n      'Reference to the unique application identifier which corresponds to ApplID(1180) from the Application Sequence Group component',\n  },\n  {\n    type: 'String',\n    addedEP: '63',\n    added: 'FIX.5.0',\n    name: 'ApplReportID',\n    id: 1356,\n    abbrName: 'ApplRptID',\n    description: 'Identifier for the Application Sequence Reset',\n  },\n  {\n    type: 'SeqNum',\n    addedEP: '63',\n    added: 'FIX.5.0',\n    name: 'RefApplLastSeqNum',\n    id: 1357,\n    abbrName: 'RefApplLastSeqNum',\n    description: 'Application sequence number of last message in transmission.',\n  },\n  {\n    type: 'SeqNum',\n    addedEP: '63',\n    added: 'FIX.5.0',\n    name: 'ApplNewSeqNum',\n    id: 1399,\n    abbrName: 'ApplNewSeqNum',\n    description: 'Used to specify a new application sequence number.',\n  },\n  {\n    abbrName: 'ApplRptTyp',\n    type: 'ApplReportTypeCodeSet',\n    added: 'FIX.5.0SP2',\n    name: 'ApplReportType',\n    id: 1426,\n    description: 'Type of report',\n  },\n  {\n    type: 'PartySubIDTypeCodeSet',\n    addedEP: '69',\n    added: 'FIX.5.0',\n    name: 'Nested4PartySubIDType',\n    id: 1411,\n    abbrName: 'Typ',\n    description: 'Refer to definition of PartySubIDType(803)',\n  },\n  {\n    type: 'String',\n    addedEP: '69',\n    added: 'FIX.5.0',\n    name: 'Nested4PartySubID',\n    id: 1412,\n    abbrName: 'ID',\n    description: 'Refer to definition of PartySubID(523)',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'NumInGroup',\n    addedEP: '69',\n    updatedEP: '275',\n    added: 'FIX.5.0',\n    name: 'NoNested4PartySubIDs',\n    id: 1413,\n    abbrName: 'NoNested4PartySubIDs',\n    description: 'Refer to definition of NoPartySubIDs(802)',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'NumInGroup',\n    addedEP: '69',\n    updatedEP: '275',\n    added: 'FIX.5.0',\n    name: 'NoNested4PartyIDs',\n    id: 1414,\n    abbrName: 'NoNested4PartyIDs',\n    description: 'Refer to definition of NoPartyIDs(453)',\n  },\n  {\n    type: 'String',\n    addedEP: '69',\n    added: 'FIX.5.0',\n    name: 'Nested4PartyID',\n    id: 1415,\n    abbrName: 'ID',\n    discriminatorId: '1416',\n    description: 'Refer to definition of PartyID(448)',\n  },\n  {\n    type: 'PartyIDSourceCodeSet',\n    addedEP: '69',\n    added: 'FIX.5.0',\n    name: 'Nested4PartyIDSource',\n    id: 1416,\n    abbrName: 'Src',\n    description: 'Refer to definition of PartyIDSource(447)',\n  },\n  {\n    type: 'PartyRoleCodeSet',\n    addedEP: '69',\n    added: 'FIX.5.0',\n    name: 'Nested4PartyRole',\n    id: 1417,\n    abbrName: 'R',\n    description: 'Refer to definition of PartyRole(452)',\n  },\n  {\n    type: 'Qty',\n    addedEP: '72',\n    added: 'FIX.5.0',\n    name: 'LegLastQty',\n    id: 1418,\n    abbrName: 'LastQty',\n    description: 'Fill quantity for the leg instrument',\n  },\n  {\n    type: 'String',\n    addedEP: '77',\n    added: 'FIX.5.0SP1',\n    name: 'SideExecID',\n    id: 1427,\n    abbrName: 'SideExecID',\n    description:\n      'When reporting trades, used to reference the identifier of the execution (ExecID) being reported if different ExecIDs were assigned to each side of the trade.',\n  },\n  {\n    type: 'int',\n    addedEP: '77',\n    added: 'FIX.5.0SP1',\n    name: 'OrderDelay',\n    id: 1428,\n    abbrName: 'OrdDelay',\n    description:\n      'Time lapsed from order entry until match, based on the unit of time specified in OrderDelayUnit. Default is seconds if OrderDelayUnit is not specified. Value = 0, indicates the aggressor (the initiating side of the trade).',\n  },\n  {\n    type: 'OrderDelayUnitCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '77',\n    added: 'FIX.5.0SP1',\n    name: 'OrderDelayUnit',\n    id: 1429,\n    abbrName: 'OrdDelayUnit',\n    description: 'Time unit in which the OrderDelay(1428) is expressed',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'VenueTypeCodeSet',\n    addedEP: '77',\n    updatedEP: '286',\n    added: 'FIX.5.0SP1',\n    name: 'VenueType',\n    id: 1430,\n    abbrName: 'VenuTyp',\n    description: 'Identifies the type of venue where a trade was executed.',\n  },\n  {\n    type: 'RefOrdIDReasonCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '77',\n    added: 'FIX.5.0SP1',\n    name: 'RefOrdIDReason',\n    id: 1431,\n    abbrName: 'RefOrdIDRsn',\n    description: 'The reason for updating the RefOrdID',\n  },\n  {\n    type: 'OrigCustOrderCapacityCodeSet',\n    addedEP: '77',\n    added: 'FIX.5.0SP1',\n    name: 'OrigCustOrderCapacity',\n    id: 1432,\n    abbrName: 'OrigCustOrdCpcty',\n    description:\n      'The customer capacity for this trade at the time of the order/execution.\\n\\nPrimarily used by futures exchanges to indicate the CTICode (customer type indicator) as required by the US CFTC (Commodity Futures Trading Commission).',\n  },\n  {\n    type: 'String',\n    addedEP: '78',\n    added: 'FIX.5.0SP1',\n    name: 'RefApplReqID',\n    id: 1433,\n    abbrName: 'RefID',\n    description:\n      'Used to reference a previously submitted ApplReqID (1346) from within a subsequent ApplicationMessageRequest(MsgType=BW)',\n  },\n  {\n    type: 'ModelTypeCodeSet',\n    addedEP: '79',\n    added: 'FIX.5.0SP1',\n    name: 'ModelType',\n    id: 1434,\n    abbrName: 'ModelTyp',\n    description: 'Type of pricing model used',\n  },\n  {\n    type: 'ContractMultiplierUnitCodeSet',\n    addedEP: '80',\n    added: 'FIX.5.0SP1',\n    name: 'ContractMultiplierUnit',\n    id: 1435,\n    abbrName: 'MultTyp',\n    description:\n      'Indicates the type of multiplier being applied to the contract. Can be optionally used to further define what unit ContractMultiplier(tag 231) is expressed in.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'ContractMultiplierUnitCodeSet',\n    addedEP: '80',\n    updatedEP: '271',\n    added: 'FIX.5.0SP1',\n    name: 'LegContractMultiplierUnit',\n    id: 1436,\n    abbrName: 'MultTyp',\n    description:\n      'Indicates the type of multiplier being applied to the contract. Can be optionally used to further define what unit LegContractMultiplier(614) is expressed in.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'ContractMultiplierUnitCodeSet',\n    addedEP: '80',\n    updatedEP: '204',\n    added: 'FIX.5.0SP1',\n    name: 'UnderlyingContractMultiplierUnit',\n    id: 1437,\n    abbrName: 'MultTyp',\n    description:\n      'Indicates the type of multiplier being applied to the contract.\\n\\nCan be optionally used to further define what unit UnderlyingContractMultiplier(436) is expressed in.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'ContractMultiplierUnitCodeSet',\n    addedEP: '80',\n    updatedEP: '271',\n    added: 'FIX.5.0SP1',\n    name: 'DerivativeContractMultiplierUnit',\n    id: 1438,\n    abbrName: 'MultTyp',\n    description:\n      'Indicates the type of multiplier being applied to the contract. Can be optionally used to further define what unit DerivativeContractMultiplier(1266)is expressed in.\\n\\nSee ContractMultiplierUnit(1435) for complete definition.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'FlowScheduleTypeCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '80',\n    updatedEP: '238',\n    added: 'FIX.5.0SP1',\n    name: 'FlowScheduleType',\n    id: 1439,\n    abbrName: 'FlowSchedTyp',\n    description:\n      'The industry standard flow schedule by which electricity or natural gas is traded. Schedules may exist by regions and on-peak and off-peak status, such as \"Western Peak\".',\n  },\n  {\n    type: 'FlowScheduleTypeCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '80',\n    added: 'FIX.5.0SP1',\n    name: 'LegFlowScheduleType',\n    id: 1440,\n    abbrName: 'FlowSchedTyp',\n    description:\n      'The industry standard flow schedule by which electricity or natural gas is traded. Schedules exist by regions and on-peak and off-peak status, such as \"Western Peak\".',\n  },\n  {\n    type: 'FlowScheduleTypeCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '80',\n    added: 'FIX.5.0SP1',\n    name: 'UnderlyingFlowScheduleType',\n    id: 1441,\n    abbrName: 'FlowSchedTyp',\n    description:\n      'The industry standard flow schedule by which electricity or natural gas is traded. Schedules exist by regions and on-peak and off-peak status, such as \"Western Peak\".',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'FlowScheduleTypeCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '80',\n    updatedEP: '271',\n    added: 'FIX.5.0SP1',\n    name: 'DerivativeFlowScheduleType',\n    id: 1442,\n    abbrName: 'FlowSchedTyp',\n    description:\n      'The industry standard flow schedule by which electricity or natural gas is traded. Schedules exist by regions and on-peak and off-peak status, such as \"Western Peak\".\\n\\nSee FlowScheduleType(1439) for complete definition.',\n  },\n  {\n    type: 'LastLiquidityIndCodeSet',\n    addedEP: '81',\n    added: 'FIX.5.0SP1',\n    name: 'FillLiquidityInd',\n    id: 1443,\n    abbrName: 'LqdtyInd',\n    description:\n      'Indicator to identify whether this fill was a result of a liquidity provider providing or liquidity taker taking the liquidity. Applicable only for OrdStatus of Partial or Filled',\n  },\n  {\n    type: 'LastLiquidityIndCodeSet',\n    addedEP: '81',\n    added: 'FIX.5.0SP1',\n    name: 'SideLiquidityInd',\n    id: 1444,\n    abbrName: 'LqdtyInd',\n    description:\n      'Indicator to identify whether this fill was a result of a liquidity provider providing or liquidity taker taking the liquidity. Applicable only for OrdStatus of Partial or Filled.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '82',\n    added: 'FIX.5.0SP1',\n    name: 'NoRateSources',\n    id: 1445,\n    abbrName: 'NoRtSrc',\n    description: 'Number of rate sources being specified.',\n  },\n  {\n    type: 'RateSourceCodeSet',\n    addedEP: '82',\n    added: 'FIX.5.0SP1',\n    name: 'RateSource',\n    id: 1446,\n    abbrName: 'RtSrc',\n    description:\n      'Identifies the source of rate information.\\n\\nFor FX, the reference source to be used for the FX spot rate.',\n  },\n  {\n    type: 'RateSourceTypeCodeSet',\n    addedEP: '82',\n    added: 'FIX.5.0SP1',\n    name: 'RateSourceType',\n    id: 1447,\n    abbrName: 'RtSrcTyp',\n    description:\n      'Indicates whether the rate source specified is a primary or secondary source.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'String',\n    addedEP: '82',\n    updatedEP: '161',\n    added: 'FIX.5.0SP1',\n    name: 'ReferencePage',\n    id: 1448,\n    abbrName: 'RefPg',\n    description:\n      'Identifies the reference \"page\" from the rate source.\\n\\nFor FX, the reference page to the spot rate to be used for the reference FX spot rate.\\n\\nWhen RateSource(1446) = 3 (ISDA Settlement Rate Option) this contains the value from the scheme that reflects the terms of the Annex A to the ISDA 1998 FX and Currency Option Definitions. See: http://www.fpml.org/coding-scheme/settlement-rate-option',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'RestructuringTypeCodeSet',\n    addedEP: '83',\n    updatedEP: '169',\n    added: 'FIX.5.0SP1',\n    name: 'RestructuringType',\n    id: 1449,\n    abbrName: 'RestrctTyp',\n    description:\n      'A category of CDS credit event in which the underlying bond experiences a restructuring.\\n\\nUsed to define a CDS instrument.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'SeniorityCodeSet',\n    addedEP: '83',\n    updatedEP: '235',\n    added: 'FIX.5.0SP1',\n    name: 'Seniority',\n    id: 1450,\n    abbrName: 'Snrty',\n    description:\n      'Specifies which issue (underlying bond) will receive payment priority in the event of a default.\\n\\nUsed to define a CDS instrument.\\n\\nThe payment priority is this: Senior Secured (SD), Senior (SR), Senior Non-Preferred (SN), Subordinated (SB), Mezzanine (MZ), Junior (JR).',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '83',\n    added: 'FIX.5.0SP1',\n    name: 'NotionalPercentageOutstanding',\n    id: 1451,\n    abbrName: 'NotlPctOut',\n    description:\n      'Indicates the notional percentage of the deal that is still outstanding based on the remaining components of the index.\\n\\nUsed to calculate the true value of a CDS trade or position.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '83',\n    added: 'FIX.5.0SP1',\n    name: 'OriginalNotionalPercentageOutstanding',\n    id: 1452,\n    abbrName: 'OrigNotlPctOut',\n    description:\n      'Used to reflect the Original value prior to the application of a credit event. See NotionalPercentageOutstanding(1451).',\n  },\n  {\n    type: 'RestructuringTypeCodeSet',\n    addedEP: '83',\n    added: 'FIX.5.0SP1',\n    name: 'UnderlyingRestructuringType',\n    id: 1453,\n    abbrName: 'RestrctTyp',\n    description: 'See RestructuringType(1449)',\n  },\n  {\n    type: 'SeniorityCodeSet',\n    addedEP: '83',\n    added: 'FIX.5.0SP1',\n    name: 'UnderlyingSeniority',\n    id: 1454,\n    abbrName: 'Snrty',\n    description: 'See Seniority(1450)',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '83',\n    added: 'FIX.5.0SP1',\n    name: 'UnderlyingNotionalPercentageOutstanding',\n    id: 1455,\n    abbrName: 'NotlPctOut',\n    description: 'See NotionalPercentageOutstanding(1451)',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '83',\n    added: 'FIX.5.0SP1',\n    name: 'UnderlyingOriginalNotionalPercentageOutstanding',\n    id: 1456,\n    abbrName: 'OrigNotlPctOut',\n    description: 'See OriginalNotionalPercentageOutstanding(1452)',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '83',\n    added: 'FIX.5.0SP1',\n    name: 'AttachmentPoint',\n    id: 1457,\n    abbrName: 'AttchPnt',\n    description: 'Lower bound percentage of the loss that the tranche can endure.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '83',\n    added: 'FIX.5.0SP1',\n    name: 'DetachmentPoint',\n    id: 1458,\n    abbrName: 'DetchPnt',\n    description: 'Upper bound percentage of the loss the tranche can endure.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '83',\n    added: 'FIX.5.0SP1',\n    name: 'UnderlyingAttachmentPoint',\n    id: 1459,\n    abbrName: 'AttchPnt',\n    description: 'See AttachmentPoint(1457).',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '83',\n    added: 'FIX.5.0SP1',\n    name: 'UnderlyingDetachmentPoint',\n    id: 1460,\n    abbrName: 'DetchPnt',\n    description: 'See DetachmentPoint(1458).',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '85',\n    added: 'FIX.5.0SP1',\n    name: 'NoTargetPartyIDs',\n    id: 1461,\n    description: 'Identifies the number of target parties identified in a mass action.',\n  },\n  {\n    type: 'String',\n    addedEP: '85',\n    added: 'FIX.5.0SP1',\n    name: 'TargetPartyID',\n    id: 1462,\n    abbrName: 'ID',\n    discriminatorId: '1463',\n    description: 'PartyID value within an target party repeating group.',\n  },\n  {\n    type: 'PartyIDSourceCodeSet',\n    addedEP: '85',\n    added: 'FIX.5.0SP1',\n    name: 'TargetPartyIDSource',\n    id: 1463,\n    abbrName: 'Src',\n    description:\n      'PartyIDSource value within an target party repeating group.\\n\\nSame values as PartyIDSource (447)',\n  },\n  {\n    type: 'PartyRoleCodeSet',\n    addedEP: '85',\n    added: 'FIX.5.0SP1',\n    name: 'TargetPartyRole',\n    id: 1464,\n    abbrName: 'R',\n    description:\n      'PartyRole value within an target party repeating group.\\n\\nSame values as PartyRole (452)',\n  },\n  {\n    type: 'String',\n    addedEP: '87',\n    added: 'FIX.5.0SP1',\n    name: 'SecurityListID',\n    id: 1465,\n    abbrName: 'ListID',\n    description: 'Specifies an identifier for a Security List',\n  },\n  {\n    type: 'String',\n    addedEP: '87',\n    added: 'FIX.5.0SP1',\n    name: 'SecurityListRefID',\n    id: 1466,\n    abbrName: 'ListRefID',\n    description:\n      'Specifies a reference from one Security List to another. Used to support a hierarchy of Security Lists.',\n  },\n  {\n    type: 'String',\n    addedEP: '87',\n    added: 'FIX.5.0SP1',\n    name: 'SecurityListDesc',\n    id: 1467,\n    abbrName: 'ListDesc',\n    description: 'Specifies a description or name of a Security List.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'Length',\n    addedEP: '87',\n    updatedEP: '271',\n    added: 'FIX.5.0SP1',\n    name: 'EncodedSecurityListDescLen',\n    id: 1468,\n    abbrName: 'EncListDescLen',\n    description:\n      'Byte length of encoded (non-ASCII characters) EncodedSecurityListDesc(1469) field.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'data',\n    addedEP: '87',\n    updatedEP: '271',\n    added: 'FIX.5.0SP1',\n    name: 'EncodedSecurityListDesc',\n    id: 1469,\n    abbrName: 'EncListDesc',\n    lengthId: '1468',\n    description:\n      'Encoded (non-ASCII characters) representation of the SecurityListDesc(1467) field in the encoded format specified via the MessageEncoding(347) field. If used, the ASCII (English) representation should also be specified in the SecurityListDesc(1467) field.',\n  },\n  {\n    type: 'SecurityListTypeCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '87',\n    added: 'FIX.5.0SP1',\n    name: 'SecurityListType',\n    id: 1470,\n    abbrName: 'ListTyp',\n    discriminatorId: '1471',\n    description: 'Specifies a type of Security List.',\n  },\n  {\n    type: 'SecurityListTypeSourceCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '87',\n    added: 'FIX.5.0SP1',\n    name: 'SecurityListTypeSource',\n    id: 1471,\n    abbrName: 'LstTypSrc',\n    description:\n      'Specifies a specific source for a SecurityListType. Relevant when a certain type can be provided from various sources.',\n  },\n  {\n    type: 'String',\n    addedEP: '90',\n    added: 'FIX.5.0SP1',\n    name: 'NewsID',\n    id: 1472,\n    abbrName: 'ID',\n    description: 'Unique identifier for a News message',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'NewsCategoryCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '90',\n    updatedEP: '271',\n    added: 'FIX.5.0SP1',\n    name: 'NewsCategory',\n    id: 1473,\n    abbrName: 'NewsCatgy',\n    description: 'Category of news message.',\n  },\n  {\n    type: 'Language',\n    addedEP: '90',\n    added: 'FIX.5.0SP1',\n    name: 'LanguageCode',\n    id: 1474,\n    abbrName: 'LangCd',\n    description: 'The national language in which the news item is provided.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '90',\n    added: 'FIX.5.0SP1',\n    name: 'NoNewsRefIDs',\n    id: 1475,\n    description: 'Number of News reference items',\n  },\n  {\n    type: 'String',\n    addedEP: '90',\n    added: 'FIX.5.0SP1',\n    name: 'NewsRefID',\n    id: 1476,\n    abbrName: 'RefID',\n    description: 'Reference to another News message identified by NewsID(1474).',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'NewsRefTypeCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '90',\n    updatedEP: '190',\n    added: 'FIX.5.0SP1',\n    name: 'NewsRefType',\n    id: 1477,\n    abbrName: 'RefTyp',\n    description: 'Type of reference to another News(35=B) message item.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'StrikePriceDeterminationMethodCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '92',\n    updatedEP: '169',\n    added: 'FIX.5.0SP1',\n    name: 'StrikePriceDeterminationMethod',\n    id: 1478,\n    abbrName: 'StrkPxDtrmnMeth',\n    description:\n      'Specifies how the strike price is determined at the point of option exercise. The strike may be fixed throughout the life of the option, set at expiration to the value of the underlying, set to the average value of the underlying , or set to the optimal value of the underlying.',\n  },\n  {\n    type: 'StrikePriceBoundaryMethodCodeSet',\n    addedEP: '92',\n    added: 'FIX.5.0SP1',\n    name: 'StrikePriceBoundaryMethod',\n    id: 1479,\n    abbrName: 'StrkPxBndryMeth',\n    description:\n      'Specifies the boundary condition to be used for the strike price relative to the underlying price at the point of option exercise.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '92',\n    added: 'FIX.5.0SP1',\n    name: 'StrikePriceBoundaryPrecision',\n    id: 1480,\n    abbrName: 'StrkPxBndryPrcsn',\n    description:\n      'Used in combination with StrikePriceBoundaryMethod to specify the percentage of the strike price in relation to the underlying price. The percentage is generally 100 or greater for puts and 100 or less for calls.',\n  },\n  {\n    type: 'UnderlyingPriceDeterminationMethodCodeSet',\n    addedEP: '92',\n    added: 'FIX.5.0SP1',\n    name: 'UnderlyingPriceDeterminationMethod',\n    id: 1481,\n    abbrName: 'PxDtrmnMeth',\n    description:\n      'Specifies how the underlying price is determined at the point of option exercise. The underlying price may be set to the current settlement price, set to a special reference, set to the optimal value of the underlying during the defined period (\"Look-back\") or set to the average value of the underlying during the defined period (\"Asian option\").',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'OptPayoutTypeCodeSet',\n    addedEP: '92',\n    updatedEP: '238',\n    added: 'FIX.5.0SP1',\n    name: 'OptPayoutType',\n    id: 1482,\n    abbrName: 'OptPayoutTyp',\n    description:\n      'Indicates the type of valuation method or payout trigger for an in-the-money option.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '92',\n    added: 'FIX.5.0SP1',\n    name: 'NoComplexEvents',\n    id: 1483,\n    description: 'Number of complex event occurrences.',\n  },\n  {\n    type: 'ComplexEventTypeCodeSet',\n    addedEP: '92',\n    added: 'FIX.5.0SP1',\n    name: 'ComplexEventType',\n    id: 1484,\n    abbrName: 'Typ',\n    description: 'Identifies the type of complex event.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '92',\n    added: 'FIX.5.0SP1',\n    name: 'ComplexOptPayoutAmount',\n    id: 1485,\n    abbrName: 'OptPayAmt',\n    description:\n      'Cash amount indicating the pay out associated with an event. For binary options this is a fixed amount.',\n  },\n  {\n    type: 'Price',\n    addedEP: '92',\n    added: 'FIX.5.0SP1',\n    name: 'ComplexEventPrice',\n    id: 1486,\n    abbrName: 'Px',\n    description:\n      'Specifies the price at which the complex event takes effect. Impact of the event price is determined by the ComplexEventType(1484).',\n  },\n  {\n    type: 'ComplexEventPriceBoundaryMethodCodeSet',\n    addedEP: '92',\n    added: 'FIX.5.0SP1',\n    name: 'ComplexEventPriceBoundaryMethod',\n    id: 1487,\n    abbrName: 'PxBndryMeth',\n    description:\n      'Specifies the boundary condition to be used for the event price relative to the underlying price at the point the complex event outcome takes effect as determined by the ComplexEventPriceTimeType.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '92',\n    added: 'FIX.5.0SP1',\n    name: 'ComplexEventPriceBoundaryPrecision',\n    id: 1488,\n    abbrName: 'PxBndryPrcsn',\n    description:\n      'Used in combination with ComplexEventPriceBoundaryMethod to specify the percentage of the strike price in relation to the underlying price. The percentage is generally 100 or greater for puts and 100 or less for calls.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'ComplexEventPriceTimeTypeCodeSet',\n    addedEP: '92',\n    updatedEP: '169',\n    added: 'FIX.5.0SP1',\n    name: 'ComplexEventPriceTimeType',\n    id: 1489,\n    abbrName: 'PxTmTyp',\n    description:\n      'Specifies when the complex event outcome takes effect. The outcome of a complex event is a payout or barrier action as specified by the ComplexEventType(1484).',\n  },\n  {\n    type: 'ComplexEventConditionCodeSet',\n    addedEP: '92',\n    added: 'FIX.5.0SP1',\n    name: 'ComplexEventCondition',\n    id: 1490,\n    abbrName: 'Cond',\n    description:\n      'Specifies the condition between complex events when more than one event is specified.\\n\\nMultiple barrier events would use an \"or\" condition since only one can be effective at a given time. A set of digital range events would use an \"and\" condition since both conditions must be in effect for a payout to result.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '92',\n    added: 'FIX.5.0SP1',\n    name: 'NoComplexEventDates',\n    id: 1491,\n    description: 'Number of complex event date occurrences for a given complex event.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'UTCDateOnly',\n    addedEP: '92',\n    updatedEP: '195',\n    added: 'FIX.5.0SP1',\n    name: 'ComplexEventStartDate',\n    id: 1492,\n    abbrName: 'StartDt',\n    description:\n      'Specifies the start date of the date range on which a complex event is effective. The start date will be set equal to the end date for single day events such as Bermuda options\\n\\nComplexEventStartDate must always be less than or equal to ComplexEventEndDate.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'UTCDateOnly',\n    addedEP: '92',\n    updatedEP: '195',\n    added: 'FIX.5.0SP1',\n    name: 'ComplexEventEndDate',\n    id: 1493,\n    abbrName: 'EndDt',\n    description:\n      'Specifies the end date of the date range on which a complex event is effective. The start date will be set equal to the end date for single day events such as Bermuda options\\n\\nComplexEventEndDate must always be greater than or equal to ComplexEventStartDate.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '92',\n    added: 'FIX.5.0SP1',\n    name: 'NoComplexEventTimes',\n    id: 1494,\n    description:\n      'Number of complex event time occurrences for a given complex event date\\n\\nThe default in case of an absence of time fields is 00:00:00-23:59:59.',\n  },\n  {\n    type: 'UTCTimeOnly',\n    addedEP: '92',\n    added: 'FIX.5.0SP1',\n    name: 'ComplexEventStartTime',\n    id: 1495,\n    abbrName: 'StartTm',\n    description:\n      'Specifies the start time of the time range on which a complex event date is effective.\\n\\nComplexEventStartTime must always be less than or equal to ComplexEventEndTime.',\n  },\n  {\n    type: 'UTCTimeOnly',\n    addedEP: '92',\n    added: 'FIX.5.0SP1',\n    name: 'ComplexEventEndTime',\n    id: 1496,\n    abbrName: 'EndTm',\n    description:\n      'Specifies the end time of the time range on which a complex event date is effective.\\n\\nComplexEventEndTime must always be greater than or equal to ComplexEventStartTime.',\n  },\n  {\n    type: 'String',\n    addedEP: '93',\n    added: 'FIX.5.0SP1',\n    name: 'StreamAsgnReqID',\n    id: 1497,\n    abbrName: 'ReqID',\n    description:\n      'Unique identifier for the stream assignment request provided by the requester.',\n  },\n  {\n    type: 'StreamAsgnReqTypeCodeSet',\n    addedEP: '93',\n    added: 'FIX.5.0SP1',\n    name: 'StreamAsgnReqType',\n    id: 1498,\n    abbrName: 'AsgnReqTyp',\n    description: 'Type of stream assignment request.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '93',\n    added: 'FIX.5.0SP1',\n    name: 'NoAsgnReqs',\n    id: 1499,\n    description: 'Number of assignment requests.',\n  },\n  {\n    type: 'String',\n    addedEP: '93',\n    added: 'FIX.5.0SP1',\n    name: 'MDStreamID',\n    id: 1500,\n    abbrName: 'MDStrmID',\n    description: 'The identifier or name of the price stream.',\n  },\n  {\n    type: 'String',\n    addedEP: '93',\n    added: 'FIX.5.0SP1',\n    name: 'StreamAsgnRptID',\n    id: 1501,\n    abbrName: 'RptID',\n    description:\n      'Unique identifier of the stream assignment report provided by the respondent.',\n  },\n  {\n    type: 'StreamAsgnRejReasonCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '93',\n    added: 'FIX.5.0SP1',\n    name: 'StreamAsgnRejReason',\n    id: 1502,\n    abbrName: 'RejRsn',\n    description: 'Reason code for stream assignment request reject.',\n  },\n  {\n    type: 'StreamAsgnAckTypeCodeSet',\n    addedEP: '93',\n    added: 'FIX.5.0SP1',\n    name: 'StreamAsgnAckType',\n    id: 1503,\n    abbrName: 'ActTyp',\n    description: 'Type of acknowledgement.',\n  },\n  {\n    type: 'StreamAsgnTypeCodeSet',\n    addedEP: '93',\n    added: 'FIX.5.0SP1',\n    name: 'StreamAsgnType',\n    id: 1617,\n    abbrName: 'AsgnTyp',\n    description: 'The type of assignment being affected in the Stream Assignment Report.',\n  },\n  {\n    type: 'UTCTimestamp',\n    addedEP: '94',\n    added: 'FIX.5.0SP1',\n    name: 'RelSymTransactTime',\n    id: 1504,\n    abbrName: 'TxnTm',\n    description: 'See TransactTime(60)',\n  },\n  {\n    type: 'String',\n    addedEP: '98',\n    added: 'FIX.5.0SP2',\n    name: 'FillYieldType',\n    id: 1622,\n    abbrName: 'Typ',\n    description: 'Yield Type, using same values as YieldType (235)',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '98',\n    added: 'FIX.5.0SP2',\n    name: 'FillYield',\n    id: 1623,\n    abbrName: 'Yld',\n    description: 'Yield Percentage, using same values as Yield (236)',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '99',\n    added: 'FIX.5.0SP2',\n    name: 'NoMatchInst',\n    id: 1624,\n    description: 'Number of Instructions in the <MatchingInstructions> repeating group.',\n  },\n  {\n    type: 'MatchInstCodeSet',\n    addedEP: '99',\n    added: 'FIX.5.0SP2',\n    name: 'MatchInst',\n    id: 1625,\n    abbrName: 'Inst',\n    description: 'Matching Instruction for the order.',\n  },\n  {\n    type: 'TagNum',\n    addedEP: '99',\n    added: 'FIX.5.0SP2',\n    name: 'MatchAttribTagID',\n    id: 1626,\n    abbrName: 'ID',\n    description:\n      'Existing FIX field to be applied as a matching criteria to the instruction, bilaterally agreed between parties.',\n  },\n  {\n    type: 'String',\n    addedEP: '99',\n    added: 'FIX.5.0SP2',\n    name: 'MatchAttribValue',\n    id: 1627,\n    abbrName: 'Valu',\n    description:\n      'Value of MatchAttribTagID(1626) on which to apply the matching instruction.',\n  },\n  {\n    type: 'Exchange',\n    addedEP: '99',\n    added: 'FIX.5.0SP2',\n    name: 'MatchInstMarketID',\n    id: 1673,\n    abbrName: 'MktID',\n    description: 'Identifies the market to which the matching instruction applies.',\n  },\n  {\n    type: 'TriggerScopeCodeSet',\n    addedEP: '100',\n    added: 'FIX.5.0SP2',\n    name: 'TriggerScope',\n    id: 1628,\n    abbrName: 'TrgrScope',\n    description:\n      'Defines the scope of TriggerAction(1101) when it is set to \"cancel\" (3).',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'int',\n    addedEP: '100',\n    updatedEP: '159',\n    added: 'FIX.5.0SP2',\n    name: 'ExposureDuration',\n    id: 1629,\n    abbrName: 'ExpsreDur',\n    description:\n      'This is the time in seconds of a \"Good for Time\" (GFT) TimeInForce.\\n\\nPositive integer value which represents the time is seconds in which the new order remains active in the market before it is automatically cancelled (e.g. expired).\\n\\nBi-lateral agreements will dictate the maximum value of this field. It is assumed that most systems will impose a max limit of 86,400 seconds (i.e. 24 hours).\\n\\nFor Quotes: The period of time a quoted price is tradable(i.e. on-the-wire) before it becomes indicative (i.e. off-the-wire).',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '100',\n    added: 'FIX.5.0SP2',\n    name: 'NoLimitAmts',\n    id: 1630,\n    abbrName: 'NoLmtAmts',\n    description: 'The number of limit amount entries.',\n  },\n  {\n    type: 'LimitAmtTypeCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '100',\n    added: 'FIX.5.0SP2',\n    name: 'LimitAmtType',\n    id: 1631,\n    abbrName: 'LmtAmtTyp',\n    description:\n      'Identifies the type of limit amount expressed in LastLimitAmt(1632) and LimitAmtRemaining(1633).',\n  },\n  {\n    type: 'Amt',\n    addedEP: '100',\n    added: 'FIX.5.0SP2',\n    name: 'LastLimitAmt',\n    id: 1632,\n    abbrName: 'LastLmtAmt',\n    description:\n      'The amount that has been drawn down against the counterparty for a given trade. The type of limit is specified in LimitAmtType(1631).\\n\\nBilateral agreements dictate the units and maximum value of this field.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '100',\n    added: 'FIX.5.0SP2',\n    name: 'LimitAmtRemaining',\n    id: 1633,\n    abbrName: 'LmtAmtRem',\n    description:\n      'The remaining limit amount available between the counterparties. The type of limit is specified in LimitAmtType(1631).\\n\\nBilateral agreements dictate the units and maximum value of this field.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'Currency',\n    addedEP: '100',\n    updatedEP: '273',\n    added: 'FIX.5.0SP2',\n    name: 'LimitAmtCurrency',\n    id: 1634,\n    abbrName: 'LmtAmtCcy',\n    description: 'Indicates the currency that the limit amount is specified in.',\n  },\n  {\n    type: 'String',\n    addedEP: '102',\n    added: 'FIX.5.0SP2',\n    name: 'MarginReqmtInqID',\n    id: 1635,\n    abbrName: 'ID',\n    description: 'Unique identifier of the MarginRequirementInquiry.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '102',\n    added: 'FIX.5.0SP2',\n    name: 'NoMarginReqmtInqQualifier',\n    id: 1636,\n    description: 'Number of margin requirement inquiry qualifiers.',\n  },\n  {\n    type: 'MarginReqmtInqQualifierCodeSet',\n    addedEP: '102',\n    added: 'FIX.5.0SP2',\n    name: 'MarginReqmtInqQualifier',\n    id: 1637,\n    abbrName: 'Qual',\n    description: 'Qualifier for MarginRequirementInquiry to identify a specific report.',\n  },\n  {\n    type: 'MarginReqmtRptTypeCodeSet',\n    addedEP: '102',\n    added: 'FIX.5.0SP2',\n    name: 'MarginReqmtRptType',\n    id: 1638,\n    abbrName: 'RptTyp',\n    description: 'Type of MarginRequirementReport.',\n  },\n  {\n    type: 'String',\n    addedEP: '102',\n    added: 'FIX.5.0SP2',\n    name: 'MarginClass',\n    id: 1639,\n    abbrName: 'Clss',\n    description: 'Identifier for group of instruments with similar risk profile.',\n  },\n  {\n    type: 'CollInquiryStatusCodeSet',\n    addedEP: '102',\n    added: 'FIX.5.0SP2',\n    name: 'MarginReqmtInqStatus',\n    id: 1640,\n    abbrName: 'Stat',\n    description: 'Status of MarginRequirementInquiry.',\n  },\n  {\n    type: 'MarginReqmtInqResultCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '102',\n    added: 'FIX.5.0SP2',\n    name: 'MarginReqmtInqResult',\n    id: 1641,\n    abbrName: 'Rslt',\n    description: 'Result returned in response to MarginRequirementInquiry.',\n  },\n  {\n    type: 'String',\n    addedEP: '102',\n    added: 'FIX.5.0SP2',\n    name: 'MarginReqmtRptID',\n    id: 1642,\n    abbrName: 'RptID',\n    description: 'Identifier for the MarginRequirementReport message.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '102',\n    added: 'FIX.5.0SP2',\n    name: 'NoMarginAmt',\n    id: 1643,\n    description: 'Number of margin requirement amounts.',\n  },\n  {\n    type: 'MarginAmtTypeCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '102',\n    added: 'FIX.5.0SP2',\n    name: 'MarginAmtType',\n    id: 1644,\n    abbrName: 'Typ',\n    description: 'Type of margin requirement amount being specified.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '102',\n    added: 'FIX.5.0SP2',\n    name: 'MarginAmt',\n    id: 1645,\n    abbrName: 'Amt',\n    description: 'Amount of margin requirement.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '102',\n    added: 'FIX.5.0SP2',\n    name: 'MarginAmtCcy',\n    id: 1646,\n    abbrName: 'Ccy',\n    description: 'Currency of the MarginAmt(1645).',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '103',\n    added: 'FIX.5.0SP2',\n    name: 'NoRelatedInstruments',\n    id: 1647,\n    description: 'Number of related instruments',\n  },\n  {\n    type: 'RelatedInstrumentTypeCodeSet',\n    addedEP: '103',\n    added: 'FIX.5.0SP2',\n    name: 'RelatedInstrumentType',\n    id: 1648,\n    abbrName: 'InstrmtTyp',\n    description: 'The type of instrument relationship',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'String',\n    addedEP: '103',\n    updatedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'RelatedSymbol',\n    id: 1649,\n    abbrName: 'Sym',\n    description:\n      'Ticker symbol of the related security. Common \"human understood\" representation of the security.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'String',\n    addedEP: '103',\n    updatedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'RelatedSecurityID',\n    id: 1650,\n    abbrName: 'ID',\n    discriminatorId: '1651',\n    description:\n      'Related security identifier value of RelatedSecurityIDSource(1651) type.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'SecurityIDSourceCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '103',\n    updatedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'RelatedSecurityIDSource',\n    id: 1651,\n    abbrName: 'Src',\n    description: 'Identifies class or source of the RelatedSecurityID (1650) value.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'SecurityTypeCodeSet',\n    addedEP: '103',\n    updatedEP: '271',\n    added: 'FIX.5.0SP2',\n    name: 'RelatedSecurityType',\n    id: 1652,\n    abbrName: 'SecTyp',\n    description: 'Security type of the related instrument.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'MonthYear',\n    addedEP: '103',\n    updatedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'RelatedMaturityMonthYear',\n    id: 1653,\n    abbrName: 'MMY',\n    description: 'Expiration date for the related instrument contract.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'Qty',\n    addedEP: '103',\n    updatedEP: '141',\n    added: 'FIX.5.0SP2',\n    name: 'CoveredQty',\n    id: 1654,\n    abbrName: 'CvrdQty',\n    description:\n      'Used to specify the portion of the short contract quantity that is considered covered (e.g. used for short option position).',\n  },\n  {\n    type: 'MarketMakerActivityCodeSet',\n    addedEP: '104',\n    added: 'FIX.5.0SP2',\n    name: 'MarketMakerActivity',\n    id: 1655,\n    abbrName: 'MktMkrActvty',\n    description: 'Indicates market maker participation in security.',\n  },\n  {\n    type: 'String',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'PartyDetailsListRequestID',\n    id: 1505,\n    abbrName: 'ReqID',\n    description: 'Unique identifier for PartyDetailsListRequest.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'NoRequestedPartyRoles',\n    id: 1508,\n    description: 'Number of requested party roles.',\n  },\n  {\n    type: 'PartyRoleCodeSet',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'RequestedPartyRole',\n    id: 1509,\n    abbrName: 'R',\n    description: 'Identifies the type or role of party that has been requested.',\n  },\n  {\n    type: 'String',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'PartyDetailsListReportID',\n    id: 1510,\n    abbrName: 'RptID',\n    description:\n      'Identifier for the PartyDetailsListReport and the PartyDetailsListUpdateReport.',\n  },\n  {\n    type: 'RequestResultCodeSet',\n    unionDataType: 'Reserved4000Plus',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'RequestResult',\n    id: 1511,\n    abbrName: 'ReqRslt',\n    description: 'Result of a request as identified by the appropriate request ID field',\n  },\n  {\n    type: 'int',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'TotNoParties',\n    id: 1512,\n    abbrName: 'TotNoPtys',\n    description: 'Total number of PartyListGrp returned.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'NoPartyRelationships',\n    id: 1514,\n    description: 'Number of party relationships.',\n  },\n  {\n    type: 'PartyRelationshipCodeSet',\n    unionDataType: 'Reserved4000Plus',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'PartyRelationship',\n    id: 1515,\n    abbrName: 'Rltnshp',\n    description: 'Used to specify the type of the party relationship.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'NoPartyDetailAltID',\n    id: 1516,\n    description: 'Number of party alternative identifiers.',\n  },\n  {\n    type: 'String',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'PartyDetailAltID',\n    id: 1517,\n    abbrName: 'ID',\n    discriminatorId: '1518',\n    description:\n      'An alternate party identifier for the party specified in PartyDetailID(1691)',\n  },\n  {\n    type: 'PartyIDSourceCodeSet',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'PartyDetailAltIDSource',\n    id: 1518,\n    abbrName: 'Src',\n    description: 'Identifies the source of the PartyDetailAltID(1517) value.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'NoPartyDetailAltSubIDs',\n    id: 1519,\n    description: 'Number of party detail alternate sub-identifiers.',\n  },\n  {\n    type: 'String',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'PartyDetailAltSubID',\n    id: 1520,\n    abbrName: 'ID',\n    description: 'Sub-identifier for the party specified in PartyDetailAltID(1517).',\n  },\n  {\n    type: 'PartySubIDTypeCodeSet',\n    unionDataType: 'Reserved4000Plus',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'PartyDetailAltSubIDType',\n    id: 1521,\n    abbrName: 'Typ',\n    description: 'Type of PartyDetailAltSubID(1520) value.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'NoRiskLimitTypes',\n    id: 1529,\n    description: 'Number of risk limits with associated warning levels.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'RiskLimitTypeCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '105',\n    updatedEP: '204',\n    added: 'FIX.5.0SP2',\n    name: 'RiskLimitType',\n    id: 1530,\n    abbrName: 'Typ',\n    description:\n      'Used to specify the type of risk limit amount or position limit quantity or margin requirement amounts.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'RiskLimitAmount',\n    id: 1531,\n    abbrName: 'Amt',\n    description: 'Specifies the risk limit amount.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'RiskLimitCurrency',\n    id: 1532,\n    abbrName: 'Ccy',\n    description: 'Used to specify the currency of the risk limit amount.',\n  },\n  {\n    type: 'String',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'RiskLimitPlatform',\n    id: 1533,\n    abbrName: 'Pltfm',\n    description:\n      'The area to which risk limit is applicable. This can be a trading platform or an offering.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'NoRiskInstrumentScopes',\n    id: 1534,\n    description: 'Number of risk instrument scopes.',\n  },\n  {\n    type: 'InstrumentScopeOperatorCodeSet',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'InstrumentScopeOperator',\n    id: 1535,\n    abbrName: 'Oper',\n    description: 'Operator to perform on the instrument(s) specified',\n  },\n  {\n    type: 'String',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'InstrumentScopeSymbol',\n    id: 1536,\n    abbrName: 'Sym',\n    description:\n      'Used to limit instrument scope to specified symbol.\\n\\nSee Symbol(55) field for description.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'SymbolSfxCodeSet',\n    addedEP: '105',\n    updatedEP: '282',\n    added: 'FIX.5.0SP2',\n    name: 'InstrumentScopeSymbolSfx',\n    id: 1537,\n    abbrName: 'Sfx',\n    description:\n      'Used to limit instrument scope to specified symbol suffix.\\n\\nSee SymbolSfx(65) field for description.',\n  },\n  {\n    type: 'String',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'InstrumentScopeSecurityID',\n    id: 1538,\n    abbrName: 'ID',\n    discriminatorId: '1539',\n    description:\n      'Used to limit instrument scope to specified security identifier.\\n\\nSee SecurityID(48) field for description.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'SecurityIDSourceCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '105',\n    updatedEP: '265',\n    added: 'FIX.5.0SP2',\n    name: 'InstrumentScopeSecurityIDSource',\n    id: 1539,\n    abbrName: 'Src',\n    description:\n      'Used to limit instrument scope to specified security identifier source.\\n\\nSee SecurityIDSource(22) field for description.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'NoInstrumentScopeSecurityAltID',\n    id: 1540,\n    description:\n      'Number of alternate security identifier for the specified InstrumentScopeSecurityID(1538).',\n  },\n  {\n    type: 'String',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'InstrumentScopeSecurityAltID',\n    id: 1541,\n    abbrName: 'AltID',\n    discriminatorId: '1542',\n    description:\n      'Used to limit instrument scope to specified security alternate identifier.\\n\\nSee SecurityAltID(455) field for description.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'SecurityIDSourceCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '105',\n    updatedEP: '271',\n    added: 'FIX.5.0SP2',\n    name: 'InstrumentScopeSecurityAltIDSource',\n    id: 1542,\n    abbrName: 'AltIDSrc',\n    description:\n      'Used to limit instrument scope to specified security alternate identifier source.\\n\\nSee SecurityAltIDSource(456) field for complete definition.',\n  },\n  {\n    type: 'ProductCodeSet',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'InstrumentScopeProduct',\n    id: 1543,\n    abbrName: 'Prod',\n    description:\n      'Used to limit instrument scope to specified instrument product category.\\n\\nSee Product (460) field for description.',\n  },\n  {\n    type: 'String',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'InstrumentScopeProductComplex',\n    id: 1544,\n    abbrName: 'ProdCmplx',\n    description:\n      'Used to limit instrument scope to specified product complex.\\n\\nSee ProductComplex(1227) field for description.',\n  },\n  {\n    type: 'String',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'InstrumentScopeSecurityGroup',\n    id: 1545,\n    abbrName: 'SecGrp',\n    description:\n      'Used to limit instrument scope to specified security group.\\n\\nSee SecurityGroup(1151) field for description.',\n  },\n  {\n    type: 'String',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'InstrumentScopeCFICode',\n    id: 1546,\n    abbrName: 'CFI',\n    description:\n      'Used to limit instrument scope to specified CFICode.\\n\\nSee CFICode(461) field for description.',\n  },\n  {\n    type: 'SecurityTypeCodeSet',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'InstrumentScopeSecurityType',\n    id: 1547,\n    abbrName: 'SecTyp',\n    description:\n      'Used to limit instrument scope to specified security type.\\n\\nSee SecurityType(167) field for description).',\n  },\n  {\n    type: 'String',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'InstrumentScopeSecuritySubType',\n    id: 1548,\n    abbrName: 'SecSubTyp',\n    description:\n      'Used to limit instrument scope to specified security sub-type.\\n\\nSee SecuritySubType(762) field for description.',\n  },\n  {\n    type: 'MonthYear',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'InstrumentScopeMaturityMonthYear',\n    id: 1549,\n    abbrName: 'MMY',\n    description:\n      'Used to limit instrument scope to specified maturity month and year.\\n\\nSee MaturityMonthYear(200) field for description.',\n  },\n  {\n    type: 'TZTimeOnly',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'InstrumentScopeMaturityTime',\n    id: 1550,\n    abbrName: 'MatTm',\n    description:\n      'Used to limit instrument scope to specified maturity time.\\n\\nSee MaturityTime(1079) field for description.',\n  },\n  {\n    type: 'String',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'InstrumentScopeRestructuringType',\n    id: 1551,\n    abbrName: 'RstrctTyp',\n    description:\n      'Used to limit instrument scope to specified restructuring type.\\n\\nSee RestructuringType(1449) field for description.',\n  },\n  {\n    type: 'String',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'InstrumentScopeSeniority',\n    id: 1552,\n    abbrName: 'Snrty',\n    description:\n      'Used to limit instrument scope to specified seniority type.\\n\\nSee Seniority(1450) field for description.',\n  },\n  {\n    type: 'PutOrCallCodeSet',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'InstrumentScopePutOrCall',\n    id: 1553,\n    abbrName: 'PutCall',\n    description:\n      'Used to limit instrument scope to puts or calls.\\n\\nSee PutOrCall(201) field for description.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'InstrumentScopeFlexibleIndicator',\n    id: 1554,\n    abbrName: 'FlexInd',\n    description:\n      'Used to limit instrument scope to securities that can be defined using flexible terms or not.\\n\\nSee FlexibleIndicator(1244) field for description.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'InstrumentScopeCouponRate',\n    id: 1555,\n    abbrName: 'CpnRt',\n    description:\n      'Used to limit instrument scope to specified coupon rate.\\n\\nSee CouponRate(223) field for description.',\n  },\n  {\n    type: 'String',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'InstrumentScopeSecurityDesc',\n    id: 1556,\n    abbrName: 'Desc',\n    description:\n      'Used to limit instrument scope to specified security description.\\n\\nSee SecurityDesc(107) field for description.',\n  },\n  {\n    type: 'SettlTypeCodeSet',\n    unionDataType: 'Tenor',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'InstrumentScopeSettlType',\n    id: 1557,\n    abbrName: 'SettlTyp',\n    description:\n      'Used to limit instrument scope to specified settlement type.\\n\\nSee SettlType(63) field for description.',\n  },\n  {\n    type: 'float',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'RiskInstrumentMultiplier',\n    id: 1558,\n    abbrName: 'Mult',\n    description:\n      'Multiplier applied to the transaction amount for comparison with risk limits. Default if not specified is 1.0.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'NoRiskWarningLevels',\n    id: 1559,\n    description: 'Number of risk warning levels.',\n  },\n];\n\nconst batch3: ISpecFields[] = [\n  {\n    type: 'Percentage',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'RiskWarningLevelPercent',\n    id: 1560,\n    abbrName: 'Pct',\n    description: 'Percent of risk limit at which a warning is issued.',\n  },\n  {\n    type: 'String',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'RiskWarningLevelName',\n    id: 1561,\n    abbrName: 'Nme',\n    description: 'Name or error message associated with the risk warning level.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'NoRelatedPartyDetailID',\n    id: 1562,\n    description: 'Number of related party detail identifiers.',\n  },\n  {\n    type: 'String',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'RelatedPartyDetailID',\n    id: 1563,\n    abbrName: 'ID',\n    discriminatorId: '1564',\n    description:\n      'Party identifier for the party related to the party specified in PartyDetailID(1691).',\n  },\n  {\n    type: 'PartyIDSourceCodeSet',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'RelatedPartyDetailIDSource',\n    id: 1564,\n    abbrName: 'Src',\n    description: 'Identifies the source of the RelatedPartyDetailID(1563).',\n  },\n  {\n    type: 'PartyRoleCodeSet',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'RelatedPartyDetailRole',\n    id: 1565,\n    abbrName: 'R',\n    description:\n      'Identifies the type or role of the RelatedPartyDetailID(1563) specified.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'NoRelatedPartyDetailSubIDs',\n    id: 1566,\n    description: 'Number of related party detail sub-identifiers.',\n  },\n  {\n    type: 'String',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'RelatedPartyDetailSubID',\n    id: 1567,\n    abbrName: 'ID',\n    description: 'Sub-identifier for the party specified in RelatedPartyID(1563).',\n  },\n  {\n    type: 'PartySubIDTypeCodeSet',\n    unionDataType: 'Reserved4000Plus',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'RelatedPartyDetailSubIDType',\n    id: 1568,\n    abbrName: 'Typ',\n    description: 'Type of RelatedPartyDetailSubID(1567) value.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'NoRelatedPartyDetailAltID',\n    id: 1569,\n    description: 'Number of related party detail alternate identifiers.',\n  },\n  {\n    type: 'String',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'RelatedPartyDetailAltID',\n    id: 1570,\n    abbrName: 'ID',\n    discriminatorId: '1571',\n    description:\n      'An alternate party identifier for the party specified in RelatedPartyID(1563).',\n  },\n  {\n    type: 'PartyIDSourceCodeSet',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'RelatedPartyDetailAltIDSource',\n    id: 1571,\n    abbrName: 'Src',\n    description: 'Identifies the source of the RelatedPartyDetailAltID(1570) value.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'NoRelatedPartyDetailAltSubIDs',\n    id: 1572,\n    description: 'Number of related party detail alternate sub-identifiers.',\n  },\n  {\n    type: 'String',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'RelatedPartyDetailAltSubID',\n    id: 1573,\n    abbrName: 'ID',\n    description:\n      'Sub-identifier for the party specified in RelatedPartyDetailAltID(1570).',\n  },\n  {\n    type: 'PartySubIDTypeCodeSet',\n    unionDataType: 'Reserved4000Plus',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'RelatedPartyDetailAltSubIDType',\n    id: 1574,\n    abbrName: 'Typ',\n    description: 'Type of RelatedPartyDetailAltSubID(1573) value.',\n  },\n  {\n    type: 'Exchange',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'InstrumentScopeSecurityExchange',\n    id: 1616,\n    abbrName: 'Exch',\n    description:\n      'Used to limit instrument scope to specified security exchange.\\n\\nSee SecurityExchange(207) field for description.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'Length',\n    addedEP: '105',\n    updatedEP: '271',\n    added: 'FIX.5.0SP2',\n    name: 'InstrumentScopeEncodedSecurityDescLen',\n    id: 1620,\n    abbrName: 'EncDescLen',\n    description:\n      'Byte length of encoded (non-ASCII characters) InstrumentScopeEncodedSecurityDesc (1621) field',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'data',\n    addedEP: '105',\n    updatedEP: '271',\n    added: 'FIX.5.0SP2',\n    name: 'InstrumentScopeEncodedSecurityDesc',\n    id: 1621,\n    abbrName: 'EncDesc',\n    lengthId: '1620',\n    description:\n      'Encoded (non-ASCII characters) representation of the InstrumentScopeSecurityDesc(1556) field in the encoded format specified via the MessageEncoding(347) field. If used, the ASCII (English) representation should also be specified in the InstrumentScopeSecurityDesc(1556) field.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'NoInstrumentScopes',\n    id: 1656,\n    description: 'Number of instrument scopes.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'NoRequestingPartyIDs',\n    id: 1657,\n    description: 'Number of requesting party identifiers.',\n  },\n  {\n    type: 'String',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'RequestingPartyID',\n    id: 1658,\n    abbrName: 'ID',\n    discriminatorId: '1659',\n    description: 'Party identifier for the requesting party.',\n  },\n  {\n    type: 'PartyIDSourceCodeSet',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'RequestingPartyIDSource',\n    id: 1659,\n    abbrName: 'Src',\n    description: 'Identifies the source of the RequestingPartyID(1658) value.',\n  },\n  {\n    type: 'PartyRoleCodeSet',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'RequestingPartyRole',\n    id: 1660,\n    abbrName: 'R',\n    description: 'Identifies the type or role of the RequestingPartyID(1658) specified.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'NoRequestingPartySubIDs',\n    id: 1661,\n    description: 'Number of requesting party sub-identifiers.',\n  },\n  {\n    type: 'String',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'RequestingPartySubID',\n    id: 1662,\n    abbrName: 'ID',\n    description: 'Sub-identifier for the party specified in RequestingPartyID(1658).',\n  },\n  {\n    type: 'PartySubIDTypeCodeSet',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'RequestingPartySubIDType',\n    id: 1663,\n    abbrName: 'Typ',\n    description: 'Type of RequestingPartySubID(1662) value.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'Length',\n    addedEP: '105',\n    updatedEP: '192',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedRejectTextLen',\n    id: 1664,\n    abbrName: 'EncRejTxtLen',\n    description:\n      'Byte length of encoded (non-ASCII characters) EncodedRejectText(1665) field.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'data',\n    addedEP: '105',\n    updatedEP: '192',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedRejectText',\n    id: 1665,\n    abbrName: 'EncRejTxt',\n    lengthId: '1664',\n    description:\n      'Encoded (non-ASCII characters) representation of the RejectText(1328) field in the encoded format specified via the MessageEncoding(347) field. If used, the ASCII (English) representation should also be specified in the RejectText(1328) field.',\n  },\n  {\n    type: 'String',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'RiskLimitRequestID',\n    id: 1666,\n    abbrName: 'ReqID',\n    description: 'Unique identifier for the PartyRiskLimitsRequest',\n  },\n  {\n    type: 'String',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'RiskLimitReportID',\n    id: 1667,\n    abbrName: 'RptID',\n    description: 'Identifier for the PartyRiskLimitsReport',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'NoRequestedRiskLimitType',\n    id: 1668,\n    description: 'Number of risk limit types requested.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'NoRiskLimits',\n    id: 1669,\n    description: 'Number of risk limits for different instrument scopes.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'String',\n    baseCategoryAbbrName: 'ID',\n    baseCategory: 'PartiesReferenceData',\n    addedEP: '105',\n    updatedEP: '171',\n    added: 'FIX.5.0SP2',\n    name: 'RiskLimitID',\n    id: 1670,\n    abbrName: 'RiskLmtID',\n    description:\n      'Unique reference identifier for a specific risk limit defined for the specified party.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'NoPartyDetails',\n    id: 1671,\n    description: 'Number of party details.',\n  },\n  {\n    type: 'PartyDetailStatusCodeSet',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'PartyDetailStatus',\n    id: 1672,\n    abbrName: 'Stat',\n    description: 'Indicates the status of the party identified with PartyDetailID(1691).',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PartyDetailRoleQualifierCodeSet',\n    addedEP: '105',\n    updatedEP: '223',\n    added: 'FIX.5.0SP2',\n    name: 'PartyDetailRoleQualifier',\n    id: 1674,\n    abbrName: 'Qual',\n    description: 'Qualifies the value of PartyDetailRole(1693).',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PartyDetailRoleQualifierCodeSet',\n    addedEP: '105',\n    updatedEP: '173',\n    added: 'FIX.5.0SP2',\n    name: 'RelatedPartyDetailRoleQualifier',\n    id: 1675,\n    abbrName: 'Qual',\n    description: 'Qualifies the value of RelatedPartyRole(1565)',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'NoPartyUpdates',\n    id: 1676,\n    description: 'Number of party updates.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'NoPartyRiskLimits',\n    id: 1677,\n    description: 'Number of party risk limits.',\n  },\n  {\n    type: 'String',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'PartyDetailID',\n    id: 1691,\n    abbrName: 'ID',\n    discriminatorId: '1692',\n    description: 'Party identifier within Parties Reference Data messages.',\n  },\n  {\n    type: 'PartyIDSourceCodeSet',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'PartyDetailIDSource',\n    id: 1692,\n    abbrName: 'Src',\n    description: 'Source of the identifier of the PartyDetailID(1691) specified.',\n  },\n  {\n    type: 'PartyRoleCodeSet',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'PartyDetailRole',\n    id: 1693,\n    abbrName: 'R',\n    description: 'Identifies the type or role of PartyDetailID(1691) specified.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'NoPartyDetailSubIDs',\n    id: 1694,\n    description: 'Number of party detail sub-identifiers.',\n  },\n  {\n    type: 'String',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'PartyDetailSubID',\n    id: 1695,\n    abbrName: 'ID',\n    description: 'Sub-identifier for the party specified in PartyDetailID(1691).',\n  },\n  {\n    type: 'PartySubIDTypeCodeSet',\n    addedEP: '105',\n    added: 'FIX.5.0SP2',\n    name: 'PartyDetailSubIDType',\n    id: 1696,\n    abbrName: 'Typ',\n    description: 'Type of PartyDetailSubID(1695) value.',\n  },\n  {\n    type: 'SecurityTradingStatusCodeSet',\n    addedEP: '106',\n    added: 'FIX.5.0SP2',\n    name: 'SecurityMassTradingStatus',\n    id: 1679,\n    abbrName: 'TrdgStat',\n    description: 'Identifies the trading status applicable to a group of instruments.',\n  },\n  {\n    type: 'SecurityTradingEventCodeSet',\n    addedEP: '106',\n    added: 'FIX.5.0SP2',\n    name: 'SecurityMassTradingEvent',\n    id: 1680,\n    abbrName: 'SecTrdEvnt',\n    description: 'Identifies an event related to the mass trading status.',\n  },\n  {\n    type: 'HaltReasonCodeSet',\n    addedEP: '106',\n    added: 'FIX.5.0SP2',\n    name: 'MassHaltReason',\n    id: 1681,\n    abbrName: 'HaltRsn',\n    description:\n      'Denotes the reason for the Opening Delay or Trading halt of a group of securities.',\n  },\n  {\n    type: 'SecurityTradingStatusCodeSet',\n    addedEP: '106',\n    added: 'FIX.5.0SP2',\n    name: 'MDSecurityTradingStatus',\n    id: 1682,\n    abbrName: 'TrdgStat',\n    description:\n      'Identifies the trading status applicable to the instrument in the market data message.',\n  },\n  {\n    type: 'String',\n    addedEP: '106',\n    added: 'FIX.5.0SP2',\n    name: 'MDSubFeedType',\n    id: 1683,\n    abbrName: 'MDSubFeedTyp',\n    description:\n      'Describes a sub-class for a given class of service defined by MDFeedType (1022)',\n  },\n  {\n    type: 'HaltReasonCodeSet',\n    addedEP: '106',\n    added: 'FIX.5.0SP2',\n    name: 'MDHaltReason',\n    id: 1684,\n    abbrName: 'HaltRsn',\n    description: 'Denotes the reason for the Opening Delay or Trading Halt.',\n  },\n  {\n    type: 'String',\n    addedEP: '107',\n    added: 'FIX.5.0SP2',\n    name: 'SideTradeID',\n    id: 1506,\n    abbrName: 'TrdID',\n    description:\n      'Used to represent the trade ID for each side of the trade assigned by an intermediary.',\n  },\n  {\n    type: 'String',\n    addedEP: '107',\n    added: 'FIX.5.0SP2',\n    name: 'SideOrigTradeID',\n    id: 1507,\n    abbrName: 'OrigTrdID',\n    description:\n      'Used to capture the original trade id for each side of a trade undergoing novation to a standardized model.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PriceOffset',\n    addedEP: '107',\n    updatedEP: '217',\n    added: 'FIX.5.0SP2',\n    name: 'DifferentialPrice',\n    id: 1522,\n    abbrName: 'DiffPx',\n    description:\n      'Used to specify the differential price when reporting the individual leg of a spread trade. Both leg price and differential price may be provided on such a report. Note that MultiLegReportingType(442) will be set to 2 (Individual leg of a multi-leg security) in this case.\\n\\nAlso used in pricing Trade at Settlement (TAS) and Trade At Marker (TAM) contracts for which the value is the negotiated currency offset either at settlement (TAS) or at time specified in the product definition (TAM). The final contract price is specified in LastPx(31).',\n  },\n  {\n    type: 'TrdAckStatusCodeSet',\n    addedEP: '107',\n    added: 'FIX.5.0SP2',\n    name: 'TrdAckStatus',\n    id: 1523,\n    abbrName: 'TrdAckStat',\n    description:\n      'Used to indicate the status of the trade submission (not the trade report)',\n  },\n  {\n    type: 'Currency',\n    addedEP: '107',\n    added: 'FIX.5.0SP2',\n    name: 'PriceQuoteCurrency',\n    id: 1524,\n    abbrName: 'PxQteCcy',\n    description:\n      'Default currency in which the price is quoted. Defined at the instrument level. Used in place of Currency (tag 15) to express the currency of a product when the former is implemented as the FX dealt currency.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '107',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPriceQuoteCurrency',\n    id: 1526,\n    abbrName: 'PxQteCcy',\n    description:\n      'Default currency in which the price is quoted. Defined at the instrument level. Used in place of Currency (tag 15) to express the currency of a product when the former is implemented as the FX dealt currency.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '107',\n    added: 'FIX.5.0SP2',\n    name: 'LegPriceQuoteCurrency',\n    id: 1528,\n    abbrName: 'PxQteCcy',\n    description:\n      'Default currency in which the price is quoted. Defined at the instrument level. Used in place of Currency (tag 15) to express the currency of a product when the former is implemented as the FX dealt currency.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'Currency',\n    addedEP: '107',\n    updatedEP: '271',\n    added: 'FIX.5.0SP2',\n    name: 'DerivativePriceQuoteCurrency',\n    id: 1576,\n    abbrName: 'PxQteCcy',\n    description:\n      'Default currency in which the price is quoted. Defined at the instrument level. Used in place of Currency(tag 15) to express the currency of a product when the former is implemented as the FX dealt currency.\\n\\nSee PriceQuoteCurrency(1524) for complete definition.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '107',\n    added: 'FIX.5.0SP2',\n    name: 'NoSecurityClassifications',\n    id: 1582,\n    description: 'Number of Security Classifications.',\n  },\n  {\n    type: 'SecurityClassificationReasonCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '107',\n    added: 'FIX.5.0SP2',\n    name: 'SecurityClassificationReason',\n    id: 1583,\n    abbrName: 'Rsn',\n    description:\n      'Allows classification of instruments according to a set of high level reasons. Classification reasons describe the classes in which the instrument participates.',\n  },\n  {\n    type: 'String',\n    addedEP: '107',\n    added: 'FIX.5.0SP2',\n    name: 'SecurityClassificationValue',\n    id: 1584,\n    abbrName: 'Val',\n    description:\n      'Specifies the product classification value which further details the manner in which the instrument participates in the class.',\n  },\n  {\n    type: 'PosAmtReasonCodeSet',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '107',\n    added: 'FIX.5.0SP2',\n    name: 'PosAmtReason',\n    id: 1585,\n    abbrName: 'Rsn',\n    description:\n      'Specifies the reason for an amount type when reported on a position. Useful when multiple instances of the same amount type are reported.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '107',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegPosAmt',\n    id: 1586,\n    description: 'Number of TrdInstrmtLegPosAmt values.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '107',\n    added: 'FIX.5.0SP2',\n    name: 'LegPosAmt',\n    id: 1587,\n    abbrName: 'Amt',\n    description: 'Leg position amount.',\n  },\n  {\n    type: 'PosAmtTypeCodeSet',\n    addedEP: '107',\n    added: 'FIX.5.0SP2',\n    name: 'LegPosAmtType',\n    id: 1588,\n    abbrName: 'Typ',\n    description: 'Type of leg position amount.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '107',\n    added: 'FIX.5.0SP2',\n    name: 'LegPosCurrency',\n    id: 1589,\n    abbrName: 'Ccy',\n    description: 'Leg position currency.',\n  },\n  {\n    type: 'PosAmtReasonCodeSet',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '107',\n    added: 'FIX.5.0SP2',\n    name: 'LegPosAmtReason',\n    id: 1590,\n    abbrName: 'Rsn',\n    description:\n      'Specifies the reason for an amount type when reported on a position. Useful when multiple instances of the same amount type are reported.',\n  },\n  {\n    type: 'QtyTypeCodeSet',\n    addedEP: '107',\n    added: 'FIX.5.0SP2',\n    name: 'LegQtyType',\n    id: 1591,\n    abbrName: 'QtyTyp',\n    description:\n      'Type of quantity specified in LegQty field. LegContractMultiplier (614) is required when LegQtyType = 1 (Contracts). LegUnitOfMeasure (tag 999) and LegTimeUnit (tag 1001) are required when LegQtyType = 2 (Units of Measure per Time Unit). LegQtyType can be different for each leg.',\n  },\n  {\n    type: 'float',\n    addedEP: '107',\n    added: 'FIX.5.0SP2',\n    name: 'DiscountFactor',\n    id: 1592,\n    abbrName: 'DiscFctr',\n    description:\n      'Used to calculate the present value of an amount to be paid in the future.',\n  },\n  {\n    type: 'String',\n    addedEP: '107',\n    added: 'FIX.5.0SP2',\n    name: 'ParentAllocID',\n    id: 1593,\n    abbrName: 'ParentAllocID',\n    description:\n      'Contains the IndividualAllocId (tag 467) value of the allocation that is being offset as a result of a new allocation. This would be an optional field that would only be populated in the case of an allocation of an allocation (as well as any subsequent allocations). This wouldn\u2019t be populated for an initial allocation since an allocation id is not supplied on default (initial) allocations.',\n  },\n  {\n    type: 'String',\n    addedEP: '107',\n    added: 'FIX.5.0SP2',\n    name: 'LegSecurityGroup',\n    id: 1594,\n    abbrName: 'SecGrp',\n    description:\n      'Represents the product group of a leg.This is useful in conveying multi-leg instruments where the legs may participate in separate security groups.',\n  },\n  {\n    type: 'Price',\n    addedEP: '109',\n    added: 'FIX.5.0SP2',\n    name: 'PositionContingentPrice',\n    id: 1595,\n    abbrName: 'CntgPx',\n    description: 'Risk adjusted price used to calculate variation margin on a position.',\n  },\n  {\n    type: 'Price',\n    addedEP: '111',\n    added: 'FIX.5.0SP2',\n    name: 'ClearingTradePrice',\n    id: 1596,\n    abbrName: 'ClrTrdPx',\n    description: 'Alternate clearing price',\n  },\n  {\n    type: 'Price',\n    addedEP: '111',\n    added: 'FIX.5.0SP2',\n    name: 'SideClearingTradePrice',\n    id: 1597,\n    abbrName: 'ClrTrdPx',\n    description: 'Alternate clearing price for the side being reported.',\n  },\n  {\n    type: 'SideClearingTradePriceTypeCodeSet',\n    addedEP: '111',\n    added: 'FIX.5.0SP2',\n    name: 'SideClearingTradePriceType',\n    id: 1598,\n    abbrName: 'ClrTrdPxType',\n    description:\n      'Indicates to recipient whether trade is clearing at execution prices LastPx(tag 31) or alternate clearing prices SideClearingTradePrice(tag 1597).',\n  },\n  {\n    type: 'Price',\n    addedEP: '111',\n    added: 'FIX.5.0SP2',\n    name: 'SidePriceDifferential',\n    id: 1599,\n    abbrName: 'SidePxDiff',\n    description:\n      'Price Differential between the front and back leg of a spread or complex instrument.',\n  },\n  {\n    type: 'String',\n    addedEP: '113',\n    added: 'FIX.5.0SP2',\n    name: 'FIXEngineName',\n    id: 1600,\n    description:\n      'Provides the name of the infrastructure component being used for session level communication. Normally this would be the FIX Engine or FIX Gateway product name.',\n  },\n  {\n    type: 'String',\n    addedEP: '113',\n    added: 'FIX.5.0SP2',\n    name: 'FIXEngineVersion',\n    id: 1601,\n    description: 'Provides the version of the infrastructure component.',\n  },\n  {\n    type: 'String',\n    addedEP: '113',\n    added: 'FIX.5.0SP2',\n    name: 'FIXEngineVendor',\n    id: 1602,\n    description:\n      'Provides the name of the vendor providing the infrastructure component.',\n  },\n  {\n    type: 'String',\n    addedEP: '113',\n    added: 'FIX.5.0SP2',\n    name: 'ApplicationSystemName',\n    id: 1603,\n    description:\n      'Provides the name of the application system being used to generate FIX application messages. This will normally be a trading system, OMS, or EMS.',\n  },\n  {\n    type: 'String',\n    addedEP: '113',\n    added: 'FIX.5.0SP2',\n    name: 'ApplicationSystemVersion',\n    id: 1604,\n    description:\n      'Provides the version of the application system being used to initiate FIX application messages.',\n  },\n  {\n    type: 'String',\n    addedEP: '113',\n    added: 'FIX.5.0SP2',\n    name: 'ApplicationSystemVendor',\n    id: 1605,\n    description: 'Provides the vendor of the application system.',\n  },\n  {\n    type: 'int',\n    addedEP: '114',\n    added: 'FIX.5.0SP2',\n    name: 'NumOfSimpleInstruments',\n    id: 1606,\n    abbrName: 'NumSimplInstrmt',\n    description:\n      'Represents the total number of simple instruments that make up a multi-legged security. Complex spread instruments may be constructed of legs which themselves are multi-leg instruments.',\n  },\n  {\n    type: 'SecurityRejectReasonCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '114',\n    added: 'FIX.5.0SP2',\n    name: 'SecurityRejectReason',\n    id: 1607,\n    abbrName: 'SecRejRsn',\n    description: 'Identifies the reason a security definition request is being rejected.',\n  },\n  {\n    type: 'Qty',\n    addedEP: '115',\n    added: 'FIX.5.0SP2',\n    name: 'InitialDisplayQty',\n    id: 1608,\n    abbrName: 'InitDsplyQty',\n    description:\n      'Used to convey the initially requested display quantity specified in DisplayQty(1138) on order entry and modification messages in ExecutionReport message. Applicable only in ExecutionReport message where DisplayQty(1138) is the currently displayed quantity and the requested display quantity of the order also needs to be conveyed. The values of the two fields are different as soon as the order is partially filled and also after a refresh of the order whenever DisplayMethod(1084) is not 1=Initial.',\n  },\n  {\n    type: 'ThrottleStatusCodeSet',\n    addedEP: '116',\n    added: 'FIX.5.0SP2',\n    name: 'ThrottleStatus',\n    id: 1609,\n    abbrName: 'ThrttlStat',\n    description: 'Indicates whether a message was queued as a result of throttling.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '116',\n    added: 'FIX.5.0SP2',\n    name: 'NoThrottles',\n    id: 1610,\n    description: 'Indicates number of repeating groups to follow.',\n  },\n  {\n    type: 'ThrottleActionCodeSet',\n    addedEP: '116',\n    added: 'FIX.5.0SP2',\n    name: 'ThrottleAction',\n    id: 1611,\n    abbrName: 'Actn',\n    description: 'Action to take should throttle limit be exceeded.',\n  },\n  {\n    type: 'ThrottleTypeCodeSet',\n    addedEP: '116',\n    added: 'FIX.5.0SP2',\n    name: 'ThrottleType',\n    id: 1612,\n    abbrName: 'Typ',\n    description: 'Type of throttle.',\n  },\n  {\n    type: 'int',\n    addedEP: '116',\n    added: 'FIX.5.0SP2',\n    name: 'ThrottleNoMsgs',\n    id: 1613,\n    abbrName: 'NoMsgs',\n    description:\n      'Maximum number of messages allowed by the throttle. May be a rate limit or a limit on the number of outstanding requests.',\n  },\n  {\n    type: 'int',\n    addedEP: '116',\n    added: 'FIX.5.0SP2',\n    name: 'ThrottleTimeInterval',\n    id: 1614,\n    abbrName: 'TmIntvl',\n    description: 'Value of the time interval in which the rate throttle is applied.',\n  },\n  {\n    type: 'OrderDelayUnitCodeSet',\n    addedEP: '116',\n    added: 'FIX.5.0SP2',\n    name: 'ThrottleTimeUnit',\n    id: 1615,\n    abbrName: 'TmUnit',\n    description:\n      'Units in which ThrottleTimeInterval is expressed. Uses same enumerations as OrderDelayUnit(1429).',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '116',\n    added: 'FIX.5.0SP2',\n    name: 'NoThrottleMsgType',\n    id: 1618,\n    description: 'Number of ThrottleMsgType fields.',\n  },\n  {\n    type: 'MsgTypeCodeSet',\n    addedEP: '116',\n    added: 'FIX.5.0SP2',\n    name: 'ThrottleMsgType',\n    id: 1619,\n    abbrName: 'MsgTyp',\n    description: 'The MsgType (35) of the FIX message being referenced.',\n  },\n  {\n    type: 'ThrottleInstCodeSet',\n    addedEP: '116',\n    added: 'FIX.5.0SP2',\n    name: 'ThrottleInst',\n    id: 1685,\n    abbrName: 'ThrttlInst',\n    description:\n      'Describes action recipient should take if a throttle limit were exceeded.',\n  },\n  {\n    type: 'ThrottleCountIndicatorCodeSet',\n    addedEP: '116',\n    added: 'FIX.5.0SP2',\n    name: 'ThrottleCountIndicator',\n    id: 1686,\n    abbrName: 'ThrttlCntInd',\n    description:\n      'Indicates whether a message decrements the number of outstanding requests, e.g. one where ThrottleType = Outstanding Requests.',\n  },\n  {\n    type: 'String',\n    addedEP: '117',\n    added: 'FIX.5.0SP2',\n    name: 'AccountSummaryReportID',\n    id: 1699,\n    abbrName: 'RptID',\n    description: 'Unique identifier for the AccountSummaryReport(35=CQ).',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '117',\n    added: 'FIX.5.0SP2',\n    name: 'NoSettlementAmounts',\n    id: 1700,\n    description: 'Number of settlement amount entries.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '117',\n    added: 'FIX.5.0SP2',\n    name: 'SettlementAmount',\n    id: 1701,\n    abbrName: 'Amt',\n    description: 'The amount of settlement.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '117',\n    added: 'FIX.5.0SP2',\n    name: 'SettlementAmountCurrency',\n    id: 1702,\n    abbrName: 'Ccy',\n    description: 'The currency of the reported settlement amount.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '117',\n    added: 'FIX.5.0SP2',\n    name: 'NoCollateralAmounts',\n    id: 1703,\n    description: 'Number of collateral amount entries.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'Amt',\n    addedEP: '117',\n    updatedEP: '227',\n    added: 'FIX.5.0SP2',\n    name: 'CurrentCollateralAmount',\n    id: 1704,\n    abbrName: 'Amt',\n    description: 'Currency value currently attributed to the collateral.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '117',\n    added: 'FIX.5.0SP2',\n    name: 'CollateralCurrency',\n    id: 1705,\n    abbrName: 'Ccy',\n    description:\n      'Currency of the collateral; optional, defaults to the Settlement Currency if not specified.',\n  },\n  {\n    type: 'String',\n    addedEP: '117',\n    added: 'FIX.5.0SP2',\n    name: 'CollateralType',\n    id: 1706,\n    abbrName: 'Typ',\n    description: 'Type of collateral on deposit being reported.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '117',\n    added: 'FIX.5.0SP2',\n    name: 'NoPayCollects',\n    id: 1707,\n    description: 'Number of pay collect entries.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '117',\n    added: 'FIX.5.0SP2',\n    name: 'PayAmount',\n    id: 1710,\n    abbrName: 'PayAmt',\n    description: 'Amount to be paid by the clearinghouse to the clearing firm.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '117',\n    added: 'FIX.5.0SP2',\n    name: 'CollectAmount',\n    id: 1711,\n    abbrName: 'ColAmt',\n    description: 'Amount to be collected by the clearinghouse from the clearing firm.',\n  },\n  {\n    type: 'String',\n    addedEP: '117',\n    added: 'FIX.5.0SP2',\n    name: 'PayCollectType',\n    id: 1708,\n    abbrName: 'Typ',\n    description:\n      'Category describing the reason for funds paid to, or the funds collected from the clearing firm.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '117',\n    added: 'FIX.5.0SP2',\n    name: 'PayCollectCurrency',\n    id: 1709,\n    abbrName: 'Ccy',\n    description:\n      'Currency denomination of value in PayAmount(1710) and CollectAmount(1711). If not specified, default to currency specified in SettlementAmountCurrency(1702).',\n  },\n  {\n    type: 'String',\n    addedEP: '117',\n    added: 'FIX.5.0SP2',\n    name: 'PayCollectMarketSegmentID',\n    id: 1712,\n    abbrName: 'MktSegID',\n    description: 'Market segment associated with the pay collect amount.',\n  },\n  {\n    type: 'String',\n    addedEP: '117',\n    added: 'FIX.5.0SP2',\n    name: 'PayCollectMarketID',\n    id: 1713,\n    abbrName: 'MktID',\n    description: 'Market associated with the pay collect amount.',\n  },\n  {\n    type: 'String',\n    addedEP: '117',\n    added: 'FIX.5.0SP2',\n    name: 'MarginAmountMarketSegmentID',\n    id: 1714,\n    abbrName: 'MktSegID',\n    description: 'Market segment associated with the margin amount.',\n  },\n  {\n    type: 'String',\n    addedEP: '117',\n    added: 'FIX.5.0SP2',\n    name: 'MarginAmountMarketID',\n    id: 1715,\n    abbrName: 'MktID',\n    description: 'Market associated with the margin amount',\n  },\n  {\n    type: 'String',\n    addedEP: '118',\n    added: 'FIX.5.0SP2',\n    name: 'FirmGroupID',\n    id: 1728,\n    abbrName: 'FirmGrpID',\n    description: 'Firm assigned group allocation entity identifier.',\n  },\n  {\n    type: 'String',\n    addedEP: '118',\n    added: 'FIX.5.0SP2',\n    name: 'FirmMnemonic',\n    id: 1729,\n    abbrName: 'FirmMnem',\n    description:\n      'Allocation identifier assigned by the Firm submitting the allocation for an individual allocation instruction (as opposed to the overall message level identifier).',\n  },\n  {\n    type: 'String',\n    addedEP: '118',\n    added: 'FIX.5.0SP2',\n    name: 'AllocGroupID',\n    id: 1730,\n    abbrName: 'GrpID',\n    description:\n      'Intended to be used by a central counterparty to assign an identifier to allocations of trades for the same instrument traded at the same price.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'String',\n    addedEP: '118',\n    updatedEP: '141',\n    added: 'FIX.5.0SP2',\n    name: 'AvgPxGroupID',\n    id: 1731,\n    abbrName: 'AvgPxGrpID',\n    description:\n      'Used by submitting firm to group trades being allocated into an average price group. The trades in average price group will be used to calculate an average price for the group.',\n  },\n  {\n    type: 'String',\n    addedEP: '118',\n    added: 'FIX.5.0SP2',\n    name: 'FirmAllocText',\n    id: 1732,\n    abbrName: 'FirmTxt',\n    description:\n      'Firm reference information, usually internal information, that is part of the initial message. The information would not be carried forward (e.g to Take-up Firm) and preserved with the transaction.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'Length',\n    addedEP: '118',\n    updatedEP: '271',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedFirmAllocTextLen',\n    id: 1733,\n    abbrName: 'EncFirmTxtLen',\n    description:\n      'Byte length of encoded (non-ASCII characters) EncodedFirmAllocText(1734) field.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'data',\n    addedEP: '118',\n    updatedEP: '271',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedFirmAllocText',\n    id: 1734,\n    abbrName: 'EncFirmTxt',\n    lengthId: '1733',\n    description:\n      'Encoded (non-ASCII characters) representation of the FirmAllocText(1732) field in the encoded format specified via the MessageEncoding(347) field. If used, the ASCII (English) represention should also be specified in FirmAllocText(1732) field.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'AllocationRollupInstructionCodeSet',\n    addedEP: '118',\n    updatedEP: '141',\n    added: 'FIX.5.0SP2',\n    name: 'AllocationRollupInstruction',\n    id: 1735,\n    abbrName: 'AllocRollupInst',\n    description:\n      'An indicator to override the normal procedure to roll up allocations for the same take-up firm.',\n  },\n  {\n    type: 'Qty',\n    addedEP: '118',\n    added: 'FIX.5.0SP2',\n    name: 'AllocGroupQuantity',\n    id: 1736,\n    abbrName: 'GrpQty',\n    description:\n      'Indicates the total quantity of an allocation group. Includes any allocated quantity.',\n  },\n  {\n    type: 'Qty',\n    addedEP: '118',\n    added: 'FIX.5.0SP2',\n    name: 'AllocGroupRemainingQuantity',\n    id: 1737,\n    abbrName: 'RemQty',\n    description:\n      'Indicates the remaining quantity of an allocation group that has not yet been allocated.',\n  },\n  {\n    type: 'AllocReversalStatusCodeSet',\n    addedEP: '118',\n    added: 'FIX.5.0SP2',\n    name: 'AllocReversalStatus',\n    id: 1738,\n    abbrName: 'RvrslStat',\n    description: 'Identifies the status of a reversal transaction.',\n  },\n  {\n    type: 'ObligationTypeCodeSet',\n    addedEP: '119',\n    added: 'FIX.5.0SP2',\n    name: 'ObligationType',\n    id: 1739,\n    abbrName: 'ObligTyp',\n    description: 'Type of reference obligation for credit derivatives contracts.',\n  },\n  {\n    type: 'TradePriceNegotiationMethodCodeSet',\n    addedEP: '119',\n    added: 'FIX.5.0SP2',\n    name: 'TradePriceNegotiationMethod',\n    id: 1740,\n    abbrName: 'TrdPxNegottnMeth',\n    description: 'Method used for negotiation of contract price.',\n  },\n  {\n    type: 'UpfrontPriceTypeCodeSet',\n    addedEP: '119',\n    added: 'FIX.5.0SP2',\n    name: 'UpfrontPriceType',\n    id: 1741,\n    abbrName: 'UpfrontPxTyp',\n    description: 'Type of price used to determine upfront payment for swaps contracts.',\n  },\n  {\n    type: 'Price',\n    addedEP: '119',\n    added: 'FIX.5.0SP2',\n    name: 'UpfrontPrice',\n    id: 1742,\n    abbrName: 'UpfrontPx',\n    description: 'Price used to determine upfront payment for swaps contracts.',\n  },\n  {\n    type: 'Price',\n    addedEP: '119',\n    added: 'FIX.5.0SP2',\n    name: 'LastUpfrontPrice',\n    id: 1743,\n    abbrName: 'LastUpfrontPx',\n    description:\n      'Price used to determine upfront payment for swaps contracts reported for a deal (trade).',\n  },\n  {\n    type: 'ShortSaleRestrictionCodeSet',\n    addedEP: '120',\n    added: 'FIX.5.0SP2',\n    name: 'ShortSaleRestriction',\n    id: 1687,\n    abbrName: 'ShrtRstctn',\n    description: 'Indicates whether a restriction applies to short selling a security.',\n  },\n  {\n    type: 'ShortSaleExemptionReasonCodeSet',\n    addedEP: '121',\n    added: 'FIX.5.0SP2',\n    name: 'ShortSaleExemptionReason',\n    id: 1688,\n    abbrName: 'ShrtSaleExmptnRsn',\n    description:\n      'Indicates the reason a short sale order is exempted from applicable regulation (e.g. Reg SHO addendum (b)(1) in the U.S.).',\n  },\n  {\n    type: 'ShortSaleExemptionReasonCodeSet',\n    addedEP: '121',\n    added: 'FIX.5.0SP2',\n    name: 'LegShortSaleExemptionReason',\n    id: 1689,\n    abbrName: 'ShrtSaleExmptnRsn',\n    description:\n      'Indicates the reason a short sale is exempted from applicable regulation (e.g. Reg SHO addendum (b)(1) in the U.S.)',\n  },\n  {\n    type: 'ShortSaleExemptionReasonCodeSet',\n    addedEP: '121',\n    added: 'FIX.5.0SP2',\n    name: 'SideShortSaleExemptionReason',\n    id: 1690,\n    abbrName: 'ShrtSaleExmptnRsn',\n    description:\n      'Indicates the reason a short sale is exempted from applicable regulation (e.g. Reg SHO addendum (b)(1) in the U.S.)',\n  },\n  {\n    type: 'Currency',\n    addedEP: '122',\n    added: 'FIX.5.0SP2',\n    name: 'UnitOfMeasureCurrency',\n    id: 1716,\n    abbrName: 'UOMCcy',\n    description:\n      'Indicates the currency of the unit of measure. Conditionally required when UnitOfMeasure(996) = Ccy',\n  },\n  {\n    type: 'Currency',\n    addedEP: '122',\n    added: 'FIX.5.0SP2',\n    name: 'PriceUnitOfMeasureCurrency',\n    id: 1717,\n    abbrName: 'PxUOMCcy',\n    description:\n      'Indicates the currency of the price unit of measure. Conditionally required when PriceUnitOfMeasure(1191) = Ccy',\n  },\n  {\n    type: 'Currency',\n    addedEP: '122',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingUnitOfMeasureCurrency',\n    id: 1718,\n    abbrName: 'UOMCcy',\n    description:\n      'Indicates the currency of the underlying unit of measure. Conditionally required when UnderlyingUnitOfMeasure(998) = Ccy',\n  },\n  {\n    type: 'Currency',\n    addedEP: '122',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPriceUnitOfMeasureCurrency',\n    id: 1719,\n    abbrName: 'PxUOMCcy',\n    description:\n      'Indicates the currency of the underlying price unit of measure. Conditionally required when UnderlyingPriceUnitOfMeasure(1424) = Ccy',\n  },\n  {\n    type: 'Currency',\n    addedEP: '122',\n    added: 'FIX.5.0SP2',\n    name: 'LegUnitOfMeasureCurrency',\n    id: 1720,\n    abbrName: 'UOMCcy',\n    description:\n      'Indicates the currency of the unit of measure. Conditionally required when LegUnitOfMeasure(999) = Ccy',\n  },\n  {\n    type: 'Currency',\n    addedEP: '122',\n    added: 'FIX.5.0SP2',\n    name: 'LegPriceUnitOfMeasureCurrency',\n    id: 1721,\n    abbrName: 'PxUOMCcy',\n    description:\n      'Indicates the currency of the price unit of measure. Conditionally required when LegPriceUnitOfMeasure(1421) = Ccy',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'Currency',\n    addedEP: '122',\n    updatedEP: '271',\n    added: 'FIX.5.0SP2',\n    name: 'DerivativeUnitOfMeasureCurrency',\n    id: 1722,\n    abbrName: 'UOMCcy',\n    description:\n      'Indicates the currency of the unit of measure.\\n\\nConditionally required when DerivativeUnitOfMeasure(1269) = Ccy.\\n\\nSee UnitOfMeasureCurrency(1716) for complete definition.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'Currency',\n    addedEP: '122',\n    updatedEP: '271',\n    added: 'FIX.5.0SP2',\n    name: 'DerivativePriceUnitOfMeasureCurrency',\n    id: 1723,\n    abbrName: 'PxUOMCcy',\n    description:\n      'Indicates the currency of the price unit of measure.\\n\\nConditionally required when DerivativePriceUnitOfMeasure(1315) = Ccy.\\n\\nSee PriceUnitOfMeasureCurrency(1717) for complete definition.',\n  },\n  {\n    type: 'ApplLevelRecoveryIndicatorCodeSet',\n    addedEP: '124',\n    added: 'FIX.5.0SP2',\n    name: 'ApplLevelRecoveryIndicator',\n    id: 1744,\n    description: 'Indicates whether application level recovery is needed.',\n  },\n  {\n    type: 'String',\n    addedEP: '125',\n    added: 'FIX.5.0SP2',\n    name: 'BidMDEntryID',\n    id: 1745,\n    abbrName: 'BidMDID',\n    description: 'The market data entry identifier of the bid side of a quote',\n  },\n  {\n    type: 'String',\n    addedEP: '125',\n    added: 'FIX.5.0SP2',\n    name: 'OfferMDEntryID',\n    id: 1746,\n    abbrName: 'OfrMDID',\n    description: 'The market data entry identifier of the offer side of a quote.',\n  },\n  {\n    type: 'String',\n    addedEP: '125',\n    added: 'FIX.5.0SP2',\n    name: 'BidQuoteID',\n    id: 1747,\n    abbrName: 'BidQID',\n    description:\n      'Marketplace assigned quote identifier for the bid side. Can be used to indicate priority.',\n  },\n  {\n    type: 'String',\n    addedEP: '125',\n    added: 'FIX.5.0SP2',\n    name: 'OfferQuoteID',\n    id: 1748,\n    abbrName: 'OfrQID',\n    description:\n      'Marketplace assigned quote identifier for the offer side. Can be used to indicate priority.',\n  },\n  {\n    type: 'Qty',\n    addedEP: '126',\n    added: 'FIX.5.0SP2',\n    name: 'TotalBidSize',\n    id: 1749,\n    abbrName: 'TotBidSz',\n    description: 'Specifies the total bid size.',\n  },\n  {\n    type: 'Qty',\n    addedEP: '126',\n    added: 'FIX.5.0SP2',\n    name: 'TotalOfferSize',\n    id: 1750,\n    abbrName: 'TotOfrSz',\n    description: 'Specifies the total offer size.',\n  },\n  {\n    type: 'String',\n    addedEP: '126',\n    added: 'FIX.5.0SP2',\n    name: 'SecondaryQuoteID',\n    id: 1751,\n    abbrName: 'QID2',\n    description:\n      'Assigned by the party which accepts the quote. Can be used to provide the quote identifier assigned by an exchange, marketplace or executing system.',\n  },\n  {\n    type: 'String',\n    addedEP: '127',\n    added: 'FIX.5.0SP2',\n    name: 'CustodialLotID',\n    id: 1752,\n    abbrName: 'CstdlLotID',\n    description:\n      'An opaque identifier used to communicate the custodian\u2019s identifier for the lot. It is expected that this information would be provided by the custodian as part of a reconciliation process that occurs before trading.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '127',\n    added: 'FIX.5.0SP2',\n    name: 'VersusPurchaseDate',\n    id: 1753,\n    abbrName: 'VSPDt',\n    description:\n      'The effective acquisition date of the lot that would be used for gain-loss trade lot reporting. The versus purchase date used to identify the lot in situations where a custodial lot identifier is not available.',\n  },\n  {\n    type: 'Price',\n    addedEP: '127',\n    added: 'FIX.5.0SP2',\n    name: 'VersusPurchasePrice',\n    id: 1754,\n    abbrName: 'VSPPx',\n    description:\n      'The versus purchase price used to identify the lot in situations where a custodial lot identifier is not available. The value should be calculated based on current cost basis / quantity held.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '127',\n    added: 'FIX.5.0SP2',\n    name: 'CurrentCostBasis',\n    id: 1755,\n    abbrName: 'CurCostBasis',\n    description:\n      'The amount that the current shares are worth. If this lot was liquidated, the total gain/loss for a trade is equal to the trade amount minus the current cost basis.',\n  },\n  {\n    type: 'String',\n    addedEP: '127',\n    added: 'FIX.5.0SP2',\n    name: 'LegCustodialLotID',\n    id: 1756,\n    abbrName: 'CstdlLotID',\n    description:\n      'An opaque identifier used to communicate the custodian\u2019s identifier for the lot. It is expected that this information would be provided by the custodian as part of a reconciliation process that occurs before trading.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '127',\n    added: 'FIX.5.0SP2',\n    name: 'LegVersusPurchaseDate',\n    id: 1757,\n    abbrName: 'VSPDt',\n    description:\n      'The effective acquisition date of the lot that would be used for gain-loss trade lot reporting. The versus purchase date used to identify the lot in situations where a custodial lot identifier is not available.',\n  },\n  {\n    type: 'Price',\n    addedEP: '127',\n    added: 'FIX.5.0SP2',\n    name: 'LegVersusPurchasePrice',\n    id: 1758,\n    abbrName: 'VSPPx',\n    description:\n      'The versus purchase price used to identify the lot in situations where a custodial lot identifier is not available.The value should be calculated based on current cost basis / quantity held.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '127',\n    added: 'FIX.5.0SP2',\n    name: 'LegCurrentCostBasis',\n    id: 1759,\n    abbrName: 'CurCostBasis',\n    description:\n      'The amount that the current shares are worth. If this lot was liquidated, the total gain/loss for a trade is equal to the trade amount minus the current cost basis.',\n  },\n  {\n    type: 'RiskLimitRequestTypeCodeSet',\n    addedEP: '128',\n    added: 'FIX.5.0SP2',\n    name: 'RiskLimitRequestType',\n    id: 1760,\n    abbrName: 'ReqTyp',\n    description: 'Type of risk limit information.',\n  },\n  {\n    type: 'RiskLimitRequestResultCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '128',\n    added: 'FIX.5.0SP2',\n    name: 'RiskLimitRequestResult',\n    id: 1761,\n    abbrName: 'ReqRslt',\n    description: 'Result of risk limit definition request.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PartyDetailRequestStatusCodeSet',\n    addedEP: '128',\n    updatedEP: '146',\n    added: 'FIX.5.0SP2',\n    name: 'RiskLimitRequestStatus',\n    id: 1762,\n    abbrName: 'ReqStat',\n    description: 'Status of risk limit definition request.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PartyDetailDefinitionStatusCodeSet',\n    addedEP: '128',\n    updatedEP: '146',\n    added: 'FIX.5.0SP2',\n    name: 'RiskLimitStatus',\n    id: 1763,\n    abbrName: 'Stat',\n    description: 'Status of risk limit definition for one party.',\n  },\n  {\n    type: 'RiskLimitRequestResultCodeSet',\n    addedEP: '128',\n    added: 'FIX.5.0SP2',\n    name: 'RiskLimitResult',\n    id: 1764,\n    abbrName: 'Rslt',\n    description: 'Result of risk limit definition for one party.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '128',\n    added: 'FIX.5.0SP2',\n    name: 'RiskLimitUtilizationPercent',\n    id: 1765,\n    abbrName: 'UtilztnPct',\n    description: \"Percentage of utilization of a party's set risk limit.\",\n  },\n  {\n    type: 'Amt',\n    addedEP: '128',\n    added: 'FIX.5.0SP2',\n    name: 'RiskLimitUtilizationAmount',\n    id: 1766,\n    abbrName: 'UtilztnAmt',\n    description: \"Absolute amount of utilization of a party's set risk limit.\",\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'RiskLimitActionCodeSet',\n    addedEP: '128',\n    updatedEP: '171',\n    added: 'FIX.5.0SP2',\n    name: 'RiskLimitAction',\n    id: 1767,\n    abbrName: 'Actn',\n    description:\n      'Identifies the action to take or risk model to assume should risk limit be exceeded or breached for the specified party.',\n  },\n  {\n    type: 'int',\n    addedEP: '128',\n    added: 'FIX.5.0SP2',\n    name: 'RiskWarningLevelAmount',\n    id: 1768,\n    abbrName: 'Amt',\n    description: 'Amount at which a warning is issued.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'RiskLimitActionCodeSet',\n    addedEP: '128',\n    updatedEP: '171',\n    added: 'FIX.5.0SP2',\n    name: 'RiskWarningLevelAction',\n    id: 1769,\n    abbrName: 'Actn',\n    description: 'Action to take should warning level be exceeded.',\n  },\n  {\n    type: 'String',\n    addedEP: '129',\n    added: 'FIX.5.0SP2',\n    name: 'EntitlementRequestID',\n    id: 1770,\n    abbrName: 'ReqID',\n    description: 'Unique identifier for PartyEntitlementsRequest(35=CU).',\n  },\n  {\n    type: 'String',\n    addedEP: '129',\n    added: 'FIX.5.0SP2',\n    name: 'EntitlementReportID',\n    id: 1771,\n    abbrName: 'RptID',\n    description: 'Identifier for the PartyEntitlementsReport(35=CV).',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '129',\n    added: 'FIX.5.0SP2',\n    name: 'NoPartyEntitlements',\n    id: 1772,\n    description: 'Number of party entitlement values.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '129',\n    added: 'FIX.5.0SP2',\n    name: 'NoEntitlements',\n    id: 1773,\n    description: 'Number of entitlement values.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '129',\n    added: 'FIX.5.0SP2',\n    name: 'EntitlementIndicator',\n    id: 1774,\n    abbrName: 'Ind',\n    description:\n      'Used to indicate if a party is entitled to an entitlement type specified in the EntitlementType(1775) field.',\n  },\n  {\n    type: 'EntitlementTypeCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '129',\n    added: 'FIX.5.0SP2',\n    name: 'EntitlementType',\n    id: 1775,\n    abbrName: 'Typ',\n    description: 'Type of entitlement.',\n  },\n  {\n    type: 'String',\n    addedEP: '129',\n    added: 'FIX.5.0SP2',\n    name: 'EntitlementID',\n    id: 1776,\n    abbrName: 'ID',\n    description:\n      'Unique identifier for a specific NoEntitlements(1773) repeating group instance.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'NumInGroup',\n    addedEP: '129',\n    updatedEP: '275',\n    added: 'FIX.5.0SP2',\n    name: 'NoEntitlementAttrib',\n    id: 1777,\n    description: 'Number of entitlement attributes.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved4000Plus',\n    addedEP: '129',\n    added: 'FIX.5.0SP2',\n    name: 'EntitlementAttribType',\n    id: 1778,\n    abbrName: 'Typ',\n    description:\n      'Name of the entitlement attribute type. A code list of allowed values will be maintained on the FIX Protocol website.\\n\\nValues \"4000\" and above are reserved for bilaterally agreed upon user defined enumerations.',\n  },\n  {\n    type: 'EntitlementAttribDatatypeCodeSet',\n    addedEP: '129',\n    added: 'FIX.5.0SP2',\n    name: 'EntitlementAttribDatatype',\n    id: 1779,\n    abbrName: 'Datatyp',\n    description: 'Datatype of the entitlement attribute.',\n  },\n  {\n    type: 'String',\n    addedEP: '129',\n    added: 'FIX.5.0SP2',\n    name: 'EntitlementAttribValue',\n    id: 1780,\n    abbrName: 'Value',\n    description: 'Value of the entitlement attribute.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '129',\n    added: 'FIX.5.0SP2',\n    name: 'EntitlementAttribCurrency',\n    id: 1781,\n    abbrName: 'Ccy',\n    description:\n      'Currency for EntitlementAttribValue(1780). Can be used if these fields represent a price, price offset, or amount.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '129',\n    added: 'FIX.5.0SP2',\n    name: 'EntitlementStartDate',\n    id: 1782,\n    abbrName: 'StartDt',\n    description: 'Indicates the starting date of the entitlement.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'LocalMktDate',\n    addedEP: '129',\n    updatedEP: '204',\n    added: 'FIX.5.0SP2',\n    name: 'EntitlementEndDate',\n    id: 1783,\n    abbrName: 'EndDt',\n    description: 'Indicates the ending date of the entitlement.',\n  },\n  {\n    type: 'String',\n    addedEP: '129',\n    added: 'FIX.5.0SP2',\n    name: 'EntitlementPlatform',\n    id: 1784,\n    abbrName: 'Pltfm',\n    description:\n      'The area to which the entitlement is applicable. This can be a trading platform or an offering.',\n  },\n  {\n    type: 'TradSesControlCodeSet',\n    addedEP: '130',\n    added: 'FIX.5.0SP2',\n    name: 'TradSesControl',\n    id: 1785,\n    abbrName: 'TrdgSesCtrl',\n    description:\n      'Indicates how control of trading session and subsession transitions are performed.',\n  },\n  {\n    type: 'TradeVolTypeCodeSet',\n    addedEP: '130',\n    added: 'FIX.5.0SP2',\n    name: 'TradeVolType',\n    id: 1786,\n    abbrName: 'TrdVolTyp',\n    description:\n      'Define the type of trade volume applicable for the MinTradeVol(562) and MaxTradeVol(1140)',\n  },\n  {\n    type: 'int',\n    addedEP: '130',\n    added: 'FIX.5.0SP2',\n    name: 'RefTickTableID',\n    id: 1787,\n    abbrName: 'RefTickTblID',\n    description: 'Spread table code referred by the security or symbol.',\n  },\n  {\n    type: 'String',\n    addedEP: '131',\n    added: 'FIX.5.0SP2',\n    name: 'LegID',\n    id: 1788,\n    abbrName: 'LegID',\n    description:\n      'Unique identifier for the leg within the context of a message (the scope of uniqueness to be defined by counterparty agreement). The LegID(1788) can be referenced using LegRefID(654).',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '131',\n    added: 'FIX.5.0SP2',\n    name: 'NoTargetMarketSegments',\n    id: 1789,\n    description: 'Number of market segments upon which a mass action is to be taken.',\n  },\n  {\n    type: 'String',\n    addedEP: '131',\n    added: 'FIX.5.0SP2',\n    name: 'TargetMarketSegmentID',\n    id: 1790,\n    abbrName: 'MktSegID',\n    description: 'Market segment within a target market segment repeating group.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '131',\n    added: 'FIX.5.0SP2',\n    name: 'NoAffectedMarketSegments',\n    id: 1791,\n    description: 'Number of market segments affected by a mass action.',\n  },\n  {\n    type: 'String',\n    addedEP: '131',\n    added: 'FIX.5.0SP2',\n    name: 'AffectedMarketSegmentID',\n    id: 1792,\n    abbrName: 'MktSegID',\n    description: 'Market segment within an affected market repeating segment group.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '131',\n    added: 'FIX.5.0SP2',\n    name: 'NoNotAffectedMarketSegments',\n    id: 1793,\n    description: 'Number of market segments left unaffected by a mass action.',\n  },\n  {\n    type: 'String',\n    addedEP: '131',\n    added: 'FIX.5.0SP2',\n    name: 'NotAffectedMarketSegmentID',\n    id: 1794,\n    abbrName: 'MktSegID',\n    description: 'Market segment within an unaffected market repeating segment group.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '131',\n    added: 'FIX.5.0SP2',\n    name: 'NoOrderEvents',\n    id: 1795,\n    description: 'Number of order events.',\n  },\n  {\n    type: 'OrderEventTypeCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '131',\n    added: 'FIX.5.0SP2',\n    name: 'OrderEventType',\n    id: 1796,\n    abbrName: 'Typ',\n    description:\n      'The type of event affecting an order. The last event type within the OrderEventGrp component indicates the ExecType(150) value resulting from the series of events (ExecType(150) values are shown in brackets).',\n  },\n  {\n    type: 'String',\n    addedEP: '131',\n    added: 'FIX.5.0SP2',\n    name: 'OrderEventExecID',\n    id: 1797,\n    abbrName: 'ID',\n    description:\n      'Refer to ExecID(17). Used when multiple different events are reported in single Execution Report. ExecID(17) and OrderEventExecID(1797) values should not overlap.',\n  },\n  {\n    type: 'OrderEventReasonCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '131',\n    added: 'FIX.5.0SP2',\n    name: 'OrderEventReason',\n    id: 1798,\n    abbrName: 'Rsn',\n    description: 'Action that caused the event to occur.',\n  },\n  {\n    type: 'Price',\n    addedEP: '131',\n    added: 'FIX.5.0SP2',\n    name: 'OrderEventPx',\n    id: 1799,\n    abbrName: 'Px',\n    description: 'Price associated with the event.',\n  },\n  {\n    type: 'Qty',\n    addedEP: '131',\n    added: 'FIX.5.0SP2',\n    name: 'OrderEventQty',\n    id: 1800,\n    abbrName: 'Qty',\n    description: 'Quantity associated with the event.',\n  },\n  {\n    type: 'LastLiquidityIndCodeSet',\n    addedEP: '131',\n    added: 'FIX.5.0SP2',\n    name: 'OrderEventLiquidityIndicator',\n    id: 1801,\n    abbrName: 'LqdtyInd',\n    description:\n      'Indicator to identify whether this fill was a result of a liquidity provider providing or liquidity taker taking the liquidity. Applicable only for OrderEventType(1796) values of 4(Partially Filled) or 5(Filled).',\n  },\n  {\n    type: 'String',\n    addedEP: '131',\n    added: 'FIX.5.0SP2',\n    name: 'OrderEventText',\n    id: 1802,\n    abbrName: 'Txt',\n    description: 'Additional information about the event.',\n  },\n  {\n    type: 'AuctionTypeCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '131',\n    added: 'FIX.5.0SP2',\n    name: 'AuctionType',\n    id: 1803,\n    abbrName: 'AuctTyp',\n    description: 'Type of auction order.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '131',\n    added: 'FIX.5.0SP2',\n    name: 'AuctionAllocationPct',\n    id: 1804,\n    abbrName: 'AuctPct',\n    description:\n      'Percentage of matched quantity to be allocated to the submitter of the response to an auction order.',\n  },\n  {\n    type: 'AuctionInstructionCodeSet',\n    addedEP: '131',\n    added: 'FIX.5.0SP2',\n    name: 'AuctionInstruction',\n    id: 1805,\n    abbrName: 'AuctInst',\n    description:\n      'Instruction related to system generated auctions, e.g. flash order auctions.',\n  },\n  {\n    type: 'String',\n    addedEP: '131',\n    added: 'FIX.5.0SP2',\n    name: 'RefClOrdID',\n    id: 1806,\n    abbrName: 'RefClOrdID',\n    description: 'Used to reference an order via ClOrdID(11).',\n  },\n  {\n    type: 'LockTypeCodeSet',\n    addedEP: '131',\n    added: 'FIX.5.0SP2',\n    name: 'LockType',\n    id: 1807,\n    abbrName: 'LckTyp',\n    description: 'Indicates whether an order is locked and for what reason.',\n  },\n  {\n    type: 'Qty',\n    addedEP: '131',\n    added: 'FIX.5.0SP2',\n    name: 'LockedQty',\n    id: 1808,\n    abbrName: 'LckQty',\n    description: 'Locked order quantity.',\n  },\n  {\n    type: 'Qty',\n    addedEP: '131',\n    added: 'FIX.5.0SP2',\n    name: 'SecondaryLockedQty',\n    id: 1809,\n    abbrName: 'LckQty2',\n    description:\n      'Locked order quantity in addition to LockedQty (1808), e.g. to distinguish total locked quantity from currently locked quantity.',\n  },\n  {\n    type: 'ReleaseInstructionCodeSet',\n    addedEP: '131',\n    added: 'FIX.5.0SP2',\n    name: 'ReleaseInstruction',\n    id: 1810,\n    abbrName: 'RlsInst',\n    description:\n      'Instruction to define conditions under which to release a locked order or parts of it.',\n  },\n  {\n    type: 'Qty',\n    addedEP: '131',\n    added: 'FIX.5.0SP2',\n    name: 'ReleaseQty',\n    id: 1811,\n    abbrName: 'RlsQty',\n    description: 'Quantity to be made available, i.e. released from a lock.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '131',\n    added: 'FIX.5.0SP2',\n    name: 'NoDisclosureInstructions',\n    id: 1812,\n    description: 'Number of disclosure instructions.',\n  },\n  {\n    type: 'DisclosureTypeCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '131',\n    added: 'FIX.5.0SP2',\n    name: 'DisclosureType',\n    id: 1813,\n    abbrName: 'Typ',\n    description: 'Information subject to disclosure.',\n  },\n  {\n    type: 'DisclosureInstructionCodeSet',\n    addedEP: '131',\n    added: 'FIX.5.0SP2',\n    name: 'DisclosureInstruction',\n    id: 1814,\n    abbrName: 'Inst',\n    description:\n      'Instruction to disclose information or to use default value of the receiver.',\n  },\n  {\n    type: 'TradingCapacityCodeSet',\n    addedEP: '131',\n    added: 'FIX.5.0SP2',\n    name: 'TradingCapacity',\n    id: 1815,\n    abbrName: 'TrdgCpcty',\n    description:\n      'Designates the capacity in which the order is submitted for trading by the market participant.',\n  },\n  {\n    type: 'ClearingAccountTypeCodeSet',\n    addedEP: '131',\n    added: 'FIX.5.0SP2',\n    name: 'ClearingAccountType',\n    id: 1816,\n    abbrName: 'ClrAcctTyp',\n    description:\n      'Designates the account type to be used for the order when submitted to clearing.',\n  },\n  {\n    type: 'ClearingAccountTypeCodeSet',\n    addedEP: '131',\n    added: 'FIX.5.0SP2',\n    name: 'LegClearingAccountType',\n    id: 1817,\n    abbrName: 'ClrAcctTyp',\n    description:\n      'Designates the capacity in which the order will be submitted to clearing.',\n  },\n  {\n    type: 'PartyDetailRoleQualifierCodeSet',\n    addedEP: '131',\n    added: 'FIX.5.0SP2',\n    name: 'TargetPartyRoleQualifier',\n    id: 1818,\n    abbrName: 'Qual',\n    description: 'Qualifies the value of TargetPartyRole (1464).',\n  },\n  {\n    type: 'Price',\n    addedEP: '131',\n    added: 'FIX.5.0SP2',\n    name: 'RelatedHighPrice',\n    id: 1819,\n    abbrName: 'ReltdHiPx',\n    description:\n      'Upper boundary for the price of a related entity, e.g. price of the underlying instrument in an Underlying Price Contingency (UPC) order.',\n  },\n  {\n    type: 'Price',\n    addedEP: '131',\n    added: 'FIX.5.0SP2',\n    name: 'RelatedLowPrice',\n    id: 1820,\n    abbrName: 'ReltdLowPx',\n    description:\n      'Lower boundary for the price of a related entity, e.g. price of the underlying instrument in an Underlying Price Contingency (UPC) order.',\n  },\n  {\n    type: 'RelatedPriceSourceCodeSet',\n    addedEP: '131',\n    added: 'FIX.5.0SP2',\n    name: 'RelatedPriceSource',\n    id: 1821,\n    abbrName: 'ReltdPxSrc',\n    description:\n      'Source for the price of a related entity, e.g. price of the underlying instrument in an Underlying Price Contingency (UPC) order. Can be used together with RelatedHighPrice (1819) and/or RelatedLowPrice (1820).',\n  },\n  {\n    type: 'MinQtyMethodCodeSet',\n    addedEP: '131',\n    added: 'FIX.5.0SP2',\n    name: 'MinQtyMethod',\n    id: 1822,\n    abbrName: 'MinQtyMeth',\n    description:\n      'Indicates how the minimum quantity should be applied when executing the order.',\n  },\n  {\n    type: 'TriggeredCodeSet',\n    addedEP: '131',\n    added: 'FIX.5.0SP2',\n    name: 'Triggered',\n    id: 1823,\n    abbrName: 'Trgrd',\n    description:\n      'Indicates whether order has been triggered during its lifetime. Applies to cases where original information, e.g. OrdType(40), is modified when the order is triggered.',\n  },\n  {\n    type: 'String',\n    addedEP: '131',\n    added: 'FIX.5.0SP2',\n    name: 'AffectedOrigClOrdID',\n    id: 1824,\n    abbrName: 'OrigClOrdID',\n    description:\n      'OrigClOrdID(41) of an order affected by a mass cancel or mass action request.',\n  },\n  {\n    type: 'String',\n    addedEP: '131',\n    added: 'FIX.5.0SP2',\n    name: 'NotAffSecondaryOrderID',\n    id: 1825,\n    abbrName: 'OrdID2',\n    description:\n      'SecondaryOrderID (198) of an order not affected by a mass cancel or mass action request.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '131',\n    added: 'FIX.5.0SP2',\n    name: 'NoCrossLegs',\n    id: 1829,\n    description: 'Number of legs in the side of a cross order.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'int',\n    addedEP: '132',\n    updatedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'EventTimePeriod',\n    id: 1826,\n    abbrName: 'TmPeriod',\n    description: 'Time unit multiplier for the event.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'EventTimeUnitCodeSet',\n    addedEP: '132',\n    updatedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'EventTimeUnit',\n    id: 1827,\n    abbrName: 'TmUnit',\n    description: 'Time unit associated with the event.',\n  },\n  {\n    type: 'Qty',\n    addedEP: '132',\n    added: 'FIX.5.0SP2',\n    name: 'LastQtyVariance',\n    id: 1828,\n    abbrName: 'LastQtyVarnc',\n    description:\n      'When LastQty is an estimated value, e.g. for a Repo \u201Ccircled\u201D trade, LastQtyVariance specifies the absolute amount that the size may vary up or down when finalized. Omitted when LastQty(32) is already final.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'OrderOriginationCodeSet',\n    addedEP: '135',\n    updatedEP: '222',\n    added: 'FIX.5.0SP2',\n    name: 'OrderOrigination',\n    id: 1724,\n    abbrName: 'OrdOrigntn',\n    description: 'Identifies the origin of the order.',\n  },\n  {\n    type: 'String',\n    addedEP: '135',\n    added: 'FIX.5.0SP2',\n    name: 'OriginatingDeptID',\n    id: 1725,\n    abbrName: 'OrigntngDeptID',\n    description:\n      'An identifier representing the department or desk within the firm that originated the order.',\n  },\n  {\n    type: 'String',\n    addedEP: '135',\n    added: 'FIX.5.0SP2',\n    name: 'ReceivingDeptID',\n    id: 1726,\n    abbrName: 'RcvgDeptID',\n    description:\n      'An identifier representing the department or desk within the firm that received the order.',\n  },\n  {\n    type: 'String',\n    addedEP: '135',\n    added: 'FIX.5.0SP2',\n    name: 'InformationBarrierID',\n    id: 1727,\n    abbrName: 'InfoBrrID',\n    description:\n      'The identifier of the information barrier in place for a trading unit that will meet the criteria of the \"no-knowledge\" exception in FINRA Rule 5320.02.',\n  },\n  {\n    type: 'Price',\n    addedEP: '138',\n    added: 'FIX.5.0SP2',\n    name: 'SettlPriceIncrement',\n    id: 1830,\n    abbrName: 'SettlPxIncr',\n    description: 'Settlement price increment for stated price range.',\n  },\n  {\n    type: 'Price',\n    addedEP: '138',\n    added: 'FIX.5.0SP2',\n    name: 'SettlPriceSecondaryIncrement',\n    id: 1831,\n    abbrName: 'SettlPxIncr2',\n    description:\n      'Secondary settlement price increment for stated price range. The meaning of secondary is left to bilateral agreement, e.g. it may refer to final settlement for a contract.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'ClearedIndicatorCodeSet',\n    addedEP: '140',\n    updatedEP: '196',\n    added: 'FIX.5.0SP2',\n    name: 'ClearedIndicator',\n    id: 1832,\n    abbrName: 'Clrd',\n    description:\n      'Indicates whether the trade or position being reported was cleared through a clearing organization.',\n  },\n  {\n    type: 'ContractRefPosTypeCodeSet',\n    addedEP: '140',\n    added: 'FIX.5.0SP2',\n    name: 'ContractRefPosType',\n    id: 1833,\n    abbrName: 'ConRefPosTyp',\n    description:\n      'Additional information related to the pricing of a commodity swaps position, specifically an indicator referring to the position type.',\n  },\n  {\n    type: 'PositionCapacityCodeSet',\n    addedEP: '140',\n    added: 'FIX.5.0SP2',\n    name: 'PositionCapacity',\n    id: 1834,\n    abbrName: 'PosCpcty',\n    description: 'Used to describe the ownership of the position.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '140',\n    added: 'FIX.5.0SP2',\n    name: 'PosQtyUnitOfMeasureCurrency',\n    id: 1835,\n    abbrName: 'UOMCcy',\n    description:\n      'Indicates the currency of the unit of measure if position quantity is expressed in valuation rather than contracts. Conditionally required when PosQtyUnitOfMeasure(1836)=Ccy.',\n  },\n  {\n    type: 'UnitOfMeasureCodeSet',\n    addedEP: '140',\n    added: 'FIX.5.0SP2',\n    name: 'PosQtyUnitOfMeasure',\n    id: 1836,\n    abbrName: 'UOM',\n    description:\n      'Indicates the unit of measure of the position quantity when not expressed in contracts.',\n  },\n  {\n    type: 'MonthYear',\n    addedEP: '140',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingContractPriceRefMonth',\n    id: 1837,\n    abbrName: 'PxRefMo',\n    description:\n      'Reference month if there is no applicable UnderlyingMaturityMonth(313) value for the contract or security.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'NumInGroup',\n    addedEP: '141',\n    updatedEP: '275',\n    added: 'FIX.5.0SP2',\n    name: 'NoTradePriceConditions',\n    id: 1838,\n    description: 'Number of trade price conditions.',\n  },\n  {\n    type: 'TradePriceConditionCodeSet',\n    addedEP: '141',\n    added: 'FIX.5.0SP2',\n    name: 'TradePriceCondition',\n    id: 1839,\n    abbrName: 'TrdPxCond',\n    description:\n      'Price conditions in effect at the time of the trade. Multiple price conditions can be in effect at the same time. Price conditions are usually required to be reported in markets that have regulations on price execution at a market or national best bid or offer, and the trade price differs from the best bid or offer.',\n  },\n  {\n    type: 'TradeAllocStatusCodeSet',\n    addedEP: '141',\n    added: 'FIX.5.0SP2',\n    name: 'TradeAllocStatus',\n    id: 1840,\n    abbrName: 'Stat',\n    description:\n      'Identifies the status of an allocation when using a pre-clear workflow.\\n\\nNote: This is different from the give-up process where a trade is cleared and then given up and goes through the allocation flow.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'NumInGroup',\n    addedEP: '141',\n    updatedEP: '275',\n    added: 'FIX.5.0SP2',\n    name: 'NoTradeQtys',\n    id: 1841,\n    description: 'Number of trade quantities.',\n  },\n  {\n    type: 'TradeQtyTypeCodeSet',\n    addedEP: '141',\n    added: 'FIX.5.0SP2',\n    name: 'TradeQtyType',\n    id: 1842,\n    abbrName: 'Typ',\n    description: 'Indicates the type of trade quantity in TradeQty(1843).',\n  },\n  {\n    type: 'Qty',\n    addedEP: '141',\n    added: 'FIX.5.0SP2',\n    name: 'TradeQty',\n    id: 1843,\n    abbrName: 'Qty',\n    description: 'Trade quantity.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'NumInGroup',\n    addedEP: '141',\n    updatedEP: '275',\n    added: 'FIX.5.0SP2',\n    name: 'NoTradeAllocAmts',\n    id: 1844,\n    description: 'Number of trade allocation amount entries.',\n  },\n  {\n    type: 'PosAmtTypeCodeSet',\n    addedEP: '141',\n    added: 'FIX.5.0SP2',\n    name: 'TradeAllocAmtType',\n    id: 1845,\n    abbrName: 'Typ',\n    description: 'Type of the amount associated with a trade allocation.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '141',\n    added: 'FIX.5.0SP2',\n    name: 'TradeAllocAmt',\n    id: 1846,\n    abbrName: 'Amt',\n    description: 'The amount associated with a trade allocation.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '141',\n    added: 'FIX.5.0SP2',\n    name: 'TradeAllocCurrency',\n    id: 1847,\n    abbrName: 'Ccy',\n    description: 'Currency denomination of the trade allocation amount.',\n  },\n  {\n    type: 'TradeAllocGroupInstructionCodeSet',\n    addedEP: '141',\n    added: 'FIX.5.0SP2',\n    name: 'TradeAllocGroupInstruction',\n    id: 1848,\n    abbrName: 'AllocGrpInst',\n    description:\n      'Instruction on how to add a trade to an allocation group when it is being given-up.',\n  },\n  {\n    type: 'OffsetInstructionCodeSet',\n    addedEP: '141',\n    added: 'FIX.5.0SP2',\n    name: 'OffsetInstruction',\n    id: 1849,\n    abbrName: 'OfstInst',\n    description: 'Indicates the trade is a result of an offset or onset.',\n  },\n  {\n    type: 'PosAmtReasonCodeSet',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '141',\n    added: 'FIX.5.0SP2',\n    name: 'TradeAllocAmtReason',\n    id: 1850,\n    abbrName: 'Rsn',\n    description:\n      'Specifies the reason for an amount type when reported on an allocation. Useful when multiple instances of the same amount type are reported.',\n  },\n  {\n    type: 'String',\n    addedEP: '141',\n    added: 'FIX.5.0SP2',\n    name: 'StrategyLinkID',\n    id: 1851,\n    abbrName: 'StrategyLinkID',\n    description:\n      'Identifies the multileg strategy (e.g. spread) to which the trade belongs. This links together trade legs executed as part of a strategy during a single match event.',\n  },\n  {\n    type: 'Price',\n    addedEP: '141',\n    added: 'FIX.5.0SP2',\n    name: 'SideAvgPx',\n    id: 1852,\n    abbrName: 'AvgPx',\n    description: 'Calculated average price for this side of the trade.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'AvgPxIndicatorCodeSet',\n    addedEP: '141',\n    updatedEP: '282',\n    added: 'FIX.5.0SP2',\n    name: 'SideAvgPxIndicator',\n    id: 1853,\n    abbrName: 'AvgPxInd',\n    description:\n      'Used to indicate whether a trade or a sub-allocation should be allocated at the trade price (e.g. no average pricing), or whether it should be grouped with other trades/sub-allocations and allocated at the average price of the group.',\n  },\n  {\n    type: 'String',\n    addedEP: '141',\n    added: 'FIX.5.0SP2',\n    name: 'SideAvgPxGroupID',\n    id: 1854,\n    abbrName: 'AvgPxGrpID',\n    description:\n      'The identifier for the average price group for the trade side. See also AvgPxGroupID(1731).',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'NumInGroup',\n    addedEP: '142',\n    updatedEP: '275',\n    added: 'FIX.5.0SP2',\n    name: 'NoRelatedTrades',\n    id: 1855,\n    description: 'Number of related trades.',\n  },\n  {\n    type: 'String',\n    addedEP: '142',\n    added: 'FIX.5.0SP2',\n    name: 'RelatedTradeID',\n    id: 1856,\n    abbrName: 'ID',\n    discriminatorId: '1857',\n    description: 'Identifier of a related trade.',\n  },\n  {\n    type: 'RelatedTradeIDSourceCodeSet',\n    addedEP: '142',\n    added: 'FIX.5.0SP2',\n    name: 'RelatedTradeIDSource',\n    id: 1857,\n    abbrName: 'Src',\n    description:\n      'Describes the source of the identifier that RelatedTradeID(1856) represents.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '142',\n    added: 'FIX.5.0SP2',\n    name: 'RelatedTradeDate',\n    id: 1858,\n    abbrName: 'Dt',\n    description: 'Date of a related trade.',\n  },\n  {\n    type: 'Exchange',\n    addedEP: '142',\n    added: 'FIX.5.0SP2',\n    name: 'RelatedTradeMarketID',\n    id: 1859,\n    abbrName: 'MktID',\n    description: 'Market of execution of related trade.',\n  },\n  {\n    type: 'Qty',\n    addedEP: '142',\n    added: 'FIX.5.0SP2',\n    name: 'RelatedTradeQuantity',\n    id: 1860,\n    abbrName: 'Qty',\n    description:\n      'Quantity of the related trade which can be less than or equal to the actual quantity of the related trade. For example, when one trade offsets another across asset classes.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'NumInGroup',\n    addedEP: '142',\n    updatedEP: '275',\n    added: 'FIX.5.0SP2',\n    name: 'NoRelatedPositions',\n    id: 1861,\n    description: 'Number of related positions.',\n  },\n  {\n    type: 'String',\n    addedEP: '142',\n    added: 'FIX.5.0SP2',\n    name: 'RelatedPositionID',\n    id: 1862,\n    abbrName: 'ID',\n    discriminatorId: '1863',\n    description: 'Identifier of a related position.',\n  },\n  {\n    type: 'RelatedPositionIDSourceCodeSet',\n    addedEP: '142',\n    added: 'FIX.5.0SP2',\n    name: 'RelatedPositionIDSource',\n    id: 1863,\n    abbrName: 'Src',\n    description:\n      'Describes the source of the identifier that RelatedPositionID(1862) represents.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '142',\n    added: 'FIX.5.0SP2',\n    name: 'RelatedPositionDate',\n    id: 1864,\n    abbrName: 'Dt',\n    description:\n      'Used to help identify the position when RelatedPositionID(1862) is not unique across multiple days. This date is generally the creation date of the identifier.',\n  },\n  {\n    type: 'QuoteAckStatusCodeSet',\n    addedEP: '143',\n    added: 'FIX.5.0SP2',\n    name: 'QuoteAckStatus',\n    id: 1865,\n    abbrName: 'QtAckStat',\n    description:\n      'Acknowledgement status of a Quote(35=S) or QuoteCancel(35=Z) message submission.',\n  },\n  {\n    type: 'String',\n    addedEP: '144',\n    added: 'FIX.5.0SP2',\n    name: 'OfferID',\n    id: 1867,\n    abbrName: 'OfrID',\n    description:\n      'Unique identifier for the ask side of the quote assigned by the quote issuer.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'NumInGroup',\n    addedEP: '144',\n    updatedEP: '275',\n    added: 'FIX.5.0SP2',\n    name: 'NoValueChecks',\n    id: 1868,\n    description: 'Number of value check entries.',\n  },\n  {\n    type: 'ValueCheckTypeCodeSet',\n    addedEP: '144',\n    added: 'FIX.5.0SP2',\n    name: 'ValueCheckType',\n    id: 1869,\n    abbrName: 'Typ',\n    description: 'Type of value to be checked.',\n  },\n  {\n    type: 'ValueCheckActionCodeSet',\n    addedEP: '144',\n    added: 'FIX.5.0SP2',\n    name: 'ValueCheckAction',\n    id: 1870,\n    abbrName: 'Actn',\n    description: 'Action to be taken for the ValueCheckType(1869).',\n  },\n  {\n    type: 'Length',\n    addedEP: '145',\n    added: 'FIX.5.0SP2',\n    name: 'LegSecurityXMLLen',\n    id: 1871,\n    description: 'The length of the LegSecurityXML(1872) data block.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'XMLData',\n    addedEP: '145',\n    updatedEP: '275',\n    added: 'FIX.5.0SP2',\n    name: 'LegSecurityXML',\n    id: 1872,\n    abbrName: 'SecXML',\n    lengthId: '1871',\n    description: 'XML definition for the leg security.',\n  },\n  {\n    type: 'String',\n    addedEP: '145',\n    added: 'FIX.5.0SP2',\n    name: 'LegSecurityXMLSchema',\n    id: 1873,\n    abbrName: 'Schema',\n    description: 'The schema used to validate the contents of LegSecurityXML(1872).',\n  },\n  {\n    type: 'Length',\n    addedEP: '145',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingSecurityXMLLen',\n    id: 1874,\n    description: 'The length of the UnderlyingSecurityXML(1875) data block.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'XMLData',\n    addedEP: '145',\n    updatedEP: '275',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingSecurityXML',\n    id: 1875,\n    abbrName: 'SecXML',\n    lengthId: '1874',\n    description: 'XML definition for the underlying security.',\n  },\n  {\n    type: 'String',\n    addedEP: '145',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingSecurityXMLSchema',\n    id: 1876,\n    abbrName: 'Schema',\n    description:\n      'The schema used to validate the contents of UnderlyingSecurityXML(1875).',\n  },\n  {\n    type: 'PartyDetailRequestResultCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '146',\n    added: 'FIX.5.0SP2',\n    name: 'PartyDetailRequestResult',\n    id: 1877,\n    abbrName: 'ReqRslt',\n    description: 'Result party detail definition request.',\n  },\n  {\n    type: 'PartyDetailRequestStatusCodeSet',\n    addedEP: '146',\n    added: 'FIX.5.0SP2',\n    name: 'PartyDetailRequestStatus',\n    id: 1878,\n    abbrName: 'ReqStat',\n    description: 'Status of party details definition request.',\n  },\n  {\n    type: 'PartyDetailDefinitionStatusCodeSet',\n    addedEP: '146',\n    added: 'FIX.5.0SP2',\n    name: 'PartyDetailDefinitionStatus',\n    id: 1879,\n    abbrName: 'Stat',\n    description: 'Status of party detail definition for one party.',\n  },\n  {\n    type: 'PartyDetailRequestResultCodeSet',\n    addedEP: '146',\n    added: 'FIX.5.0SP2',\n    name: 'PartyDetailDefinitionResult',\n    id: 1880,\n    abbrName: 'Rslt',\n    description: 'Result of party detail definition for one party.',\n  },\n  {\n    type: 'EntitlementRequestResultCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '146',\n    added: 'FIX.5.0SP2',\n    name: 'EntitlementRequestResult',\n    id: 1881,\n    abbrName: 'ReqRslt',\n    description: 'Result of risk limit definition request.',\n  },\n  {\n    type: 'PartyDetailRequestStatusCodeSet',\n    addedEP: '146',\n    added: 'FIX.5.0SP2',\n    name: 'EntitlementRequestStatus',\n    id: 1882,\n    abbrName: 'ReqStat',\n    description: 'Status of party entitlements definition request.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'EntitlementStatusCodeSet',\n    addedEP: '146',\n    updatedEP: '173',\n    added: 'FIX.5.0SP2',\n    name: 'EntitlementStatus',\n    id: 1883,\n    abbrName: 'Stat',\n    description: 'Status of entitlement definition for one party.',\n  },\n  {\n    type: 'EntitlementRequestResultCodeSet',\n    addedEP: '146',\n    added: 'FIX.5.0SP2',\n    name: 'EntitlementResult',\n    id: 1884,\n    abbrName: 'Rslt',\n    description: 'Result of entitlement definition for one party.',\n  },\n  {\n    type: 'String',\n    addedEP: '146',\n    added: 'FIX.5.0SP2',\n    name: 'EntitlementRefID',\n    id: 1885,\n    abbrName: 'RefID',\n    description:\n      'Reference to an EntitlementID(1776). Used for modification or deletion of an entitlement.',\n  },\n  {\n    type: 'UnitOfMeasureCodeSet',\n    addedEP: '147',\n    added: 'FIX.5.0SP2',\n    name: 'SettlPriceUnitOfMeasure',\n    id: 1886,\n    abbrName: 'SetPxUOM',\n    description:\n      'Used to express the unit of measure of the settlement price if different from the contract.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '147',\n    added: 'FIX.5.0SP2',\n    name: 'SettlPriceUnitOfMeasureCurrency',\n    id: 1887,\n    abbrName: 'SetPxUOMCcy',\n    description:\n      'Indicates the currency of the settlement price unit of measure if expressed in another currency than the base currency.\\n\\nConditionally required when SettlPriceUnitOfMeasure(1886)=Ccy.',\n  },\n  {\n    type: 'UTCTimestamp',\n    addedEP: '150',\n    added: 'FIX.5.0SP2',\n    name: 'TradeMatchTimestamp',\n    id: 1888,\n    abbrName: 'MtchTS',\n    description:\n      'Timestamp of the match event. For off-exchange trades the time at which the deal was matched by the exchange.\\n\\nThis timestamp will be the same on all the trades and will not change when a trade is modified.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'NumInGroup',\n    addedEP: '150',\n    updatedEP: '275',\n    added: 'FIX.5.0SP2',\n    name: 'NoInstrmtMatchSides',\n    id: 1889,\n    description: 'Number of instrument match sides.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'NumInGroup',\n    addedEP: '150',\n    updatedEP: '275',\n    added: 'FIX.5.0SP2',\n    name: 'NoTrdMatchSides',\n    id: 1890,\n    description: 'Number of trade match sides.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'String',\n    addedEP: '150',\n    updatedEP: '215',\n    added: 'FIX.5.0SP2',\n    name: 'TrdMatchSubID',\n    id: 1891,\n    abbrName: 'MtchSubID',\n    description:\n      'Used to identify each price level, step or clip within a match event.\\n\\nThe identifier may represent a grouping of matched resting orders at a given price level that was matched by an aggressor order. For example, an aggressive order sweeping through 2 price levels that included 3 resting orders would have two different TrdMatchSubID(1891) values.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'NumInGroup',\n    addedEP: '150',\n    updatedEP: '275',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegExecs',\n    id: 1892,\n    description: 'Number of instrument leg executions.',\n  },\n  {\n    type: 'String',\n    addedEP: '150',\n    added: 'FIX.5.0SP2',\n    name: 'LegExecID',\n    id: 1893,\n    abbrName: 'ExecID',\n    description: 'The ExecID(17) value corresponding to a trade leg.',\n  },\n  {\n    type: 'String',\n    addedEP: '150',\n    added: 'FIX.5.0SP2',\n    name: 'LegTradeID',\n    id: 1894,\n    abbrName: 'TrdID',\n    description: 'The TradeID(1003) value corresponding to a trade leg.',\n  },\n  {\n    type: 'String',\n    addedEP: '150',\n    added: 'FIX.5.0SP2',\n    name: 'LegTradeReportID',\n    id: 1895,\n    abbrName: 'RptID',\n    description: 'The TradeReportID(571) value corresponding to a trade leg.',\n  },\n  {\n    type: 'TradeMatchAckStatusCodeSet',\n    addedEP: '150',\n    added: 'FIX.5.0SP2',\n    name: 'TradeMatchAckStatus',\n    id: 1896,\n    abbrName: 'MtchAckStat',\n    description: 'Used to indicate the status of the trade match report submission.',\n  },\n  {\n    type: 'TradeMatchRejectReasonCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '150',\n    added: 'FIX.5.0SP2',\n    name: 'TradeMatchRejectReason',\n    id: 1897,\n    abbrName: 'RejRsn',\n    description: 'Reason the trade match report submission was rejected.',\n  },\n  {\n    type: 'String',\n    addedEP: '150',\n    added: 'FIX.5.0SP2',\n    name: 'SideMarketSegmentID',\n    id: 1898,\n    abbrName: 'MktSegID',\n    description: 'Identifies the market segment of the side.',\n  },\n  {\n    type: 'VenueTypeCodeSet',\n    addedEP: '150',\n    added: 'FIX.5.0SP2',\n    name: 'SideVenueType',\n    id: 1899,\n    abbrName: 'VenuTyp',\n    description:\n      'Identifies the type of venue where the trade was executed for the side.',\n  },\n  {\n    type: 'String',\n    addedEP: '150',\n    added: 'FIX.5.0SP2',\n    name: 'SideExecRefID',\n    id: 1900,\n    abbrName: 'ExecRefID',\n    description: 'Used to reference the value from SideExecID(1427).',\n  },\n  {\n    type: 'String',\n    addedEP: '150',\n    added: 'FIX.5.0SP2',\n    name: 'LegExecRefID',\n    id: 1901,\n    abbrName: 'ExecRefID',\n    description: 'Used to reference the value from LegExecID(1893).',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '157',\n    added: 'FIX.5.0SP2',\n    name: 'HaircutIndicator',\n    id: 1902,\n    abbrName: 'HrctInd',\n    description:\n      'Indicates, if \"Y\", that a stated valuation includes a haircut, e.g. that the stated value reflects the subtraction of the haircut. Note that a value of \"N\" does not imply a haircut is not applicable, only that the haircut (if any) is not reflected in the stated valuation.',\n  },\n  {\n    type: 'int',\n    addedEP: '159',\n    added: 'FIX.5.0SP2',\n    name: 'NumOfCompetitors',\n    id: 1913,\n    abbrName: 'NumCmptors',\n    description:\n      'The number of competing Respondents (e.g. dealers) to receive a quote request (either via the QuoteRequest(35=R) or via other means).',\n  },\n  {\n    type: 'UTCTimestamp',\n    addedEP: '159',\n    added: 'FIX.5.0SP2',\n    name: 'ResponseTime',\n    id: 1914,\n    abbrName: 'RspTm',\n    description:\n      'The time by which a meaningful response should arrive back (always expressed in UTC (Universal Time Coordinated, also known as \"GMT\").\\n\\nThe meaning of the response time is specific to the context where the field is used.\\n\\nFor a QuoteRequest(35=R) message, this is the time by which the Quote(35=S) message should arrive to the initiator of the QuoteRequest(35=R) message.',\n  },\n  {\n    type: 'UTCTimestamp',\n    addedEP: '159',\n    added: 'FIX.5.0SP2',\n    name: 'QuoteDisplayTime',\n    id: 1915,\n    abbrName: 'QuotDsplyTm',\n    description:\n      'Time by which the quote will be displayed.\\n\\nFor example, the time the execution venue will display dealer(s) submitted quotes to market participant(s).',\n  },\n  {\n    type: 'OrderDelayUnitCodeSet',\n    addedEP: '159',\n    added: 'FIX.5.0SP2',\n    name: 'ExposureDurationUnit',\n    id: 1916,\n    abbrName: 'ExpsreDurUnit',\n    description: 'Time unit in which the ExposureDuration(1629) is expressed.',\n  },\n  {\n    type: 'Price',\n    addedEP: '159',\n    added: 'FIX.5.0SP2',\n    name: 'CoverPrice',\n    id: 1917,\n    abbrName: 'CoverPx',\n    description: 'The best quoted price received among those not traded.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '160',\n    added: 'FIX.5.0SP2',\n    name: 'NoClearingAccountTypes',\n    id: 1918,\n    description: 'Number of clearing account type entries.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '160',\n    added: 'FIX.5.0SP2',\n    name: 'NoPriceMovements',\n    id: 1919,\n    description: 'Number of price movement entries.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '160',\n    added: 'FIX.5.0SP2',\n    name: 'NoPriceMovementValues',\n    id: 1920,\n    description: 'Number of price movement value entries.',\n  },\n  {\n    type: 'float',\n    addedEP: '160',\n    added: 'FIX.5.0SP2',\n    name: 'PriceMovementValue',\n    id: 1921,\n    abbrName: 'Valu',\n    description: 'Value at specific price movement point.',\n  },\n  {\n    type: 'int',\n    addedEP: '160',\n    added: 'FIX.5.0SP2',\n    name: 'PriceMovementPoint',\n    id: 1922,\n    abbrName: 'Pnt',\n    description:\n      'Price movement point up (positive integer) or down (negative integer) relative to the underlying price of the instrument.',\n  },\n  {\n    type: 'PriceMovementTypeCodeSet',\n    addedEP: '160',\n    added: 'FIX.5.0SP2',\n    name: 'PriceMovementType',\n    id: 1923,\n    abbrName: 'Typ',\n    description: 'Describes the format of the PriceMovementValue(1921).',\n  },\n  {\n    type: 'Length',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedEventTextLen',\n    id: 1578,\n    abbrName: 'EncTxtLen',\n    description:\n      'Byte length of encoded (non-ASCII characters) EncodedEventText(868) fied.',\n  },\n  {\n    type: 'data',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedEventText',\n    id: 1579,\n    abbrName: 'EncTxt',\n    lengthId: '1578',\n    description:\n      'Encoded (non-ASCII characters) representation of the EventText(868) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the EventText(868) field.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'RegulatoryTradeID',\n    id: 1903,\n    abbrName: 'ID',\n    discriminatorId: '1905',\n    description:\n      'Trade identifier required by government regulators or other regulatory organizations for regulatory reporting purposes. For example, unique swap identifer (USI) as required by the U.S. Commodity Futures Trading Commission.',\n  },\n  {\n    type: 'RegulatoryTradeIDEventCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'RegulatoryTradeIDEvent',\n    id: 1904,\n    abbrName: 'Evnt',\n    description:\n      'Identifies the event which caused origination of the identifier in RegulatoryTradeID(1903). When more than one event is the cause, use the higher enumeration value. For example, if the identifier is originated due to an allocated trade which was cleared and reported, use the enumeration value 2 (Clearing).',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'RegulatoryTradeIDSourceCodeSet',\n    addedEP: '161',\n    updatedEP: '275',\n    added: 'FIX.5.0SP2',\n    name: 'RegulatoryTradeIDSource',\n    id: 1905,\n    abbrName: 'Src',\n    description:\n      'Identifies the reporting entity that originated the value in RegulatoryTradeID(1903). The reporting entity identifier may be assigned by a regulator or from a supported standard identifier source scheme.\\n\\nIn the context of CFTC usage for Unique Swap Identifier (USI), this field is required to convey the namespace of the entity creating the USI, in accordance to the USI Data Standard (https://www.cftc.gov/sites/default/files/idc/groups/public/@swaps/documents/dfsubmission/usidatastandards100112.pdf). For standardized identifier source schemes, such as the Unique Transaction Identifier (UTI), the source scheme is identified using supported code values.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'RegulatoryTradeIDTypeCodeSet',\n    addedEP: '161',\n    updatedEP: '222',\n    added: 'FIX.5.0SP2',\n    name: 'RegulatoryTradeIDType',\n    id: 1906,\n    abbrName: 'Typ',\n    description:\n      'Specifies the type of trade identifier provided in RegulatoryTradeID(1903).\\n\\nContextual hierarchy of events for the same trade or transaction maybe captured through use of the different RegulatoryTradeIDType(1906) values using multiple instances of the repeating group as needed for regulatory reporting.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoRegulatoryTradeIDs',\n    id: 1907,\n    description: 'Number of regulatory IDs in the repeating group.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoAllocRegulatoryTradeIDs',\n    id: 1908,\n    description: 'Number of regulatory IDs in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'AllocRegulatoryTradeID',\n    id: 1909,\n    abbrName: 'ID',\n    discriminatorId: '1910',\n    description:\n      'Trade identifier required by government regulators or other regulatory organizations for regulatory reporting purposes. For example, unique swap identifer (USI) as required by the U.S. Commodity Futures Trading Commission.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'RegulatoryTradeIDSourceCodeSet',\n    addedEP: '161',\n    updatedEP: '275',\n    added: 'FIX.5.0SP2',\n    name: 'AllocRegulatoryTradeIDSource',\n    id: 1910,\n    abbrName: 'Src',\n    description:\n      'Identifies the reporting entity that originated the value in RegulatoryTradeID(1903). The reporting entity identifier may be assigned by a regulator or from a supported standard identifier source scheme.\\n\\nIn the context of CFTC usage for Unique Swap Identifier (USI), this field is required to convey the namespace of the entity creating the USI, in accordance to the USI Data Standard (https://www.cftc.gov/sites/default/files/idc/groups/public/@swaps/documents/dfsubmission/usidatastandards100112.pdf). For standardized identifier source schemes, such as the Unique Transaction Identifier (UTI), the source scheme is identified using supported code values.',\n  },\n  {\n    type: 'RegulatoryTradeIDEventCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'AllocRegulatoryTradeIDEvent',\n    id: 1911,\n    abbrName: 'Evnt',\n    description:\n      'Identifies the event which caused the origination of the identifier in AllocRegulatoryTradeID(1909). When more than one event is the cause, use the higher enumeration value. For example, if the identifier is originated due to an allocated trade which was cleared and reported, use the enumeration value 2(Clearing).',\n  },\n  {\n    type: 'RegulatoryTradeIDTypeCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'AllocRegulatoryTradeIDType',\n    id: 1912,\n    abbrName: 'Typ',\n    description:\n      'Specifies the type of trade identifier provided in AllocRegulatoryTradeID(1909), within the context of the hierarchy of trade events.',\n  },\n  {\n    type: 'ClearingIntentionCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ClearingIntention',\n    id: 1924,\n    abbrName: 'ClrIntn',\n    description: \"Specifies the party's or parties' intention to clear the trade.\",\n  },\n  {\n    type: 'ClearingInstructionCodeSet',\n    unionDataType: 'Reserved4000Plus',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'TradeClearingInstruction',\n    id: 1925,\n    abbrName: 'ClrngInstrctn',\n    description:\n      'Specifies the eligibility of this trade for clearing and central counterparty processing.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'BackloadedTradeIndicator',\n    id: 1926,\n    abbrName: 'BackTrdInd',\n    description:\n      'Indicates that the trade being reported occurred in the past and is still in effect or active.',\n  },\n  {\n    type: 'ConfirmationMethodCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ConfirmationMethod',\n    id: 1927,\n    abbrName: 'CnfmMeth',\n    description: 'Specifies how a trade was confirmed.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'MandatoryClearingIndicator',\n    id: 1928,\n    abbrName: 'MandClrInd',\n    description: 'An indication that the trade is flagged for mandatory clearing.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'Boolean',\n    addedEP: '161',\n    updatedEP: '193',\n    added: 'FIX.5.0SP2',\n    name: 'MixedSwapIndicator',\n    id: 1929,\n    abbrName: 'MixedSwapInd',\n    description:\n      'An indication that the trade is a mixed swap.\\n\\nIn the context of CFTC , a \"Mixed swap\" is defined in the Commodity Exchange Act (CEA) section 1a(47)(D) as an instrument that is in part a swap subject to the jurisdiction of the CFTC, and in part a security-based swap subject to the jurisdiction of the SEC. When reporting the additional Swap Data Repositories must be identified in the appropriate Parties component with PartyRole(452) = 102 (Data repository), PartyRoleQualifier(2376) = 12 (Additional domestic trade repository) and PartySub-IDType(803) = 70 (Location or jurisdiction).',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'OffMarketPriceIndicator',\n    id: 1930,\n    abbrName: 'OffMktPxInd',\n    description: 'An indication that the price is off-market.',\n  },\n  {\n    type: 'VerificationMethodCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'VerificationMethod',\n    id: 1931,\n    abbrName: 'VerfctnMeth',\n    description: 'Indication of how a trade was verified.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'ClearingRequirementExceptionCodeSet',\n    addedEP: '161',\n    updatedEP: '177',\n    added: 'FIX.5.0SP2',\n    name: 'ClearingRequirementException',\n    id: 1932,\n    abbrName: 'ClrReqmtExcptn',\n    description:\n      \"Specifies whether a party to a swap is using an exception to a clearing requirement. In the US, one such clearing requirement is CFTC's rule pursuant to CEA Section 2(h)(1).\",\n  },\n  {\n    type: 'IRSDirectionCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'IRSDirection',\n    id: 1933,\n    abbrName: 'IRSDirctn',\n    description:\n      'Used to specify whether the principal is paying or receiving the fixed rate in an interest rate swap.',\n  },\n  {\n    type: 'RegulatoryReportTypeCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'RegulatoryReportType',\n    id: 1934,\n    abbrName: 'RegRptTyp',\n    description: 'Type of regulatory report.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'Boolean',\n    addedEP: '161',\n    updatedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'VoluntaryRegulatoryReport',\n    id: 1935,\n    abbrName: 'VolntyRegRpt',\n    description:\n      'Used in conjunction with RegulatoryReportType(1934) to indicate whether the trade report is a voluntary regulatory report. If not specified, the default for a regulatory report is \"N\".\\n\\nWhen VoluntaryRegulatoryReport(1935)=Y it is recommended that one of the parties to the trade be identified as the voluntary reporting party through PartySubIDType(803) = 63 (Voluntary reporting entity).',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'TradeCollateralizationCodeSet',\n    addedEP: '161',\n    updatedEP: '254',\n    added: 'FIX.5.0SP2',\n    name: 'TradeCollateralization',\n    id: 1936,\n    abbrName: 'TrdCollztn',\n    description:\n      'Specifies how the trade is collateralized.\\n\\nIn the context of Dodd-Frank, all values shown except for 4 (Net exposure) apply.\\n\\nIn the context of ESMA EU SFTR reporting only the values 1 (Uncollateralized), 3 (Fully collateralized) and 4 (Net exposure) apply.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'TradeContinuationCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '161',\n    updatedEP: '179',\n    added: 'FIX.5.0SP2',\n    name: 'TradeContinuation',\n    id: 1937,\n    abbrName: 'TrdContntn',\n    description:\n      'Specifies the post-execution trade continuation or lifecycle event. Additional values may be used by mutual agreement of the counterparties.',\n  },\n  {\n    type: 'AssetClassCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'AssetClass',\n    id: 1938,\n    abbrName: 'AssetClss',\n    description: 'The broad asset category for assessing risk exposure.',\n  },\n  {\n    type: 'AssetSubClassCodeSet',\n    unionDataType: 'Reserved4000Plus',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'AssetSubClass',\n    id: 1939,\n    abbrName: 'AssetSubClss',\n    description: 'The subcategory description of the asset class.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'String',\n    addedEP: '161',\n    updatedEP: '235',\n    added: 'FIX.5.0SP2',\n    name: 'AssetType',\n    id: 1940,\n    abbrName: 'AssetTyp',\n    description:\n      \"Used to provide more specific description of the asset specified in AssetSubClass(1939).\\n\\nSee https://www.fixtrading.org/codelists/AssetType for code list of applicable values. ISO 4721 Currency Code values are to be used when specific currency as an asset type is to be expressed.\\n\\nOther values may be used by mutual agreement of the counterparties.\\n\\nIn the context of MiFID II's this may indicate the value needed in ESMA RTS 2 Annex IV Table 2 Field 16, or ESMA RTS 23 Annex I Table 2 'Sub product' field.\",\n  },\n  {\n    type: 'SwapClassCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'SwapClass',\n    id: 1941,\n    abbrName: 'SwapClss',\n    description:\n      'The classification or type of swap. Additional values may be used by mutual agreement of the counterparties.',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NthToDefault',\n    id: 1942,\n    abbrName: 'NthDflt',\n    description:\n      'The Nth reference obligation to default in a CDS reference basket. If specified without MthToDefault(1943) the default will trigger a CDS payout. If MthToDefault(1943) is also present then payout occurs between the Nth and Mth obligations to default.',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'MthToDefault',\n    id: 1943,\n    abbrName: 'MthDflt',\n    description:\n      'The Mth reference obligation to default in a CDS reference basket. When NthToDefault(1942) and MthToDefault(1943) are represented then the CDS payout occurs between the Nth and Mth obligations to default.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'SettledEntityMatrixSource',\n    id: 1944,\n    abbrName: 'SettldMtrxSrc',\n    description: 'Relevant settled entity matrix source.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'SettledEntityMatrixPublicationDate',\n    id: 1945,\n    abbrName: 'SettldMtrxDt',\n    description:\n      'The publication date of the applicable version of the matrix. If not specified, the Standard Terms Supplement defines rules for which version of the matrix is applicable.',\n  },\n  {\n    type: 'CouponTypeCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'CouponType',\n    id: 1946,\n    abbrName: 'CpnTyp',\n    description: 'Coupon type of the bond.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'TotalIssuedAmount',\n    id: 1947,\n    abbrName: 'TotIssuedAmt',\n    description:\n      'Specifies the total amount of the issue. Corresponds to the par value multiplied by the number of issued securities.',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'CouponFrequencyPeriod',\n    id: 1948,\n    abbrName: 'CpnPeriod',\n    description: \"Time unit multiplier for the frequency of the bond's coupon payment.\",\n  },\n  {\n    type: 'CouponFrequencyUnitCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'CouponFrequencyUnit',\n    id: 1949,\n    abbrName: 'CpnUnit',\n    description: \"Time unit associated with the frequency of the bond's coupon payment.\",\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'CouponDayCountCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '161',\n    updatedEP: '200',\n    added: 'FIX.5.0SP2',\n    name: 'CouponDayCount',\n    id: 1950,\n    abbrName: 'CpnDayCnt',\n    description:\n      'The day count convention used in interest calculations for a bond or an interest bearing security. Absence of this field for a bond or an interest bearing security transaction implies a \"flat\" trade, i.e. no accrued interest determined at time of the transaction.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ConvertibleBondEquityID',\n    id: 1951,\n    abbrName: 'CnvrtBondEqtyID',\n    discriminatorId: '1952',\n    description: 'Identifies the equity in which a convertible bond can be converted to.',\n  },\n  {\n    type: 'SecurityIDSourceCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ConvertibleBondEquityIDSource',\n    id: 1952,\n    abbrName: 'CnvrtBondEqtyIDSrc',\n    description:\n      'Identifies class or source of the ConvertibleBondEquityID(1951) value.\\n\\n100+ are reserved for private security.',\n  },\n  {\n    type: 'MonthYear',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ContractPriceRefMonth',\n    id: 1953,\n    abbrName: 'PxRefMo',\n    description:\n      'Reference month if there is no applicable MaturityMonthYear(200) value for the contract or security.',\n  },\n  {\n    type: 'LienSeniorityCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LienSeniority',\n    id: 1954,\n    abbrName: 'LienSnrty',\n    description: 'Indicates the seniority level of the lien in a loan.',\n  },\n  {\n    type: 'LoanFacilityCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LoanFacility',\n    id: 1955,\n    abbrName: 'LoanFclty',\n    description:\n      \"Specifies the type of loan when the credit default swap's reference obligation is a loan.\",\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'ReferenceEntityTypeCodeSet',\n    addedEP: '161',\n    updatedEP: '192',\n    added: 'FIX.5.0SP2',\n    name: 'ReferenceEntityType',\n    id: 1956,\n    abbrName: 'RefEntityTyp',\n    description:\n      'Specifies the type of reference entity for first-to-default CDS basket contracts.',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'IndexSeries',\n    id: 1957,\n    abbrName: 'NdxSeries',\n    description: 'The series identifier of a credit default swap index.',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'IndexAnnexVersion',\n    id: 1958,\n    abbrName: 'NdxAnxVer',\n    description: 'The version of a credit default swap index annex.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'IndexAnnexDate',\n    id: 1959,\n    abbrName: 'NdxAnxDt',\n    description: 'The date of a credit default swap index series annex.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'IndexAnnexSource',\n    id: 1960,\n    abbrName: 'NdxAnxSrc',\n    description: 'The source of a credit default swap series annex.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'AgreementVersion',\n    id: 1961,\n    abbrName: 'AgmtVer',\n    description: 'The version of the master agreement',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'MasterConfirmationDesc',\n    id: 1962,\n    abbrName: 'CnfmDesc',\n    description:\n      'The type of master confirmation executed between the parties.\\n\\nSee http://www.fpml.org/coding-scheme/master-confirmation-type for values.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'MasterConfirmationDate',\n    id: 1963,\n    abbrName: 'CnfmDt',\n    description:\n      'Alternative to broker confirmation. The date of the confirmation executed between the parties and intended to govern all relevant transactions between those parties.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'MasterConfirmationAnnexDesc',\n    id: 1964,\n    abbrName: 'CnfmAnxDesc',\n    description:\n      'The type of master confirmation annex executed between the parties.\\n\\nSee http://www.fpml.org/coding-scheme/master-confirmation-annex-type for values.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'MasterConfirmationAnnexDate',\n    id: 1965,\n    abbrName: 'CnfmAnxDt',\n    description:\n      'The date that an annex to the master confirmation was executed between the parties.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'BrokerConfirmationDesc',\n    id: 1966,\n    abbrName: 'BrkrCnfmDesc',\n    description:\n      'Describes the type of broker confirmation executed between the parites. Can be used as an alterative to MasterConfirmationDesc(1962). See http://www.fpml.org/coding-scheme/broker-confirmation-type for values.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'CreditSupportAgreementDesc',\n    id: 1967,\n    abbrName: 'CrdSuprtDesc',\n    description:\n      'The type of ISDA Credit Support Agreement. See http://www.fpml.org/coding-scheme/credit-support-agreement-type for values.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'CreditSupportAgreementDate',\n    id: 1968,\n    abbrName: 'CrdSuprtDt',\n    description:\n      'The date of the ISDA Credit Support Agreement executed between the parties and intended to govern collateral arrangements for all OTC derivatives transactions between those parties.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'CreditSupportAgreementID',\n    id: 1969,\n    abbrName: 'CrdSuprtID',\n    description:\n      'A common reference or unique identifier to identify the ISDA Credit Support Agreement executed between the parties.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'GoverningLaw',\n    id: 1970,\n    abbrName: 'Law',\n    description:\n      'Identification of the law governing the transaction. See http://www.fpml.org/coding-scheme/governing-law for values.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoSideRegulatoryTradeIDs',\n    id: 1971,\n    description: 'Number of regulatory IDs in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'SideRegulatoryTradeID',\n    id: 1972,\n    abbrName: 'ID',\n    discriminatorId: '1973',\n    description:\n      'Trade identifier required by government regulators or other regulatory organziations for regulatory reporting purposes. For example, unique swap identifier (USI) as required by the U.S. Commodity Futures Trading Commission.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'RegulatoryTradeIDSourceCodeSet',\n    addedEP: '161',\n    updatedEP: '275',\n    added: 'FIX.5.0SP2',\n    name: 'SideRegulatoryTradeIDSource',\n    id: 1973,\n    abbrName: 'Src',\n    description:\n      'Identifies the reporting entity that originated the value in RegulatoryTradeID(1903). The reporting entity identifier may be assigned by a regulator or from a supported standard identifier source scheme.\\n\\nIn the context of CFTC usage for Unique Swap Identifier (USI), this field is required to convey the namespace of the entity creating the USI, in accordance to the USI Data Standard (https://www.cftc.gov/sites/default/files/idc/groups/public/@swaps/documents/dfsubmission/usidatastandards100112.pdf). For standardized identifier source schemes, such as the Unique Transaction Identifier (UTI), the source scheme is identified using supported code values.',\n  },\n  {\n    type: 'RegulatoryTradeIDEventCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'SideRegulatoryTradeIDEvent',\n    id: 1974,\n    abbrName: 'Evnt',\n    description:\n      'Identifies the event which caused origination of the identifier in SideRegulatoryTradeID(1972). When more than one event is the cause, use the higher enumeration value. For example, if the identifier is originated due to an allocated trade which was cleared and reported, use the enumeration value 2 (Clearing).',\n  },\n  {\n    type: 'RegulatoryTradeIDTypeCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'SideRegulatoryTradeIDType',\n    id: 1975,\n    abbrName: 'Typ',\n    description:\n      'Specifies the type of trade identifier provided in SideRegulatoryTradeID(1972), within the context of the hierarchy of trade events.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoSecondaryAssetClasses',\n    id: 1976,\n    description: 'Number of secondary asset classes in the repeating group.',\n  },\n  {\n    type: 'AssetClassCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'SecondaryAssetClass',\n    id: 1977,\n    abbrName: 'Clss',\n    description:\n      'The broad asset category for assessing risk exposure for a multi-asset trade.',\n  },\n  {\n    type: 'AssetSubClassCodeSet',\n    unionDataType: 'Reserved4000Plus',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'SecondaryAssetSubClass',\n    id: 1978,\n    abbrName: 'SubClss',\n    description: 'An indication of the general description of the asset class.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'String',\n    addedEP: '161',\n    updatedEP: '235',\n    added: 'FIX.5.0SP2',\n    name: 'SecondaryAssetType',\n    id: 1979,\n    abbrName: 'Typ',\n    description:\n      \"Used to provide more specific description of the asset specified in SecondaryAssetSubClass(1978).\\n\\nSee https://www.fixtrading.org/codelists/AssetType for code list of applicable values. ISO 4721 Currency Code values are to be used when specific currency as an asset type is to be expressed.\\n\\nOther values may be used by mutual agreement of the counterparties.\\n\\nIn the context of MiFID II's this may indicate the value needed in ESMA RTS 2 Annex IV Table 2 Field 16, or ESMA RTS 23 Annex I Table 2 'Sub product' field.\",\n  },\n  {\n    type: 'BlockTrdAllocIndicatorCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'BlockTrdAllocIndicator',\n    id: 1980,\n    abbrName: 'BlckTrdAllocInd',\n    description: 'Indication that a block trade will be allocated.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingEvents',\n    id: 1981,\n    description: 'Number of events in the repeating group.',\n  },\n  {\n    type: 'EventTypeCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingEventType',\n    id: 1982,\n    abbrName: 'Typ',\n    description: 'Code to represent the type of event.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingEventDate',\n    id: 1983,\n    abbrName: 'Dt',\n    description: 'The date of the event.',\n  },\n  {\n    type: 'UTCTimestamp',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingEventTime',\n    id: 1984,\n    abbrName: 'Tm',\n    description:\n      'The time of the event. To be used in combination with UnderlyingEventDate(1983).',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingEventTimeUnit',\n    id: 1985,\n    abbrName: 'TmUnit',\n    description: 'Time unit associated with the event.',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingEventTimePeriod',\n    id: 1986,\n    abbrName: 'TmPeriod',\n    description: 'Time unit multiplier for the event.',\n  },\n  {\n    type: 'Price',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingEventPx',\n    id: 1987,\n    abbrName: 'Px',\n    description: 'Predetermined price of issue at event, if applicable.',\n  },\n  {\n    type: 'float',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingConstituentWeight',\n    id: 1988,\n    abbrName: 'ConstuentWt',\n    description:\n      'For a basket, or pool, describes the weight of each of the constituents within the basket. If not provided, it is assumed to be equal weighted.',\n  },\n  {\n    type: 'CouponTypeCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingCouponType',\n    id: 1989,\n    abbrName: 'CpnTyp',\n    description: 'Specifies the coupon type of the underlying bond.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingTotalIssuedAmount',\n    id: 1990,\n    abbrName: 'TotIssuedAmt',\n    description:\n      'Specifies the total amount of the issue. Corresponds to the par value multiplied by the number of issued security.',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingCouponFrequencyPeriod',\n    id: 1991,\n    abbrName: 'CpnPeriod',\n    description: \"Time unit multiplier for the frequency of the bond's coupon payment.\",\n  },\n  {\n    type: 'CouponFrequencyUnitCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingCouponFrequencyUnit',\n    id: 1992,\n    abbrName: 'CpnUnit',\n    description: \"Time unit associated with the frequency of the bond's coupon payment.\",\n  },\n  {\n    type: 'CouponDayCountCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingCouponDayCount',\n    id: 1993,\n    abbrName: 'CpnDayCnt',\n    description:\n      'The day count convention used in interest calculations for a bond or an interest bearing security.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'String',\n    addedEP: '161',\n    updatedEP: '271',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingObligationID',\n    id: 1994,\n    abbrName: 'ObligID',\n    discriminatorId: '1995',\n    description:\n      'For a CDS basket or pool identifies the reference obligation.\\n\\nUnderlyingObligationID(1994) is reserved for the reference entity for baskets or pools. In a CDS single name the reference entity is identified in instrument ID and the obligations are identified in UnderlyingObligationID(1994).',\n  },\n  {\n    type: 'SecurityIDSourceCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingObligationIDSource',\n    id: 1995,\n    abbrName: 'ObligIDSrc',\n    description: 'Identifies the source scheme of the UnderlyingObligationID(1994).',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingEquityID',\n    id: 1996,\n    abbrName: 'EqtyID',\n    discriminatorId: '1997',\n    description: 'Specifies the equity in which a convertible bond can be converted.',\n  },\n  {\n    type: 'SecurityIDSourceCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingEquityIDSource',\n    id: 1997,\n    abbrName: 'EqtyIDSrc',\n    description: 'Identifies the source of the UnderlyingEquityID(1996).',\n  },\n  {\n    type: 'LienSeniorityCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingLienSeniority',\n    id: 1998,\n    abbrName: 'LienSnrty',\n    description: 'Indicates the seniority level of the lien in a loan.',\n  },\n  {\n    type: 'LoanFacilityCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingLoanFacility',\n    id: 1999,\n    abbrName: 'LoanFclty',\n    description:\n      \"Specifies the type of loan when the credit default swap's reference obligation is a loan.\",\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'ReferenceEntityTypeCodeSet',\n    addedEP: '161',\n    updatedEP: '192',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingReferenceEntityType',\n    id: 2000,\n    abbrName: 'RefEntityTyp',\n    description:\n      'Specifies the type of reference entity for first-to-default CDS basket contracts.',\n  },\n  {\n    type: 'XIDREF',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProtectionTermXIDRef',\n    id: 41314,\n    abbrName: 'ProtctnXIDRef',\n    description:\n      'Reference to the protection terms applicable to this entity or obligation. Contains the same XID named string value of the instance in the ProtectionTerms repeating group that applies to this Underlying.',\n  },\n  {\n    type: 'XIDREF',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingSettlTermXIDRef',\n    id: 41315,\n    abbrName: 'SettlXIDRef',\n    description:\n      'Reference to the cash or physical settlement terms applicable to this entity or obligation. Contains the same XID named string value of the instance in the appropriate repeating group that applies to this Underlying.',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingIndexSeries',\n    id: 2003,\n    abbrName: 'NdxSeries',\n    description: 'The series identifier of a credit default swap index.',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingIndexAnnexVersion',\n    id: 2004,\n    abbrName: 'NdxAnxVer',\n    description: 'The version identifier of a credit default swap index annex.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingIndexAnnexDate',\n    id: 2005,\n    abbrName: 'NdxAnxDt',\n    description: 'The date of a credit default swap index series annex.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingIndexAnnexSource',\n    id: 2006,\n    abbrName: 'NdxAnxSrc',\n    description: 'The source of a credit default swap index series annex.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProductComplex',\n    id: 2007,\n    abbrName: 'ProdCmplx',\n    description:\n      'Identifies an entire suite of products for a given market. In Futures this may be \"interest rates\", \"agricultural\", \"equity indexes\", etc',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingSecurityGroup',\n    id: 2008,\n    abbrName: 'SecGrp',\n    description:\n      'An exchange specific name assigned to a group of related securities which may be concurrently affected by market events and actions.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingSettleOnOpenFlag',\n    id: 2009,\n    abbrName: 'SettlOnOpenFlag',\n    description: 'Indicator to determine if Instrument is Settle on Open.',\n  },\n  {\n    type: 'InstrmtAssignmentMethodCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingAssignmentMethod',\n    id: 2010,\n    abbrName: 'AsgnMeth',\n    description: 'Method under which assignment was conducted',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'SecurityStatusCodeSet',\n    addedEP: '161',\n    updatedEP: '271',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingSecurityStatus',\n    id: 2011,\n    abbrName: 'Status',\n    description: 'Indicates the current state of the underlying instrument.',\n  },\n  {\n    type: 'UnderlyingObligationTypeCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingObligationType',\n    id: 2012,\n    abbrName: 'ObligTyp',\n    description: 'Type of reference obligation for credit derivatives contracts.',\n  },\n  {\n    type: 'AssetClassCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingAssetClass',\n    id: 2013,\n    abbrName: 'AssetClss',\n    description: 'The broad asset category for assessing risk exposure.',\n  },\n  {\n    type: 'AssetSubClassCodeSet',\n    unionDataType: 'Reserved4000Plus',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingAssetSubClass',\n    id: 2014,\n    abbrName: 'AssetSubClss',\n    description: 'An indication of the general description of the asset class.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'String',\n    addedEP: '161',\n    updatedEP: '235',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingAssetType',\n    id: 2015,\n    abbrName: 'AssetTyp',\n    description:\n      \"Used to provide more specific description of the asset specified in UnderlyingAssetSubClass(2082).\\n\\nSee https://www.fixtrading.org/codelists/AssetType for code list of applicable values. ISO 4721 Currency Code values are to be used when specific currency as an asset type is to be expressed.\\n\\nOther values may be used by mutual agreement of the counterparties.\\n\\nIn the context of MiFID II's this may indicate the value needed in ESMA RTS 2 Annex IV Table 2 Field 16, or ESMA RTS 23 Annex I Table 2 'Sub product' field.\",\n  },\n  {\n    type: 'SwapClassCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingSwapClass',\n    id: 2016,\n    abbrName: 'SwapClss',\n    description:\n      'The type or classification of swap. Additional values may be used by mutual agreement of the counterparties.',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingNthToDefault',\n    id: 2017,\n    abbrName: 'NthDflt',\n    description:\n      'The Nth reference obligation to default in a CDS reference basket. If specified without UnderlyingMthToDefault(2018) the default will trigger a CDS payout. If UnderlyingMthToDefault(2018) is also present then payout occurs between the Nth and Mth obligations to default.',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingMthToDefault',\n    id: 2018,\n    abbrName: 'MthDflt',\n    description:\n      'The Mth reference obligation to default in a CDS reference basket. When UnderlyingNthToDefault(2017) and UnderlyingMthToDefault(2018) are represented then the CDS payout occurs between the Nth and Mth obligations to default.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingSettledEntityMatrixSource',\n    id: 2019,\n    abbrName: 'SettldMtrxSrc',\n    description: 'Relevant settled entity matrix source.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingSettledEntityMatrixPublicationDate',\n    id: 2020,\n    abbrName: 'SettldMtrxDt',\n    description:\n      'Specifies the publication date of the applicable version of the matrix. If not specified, the Standard Terms Supplement defines rules for which version of the matrix is applicable.',\n  },\n  {\n    type: 'float',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStrikeMultiplier',\n    id: 2021,\n    abbrName: 'StrkMult',\n    description:\n      'Used for derivatives. Multiplier applied to the strike price for the purpose of calculating the settlement value.',\n  },\n  {\n    type: 'float',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStrikeValue',\n    id: 2022,\n    abbrName: 'StrkValu',\n    description:\n      'Used for derivatives. The number of shares/units for the financial instrument involved in the option trade.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'StrikePriceDeterminationMethodCodeSet',\n    addedEP: '161',\n    updatedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStrikePriceDeterminationMethod',\n    id: 2023,\n    abbrName: 'StrkPxDtrmnMeth',\n    description:\n      'Specifies how the strike price is determined at the point of option exercise. The strike may be fixed throughout the life of the option, set at expiration to the value of the underlying, set to the average value of the underlying , or set to the optimal value of the underlying.',\n  },\n  {\n    type: 'StrikePriceBoundaryMethodCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStrikePriceBoundaryMethod',\n    id: 2024,\n    abbrName: 'StrkPxBndryMeth',\n    description:\n      'Specifies the boundary condition to be used for the strike price relative to the underlying price at the point of option exercise.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStrikePriceBoundaryPrecision',\n    id: 2025,\n    abbrName: 'StrkPxBndryPrcsn',\n    description:\n      'Used in combination with StrikePriceBoundaryMethod(1479) to specify the percentage of the strike price in relation to the underlying price. The percentage is generally 100 or greater for puts and 100 or less for calls.',\n  },\n  {\n    type: 'float',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingMinPriceIncrement',\n    id: 2026,\n    abbrName: 'MinPxIncr',\n    description:\n      'Minimum price increment for the instrument. Could also be used to represent tick value.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingMinPriceIncrementAmount',\n    id: 2027,\n    abbrName: 'MinPxIncrAmt',\n    description:\n      'Minimum price increment amount associated with the UnderlyingMinPriceIncrement(2026). For listed derivatives, the value can be calculated by multiplying UnderlyingMinPriceIncrement(2026) by UnderlyingContractMultiplier(436).',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'OptPayoutTypeCodeSet',\n    addedEP: '161',\n    updatedEP: '238',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingOptPayoutType',\n    id: 2028,\n    abbrName: 'OptPayoutTyp',\n    description:\n      'Indicates the type of valuation method or payout trigger for an in-the-money option.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingOptPayoutAmount',\n    id: 2029,\n    abbrName: 'OptPayAmt',\n    description:\n      'Cash amount indicating the pay out associated with an option. For binary options this is a fixed amount.',\n  },\n  {\n    type: 'PriceQuoteMethodCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPriceQuoteMethod',\n    id: 2030,\n    abbrName: 'PxQteMeth',\n    description: 'Method for price quotation.',\n  },\n  {\n    type: 'ValuationMethodCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingValuationMethod',\n    id: 2031,\n    abbrName: 'ValMeth',\n    description: 'Indicates type of valuation method used.',\n  },\n  {\n    type: 'ListMethodCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingListMethod',\n    id: 2032,\n    abbrName: 'ListMeth',\n    description:\n      'Indicates whether the instruments are pre-listed only or can also be defined via user request.',\n  },\n  {\n    type: 'Price',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingCapPrice',\n    id: 2033,\n    abbrName: 'CapPx',\n    description: 'Used to express the ceiling price of a capped call.',\n  },\n  {\n    type: 'Price',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingFloorPrice',\n    id: 2034,\n    abbrName: 'FlrPx',\n    description: 'Used to express the floor price of a capped put.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingFlexibleIndicator',\n    id: 2035,\n    abbrName: 'FlexInd',\n    description:\n      'Used to indicate if a security has been defined as flexible according to \"non-standard\" means. Analog to CFICode Standard/Non-standard indicator.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingFlexProductEligibilityIndicator',\n    id: 2036,\n    abbrName: 'FlexProdElig',\n    description:\n      'Used to indicate if a product or group of product supports the creation of flexible securities.',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPositionLimit',\n    id: 2037,\n    abbrName: 'PosLmt',\n    description: 'Position limit for the instrument.',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingNTPositionLimit',\n    id: 2038,\n    abbrName: 'NTPosLmt',\n    description:\n      'Position Limit in the near-term contract for a given exchange-traded product.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPool',\n    id: 2039,\n    abbrName: 'Pool',\n    description:\n      'Identifies the mortgage backed security (MBS) / asset backed security (ABS) pool.',\n  },\n  {\n    type: 'MonthYear',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingContractSettlMonth',\n    id: 2040,\n    abbrName: 'CSetMo',\n    description:\n      'Specifies when the contract (i.e. MBS/TBA) will settle. Must be present for MBS/TBA.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDatedDate',\n    id: 2041,\n    abbrName: 'Dated',\n    description: 'If different from IssueDate()',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingInterestAccrualDate',\n    id: 2042,\n    abbrName: 'IntAcrl',\n    description: 'If different from IssueDate and DatedDate',\n  },\n  {\n    type: 'ShortSaleRestrictionCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingShortSaleRestriction',\n    id: 2043,\n    abbrName: 'ShrtRstctn',\n    description: 'Indicates whether a restriction applies to short selling a security.',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingRefTickTableID',\n    id: 2044,\n    abbrName: 'RefTickTblID',\n    description: 'Spread table code referred by the security or symbol.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingComplexEvents',\n    id: 2045,\n    description: 'Number of complex events in the repeating group.',\n  },\n  {\n    type: 'ComplexEventTypeCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexEventType',\n    id: 2046,\n    abbrName: 'Typ',\n    description: 'Identifies the type of complex event.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexOptPayoutAmount',\n    id: 2047,\n    abbrName: 'OptPayAmt',\n    description:\n      'Cash amount indicating the pay out associated with an event. For binary options this is a fixed amount.',\n  },\n  {\n    type: 'Price',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexEventPrice',\n    id: 2048,\n    abbrName: 'Px',\n    description:\n      'Specifies the price at which the complex event takes effect. Impact of the event price is determined by the UnderlyingComplexEventType(2046).',\n  },\n  {\n    type: 'ComplexEventPriceBoundaryMethodCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexEventPriceBoundaryMethod',\n    id: 2049,\n    abbrName: 'PxBndryMeth',\n    description:\n      'Specifies the boundary condition to be used for the event price relative to the UnderlyingComplexEventPrice(2048) at the point the complex event outcome takes effect as determined by the UnderlyingComplexEventPriceTimeType(2051).',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexEventPriceBoundaryPrecision',\n    id: 2050,\n    abbrName: 'PxBndryPrcsn',\n    description:\n      'Used in combination with UnderlyingComplexEventPriceBoundaryMethod(2049) to specify the percentage of the strike price in relation to the underlying price. The percentage is generally 100 or greater for puts and 100 or less for calls.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'ComplexEventPriceTimeTypeCodeSet',\n    addedEP: '161',\n    updatedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexEventPriceTimeType',\n    id: 2051,\n    abbrName: 'PxTmTyp',\n    description:\n      'Specifies when the complex event outcome takes effect. The outcome of a complex event is a payout or barrier action as specified by the UnderlyingComplexEventType(2046).',\n  },\n  {\n    type: 'ComplexEventConditionCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexEventCondition',\n    id: 2052,\n    abbrName: 'Cond',\n    description:\n      'Specifies the condition between complex events when more than one event is specified.\\n\\nMultiple barrier events would use an \"or\" condition since only one can be effective at a given time. A set of digital range events would use an \"and\" condition since both conditions must be in effect for a payout to result.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingComplexEventDates',\n    id: 2053,\n    description: 'Number of underlying complex event dates in the repeating group.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'UTCDateOnly',\n    addedEP: '161',\n    updatedEP: '195',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexEventStartDate',\n    id: 2054,\n    abbrName: 'StartDt',\n    description:\n      'The start date of the date range on which a complex event is effective. The start date will be set equal to the end date for single day events such as Bermuda options.\\n\\nThe start date must always be less than or equal to end date.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'UTCDateOnly',\n    addedEP: '161',\n    updatedEP: '195',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexEventEndDate',\n    id: 2055,\n    abbrName: 'EndDt',\n    description:\n      'The end date of the date range on which a complex event is effective. The start date will be set equal to the end date for single day events such as Bermuda options.\\n\\nUnderlyingComplexEventEndDate(2056) must always be greater than or equal to UnderlyingComplexEventStartDate(2055).',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingComplexEventTimes',\n    id: 2056,\n    description: 'Number of complex event times in the repeating group.',\n  },\n  {\n    type: 'UTCTimeOnly',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexEventStartTime',\n    id: 2057,\n    abbrName: 'StartTm',\n    description:\n      'The start time of the time range on which a complex event date is effective.\\n\\nUnderlyingComplexEventStartTime(2057) must always be less than or equal to UndelryingComplexEventEndTime(2058).',\n  },\n  {\n    type: 'UTCTimeOnly',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexEventEndTime',\n    id: 2058,\n    abbrName: 'EndTm',\n    description:\n      'The end time of the time range on which a complex event date is effective.\\n\\nUnderlyingComplexEventEndTime(2058) must always be greater than or equal to UnderlyingComplexEventStartTime(2057).',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegEvents',\n    id: 2059,\n    description: 'Number of events in the repeating group',\n  },\n  {\n    type: 'EventTypeCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegEventType',\n    id: 2060,\n    abbrName: 'Typ',\n    description: 'Code to represent the type of event.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegEventDate',\n    id: 2061,\n    abbrName: 'Dt',\n    description: 'The date of the event.',\n  },\n  {\n    type: 'UTCTimestamp',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegEventTime',\n    id: 2062,\n    abbrName: 'Tm',\n    description:\n      'Specific time of event. To be used in combination with LegEventDate(2061).',\n  },\n  {\n    type: 'EventTimeUnitCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegEventTimeUnit',\n    id: 2063,\n    abbrName: 'TmUnit',\n    description: 'Time unit associated with the event.',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegEventTimePeriod',\n    id: 2064,\n    abbrName: 'TmPeriod',\n    description: 'Time unit multiplier for the event.',\n  },\n  {\n    type: 'Price',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegEventPx',\n    id: 2065,\n    abbrName: 'Px',\n    description: 'Predetermined price of issue at event, if applicable.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegEventText',\n    id: 2066,\n    abbrName: 'Txt',\n    description:\n      'Free form text to specify additional information or enumeration description when a standard value does not apply.',\n  },\n  {\n    type: 'AssetClassCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegAssetClass',\n    id: 2067,\n    abbrName: 'AssetClss',\n    description: 'The broad asset category for assessing risk exposure.',\n  },\n  {\n    type: 'AssetSubClassCodeSet',\n    unionDataType: 'Reserved4000Plus',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegAssetSubClass',\n    id: 2068,\n    abbrName: 'AssetSubClss',\n    description: 'The general subcategory description of the asset class.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'String',\n    addedEP: '161',\n    updatedEP: '235',\n    added: 'FIX.5.0SP2',\n    name: 'LegAssetType',\n    id: 2069,\n    abbrName: 'AssetTyp',\n    description:\n      \"Used to provide more specific description of the asset specified in LegAssetSubClass(2068).\\n\\nSee https://www.fixtrading.org/codelists/AssetType for code list of applicable values. ISO 4721 Currency Code values are to be used when specific currency as an asset type is to be expressed.\\n\\nOther values may be used by mutual agreement of the counterparties.\\n\\nIn the context of MiFID II's this may indicate the value needed in ESMA RTS 2 Annex IV Table 2 Field 16, or ESMA RTS 23 Annex I Table 2 'Sub product' field.\",\n  },\n  {\n    type: 'SwapClassCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegSwapClass',\n    id: 2070,\n    abbrName: 'SwapClss',\n    description: 'Swap type.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingEventText',\n    id: 2071,\n    abbrName: 'Txt',\n    description: 'Free form text to specify comments related to the event.',\n  },\n  {\n    type: 'Length',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedUnderlyingEventTextLen',\n    id: 2072,\n    abbrName: 'EncTxtLen',\n    description:\n      'Byte length of encoded (non-ASCII characters) EncodedUnderlyingEventText(2073) field.',\n  },\n  {\n    type: 'data',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedUnderlyingEventText',\n    id: 2073,\n    abbrName: 'EncTxt',\n    lengthId: '2072',\n    description:\n      'Encoded (non-ASCII characters) representation of the UnderlyingEventText(2071) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the UnderlyingEventText(2071) field.',\n  },\n  {\n    type: 'Length',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedLegEventTextLen',\n    id: 2074,\n    abbrName: 'EncTxtLen',\n    description:\n      'Byte length of encoded (non-ASCII characters) EncodedLegEventText(2075) field.',\n  },\n  {\n    type: 'data',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedLegEventText',\n    id: 2075,\n    abbrName: 'EncTxt',\n    lengthId: '2074',\n    description:\n      'Encoded (non-ASCII characters) representation of the LegEventText(2066) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the LegEventText(2066) field.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegSecondaryAssetClasses',\n    id: 2076,\n    description: 'Number of secondary asset classes in the repeating group.',\n  },\n  {\n    type: 'AssetClassCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegSecondaryAssetClass',\n    id: 2077,\n    abbrName: 'Clss',\n    description:\n      'The broad asset category for assessing risk exposure for a multi-asset trade.',\n  },\n  {\n    type: 'AssetSubClassCodeSet',\n    unionDataType: 'Reserved4000Plus',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegSecondaryAssetSubClass',\n    id: 2078,\n    abbrName: 'SubClss',\n    description: 'An indication of the general description of the asset class.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'String',\n    addedEP: '161',\n    updatedEP: '235',\n    added: 'FIX.5.0SP2',\n    name: 'LegSecondaryAssetType',\n    id: 2079,\n    abbrName: 'Typ',\n    description:\n      \"Used to provide more specific description of the asset specified in LegSecondaryAssetSubClass(2078).\\n\\nSee https://www.fixtrading.org/codelists/AssetType for code list of applicable values. ISO 4721 Currency Code values are to be used when specific currency as an asset type is to be expressed.\\n\\nOther values may be used by mutual agreement of the counterparties.\\n\\nIn the context of MiFID II's this may indicate the value needed in ESMA RTS 2 Annex IV Table 2 Field 16, or ESMA RTS 23 Annex I Table 2 'Sub product' field.\",\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingSecondaryAssetClasses',\n    id: 2080,\n    description: 'Number of secondary asset classes in the repeating group.',\n  },\n  {\n    type: 'AssetClassCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingSecondaryAssetClass',\n    id: 2081,\n    abbrName: 'Clss',\n    description:\n      'The broad asset category for assessing risk exposure for a multi-asset trade.',\n  },\n  {\n    type: 'AssetSubClassCodeSet',\n    unionDataType: 'Reserved4000Plus',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingSecondaryAssetSubClass',\n    id: 2082,\n    abbrName: 'SubClss',\n    description: 'An indication of the general description of the asset class.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'String',\n    addedEP: '161',\n    updatedEP: '235',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingSecondaryAssetType',\n    id: 2083,\n    abbrName: 'Typ',\n    description:\n      \"Used to provide more specific description of the asset specified in UnderlyingSecondaryAssetSubClass(2082).\\n\\nSee https://www.fixtrading.org/codelists/AssetType for code list of applicable values. ISO 4721 Currency Code values are to be used when specific currency as an asset type is to be expressed.\\n\\nOther values may be used by mutual agreement of the counterparties.\\n\\nIn the context of MiFID II's this may indicate the value needed in ESMA RTS 2 Annex IV Table 2 Field 16, or ESMA RTS 23 Annex I Table 2 'Sub product' field.\",\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoAdditionalTermBondRefs',\n    id: 40000,\n    description: 'Number of bonds in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'AdditionalTermBondSecurityID',\n    id: 40001,\n    abbrName: 'ID',\n    discriminatorId: '40002',\n    description: 'Security identifier of the bond.',\n  },\n  {\n    type: 'SecurityIDSourceCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'AdditionalTermBondSecurityIDSource',\n    id: 40002,\n    abbrName: 'Src',\n    description:\n      'Identifies the source scheme of the AdditionalTermBondSecurityID(40001) value.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'AdditionalTermBondDesc',\n    id: 40003,\n    abbrName: 'Desc',\n    description: 'Description of the bond.',\n  },\n  {\n    type: 'Length',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedAdditionalTermBondDescLen',\n    id: 40004,\n    abbrName: 'EncDescLen',\n    description:\n      'Byte length of encoded (non-ASCII characters) EncodedAdditionalTermBondDesc(40005) field.',\n  },\n  {\n    type: 'data',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedAdditionalTermBondDesc',\n    id: 40005,\n    abbrName: 'EncDesc',\n    lengthId: '40004',\n    description:\n      'Encoded (non-ASCII characters) representation of the AdditionalTermBondDesc(40003) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the AdditionalTermBondDesc(40003) field.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'AdditionalTermBondCurrency',\n    id: 40006,\n    abbrName: 'Ccy',\n    description:\n      'Specifies the currency the bond value is denominated in. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'AdditionalTermBondIssuer',\n    id: 40007,\n    abbrName: 'Issr',\n    description: 'Issuer of the bond.',\n  },\n  {\n    type: 'Length',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedAdditionalTermBondIssuerLen',\n    id: 40008,\n    abbrName: 'EncIssrLen',\n    description:\n      'Byte length of encoded (non-ASCII characters) EncodedAdditionalTermBondIssuer(40009) field.',\n  },\n  {\n    type: 'data',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedAdditionalTermBondIssuer',\n    id: 40009,\n    abbrName: 'EncIssr',\n    lengthId: '40008',\n    description:\n      'Encoded (non-ASCII characters) representation of the AdditionalTermBondIssuer(40007) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the AdditionalTermBondIssuer(40007) field.',\n  },\n  {\n    type: 'SeniorityCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'AdditionalTermBondSeniority',\n    id: 40010,\n    abbrName: 'Snrty',\n    description: \"Specifies the bond's payment priority in the event of a default.\",\n  },\n  {\n    type: 'CouponTypeCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'AdditionalTermBondCouponType',\n    id: 40011,\n    abbrName: 'CpnTyp',\n    description: 'Coupon type of the bond.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'AdditionalTermBondCouponRate',\n    id: 40012,\n    abbrName: 'CpnRt',\n    description: 'Coupon rate of the bond. See also CouponRate(223).',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'AdditionalTermBondMaturityDate',\n    id: 40013,\n    abbrName: 'MatDt',\n    description: 'The maturity date of the bond.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'AdditionalTermBondParValue',\n    id: 40014,\n    abbrName: 'Par',\n    description: 'The par value of the bond.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'AdditionalTermBondCurrentTotalIssuedAmount',\n    id: 40015,\n    abbrName: 'CurTotAmt',\n    description: 'Total issued amount of the bond.',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'AdditionalTermBondCouponFrequencyPeriod',\n    id: 40016,\n    abbrName: 'CpnPeriod',\n    description: \"Time unit multiplier for the frequency of the bond's coupon payment.\",\n  },\n  {\n    type: 'CouponFrequencyUnitCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'AdditionalTermBondCouponFrequencyUnit',\n    id: 40017,\n    abbrName: 'CpnUnit',\n    description: \"Time unit associated with the frequency of the bond's coupon payment.\",\n  },\n  {\n    type: 'CouponDayCountCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'AdditionalTermBondDayCount',\n    id: 40018,\n    abbrName: 'DayCnt',\n    description:\n      'The day count convention used in interest calculations for a bond or an interest bearing security.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoAdditionalTerms',\n    id: 40019,\n    description: 'Number of additional terms in the repeating group.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'AdditionalTermConditionPrecedentBondIndicator',\n    id: 40020,\n    abbrName: 'PrcdntInd',\n    description:\n      'Indicates whether the condition precedent bond is applicable. The swap contract is only valid if the bond is issued and if there is any dispute over the terms of fixed stream then the bond terms would be used.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'AdditionalTermDiscrepancyClauseIndicator',\n    id: 40021,\n    abbrName: 'DscrpncyInd',\n    description: 'Indicates whether the discrepancy clause is applicable.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoCashSettlTerms',\n    id: 40022,\n    description: 'Number of elements in the repeating group.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'CashSettlCurrency',\n    id: 40023,\n    abbrName: 'Ccy',\n    description:\n      'Specifies the currency the CashSettlAmount(40034) is denominated in. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'CashSettlValuationFirstBusinessDayOffset',\n    id: 40024,\n    abbrName: 'BizDayOfst',\n    description:\n      'The number of business days after settlement conditions have been satisfied, when the calculation agent is to obtain a price quotation on the reference obligation for the purpose of cash settlement.\\n\\nAssociated with ISDA 2003 Term: Valuation Date.',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'CashSettlValuationSubsequentBusinessDaysOffset',\n    id: 40916,\n    abbrName: 'SbsqntBizDayOfst',\n    description:\n      'The number of business days between successive valuation dates when multiple valuation dates are applicable for cash settlement.\\n\\nAssociated with ISDA 2003 Term: Valuation Date',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'CashSettlNumOfValuationDates',\n    id: 40917,\n    abbrName: 'NumValDts',\n    description:\n      'Where multiple valuation dates are specified as being applicable for cash settlement, this specifies the number of applicable valuation dates.\\n\\nAssociated with ISDA 2003 Term: Valuation Date',\n  },\n  {\n    type: 'LocalMktTime',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'CashSettlValuationTime',\n    id: 40025,\n    abbrName: 'ValTm',\n    description: 'The time of valuation.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'CashSettlBusinessCenter',\n    id: 40026,\n    abbrName: 'BizCtr',\n    description:\n      'Identifies the business center calendar used at valuation time for cash settlement purposes e.g. \"GBLO\". See http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'CashSettlQuoteMethodCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'CashSettlQuoteMethod',\n    id: 40027,\n    abbrName: 'QteMeth',\n    description: 'The type of quote used to determine the cash settlement price.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'Amt',\n    addedEP: '161',\n    updatedEP: '271',\n    added: 'FIX.5.0SP2',\n    name: 'CashSettlQuoteAmount',\n    id: 40028,\n    abbrName: 'QteAmt',\n    description:\n      'When determining the cash settlement amount, if weighted average price quotes are to be obtained for the reference obligation, this is the upper limit to the outstanding principal balance of the reference obligation for which the quote should be obtained. If not specified, the ISDA definitions provide for a fallback amount equal to floating rate payer calculation amount.\\n\\nISDA 2003 Term: Quotation Amount.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'CashSettlQuoteCurrency',\n    id: 40029,\n    abbrName: 'QteCcy',\n    description:\n      'Specifies the currency the CashSettlQuoteAmount(40028) is denominated in. Uses ISO 4217 Currency Code.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'Amt',\n    addedEP: '161',\n    updatedEP: '271',\n    added: 'FIX.5.0SP2',\n    name: 'CashSettlMinimumQuoteAmount',\n    id: 40030,\n    abbrName: 'MinQteAmt',\n    description:\n      'When determining the cash settlement amount, if weighted average price quotes are to be obtained for the reference obligation, this is the minimum intended threshold amount of outstanding principal balance of the reference obligation for which the quote should be obtained. If not specified, the ISDA definitions provide for a fallback amount of the lower of either USD1,000,000 (or its equivalent in the relevant obligation currency) or the (minimum) quoted amount.\\n\\nISDA 2003 Term: Minimum Quotation Amount.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'CashSettlMinimumQuoteCurrency',\n    id: 40031,\n    abbrName: 'MinQteCcy',\n    description:\n      'Specifies the currency the CashSettlMinimumQuoteAmount(40030) is denominated in. Uses ISO 4217 Currency Code.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'CashSettlDealer',\n    id: 40032,\n    abbrName: 'Dlr',\n    description:\n      'Identifies the dealer from whom price quotations for the reference obligation are obtained for the purpose of cash settlement valuation calculation.\\n\\nISDA 2003 Term: Dealer.',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'CashSettlBusinessDays',\n    id: 40033,\n    abbrName: 'BizDays',\n    description:\n      'The number of business days used in the determination of the cash settlement payment date.\\n\\nIf a cash settlement amount is specified, the cash settlement payment date will be this number of business days following the calculation of the final price. If a cash settlement amount is not specified, the cash settlement payment date will be this number of business days after all conditions to settlement are satisfied.\\n\\nISDA 2003 Term: Cash Settlement Date.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'CashSettlAmount',\n    id: 40034,\n    abbrName: 'Amt',\n    description:\n      'The amount paid between the trade parties, seller to the buyer, for cash settlement on the cash settlement date.\\n\\nIf not specified this is not to be included in the message and the parties to the trade are expected to calculate the value. The value is the greater of (a) floating rate payer calculation amount x (reference price - final price) or (b) zero. Price values are all expressed as a percentage. ISDA 2003 Term: Cash Settlement Amount',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'float',\n    addedEP: '161',\n    updatedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'CashSettlRecoveryFactor',\n    id: 40035,\n    abbrName: 'RcvryFctr',\n    description:\n      'Used for fixed recovery, this specifies the recovery level as determined at contract inception, to be applied in the event of a default. The factor is used to calculate the amount paid by the seller to the buyer for cash settlement on the cash settlement date. The amount calculated is (1 - CashSettlRecoveryFactor(40035)) x floating rate payer calculation amount. The currency is derived from the floating rate payer calculation amount.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'CashSettlFixedTermIndicator',\n    id: 40036,\n    abbrName: 'FixedInd',\n    description:\n      'Indicates whether fixed settlement is applicable or not applicable in a recovery lock.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'CashSettlAccruedInterestIndicator',\n    id: 40037,\n    abbrName: 'AcrdIntInd',\n    description:\n      'Indicates whether accrued interest is included or not in the value provided in CashSettlAmount(40034). For cash settlement this specifies whether quotations should be obtained inclusive or not of accrued interest.\\n\\nFor physical settlement this specifies whether the buyer should deliver the obligation with an outstanding principal balance that includes or excludes accrued interest.\\n\\nISDA 2003 Term: Include/Exclude Accrued Interest.',\n  },\n  {\n    type: 'CashSettlValuationMethodCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'CashSettlValuationMethod',\n    id: 40038,\n    abbrName: 'ValMeth',\n    description:\n      'The ISDA defined methodology for determining the final price of the reference obligation for purposes of cash settlement.\\n\\nISDA 2003 Term: Valuation Method',\n  },\n  {\n    type: 'XID',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'CashSettlTermXID',\n    id: 40039,\n    abbrName: 'XID',\n    description: 'A named string value referenced by UnderlyingSettlTermXIDRef(41315).',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoContractualDefinitions',\n    id: 40040,\n    description: 'Number of financing definitions in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ContractualDefinition',\n    id: 40041,\n    abbrName: 'Def',\n    description:\n      'Specifies which contract definition, such as those published by ISDA, will apply for the terms of the trade. See http://www.fpml.org/coding-scheme/contractual-definitions for values.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoContractualMatrices',\n    id: 40042,\n    description: 'Number of contractual matrices in the repeating group.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'String',\n    addedEP: '161',\n    updatedEP: '192',\n    added: 'FIX.5.0SP2',\n    name: 'ContractualMatrixSource',\n    id: 40043,\n    abbrName: 'Src',\n    description:\n      'Identifies the applicable contract matrix. See http://www.fpml.org/coding-scheme/matrix-type-1-0.xml for values.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ContractualMatrixDate',\n    id: 40044,\n    abbrName: 'Dt',\n    description:\n      'The publication date of the applicable version of the contract matrix. If not specified, the ISDA Standard Terms Supplement defines rules for which version of the matrix is applicable.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'String',\n    addedEP: '161',\n    updatedEP: '271',\n    added: 'FIX.5.0SP2',\n    name: 'ContractualMatrixTerm',\n    id: 40045,\n    abbrName: 'Trm',\n    description:\n      'Specifies the applicable key into the relevant contract matrix. In the case of 2000 ISDA Definitions Settlement Matrix for Early Termination and Swaptions, the ContractualMatrixTerm(40045) is not applicable and is to be omitted.\\n\\nSee http://www.fpml.org/coding-scheme/credit-matrix-transaction-type for values.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoFinancingTermSupplements',\n    id: 40046,\n    description: 'Number of financing terms supplements in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'FinancingTermSupplementDesc',\n    id: 40047,\n    abbrName: 'Desc',\n    description:\n      'Identifies the applicable contractual supplement. See http://www.fpml.org/coding-scheme/contractual-supplement for values.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'FinancingTermSupplementDate',\n    id: 40048,\n    abbrName: 'Dt',\n    description:\n      'The publication date of the applicable version of the contractual supplement.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoStreams',\n    id: 40049,\n    description: 'Number of swap streams in the repeating group.',\n  },\n  {\n    type: 'StreamTypeCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'StreamType',\n    id: 40050,\n    abbrName: 'Typ',\n    description: 'Type of swap stream.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'StreamDesc',\n    id: 40051,\n    abbrName: 'Desc',\n    description:\n      'A short descriptive name given to the payment stream. Eg. CDS, Fixed, Float, Float2, GBP. The description has no intrinsic meaning but should be arbitrarily chosen by the remitter as reference.',\n  },\n  {\n    type: 'PaymentPaySideCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'StreamPaySide',\n    id: 40052,\n    abbrName: 'PaySide',\n    description: 'The side of the party paying the stream.',\n  },\n  {\n    type: 'PaymentPaySideCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'StreamReceiveSide',\n    id: 40053,\n    abbrName: 'RcvSide',\n    description: 'The side of the party receiving the stream.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'StreamNotional',\n    id: 40054,\n    abbrName: 'Notl',\n    description:\n      'Notional, or initial notional value for the payment stream. Use the PaymentScheduleGrp component to specify the rate steps.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'StreamCurrency',\n    id: 40055,\n    abbrName: 'Ccy',\n    description:\n      'Specifies the currency the StreamNotional(40054) is denominated in. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'StreamText',\n    id: 40056,\n    abbrName: 'Txt',\n    description:\n      'Free form text to specify additional information or enumeration description when a standard value does not apply.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamEffectiveDateUnadjusted',\n    id: 40057,\n    abbrName: 'DtUnadj',\n    description: 'The unadjusted effective date.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamEffectiveDateBusinessDayConvention',\n    id: 40058,\n    abbrName: 'BizDayCnvtn',\n    description:\n      \"The business day convention used to adjust the underlying instrument's stream's effective, or relative effective, date. Used only to override the business day convention specified in the UnderlyingDateAdjustment component within the UnderlyingInstrument component.\",\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamEffectiveDateBusinessCenter',\n    id: 40059,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used to adjust the underlying instrument\\'s stream\\'s effective, or relative effective, date, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamEffectiveDateRelativeTo',\n    id: 40060,\n    abbrName: 'Reltv',\n    description:\n      'Specifies the anchor date when the effective date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamEffectiveDateOffsetPeriod',\n    id: 40061,\n    abbrName: 'OfstPeriod',\n    description: 'Time unit multiplier for the relative effective date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamEffectiveDateOffsetUnit',\n    id: 40062,\n    abbrName: 'OfstUnit',\n    description: 'Time unit associated with the relative effective date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamEffectiveDateOffsetDayType',\n    id: 40063,\n    abbrName: 'OfstDayTyp',\n    description: 'Specifies the day type of the relative effective date offset.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamEffectiveDateAdjusted',\n    id: 40064,\n    abbrName: 'Dt',\n    description: 'The adjusted effective date.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'StreamTerminationDateUnadjusted',\n    id: 40065,\n    abbrName: 'DtUnadj',\n    description: 'The unadjusted termination date.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'StreamTerminationDateBusinessDayConvention',\n    id: 40066,\n    abbrName: 'BizDayCnvtn',\n    description:\n      \"The business day convention used to adjust the instrument's stream's termination, or relative termination, date. Used only to override the business day convention specified in the DateAdjustment component within the Instrument component.\",\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'StreamTerminationDateBusinessCenter',\n    id: 40067,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used to adjust the instrument\\'s stream\\'s termination, or relative termination, date, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'StreamTerminationDateRelativeTo',\n    id: 40068,\n    abbrName: 'Reltv',\n    description:\n      'Specifies the anchor date when the termination date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'StreamTerminationDateOffsetPeriod',\n    id: 40069,\n    abbrName: 'OfstPeriod',\n    description: 'Time unit multiplier for the relative termination date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'StreamTerminationDateOffsetUnit',\n    id: 40070,\n    abbrName: 'OfstUnit',\n    description: 'Time unit associated with the relative termination date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'StreamTerminationDateOffsetDayType',\n    id: 40071,\n    abbrName: 'OfstDayTyp',\n    description: 'Specifies the day type of the relative termination date offset.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'StreamTerminationDateAdjusted',\n    id: 40072,\n    abbrName: 'Dt',\n    description: 'The adjusted termination date.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'StreamCalculationPeriodBusinessDayConvention',\n    id: 40073,\n    abbrName: 'BizDayCnvtn',\n    description:\n      'The business day convention used to adjust calculation periods. Used only to override the business day convention specified in the DateAdjustment component within the Instrument component.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'StreamCalculationPeriodBusinessCenter',\n    id: 40074,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used to adjust calculation periods, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'StreamFirstPeriodStartDateUnadjusted',\n    id: 40075,\n    abbrName: 'FirstStartDtUnadj',\n    description:\n      'The unadjusted first calculation period start date if before the effective date.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'StreamFirstPeriodStartDateBusinessDayConvention',\n    id: 40076,\n    abbrName: 'FirstStartDtBizDayCnvtn',\n    description:\n      \"The business day convention used to adjust the instrument's stream's first calculation period start date. Used only to override the business day convention specified in the DateAdjustment component within the Instrument component.\",\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'StreamFirstPeriodStartDateBusinessCenter',\n    id: 40077,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used to adjust the instrument\\'s stream\\'s first calculation period start date, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'StreamFirstPeriodStartDateAdjusted',\n    id: 40078,\n    abbrName: 'FirstStartDt',\n    description:\n      'The adjusted first calculation period start date, if it is before the effective date.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'StreamFirstRegularPeriodStartDateUnadjusted',\n    id: 40079,\n    abbrName: 'FirstReglrStartDtUnadj',\n    description:\n      'The unadjusted first start date of the regular calculation period, if there is an initial stub period.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'StreamFirstCompoundingPeriodEndDateUnadjusted',\n    id: 40080,\n    abbrName: 'FirstCmpndgEndDtUnadj',\n    description: 'The unadjusted end date of the initial compounding period.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'StreamLastRegularPeriodEndDateUnadjusted',\n    id: 40081,\n    abbrName: 'LastReglrEndDtUnadj',\n    description:\n      'The unadjusted last regular period end date if there is a final stub period.',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'StreamCalculationFrequencyPeriod',\n    id: 40082,\n    abbrName: 'FreqPeriod',\n    description:\n      'Time unit multiplier for the frequency at which calculation period end dates occur.',\n  },\n  {\n    type: 'CouponFrequencyUnitCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'StreamCalculationFrequencyUnit',\n    id: 40083,\n    abbrName: 'FreqUnit',\n    description:\n      'Time unit associated with the frequency at which calculation period end dates occur.',\n  },\n  {\n    type: 'DateRollConventionCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'StreamCalculationRollConvention',\n    id: 40084,\n    abbrName: 'Roll',\n    description:\n      'The convention for determining the sequence of end dates. It is used in conjunction with a specified frequency. Used only to override the roll convention specified in the DateAdjustment component within the Instrument component.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoSettlRateFallbacks',\n    id: 40085,\n    description: 'Number of settlement rate fallbacks in the repeating group',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'SettlRatePostponementMaximumDays',\n    id: 40086,\n    abbrName: 'MaxDays',\n    description:\n      'The maximum number of days to wait for a quote from the disrupted settlement rate option before proceding to this method.',\n  },\n  {\n    type: 'RateSourceCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamNonDeliverableSettlRateSource',\n    id: 40087,\n    abbrName: 'RtSrc',\n    description: 'Identifies the source of the rate information.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'SettlRatePostponementSurvey',\n    id: 40088,\n    abbrName: 'Survey',\n    description: 'Indicates whether to request a settlement rate quote from the market.',\n  },\n  {\n    type: 'ProvisionCalculationAgentCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'SettlRatePostponementCalculationAgent',\n    id: 40089,\n    abbrName: 'CalcAgent',\n    description: 'Used to identify the settlement rate postponement calculation agent.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoProvisions',\n    id: 40090,\n    description: 'Number of provisions in the repeating group.',\n  },\n  {\n    type: 'ProvisionTypeCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionType',\n    id: 40091,\n    abbrName: 'Typ',\n    description: 'Type of provisions.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionDateUnadjusted',\n    id: 40092,\n    abbrName: 'DtUnadj',\n    description: 'The unadjusted date of the provision.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionDateBusinessDayConvention',\n    id: 40093,\n    abbrName: 'BizDayCnvtn',\n    description:\n      \"The business day convention used to adjust the instrument's provision's dates. Used only to override the business day convention specified in the DateAdjustment component within the Instrument component.\",\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionDateBusinessCenter',\n    id: 40094,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used to adjust the instrument\\'s provision\\'s dates, e.g. \"GBLO\". See http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionDateAdjusted',\n    id: 40095,\n    abbrName: 'Dt',\n    description: 'The adjusted date of the provision.',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionDateTenorPeriod',\n    id: 40096,\n    abbrName: 'TenorPeriod',\n    description: \"Time unit multiplier for the provision's tenor period.\",\n  },\n  {\n    type: 'ProvisionDateTenorUnitCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionDateTenorUnit',\n    id: 40097,\n    abbrName: 'TenorUnit',\n    description: \"Time unit associated with the provision's tenor period.\",\n  },\n  {\n    type: 'ProvisionCalculationAgentCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionCalculationAgent',\n    id: 40098,\n    abbrName: 'CalcAgent',\n    description:\n      'Used to identify the calculation agent. The calculation agent may be identified in ProvisionCalculationAgent(40098) or in the ProvisionParties component.',\n  },\n  {\n    type: 'ProvisionOptionSinglePartyBuyerSideCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionOptionSinglePartyBuyerSide',\n    id: 40099,\n    abbrName: 'BuyerSide',\n    description:\n      'If optional early termination is not available to both parties then this component identifies the buyer of the option through its side of the trade.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'ProvisionOptionSinglePartyBuyerSideCodeSet',\n    addedEP: '161',\n    updatedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionOptionSinglePartySellerSide',\n    id: 40100,\n    abbrName: 'SellerSide',\n    description:\n      'If optional early termination is not available to both parties then this component identifies the seller of the option through its side of the trade.',\n  },\n  {\n    type: 'ExerciseStyleCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionOptionExerciseStyle',\n    id: 40101,\n    abbrName: 'ExerStyle',\n    description: 'The instrument provision option\u2019s exercise style.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionOptionExerciseMultipleNotional',\n    id: 40102,\n    abbrName: 'MultplNotl',\n    description:\n      'A notional amount which restricts the amount of notional that can be exercised when partial exercise or multiple exercise is applicable. The integral multiple amount defines a lower limit of notional that can be exercised and also defines a unit multiple of notional that can be exercised, i.e. only integer multiples of this amount can be exercised.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionOptionExerciseMinimumNotional',\n    id: 40103,\n    abbrName: 'MinNotl',\n    description:\n      'The minimum notional amount that can be exercised on a given exercise date.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionOptionExerciseMaximumNotional',\n    id: 40104,\n    abbrName: 'MaxNotl',\n    description:\n      'The maximum notional amount that can be exercised on a given exercise date.',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionOptionMinimumNumber',\n    id: 40105,\n    abbrName: 'MinNum',\n    description:\n      'The minimum number of options that can be exercised on a given exercise date.',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionOptionMaximumNumber',\n    id: 40106,\n    abbrName: 'MaxNum',\n    description:\n      'The maximum number of options that can be exercised on a given exercise date. If the number is not specified, it means that the maximum number of options corresponds to the remaining unexercised options.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionOptionExerciseConfirmation',\n    id: 40107,\n    abbrName: 'ExerCnfm',\n    description:\n      \"Used to indicate whether follow-up confirmation of exercise (written or electronic) is required following telephonic notice by the buyer to the seller or seller's agent.\",\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'ProvisionCashSettlMethodCodeSet',\n    addedEP: '161',\n    updatedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionCashSettlMethod',\n    id: 40108,\n    abbrName: 'SettlMeth',\n    description:\n      'An ISDA defined cash settlement method used for the determination of the applicable cash settlement amount. The method is defined in the 2006 ISDA Definitions, Section 18.3. Cash Settlement Methods, paragraph (e).',\n  },\n  {\n    type: 'Currency',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionCashSettlCurrency',\n    id: 40109,\n    abbrName: 'SettlCcy',\n    description: 'Specifies the currency of settlement. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionCashSettlCurrency2',\n    id: 40110,\n    abbrName: 'SettlCcy2',\n    description:\n      'Specifies the currency of settlement for a cross-currency provision. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'ProvisionCashSettlQuoteTypeCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionCashSettlQuoteType',\n    id: 40111,\n    abbrName: 'SettlQteTyp',\n    description: 'Identifies the type of quote to be used.',\n  },\n  {\n    type: 'PaymentStreamRateIndexSourceCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionCashSettlQuoteSource',\n    id: 40112,\n    abbrName: 'SettlQteSrc',\n    description: 'Identifies the source of quote information.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionText',\n    id: 40113,\n    abbrName: 'Txt',\n    description:\n      'Free form text to specify additional information or enumeration description when a standard value does not apply.',\n  },\n  {\n    type: 'LocalMktTime',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionCashSettlValueTime',\n    id: 40114,\n    abbrName: 'Tm',\n    description:\n      'A time specified in 24-hour format, e.g. 11am would be represented as 11:00:00. The time of the cash settlement valuation date when the cash settlement amount will be determined according to the cash settlement method if the parties have not otherwise been able to agree to the cash settlement amount.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionCashSettlValueTimeBusinessCenter',\n    id: 40115,\n    abbrName: 'TmBizCtr',\n    description:\n      \"Identifies the business center calendar used with the provision's cash settlement valuation time. See http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.\",\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '161',\n    updatedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionCashSettlValueDateBusinessDayConvention',\n    id: 40116,\n    abbrName: 'BizDayCnvtn',\n    description:\n      'The cash settlement valuation date adjustment business day convention. Used only to override the business day convention specified in the DateAdjustment component within the Instrument component.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionCashSettlValueDateBusinessCenter',\n    id: 40117,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used to adjust the provision\\'s cash settlement valuation date, e.g. \"GBLO\". See http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionCashSettlValueDateRelativeTo',\n    id: 40118,\n    abbrName: 'Reltv',\n    description:\n      'Specifies the anchor date when the cash settlement value date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'int',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionCashSettlValueDateOffsetPeriod',\n    id: 40119,\n    abbrName: 'OfstPeriod',\n    description:\n      'Time unit multiplier for the relative cash settlement value date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionCashSettlValueDateOffsetUnit',\n    id: 40120,\n    abbrName: 'OfstUnit',\n    description:\n      'Time unit associated with the relative cash settlement value date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionCashSettlValueDateOffsetDayType',\n    id: 40121,\n    abbrName: 'OfstDayTyp',\n    description:\n      \"Specifies the day type of the provision's relative cash settlement value date offset.\",\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionCashSettlValueDateAdjusted',\n    id: 40122,\n    abbrName: 'Dt',\n    description: 'The adjusted cash settlement value date.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionOptionExerciseBusinessDayConvention',\n    id: 40123,\n    abbrName: 'BizDayCnvtn',\n    description:\n      \"The business day convention used to adjust the instrument's provision's option exercise date. Used only to override the business day convention specified in the DateAdjustment component within the Instrument component.\",\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionOptionExerciseBusinessCenter',\n    id: 40124,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used to adjust the instrument\\'s provision\\'s option exercise date, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionOptionExerciseEarliestDateOffsetPeriod',\n    id: 40125,\n    abbrName: 'ErlstOfstPeriod',\n    description:\n      'Time unit multiplier for the interval to the first (and possibly only) exercise date in the exercise period.',\n  },\n  {\n    type: 'ProvisionOptionExerciseEarliestDateOffsetUnitCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionOptionExerciseEarliestDateOffsetUnit',\n    id: 40126,\n    abbrName: 'ErlstOfstUnit',\n    description:\n      'Time unit associated with the interval to the first (and possibly only) exercise date in the exercise period.',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionOptionExerciseFrequencyPeriod',\n    id: 40127,\n    abbrName: 'FreqPeriod',\n    description:\n      'Time unit multiplier for the frequency of subsequent exercise dates in the exercise period following the earliest exercise date. An interval of 1 day should be used to indicate an American style exercise period.',\n  },\n  {\n    type: 'CouponFrequencyUnitCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionOptionExerciseFrequencyUnit',\n    id: 40128,\n    abbrName: 'FreqUnit',\n    description:\n      'Time unit associated with the frequency of subsequent exercise dates in the exercise period following the earliest exercise date.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionOptionExerciseStartDateUnadjusted',\n    id: 40129,\n    abbrName: 'StartDtUnadj',\n    description:\n      'The unadjusted first day of the exercise period for an American style option.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionOptionExerciseStartDateRelativeTo',\n    id: 40130,\n    abbrName: 'StartDtReltv',\n    description:\n      'Specifies the anchor date when the option exercise start date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'int',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionOptionExerciseStartDateOffsetPeriod',\n    id: 40131,\n    abbrName: 'StartDtOfstPeriod',\n    description:\n      'Time unit multiplier for the relative option exercise start date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionOptionExerciseStartDateOffsetUnit',\n    id: 40132,\n    abbrName: 'StartDtOfstUnit',\n    description:\n      'Time unit associated with the relative option exercise start date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionOptionExerciseStartDateOffsetDayType',\n    id: 40133,\n    abbrName: 'StartDtOfstDayTyp',\n    description:\n      \"Specifies the day type of the provision's relative option exercise start date offset.\",\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionOptionExerciseStartDateAdjusted',\n    id: 40134,\n    abbrName: 'StartDt',\n    description:\n      'The adjusted first day of the exercise period for an American style option.',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionOptionExercisePeriodSkip',\n    id: 40135,\n    abbrName: 'Skip',\n    description:\n      'The number of periods in the referenced date schedule that are between each date in the relative date schedule. Thus a skip of 2 would mean that dates are relative to every second date in the referenced schedule. If present this should have a value greater than 1.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionOptionExerciseBoundsFirstDateUnadjusted',\n    id: 40136,\n    abbrName: 'FirstDtUnadj',\n    description:\n      'The unadjusted first date of a schedule. This can be used to restrict the range of exercise dates when they are relative.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionOptionExerciseBoundsLastDateUnadjusted',\n    id: 40137,\n    abbrName: 'LastDtUnadj',\n    description:\n      'The unadjusted last date of a schedule. This can be used to restrict the range of exercise dates when they are relative.',\n  },\n  {\n    type: 'LocalMktTime',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionOptionExerciseEarliestTime',\n    id: 40138,\n    abbrName: 'ErlstTm',\n    description:\n      \"The earliest time at which notice of exercise can be given by the buyer to the seller (or seller's agent) i) on the expriation date, in the case of a European style option, (ii) on each bermuda option exercise date and the expiration date, in the case of a Bermuda style option the commencement date to, and including, the expiration date, in the case of an American option.\",\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionOptionExerciseEarliestTimeBusinessCenter',\n    id: 40139,\n    abbrName: 'ErlstTmBizCtr',\n    description:\n      \"Identifies the business center calendar used with the provision's earliest time for notice of exercise.\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.\",\n  },\n  {\n    type: 'LocalMktTime',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionOptionExerciseLatestTime',\n    id: 40140,\n    abbrName: 'LtstTm',\n    description:\n      \"For a Bermuda or American style option, the latest time on an exercise business day (excluding the expiration date) within the exercise period that notice can be given by the buyer to the seller or seller's agent. Notice of exercise given after this time will be deemed to have been given on the next exercise business day.\",\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionOptionExerciseLatestTimeBusinessCenter',\n    id: 40141,\n    abbrName: 'LtstTmBizCtr',\n    description:\n      \"Identifies the business center calendar used with the provision's latest time for notice of exercise.\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.\",\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoProvisionOptionExerciseFixedDates',\n    id: 40142,\n    description:\n      'Number of provision option exercise fixed dates in the repeating group.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionOptionExerciseFixedDate',\n    id: 40143,\n    abbrName: 'Dt',\n    description:\n      'A predetermined option exercise date, unadjusted or adjusted depending on ProvisionOptionExerciseFixedDateType(40144).',\n  },\n  {\n    type: 'ProvisionOptionExerciseFixedDateTypeCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionOptionExerciseFixedDateType',\n    id: 40144,\n    abbrName: 'Typ',\n    description: 'Specifies the type of date (e.g. adjusted for holidays).',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionOptionExpirationDateUnadjusted',\n    id: 40145,\n    abbrName: 'DtUnadj',\n    description:\n      'The unadjusted last day within an exercise period for an American style option. For a European style option it is the only day within the exercise period.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionOptionExpirationDateBusinessDayConvention',\n    id: 40146,\n    abbrName: 'BizDayCnvtn',\n    description:\n      \"The business day convention used to adjust the instrument's provision's option expiration date. Used only to override the business day convention specified in the DateAdjustment component within the Instrument component.\",\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionOptionExpirationDateBusinessCenter',\n    id: 40147,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used to adjust the instrument\\'s provision\\'s option expiration date, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionOptionExpirationDateRelativeTo',\n    id: 40148,\n    abbrName: 'Reltv',\n    description:\n      'Specifies the anchor date when the option expiration date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'int',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionOptionExpirationDateOffsetPeriod',\n    id: 40149,\n    abbrName: 'OfstPeriod',\n    description: 'Time unit multiplier for the relative option expiration date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionOptionExpirationDateOffsetUnit',\n    id: 40150,\n    abbrName: 'OfstUnit',\n    description: 'Time unit associated with the relative option expiration date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionOptionExpirationDateOffsetDayType',\n    id: 40151,\n    abbrName: 'OfstDayTyp',\n    description:\n      \"Specifies the day type of the provision's relative option expiration date offset.\",\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionOptionExpirationDateAdjusted',\n    id: 40152,\n    abbrName: 'Dt',\n    description:\n      'The adjusted last date within an exercise period for an American style option. For a European style option it is the only date within the exercise period.',\n  },\n  {\n    type: 'LocalMktTime',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionOptionExpirationTime',\n    id: 40153,\n    abbrName: 'ExpTm',\n    description: 'The latest time for exercise on the expiration date.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionOptionExpirationTimeBusinessCenter',\n    id: 40154,\n    abbrName: 'ExpTmBizCtr',\n    description:\n      \"Identifies the business center calendar used with the provision's latest exercise time on expiration date.\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.\",\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionOptionRelevantUnderlyingDateUnadjusted',\n    id: 40155,\n    abbrName: 'DtUnadj',\n    description:\n      'The unadjusted date on the underlying set by the exercise of an option. What this date is depends on the option (e.g. in a swaption it is the swap effective date, in an extendible/cancelable provision it is the swap termination date).',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionOptionRelevantUnderlyingDateBusinessDayConvention',\n    id: 40156,\n    abbrName: 'BizDayCnvtn',\n    description:\n      \"The business day convention used to adjust the instrument's provision's option underlying date. Used only to override the business day convention specified in the DateAdjustment component within the Instrument component.\",\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionOptionRelevantUnderlyingDateBusinessCenter',\n    id: 40157,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used to adjust the instrument\\'s provision\\'s option underlying date, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionOptionRelevantUnderlyingDateRelativeTo',\n    id: 40158,\n    abbrName: 'Reltv',\n    description:\n      'Specifies the anchor date when the date relevant to the underlying trade on exercise is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'int',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionOptionRelevantUnderlyingDateOffsetPeriod',\n    id: 40159,\n    abbrName: 'OfstPeriod',\n    description:\n      'Time unit multiplier for the relative option relevant underlying date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionOptionRelevantUnderlyingDateOffsetUnit',\n    id: 40160,\n    abbrName: 'OfstUnit',\n    description:\n      'Time unit associated with the relative option relevant underlying date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionOptionRelevantUnderlyingDateOffsetDayType',\n    id: 40161,\n    abbrName: 'OfstDayTyp',\n    description:\n      \"Specifies the day type of the provision's relative option relevant underlying date offset.\",\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionOptionRelevantUnderlyingDateAdjusted',\n    id: 40162,\n    abbrName: 'Dt',\n    description:\n      'The adjusted date on the underlying set by the exercise of an option. What this date is depends on the option (e.g. in a swaption it is the swap effective date, in an extendible/cancelable provision it is the swap termination date).',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionCashSettlPaymentDateBusinessDayConvention',\n    id: 40163,\n    abbrName: 'BizDayCnvtn',\n    description:\n      \"The business day convention used to adjust the provisional cash settlement payment's termination or relative termination date. Used only to override the business day convention specified in the DateAdjustment component within the Instrument component.\",\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionCashSettlPaymentDateBusinessCenter',\n    id: 40164,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used to adjust the provisional cash settlement payment\\'s termination or relative termination date, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionCashSettlPaymentDateRelativeTo',\n    id: 40165,\n    abbrName: 'Reltv',\n    description:\n      'Specifies the anchor date when the cash settlement payment date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'int',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionCashSettlPaymentDateOffsetPeriod',\n    id: 40166,\n    abbrName: 'OfstPeriod',\n    description:\n      'Time unit multiplier for the relative cash settlement payment date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionCashSettlPaymentDateOffsetUnit',\n    id: 40167,\n    abbrName: 'OfstUnit',\n    description:\n      'Time unit associated with the relative cash settlement payment date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionCashSettlPaymentDateOffsetDayType',\n    id: 40168,\n    abbrName: 'OfstDayTyp',\n    description:\n      \"Specifies the day type of the provision's relative cash settlement payment date offset.\",\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionCashSettlPaymentDateRangeFirst',\n    id: 40169,\n    abbrName: 'DtFirst',\n    description: 'First date in range when a settlement date range is provided.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionCashSettlPaymentDateRangeLast',\n    id: 40170,\n    abbrName: 'DtLast',\n    description: 'The last date in range when a settlement date range is provided.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoProvisionCashSettlPaymentDates',\n    id: 40171,\n    description:\n      'Number of provision cash settlement payment dates in the repeating group.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionCashSettlPaymentDate',\n    id: 40172,\n    abbrName: 'Dt',\n    description:\n      'The cash settlement payment date, unadjusted or adjusted depending on ProvisionCashSettlPaymentDateType(40173).',\n  },\n  {\n    type: 'ProvisionCashSettlPaymentDateTypeCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionCashSettlPaymentDateType',\n    id: 40173,\n    abbrName: 'Typ',\n    description: 'Specifies the type of date (e.g. adjusted for holidays).',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoProvisionPartyIDs',\n    id: 40174,\n    description: 'Number of parties identified in the contract provision.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionPartyID',\n    id: 40175,\n    abbrName: 'ID',\n    discriminatorId: '40176',\n    description: 'The party identifier/code for the payment settlement party.',\n  },\n  {\n    type: 'PartyIDSourceCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionPartyIDSource',\n    id: 40176,\n    abbrName: 'Src',\n    description: 'Identifies class or source of the ProvisionPartyID(40175) value.',\n  },\n  {\n    type: 'PartyRoleCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionPartyRole',\n    id: 40177,\n    abbrName: 'R',\n    description: 'Identifies the type or role of ProvisionPartyID(40175) specified.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoProvisionPartySubIDs',\n    id: 40178,\n    description: 'Number of sub-party IDs to be reported for the party.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionPartySubID',\n    id: 40179,\n    abbrName: 'ID',\n    description: 'Party sub-identifier, if applicable, for ProvisionPartyID(40175).',\n  },\n  {\n    type: 'PartySubIDTypeCodeSet',\n    unionDataType: 'Reserved4000Plus',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionPartySubIDType',\n    id: 40180,\n    abbrName: 'Typ',\n    description: 'The type of ProvisionPartySubID(40179).',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoProtectionTerms',\n    id: 40181,\n    description: 'Number of protection terms in the repeating group.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProtectionTermNotional',\n    id: 40182,\n    abbrName: 'Notl',\n    description:\n      'The notional amount of protection coverage.\\n\\nISDA 2003 Term: Floating Rate Payer Calculation Amount.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProtectionTermCurrency',\n    id: 40183,\n    abbrName: 'Ccy',\n    description:\n      'The currency of ProtectionTermNotional(40182). Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProtectionTermSellerNotifies',\n    id: 40184,\n    abbrName: 'Seller',\n    description:\n      'The notifying party is the party that notifies the other party when a credit event has occurred by means of a credit event notice. If more than one party is referenced as being the notifying party then either party may notify the other of a credit event occurring.\\n\\nProtectionTermSellerNotifies(40184)=Y indicates that the seller notifies.\\n\\nISDA 2003 Term: Notifying Party.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProtectionTermBuyerNotifies',\n    id: 40185,\n    abbrName: 'Buyer',\n    description:\n      'The notifying party is the party that notifies the other party when a credit event has occurred by means of a credit event notice. If more than one party is referenced as being the notifying party then either party may notify the other of a credit event occurring.\\n\\nProtectionTermBuyerNotifies(40185)=Y indicates that the buyer notifies.\\n\\nISDA 2003 Term: Notifying Party.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProtectionTermEventBusinessCenter',\n    id: 40186,\n    abbrName: 'BizCtr',\n    description:\n      'When used, the business center indicates the local time of the business center that replaces the Greenwich Mean Time in Section 3.3 of the 2003 ISDA Credit Derivatives Definitions. See http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProtectionTermStandardSources',\n    id: 40187,\n    abbrName: 'StdSrcs',\n    description:\n      'Indicates whether ISDA defined Standard Public Sources are applicable (ProtectionTermStandardSources(40187)=Y) or not.',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProtectionTermEventMinimumSources',\n    id: 40188,\n    abbrName: 'MinSrcs',\n    description:\n      'The minimum number of the specified public information sources that must publish information that reasonably confirms that a credit event has occurred. The market convention is two.\\n\\nISDA 2003 Term: Specified Number.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProtectionTermEventNewsSource',\n    id: 40189,\n    abbrName: 'Src',\n    description:\n      'Newspaper or electronic news service or source that may publish relevant information used in the determination of whether or not a credit event has occurred.',\n  },\n  {\n    type: 'XID',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProtectionTermXID',\n    id: 40190,\n    abbrName: 'XID',\n    description:\n      'A named string value referenced by UnderlyingProtectionTermXIDRef(41314).',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoProtectionTermEvents',\n    id: 40191,\n    description: 'Number of protection term events in the repeating group.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'String',\n    addedEP: '161',\n    updatedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'ProtectionTermEventType',\n    id: 40192,\n    abbrName: 'Typ',\n    description:\n      'Specifies the type of credit event applicable to the protection terms.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Protection_Term_Event_Types for code list of applicable event types.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'String',\n    addedEP: '161',\n    updatedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'ProtectionTermEventValue',\n    id: 40193,\n    abbrName: 'Val',\n    description:\n      'Protection term event value appropriate to ProtectionTermEvenType(40192).\\n\\nSee http://www.fixtradingcommunity.org/codelists#Protection_Term_Event_Types for applicable event type values.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProtectionTermEventCurrency',\n    id: 40194,\n    abbrName: 'Ccy',\n    description:\n      'Applicable currency if ProtectionTermEventValue(40193) is an amount. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProtectionTermEventPeriod',\n    id: 40195,\n    abbrName: 'Period',\n    description: 'Time unit multiplier for protection term events.',\n  },\n  {\n    type: 'ProtectionTermEventUnitCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProtectionTermEventUnit',\n    id: 40196,\n    abbrName: 'Unit',\n    description: 'Time unit associated with protection term events.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'ProtectionTermEventDayTypeCodeSet',\n    addedEP: '161',\n    updatedEP: '271',\n    added: 'FIX.5.0SP2',\n    name: 'ProtectionTermEventDayType',\n    id: 40197,\n    abbrName: 'DayTyp',\n    description: 'Day type for events that specify a period and unit.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProtectionTermEventRateSource',\n    id: 40198,\n    abbrName: 'RtSrc',\n    description:\n      'Rate source for events that specify a rate source, e.g. Floating rate interest shortfall.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoProtectionTermEventQualifiers',\n    id: 40199,\n    description: 'Number of qualifiers in the repeating group.',\n  },\n  {\n    type: 'ProtectionTermEventQualifierCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProtectionTermEventQualifier',\n    id: 40200,\n    abbrName: 'Qual',\n    description:\n      'Protection term event qualifier. Used to further qualify ProtectionTermEventType(40192).',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoProtectionTermObligations',\n    id: 40201,\n    description: 'Number of obligations in the repeating group.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'String',\n    addedEP: '161',\n    updatedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'ProtectionTermObligationType',\n    id: 40202,\n    abbrName: 'Typ',\n    description:\n      'Specifies the type of obligation applicable to the protection terms.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Protection_Term_Obligation_Types for code list of applicable obligation types.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'String',\n    addedEP: '161',\n    updatedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'ProtectionTermObligationValue',\n    id: 40203,\n    abbrName: 'Val',\n    description:\n      'Protection term obligation value appropriate to ProtectionTermObligationType(40202).\\n\\nSee http://www.fixtradingcommunity.org/codelists#Protection_Term_Obligation_Types for applicable obligation type values.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoPhysicalSettlTerms',\n    id: 40204,\n    description: 'Number of entries in the repeating group.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PhysicalSettlCurrency',\n    id: 40205,\n    abbrName: 'Ccy',\n    description:\n      'Specifies the currency of physical settlement. Uses ISO 4217 currency codes.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'int',\n    addedEP: '161',\n    updatedEP: '271',\n    added: 'FIX.5.0SP2',\n    name: 'PhysicalSettlBusinessDays',\n    id: 40206,\n    abbrName: 'BizDays',\n    description:\n      'The number of business days used in the determination of physical settlement. Its precise meaning depends on the context in which this element is used.\\n\\nISDA 2003 Term: Business Day.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'int',\n    addedEP: '161',\n    updatedEP: '271',\n    added: 'FIX.5.0SP2',\n    name: 'PhysicalSettlMaximumBusinessDays',\n    id: 40207,\n    abbrName: 'MaxBizDays',\n    description:\n      'A maximum number of business days. Its precise meaning depends on the context in which this element is used. Intended to be used to limit a particular ISDA fallback provision.',\n  },\n  {\n    type: 'XID',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PhysicalSettlTermXID',\n    id: 40208,\n    abbrName: 'XID',\n    description: 'A named string value referenced by UnderlyingSettlTermXIDRef(41315).',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoPhysicalSettlDeliverableObligations',\n    id: 40209,\n    description: 'Number of entries in the repeating group.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'String',\n    addedEP: '161',\n    updatedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'PhysicalSettlDeliverableObligationType',\n    id: 40210,\n    abbrName: 'Typ',\n    description:\n      'Specifies the type of deliverable obligation applicable for physical settlement. See http://www.fixtradingcommunity.org/codelists#Deliverable_Obligation_Types for code list for applicable deliverable obligation types.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'String',\n    addedEP: '161',\n    updatedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'PhysicalSettlDeliverableObligationValue',\n    id: 40211,\n    abbrName: 'Val',\n    description:\n      'Physical settlement deliverable obligation value appropriate to PhysicalSettlDeliverableObligationType(40210). See http://www.fixtradingcommunity.org/codelists#Deliverable_Obligation_Types for applicable obligation type values.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoPayments',\n    id: 40212,\n    description: 'Number of additional settlement or bullet payments.',\n  },\n  {\n    type: 'PaymentTypeCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentType',\n    id: 40213,\n    abbrName: 'Typ',\n    description: 'Type of payment.',\n  },\n  {\n    type: 'PaymentPaySideCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentPaySide',\n    id: 40214,\n    abbrName: 'PaySide',\n    description: 'The side of the party paying the payment.',\n  },\n  {\n    type: 'PaymentPaySideCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentReceiveSide',\n    id: 40215,\n    abbrName: 'RcvSide',\n    description: 'The side of the party receiving the payment.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentCurrency',\n    id: 40216,\n    abbrName: 'Ccy',\n    description:\n      'Specifies the currency in which PaymentAmount(40217) is denominated. Uses ISO 4271 currency codes.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentAmount',\n    id: 40217,\n    abbrName: 'Amt',\n    description: 'The total payment amount.',\n  },\n  {\n    type: 'Price',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentPrice',\n    id: 40218,\n    abbrName: 'Px',\n    description:\n      'The price determining the payment amount expressed in terms specified in PaymentPriceType(40919) and expressed in market format.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentDateUnadjusted',\n    id: 40219,\n    abbrName: 'DtUnadj',\n    description: 'The unadjusted payment date.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentBusinessDayConvention',\n    id: 40220,\n    abbrName: 'BizDayCnvtn',\n    description:\n      'The business day convention used to adjust the payment date. Used only to override the business day convention specified in the DateAdjustment component within the Instrument component.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentBusinessCenter',\n    id: 40221,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used to adjust the payment date, e.g. \"GBLO\". See http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentDateAdjusted',\n    id: 40222,\n    abbrName: 'Dt',\n    description: 'The adjusted payment date.',\n  },\n  {\n    type: 'float',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentDiscountFactor',\n    id: 40224,\n    abbrName: 'DiscFctr',\n    description:\n      'The value representing the discount factor used to calculate the present value of the cash flow.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentPresentValueAmount',\n    id: 40225,\n    abbrName: 'PVAmt',\n    description: 'The amount representing the present value of the forecast payment.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentPresentValueCurrency',\n    id: 40226,\n    abbrName: 'PVCcy',\n    description:\n      'Specifies the currency the PaymentPresentValueAmount(40225) is denominated in. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'PaymentSettlStyleCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentSettlStyle',\n    id: 40227,\n    abbrName: 'SettlStyle',\n    description: 'Payment settlement style.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamNonDeliverableSettlReferencePage',\n    id: 40228,\n    abbrName: 'RefPg',\n    description:\n      'Identifies the reference \"page\" from the rate source.\\n\\nWhen LegPaymentStreamNonDeliverableSettlRateSource(40087) = 3 (ISDA Settlement Rate Option) this contains a value from the scheme that reflects the terms of the Annex A to the ISDA 1998 FX and Currency Option Definitions. See: http://www.fpml.org/coding-scheme/settlement-rate-option',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentText',\n    id: 40229,\n    abbrName: 'Txt',\n    description:\n      'Free form text to specify additional information or enumeration description when a sdtandard value does not apply. Identifies the payment type when PaymentType(40213) = 99 (Other).',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoPaymentSettls',\n    id: 40230,\n    description: 'Number of additional settlements or bullet payments.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentSettlAmount',\n    id: 40231,\n    abbrName: 'Amt',\n    description: 'The payment settlement amount.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentSettlCurrency',\n    id: 40232,\n    abbrName: 'Ccy',\n    description:\n      'Specifies the currency the PaymentSettlAmount(40231) is denominated in. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoPaymentSettlPartyIDs',\n    id: 40233,\n    description:\n      'Number of parties identified in the additional settlement or bullet payment.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentSettlPartyID',\n    id: 40234,\n    abbrName: 'ID',\n    discriminatorId: '40235',\n    description: 'The payment settlement party identifier.',\n  },\n  {\n    type: 'PartyIDSourceCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentSettlPartyIDSource',\n    id: 40235,\n    abbrName: 'Src',\n    description:\n      'Identifies the class or source of PaymentSettlPartyID(40234) value (e.g. BIC).',\n  },\n  {\n    type: 'PartyRoleCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentSettlPartyRole',\n    id: 40236,\n    abbrName: 'R',\n    description:\n      \"Identifies the role of PaymentSettlPartyID(40234) (e.g. the beneficiary's bank or depository institution).\",\n  },\n  {\n    type: 'PartyDetailRoleQualifierCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentSettlPartyRoleQualifier',\n    id: 40237,\n    abbrName: 'Qual',\n    description: 'Qualifies the value of PaymentSettlPartyRole(40236).',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoPaymentSettlPartySubIDs',\n    id: 40238,\n    description: 'Number of sub-party IDs to be reported for the party.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentSettlPartySubID',\n    id: 40239,\n    abbrName: 'ID',\n    description: 'Party sub-identifier, if applicable, for PaymentSettlPartyRole(40236).',\n  },\n  {\n    type: 'PartySubIDTypeCodeSet',\n    unionDataType: 'Reserved4000Plus',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentSettlPartySubIDType',\n    id: 40240,\n    abbrName: 'Typ',\n    description: 'The type of PaymentSettlPartySubID(40239) value.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegStreams',\n    id: 40241,\n    description: 'Number of swap streams in the repeating group.',\n  },\n  {\n    type: 'StreamTypeCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamType',\n    id: 40242,\n    abbrName: 'Typ',\n    description: 'Type of swap stream.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamDesc',\n    id: 40243,\n    abbrName: 'Desc',\n    description:\n      'A short descriptive name given to the payment stream, e.g. CDS, Fixed, Float, Float2, GBP. The description has no intrinsic meaning but should be arbitrarily chosen by the remitter as a reference.',\n  },\n  {\n    type: 'PaymentPaySideCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamPaySide',\n    id: 40244,\n    abbrName: 'PaySide',\n    description: 'The side of the party paying the stream.',\n  },\n  {\n    type: 'PaymentPaySideCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamReceiveSide',\n    id: 40245,\n    abbrName: 'RcvSide',\n    description: 'The side of the party receiving the stream.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamNotional',\n    id: 40246,\n    abbrName: 'Notl',\n    description:\n      'Notional, or initial notional value for the payment stream. The LegPaymentSchedule component should be used for specifying the steps.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamCurrency',\n    id: 40247,\n    abbrName: 'Ccy',\n    description:\n      'Specifies the currency the LegStreamNotional(40246) is denominated in. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamText',\n    id: 40248,\n    abbrName: 'Txt',\n    description:\n      'Free form text to specify additional information or enumeration description when a standard value does not apply.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamEffectiveDateUnadjusted',\n    id: 40249,\n    abbrName: 'DtUnadj',\n    description: 'The unadjusted effective date.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamEffectiveDateBusinessDayConvention',\n    id: 40250,\n    abbrName: 'BizDayCnvtn',\n    description:\n      \"The business day convention used to adjust the instrument leg's stream's effective date or relative effective date. Used only to override the business day convention specified in the LegDateAdjustment component within the InstrumentLeg component.\",\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamEffectiveDateBusinessCenter',\n    id: 40251,\n    abbrName: 'BizCtr',\n    description:\n      'The business center calendar used to adjust the instrument leg\\'s stream\\'s effective date or relative effective date, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamEffectiveDateRelativeTo',\n    id: 40252,\n    abbrName: 'Reltv',\n    description:\n      'Specifies the anchor date when the effective date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamEffectiveDateOffsetPeriod',\n    id: 40253,\n    abbrName: 'OfstPeriod',\n    description: 'Time unit multiplier for the relative effective date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamEffectiveDateOffsetUnit',\n    id: 40254,\n    abbrName: 'OfstUnit',\n    description: 'Time unit associated with the relative effective date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamEffectiveDateOffsetDayType',\n    id: 40255,\n    abbrName: 'OfstDayTyp',\n    description: 'Specifies the day type of the relative effective date offset.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamEffectiveDateAdjusted',\n    id: 40256,\n    abbrName: 'Dt',\n    description: 'The adjusted effective date.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamTerminationDateUnadjusted',\n    id: 40257,\n    abbrName: 'DtUnadj',\n    description: 'The unadjusted termination date.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamTerminationDateBusinessDayConvention',\n    id: 40258,\n    abbrName: 'BizDayCnvtn',\n    description:\n      \"The business day convention used to adjust the instrument leg's stream's termination, or relative termination, date. Used only to override the business day convention specified in the LegDateAdjustment component within the InstrumentLeg component.\",\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamTerminationDateBusinessCenter',\n    id: 40259,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used to adjust the instrument leg\\'s stream\\'s termination, or relative termination, date, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamTerminationDateRelativeTo',\n    id: 40260,\n    abbrName: 'Reltv',\n    description:\n      'Specifies the anchor date when the termination date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamTerminationDateOffsetPeriod',\n    id: 40261,\n    abbrName: 'OfstPeriod',\n    description: 'Time unit multiplier for the relative termination date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamTerminationDateOffsetUnit',\n    id: 40262,\n    abbrName: 'OfstUnit',\n    description: 'Time unit associated with the relative termination date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamTerminationDateOffsetDayType',\n    id: 40263,\n    abbrName: 'OfstDayTyp',\n    description: 'Specifies the day type of the relative termination date offset.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamTerminationDateAdjusted',\n    id: 40264,\n    abbrName: 'Dt',\n    description: 'The adjusted termination date.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamCalculationPeriodBusinessDayConvention',\n    id: 40265,\n    abbrName: 'BizDayCnvtn',\n    description:\n      'The business day convention used to adjust calculation periods. Used only to override the business day convention specified in the LegDateAdjustment component within the InstrumentLeg component.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamCalculationPeriodBusinessCenter',\n    id: 40266,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used to adjust calculation periods, e.g. \"GLBO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamFirstPeriodStartDateUnadjusted',\n    id: 40267,\n    abbrName: 'FirstStartDtUnadj',\n    description:\n      'The unadjusted first calculation period start date if before the effective date.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamFirstPeriodStartDateBusinessDayConvention',\n    id: 40268,\n    abbrName: 'FirstStartDtBizDayCnvtn',\n    description:\n      \"The business day convention used to adjust the instrument leg's stream's first calculation period start date. Used only to override the business day convention specified in the LegDateAdjustment component within the InstrumentLeg component.\",\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamFirstPeriodStartDateBusinessCenter',\n    id: 40269,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used to adjust the instrument leg\\'s stream\\'s first calculation period start date, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamFirstPeriodStartDateAdjusted',\n    id: 40270,\n    abbrName: 'FirstStartDt',\n    description:\n      'The adjusted first calculation period start date, if it is before the effective date.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamFirstRegularPeriodStartDateUnadjusted',\n    id: 40271,\n    abbrName: 'FirstReglrStartDtUnadj',\n    description:\n      'The unadjusted first start date of the regular calculation period, if there is an initial stub period.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamFirstCompoundingPeriodEndDateUnadjusted',\n    id: 40272,\n    abbrName: 'FirstCmpndgEndDtUnadj',\n    description: 'The unadjusted end date of the initial compounding period.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamLastRegularPeriodEndDateUnadjusted',\n    id: 40273,\n    abbrName: 'LastReglrEndDtUnadj',\n    description:\n      'The unadjusted last regular period end date if there is a final stub period.',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamCalculationFrequencyPeriod',\n    id: 40274,\n    abbrName: 'FreqPeriod',\n    description:\n      'Time unit multiplier for the frequency at which calculation period end dates occur.',\n  },\n  {\n    type: 'CouponFrequencyUnitCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamCalculationFrequencyUnit',\n    id: 40275,\n    abbrName: 'FreqUnit',\n    description:\n      'Time unit associated with the frequency at which calculation period end dates occur.',\n  },\n  {\n    type: 'DateRollConventionCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamCalculationRollConvention',\n    id: 40276,\n    abbrName: 'Roll',\n    description:\n      'The convention for determining the sequence of end dates. It is used in conjunction with a specified frequency. Used only to override the roll convention specified in the LegDateAdjustment component within the InstrumentLeg component.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoCashSettlDealers',\n    id: 40277,\n    description: 'Number of dealers in the repeating group.',\n  },\n];\n\nconst batch4: ISpecFields[] = [\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoBusinessCenters',\n    id: 40278,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'PaymentStreamTypeCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamType',\n    id: 40279,\n    abbrName: 'Typ',\n    description:\n      'Identifies the type of payment stream applicable to the swap stream associated with the instrument leg.',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamMarketRate',\n    id: 40280,\n    abbrName: 'MktRt',\n    description:\n      'Used only for credit index trade. This contains the credit spread (\"fair value\") at which the trade was executed. The market rate varies over the life of the index depending on market conditions. This is the price of the index as quoted by trading desks.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamDelayIndicator',\n    id: 40281,\n    abbrName: 'DelayInd',\n    description:\n      'Applicable to credit default swaps on mortgage backed securities to specify whether payment delays are applicable to the fixed amount.\\n\\nResidential mortgage backed securities typically have a payment delay of 5 days between the coupon date of the reference obligation and the payment date of the synthetic swap.\\n\\nCommercial mortage backed securities do not typically have a payment delay, with both payment dates (the coupon date of the reference obligation and the payment date of the synthetic swap) being on the 25th of each month.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamSettlCurrency',\n    id: 40282,\n    abbrName: 'SettlCcy',\n    description:\n      'Specifies the currency that the stream settles in (to support swaps that settle in a currency different from the notional currency). Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'CouponDayCountCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamDayCount',\n    id: 40283,\n    abbrName: 'DayCnt',\n    description: 'The day count convention used in the payment stream calculations.',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamAccrualDays',\n    id: 40284,\n    abbrName: 'AcrlDays',\n    description:\n      'The number of days from the adjusted calculation period start date to the adjusted value date, calculated in accordance with the applicable day count fraction.',\n  },\n  {\n    type: 'PaymentStreamDiscountTypeCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamDiscountType',\n    id: 40285,\n    abbrName: 'DiscTyp',\n    description: 'The method of calculating discounted payment amounts.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamDiscountRate',\n    id: 40286,\n    abbrName: 'Disc',\n    description:\n      'Discount rate. The rate is expressed in decimal, e.g. 5% is expressed as 0.05.',\n  },\n  {\n    type: 'CouponDayCountCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamDiscountRateDayCount',\n    id: 40287,\n    abbrName: 'DiscDayCnt',\n    description:\n      'The day count convention applied to the LegPaymentStreamDiscountRate(40286).',\n  },\n  {\n    type: 'PaymentStreamCompoundingMethodCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamCompoundingMethod',\n    id: 40288,\n    abbrName: 'CmpndgMeth',\n    description: 'Compounding method.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamInitialPrincipalExchangeIndicator',\n    id: 40289,\n    abbrName: 'InitPrncplExchInd',\n    description:\n      'Indicates whether there is an initial exchange of principal on the effective date.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamInterimPrincipalExchangeIndicator',\n    id: 40290,\n    abbrName: 'IntrmPrncplExchInd',\n    description:\n      'Indicates whether there are intermediate or interim exchanges of principal during the term of the swap.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamFinalPrincipalExchangeIndicator',\n    id: 40291,\n    abbrName: 'FnlPrncplExchInd',\n    description:\n      'Indicates whether there is a final exchange of principal on the termination date.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamPaymentDateBusinessDayConvention',\n    id: 40292,\n    abbrName: 'BizDayCnvtn',\n    description:\n      \"The business day convention used to adjust the payment stream's payment date. Used only to override the business day convention specified in the LegDateAdjustment component within the InstrumentLeg component.\",\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamPaymentDateBusinessCenter',\n    id: 40293,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used to adjust the payment stream\\'s payment date, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamPaymentFrequencyPeriod',\n    id: 40294,\n    abbrName: 'FreqPeriod',\n    description: 'Time unit multiplier for the frequency of payments.',\n  },\n  {\n    type: 'PaymentStreamPaymentFrequencyUnitCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamPaymentFrequencyUnit',\n    id: 40295,\n    abbrName: 'FreqUnit',\n    description: 'Time unit associated with the frequency of payments.',\n  },\n  {\n    type: 'DateRollConventionCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamPaymentRollConvention',\n    id: 40296,\n    abbrName: 'Roll',\n    description:\n      'The convention for determining the sequence of end dates. It is used in conjunction with a specified frequency. Used only to override the roll convention specified in the LegDateAdjustment component within the InstrumentLeg component.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamFirstPaymentDateUnadjusted',\n    id: 40297,\n    abbrName: 'FirstDtUnadj',\n    description: 'The unadjusted first payment date.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamLastRegularPaymentDateUnadjusted',\n    id: 40298,\n    abbrName: 'LastReglrDtUnadj',\n    description: 'The unadjusted last regular payment date.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamPaymentDateRelativeTo',\n    id: 40299,\n    abbrName: 'Reltv',\n    description:\n      'Specifies the anchor date when payment dates are relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'int',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamPaymentDateOffsetPeriod',\n    id: 40300,\n    abbrName: 'OfstPeriod',\n    description: 'Time unit multiplier for the relative payment date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamPaymentDateOffsetUnit',\n    id: 40301,\n    abbrName: 'OfstUnit',\n    description: 'Time unit associated with the relative payment date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamPaymentDateOffsetDayType',\n    id: 40302,\n    abbrName: 'OfstDayTyp',\n    description: 'Specifies the day type of the relative payment date offset.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamResetDateRelativeTo',\n    id: 40303,\n    abbrName: 'Reltv',\n    description:\n      'Specifies the anchor date when the reset dates are relative to an anchor date.\\n\\nIf the reset frequency is specified as daily this element must not be included.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamResetDateBusinessDayConvention',\n    id: 40304,\n    abbrName: 'BizDayCnvtn',\n    description:\n      \"The business day convention used to adjust the payment stream's reset date. Used only to override the business day convention specified in the LegDateAdjustment component within the InstrumentLeg component.\",\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamResetDateBusinessCenter',\n    id: 40305,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used to adjust the payment stream\\'s reset date, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamResetFrequencyPeriod',\n    id: 40306,\n    abbrName: 'FreqPeriod',\n    description: 'Time unit multiplier for frequency of resets.',\n  },\n  {\n    type: 'CouponFrequencyUnitCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamResetFrequencyUnit',\n    id: 40307,\n    abbrName: 'FreqUnit',\n    description: 'Time unit associated with frequency of resets.',\n  },\n  {\n    type: 'PaymentStreamResetWeeklyRollConventionCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamResetWeeklyRollConvention',\n    id: 40308,\n    abbrName: 'WklyRoll',\n    description:\n      'Used to specify the day of the week in which the reset occurs for payments that reset on a weekly basis.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamInitialFixingDateRelativeTo',\n    id: 40309,\n    abbrName: 'InitReltv',\n    description:\n      'Specifies the anchor date when the initial fixing date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamInitialFixingDateBusinessDayConvention',\n    id: 40310,\n    abbrName: 'InitBizDayCnvtn',\n    description:\n      \"The business day convention used to adjust the payment stream's initial fixing date. Used only to override the business day convention specified in the LegDateAdjustment component within the InstrumentLeg component.\",\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamInitialFixingDateBusinessCenter',\n    id: 40311,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used to adjust the payment stream\\'s initial fixing date, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'int',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamInitialFixingDateOffsetPeriod',\n    id: 40312,\n    abbrName: 'InitPeriod',\n    description: 'Time unit multiplier for the relative initial fixing date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamInitialFixingDateOffsetUnit',\n    id: 40313,\n    abbrName: 'InitUnit',\n    description: 'Time unit associated with the relative initial fixing date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamInitialFixingDateOffsetDayType',\n    id: 40314,\n    abbrName: 'InitDayTyp',\n    description: 'Specifies the day type of the relative initial fixing date offset.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamInitialFixingDateAdjusted',\n    id: 40315,\n    abbrName: 'InitDt',\n    description: 'The adjusted initial fixing date.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamFixingDateRelativeTo',\n    id: 40316,\n    abbrName: 'FixngReltv',\n    description:\n      'Specifies the anchor date when the fixing date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamFixingDateBusinessDayConvention',\n    id: 40317,\n    abbrName: 'FixngBizDayCnvtn',\n    description:\n      \"The business day convention used to adjust the payment stream's fixing date. Used only to override the business day convention specified in the LegDateAdjustment component within the InstrumentLeg component.\",\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamFixingDateBusinessCenter',\n    id: 40318,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used to adjust the payment stream\\'s fixing date, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'int',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamFixingDateOffsetPeriod',\n    id: 40319,\n    abbrName: 'FixngPeriod',\n    description: 'Time unit multiplier for the relative fixing date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamFixingDateOffsetUnit',\n    id: 40320,\n    abbrName: 'FixngUnit',\n    description: 'Time unit associated with the relative fixing date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamFixingDateOffsetDayType',\n    id: 40321,\n    abbrName: 'FixngDayTyp',\n    description: 'Specifies the day type of the relative fixing date offset.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamFixingDateAdjusted',\n    id: 40322,\n    abbrName: 'FixngDt',\n    description: 'The adjusted fixing date.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'int',\n    addedEP: '161',\n    updatedEP: '271',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamRateCutoffDateOffsetPeriod',\n    id: 40323,\n    abbrName: 'CutoffPeriod',\n    description:\n      'Time unit multiplier for the relative rate cut-off date offset.\\n\\nThis is generally the number of days preceding the period end date or termination date, as appropriate, for the specified floating rate index.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamRateCutoffDateOffsetUnit',\n    id: 40324,\n    abbrName: 'CutoffUnit',\n    description: 'Time unit associated with the relative rate cut-off date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamRateCutoffDateOffsetDayType',\n    id: 40325,\n    abbrName: 'CutoffDayTyp',\n    description: 'Specifies the day type of the relative rate cut-off date offset.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamRate',\n    id: 40326,\n    abbrName: 'Rt',\n    description: 'The rate applicable to the fixed rate payment stream.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamFixedAmount',\n    id: 40327,\n    abbrName: 'Amt',\n    description:\n      \"The leg instrument payment stream's fixed payment amount. In a CDS, this can be an alternative to LegPaymentStreamRate(40326).\",\n  },\n  {\n    type: 'Currency',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamRateOrAmountCurrency',\n    id: 40328,\n    abbrName: 'Ccy',\n    description:\n      'Specifies the currency in which LegPaymentStreamFixedAmount(40327) or LegPaymentStreamRate(40326) is denominated. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamFutureValueNotional',\n    id: 40329,\n    abbrName: 'FutValNotl',\n    description:\n      'The future value notional is normally only required for certain non-deliverable interest rate swaps (e.g. Brazillian Real (BRL) vs. CETIP Interbank Deposit Rate (CDI)). The value is calculated as follows: Future Value Notional = Notional Amount * (1 + Fixed Rate) ^ (Fixed Rate Day Count Fraction). The currency is the same as the stream notional.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamFutureValueDateAdjusted',\n    id: 40330,\n    abbrName: 'FutValDt',\n    description: 'The adjusted value date of the future value amount.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamRateIndex',\n    id: 40331,\n    abbrName: 'Ndx',\n    discriminatorId: '40332',\n    description: 'The payment stream floating rate index.',\n  },\n  {\n    type: 'PaymentStreamRateIndexSourceCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamRateIndexSource',\n    id: 40332,\n    abbrName: 'NdxSrc',\n    description: 'The source of the payment stream floating rate index.',\n  },\n  {\n    type: 'PaymentStreamRateIndexCurveUnitCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamRateIndexCurveUnit',\n    id: 40333,\n    abbrName: 'NdxUnit',\n    description:\n      \"Time unit associated with the payment stream's floating rate index curve period.\",\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamRateIndexCurvePeriod',\n    id: 40334,\n    abbrName: 'NdxPeriod',\n    description:\n      \"Time unit multiplier for the payment stream's floating rate index curve period.\",\n  },\n  {\n    type: 'float',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamRateMultiplier',\n    id: 40335,\n    abbrName: 'RtMult',\n    description:\n      'A rate multiplier to apply to the floating rate. The multiplier can be less than or greater than 1 (one). This element should only be included if the multiplier is not equal to 1 (one) for the term of the stream.',\n  },\n  {\n    type: 'PriceOffset',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamRateSpread',\n    id: 40336,\n    abbrName: 'Spread',\n    description:\n      'The basis points spread from the index specified in LegPaymentStreamRateIndex(40331).',\n  },\n  {\n    type: 'PaymentStreamRateSpreadPositionTypeCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamRateSpreadPositionType',\n    id: 40337,\n    abbrName: 'SpreadPosTyp',\n    description:\n      'Identifies whether the rate spread is applied to a long or short position.',\n  },\n  {\n    type: 'PaymentStreamRateTreatmentCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamRateTreatment',\n    id: 40338,\n    abbrName: 'RtTrtmt',\n    description: 'Specifies the yield calculation treatment for the index.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamCapRate',\n    id: 40339,\n    abbrName: 'CapRt',\n    description:\n      'The cap rate, if any, which applies to the floating rate. It is only required where the floating rate on a swap stream is capped at a certain level The cap rate is assumed to be exclusive of any spread and is a per annum rate, expressed as a decimal. A cap rate of 5% would be represented as 0.05.',\n  },\n  {\n    type: 'PaymentStreamCapRateBuySideCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamCapRateBuySide',\n    id: 40340,\n    abbrName: 'CapRtBuy',\n    description: 'Reference to the buyer of the cap rate option through its trade side.',\n  },\n  {\n    type: 'PaymentStreamCapRateBuySideCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamCapRateSellSide',\n    id: 40341,\n    abbrName: 'CapRtSell',\n    description: 'Reference to the seller of the cap rate option through its trade side.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamFloorRate',\n    id: 40342,\n    abbrName: 'FlrRt',\n    description:\n      'The floor rate, if any, which applies to the floating rate. The floor rate (strike) is only required where the floating rate on a swap stream is floored at a certain strike level The floor rate is assumed to be exclusive of any spread and is a per annum rate. The rate is expressed as a decimal, e.g. 5% is represented as 0.05.',\n  },\n  {\n    type: 'PaymentStreamFloorRateBuySideCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamFloorRateBuySide',\n    id: 40343,\n    abbrName: 'FlrRtBuy',\n    description:\n      'Reference to the buyer of the floor rate option through its trade side.',\n  },\n  {\n    type: 'PaymentStreamFloorRateBuySideCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamFloorRateSellSide',\n    id: 40344,\n    abbrName: 'FlrRtSell',\n    description:\n      'Reference to the seller of the floor rate option through its trade side.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamInitialRate',\n    id: 40345,\n    abbrName: 'InitRt',\n    description:\n      'The initial floating rate reset agreed between the principal parties involved in the trade. This is assumed to be the first required reset rate for the first regular calculation period. It should only be included when the rate is not equal to the rate published on the source implied by the floating rate index. The initial rate is expressed in decimal form, e.g. 5% is represented as 0.05.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'RoundingDirectionCodeSet',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamFinalRateRoundingDirection',\n    id: 40346,\n    abbrName: 'FnlRtRndDirctn',\n    description: 'Specifies the rounding direction.',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamFinalRatePrecision',\n    id: 40347,\n    abbrName: 'FnlRtPrcsn',\n    description:\n      'Specifies the rounding precision in terms of a number of decimal places. Note how a percentage rate rounding of 5 decimal places is expressed as a rounding precision of 7.',\n  },\n  {\n    type: 'PaymentStreamAveragingMethodCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamAveragingMethod',\n    id: 40348,\n    abbrName: 'AvgngMeth',\n    description:\n      'When averaging is applicable, used to specify whether a weighted or unweighted average method of calculation is to be used.',\n  },\n  {\n    type: 'PaymentStreamNegativeRateTreatmentCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamNegativeRateTreatment',\n    id: 40349,\n    abbrName: 'NegtvRtTrtmt',\n    description:\n      'The specification of any provisions for calculating payment obligations when a floating rate is negative (either due to a quoted negative floating rate or by operation of a spread that is subtracted from the floating rate).',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamInflationLagPeriod',\n    id: 40350,\n    abbrName: 'LagPeriod',\n    description:\n      'Time unit multiplier for the inflation lag period. The lag period is the offsetting period from the payment date which determineds the reference period for which the inflation index is observed.',\n  },\n  {\n    type: 'PaymentStreamInflationLagUnitCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamInflationLagUnit',\n    id: 40351,\n    abbrName: 'LagUnit',\n    description: 'Time unit associated with the inflation lag period.',\n  },\n  {\n    type: 'PaymentStreamInflationLagDayTypeCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamInflationLagDayType',\n    id: 40352,\n    abbrName: 'LagDayTyp',\n    description: 'The inflation lag period day type.',\n  },\n  {\n    type: 'PaymentStreamInflationInterpolationMethodCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamInflationInterpolationMethod',\n    id: 40353,\n    abbrName: 'IntrpltnMeth',\n    description:\n      'The method used when calculating the inflation index level from multiple points. The most common is linear method.',\n  },\n  {\n    type: 'PaymentStreamRateIndexSourceCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamInflationIndexSource',\n    id: 40354,\n    abbrName: 'InfltnNdxSrc',\n    description: 'The inflation index reference source.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamInflationPublicationSource',\n    id: 40355,\n    abbrName: 'PublctnSrc',\n    description:\n      'The publication source, such as relevant web site, news publication or a government body, where inflation information is obtained.',\n  },\n  {\n    type: 'float',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamInflationInitialIndexLevel',\n    id: 40356,\n    abbrName: 'InitLvl',\n    description: 'Initial known index level for the first calculation period.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamInflationFallbackBondApplicable',\n    id: 40357,\n    abbrName: 'FallbckBond',\n    description:\n      'Indicates whether a fallback bond as defined in the 2006 ISDA Inflation Derivatives Definitions, sections 1.3 and 1.8, is applicable or not. If not specified, the default value is \"Y\" (True/Yes).',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamFRADiscountingCodeSet',\n    addedEP: '161',\n    updatedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamFRADiscounting',\n    id: 40358,\n    abbrName: 'FRADisc',\n    description:\n      'The method of Forward Rate Agreement (FRA) discounting, if any, that will apply.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamNonDeliverableRefCurrency',\n    id: 40359,\n    abbrName: 'Ccy',\n    description:\n      'Non-deliverable settlement reference currency. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamNonDeliverableFixingDatesBusinessDayConvention',\n    id: 40360,\n    abbrName: 'BizDayCnvtn',\n    description:\n      \"The business day convention used to adjust the payment stream's fixing date for the non-deliverable settlement terms. Used only to override the business day convention specified in the LegDateAdjustment component within the InstrumentLeg component.\",\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamNonDeliverableFixingDatesBusinessCenter',\n    id: 40361,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used to adjust the payment stream\\'s fixing date for the non-deliverable terms, e.g. \"GBLO\". See http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamNonDeliverableFixingDatesRelativeTo',\n    id: 40362,\n    abbrName: 'FixngReltv',\n    description:\n      'Specifies the anchor date when the non-deliverable fixing dates are relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'int',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamNonDeliverableFixingDatesOffsetPeriod',\n    id: 40363,\n    abbrName: 'FixngPeriod',\n    description:\n      'Time unit multiplier for the relative non-deliverable fixing date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamNonDeliverableFixingDatesOffsetUnit',\n    id: 40364,\n    abbrName: 'FixngUnit',\n    description:\n      'Time unit associated with the relative non-deliverable fixing date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamNonDeliverableFixingDatesOffsetDayType',\n    id: 40365,\n    abbrName: 'FixngDayTyp',\n    description:\n      'Specifies the day type of the relative non-deliverable fixing date offset.',\n  },\n  {\n    type: 'RateSourceCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegSettlRateFallbackRateSource',\n    id: 40366,\n    abbrName: 'RtSrc',\n    description: 'Identifies the source of rate information.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegNonDeliverableFixingDates',\n    id: 40367,\n    description: 'Number of fixing dates in the repeating group.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegNonDeliverableFixingDate',\n    id: 40368,\n    abbrName: 'Dt',\n    description:\n      'The non-deliverable fixing date. Type of date is specified in LegNonDeliverableFixingDateType(40369).',\n  },\n  {\n    type: 'NonDeliverableFixingDateTypeCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegNonDeliverableFixingDateType',\n    id: 40369,\n    abbrName: 'Typ',\n    description: 'Specifies the type of date (e.g. adjusted for holidays).',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegSettlRateFallbackReferencePage',\n    id: 40370,\n    abbrName: 'RefPg',\n    description:\n      'Identifies the reference \"page\" from the rate source.\\n\\nWhen LegSettlRateFallbackRateSource(40366) = 3(ISDA Settlement Rate Option) this contains the value from the scheme that reflects the terms of the Annex A to the ISDA 1998 FX and Currency Option Definitions. See: http://www.fpml.org/coding-scheme/settlement-rate-option',\n  },\n  {\n    type: 'RateSourceCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamNonDeliverableSettlRateSource',\n    id: 40371,\n    abbrName: 'RtSrc',\n    description: 'Identifies the source of rate information.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamNonDeliverableSettlReferencePage',\n    id: 40372,\n    abbrName: 'RefPg',\n    description:\n      'Identifies the reference \"page\" from the rate source.\\n\\nWhen PaymentStreamNonDeliverableSettlRateSource(40371) = 3(ISDA Settlement Rate Option) this contains the value from the scheme that reflects the terms of the Annex A to the ISDA 1998 FX and Currency Option Definitions. See: http://www.fpml.org/coding-scheme/settlement-rate-option',\n  },\n  {\n    type: 'RateSourceCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'SettlRateFallbackRateSource',\n    id: 40373,\n    abbrName: 'RtSrc',\n    description: 'Identifies the source of rate information.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegPaymentSchedules',\n    id: 40374,\n    description: 'Number of swap schedules in the repeating group',\n  },\n  {\n    type: 'PaymentScheduleTypeCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentScheduleType',\n    id: 40375,\n    abbrName: 'Typ',\n    description: 'Specifies the type of schedule.',\n  },\n  {\n    type: 'PaymentStubTypeCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentScheduleStubType',\n    id: 40376,\n    abbrName: 'StubTyp',\n    description: 'Indicates to which stub this schedule applies.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentScheduleStartDateUnadjusted',\n    id: 40377,\n    abbrName: 'StartDtUnadj',\n    description:\n      'The unadjusted date on which the value is adjusted, or calculated if a future value notional for certain non-deliverable interest rate swaps (e.g. Brazillian Real (BRL) vs. CETIP Interbank Deposit Rate (CDI)), or the start date of a cashflow payment.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentScheduleEndDateUnadjusted',\n    id: 40378,\n    abbrName: 'EndDtUnadj',\n    description: 'The unadjusted end date of a cashflow payment.',\n  },\n  {\n    type: 'PaymentPaySideCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentSchedulePaySide',\n    id: 40379,\n    abbrName: 'PaySide',\n    description: 'The side of the party paying the step schedule.',\n  },\n  {\n    type: 'PaymentPaySideCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentScheduleReceiveSide',\n    id: 40380,\n    abbrName: 'RcvSide',\n    description: 'The side of the party receiving the step schedule.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentScheduleNotional',\n    id: 40381,\n    abbrName: 'Notl',\n    description:\n      'The notional value for this step schedule, or amount of a cashflow payment.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentScheduleCurrency',\n    id: 40382,\n    abbrName: 'Ccy',\n    description: 'The currency for this step schedule. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentScheduleRate',\n    id: 40383,\n    abbrName: 'Rt',\n    discriminatorId: '40415',\n    description: 'The rate value for this step schedule.',\n  },\n  {\n    type: 'float',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentScheduleRateMultiplier',\n    id: 40384,\n    abbrName: 'RtMult',\n    description:\n      'A rate multiplier to apply to the floating rate. The multiplier can be less than or greater than 1 (one). This element should only be included if the multiplier is not equal to 1 (one) for the term of the stream.',\n  },\n  {\n    type: 'PriceOffset',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentScheduleRateSpread',\n    id: 40385,\n    abbrName: 'Spread',\n    description: 'The spread value for this step schedule.',\n  },\n  {\n    type: 'PaymentStreamRateSpreadPositionTypeCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentScheduleRateSpreadPositionType',\n    id: 40386,\n    abbrName: 'SpreadPosTyp',\n    description:\n      'Identifies whether the rate spread is applied to a long or a short position.',\n  },\n  {\n    type: 'PaymentStreamRateTreatmentCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentScheduleRateTreatment',\n    id: 40387,\n    abbrName: 'RtTrtmt',\n    description: 'Specifies the yield calculation treatment for the step schedule.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentScheduleFixedAmount',\n    id: 40388,\n    abbrName: 'FixedAmt',\n    description: 'The explicit payment amount for this step schedule.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentScheduleFixedCurrency',\n    id: 40389,\n    abbrName: 'FixedCcy',\n    description: 'The currency of the fixed amount. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentScheduleStepFrequencyPeriod',\n    id: 40390,\n    abbrName: 'StepPeriod',\n    description: 'Time unit multiplier for the step frequency.',\n  },\n  {\n    type: 'CouponFrequencyUnitCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentScheduleStepFrequencyUnit',\n    id: 40391,\n    abbrName: 'StepUnit',\n    description: 'Time unit associated with the step frequency.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentScheduleStepOffsetValue',\n    id: 40392,\n    abbrName: 'StepVal',\n    description:\n      'The explicit amount that the notional changes on each step date. This can be a positive or negative amount.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentScheduleStepRate',\n    id: 40393,\n    abbrName: 'StepRt',\n    description:\n      'The percentage by which the notional changes on each step date. The percentage is either a percentage applied to the initial notional amount or the previous outstanding notional, depending on the value specified in LegPaymentScheduleStepRelativeTo(40395). The percentage can be either positive or negative.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentScheduleStepOffsetRate',\n    id: 40394,\n    abbrName: 'StepOfstRt',\n    description:\n      'The explicit amount that the rate changes on each step date. This can be a positive or negative value.',\n  },\n  {\n    type: 'PaymentScheduleStepRelativeToCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentScheduleStepRelativeTo',\n    id: 40395,\n    abbrName: 'StepReltv',\n    description:\n      'Specifies whether the LegPaymentScheduleStepRate(40393) or LegPaymentScheduleStepOffsetValue(40392) should be applied to the initial notional or the previous notional in order to calculate the notional step change amount.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentScheduleFixingDateUnadjusted',\n    id: 40396,\n    abbrName: 'FixngDtUnadj',\n    description: 'The unadjusted fixing date.',\n  },\n  {\n    type: 'float',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentScheduleWeight',\n    id: 40397,\n    abbrName: 'Wt',\n    description: 'Floating rate observation weight for cashflow payment.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentScheduleFixingDateRelativeTo',\n    id: 40398,\n    abbrName: 'FixngReltv',\n    description:\n      'Specifies the anchor date when the fixing date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentScheduleFixingDateBusinessDayConvention',\n    id: 40399,\n    abbrName: 'FixngBizDayCnvtn',\n    description:\n      \"The business day convention used to adjust the payment schedule's fixing date. Used only to override the business day convention specified in the LegDateAdjustment component within the InstrumentLeg component.\",\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentScheduleFixingDateBusinessCenter',\n    id: 40400,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used to adjust the payment schedule\\'s fixing date, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'int',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentScheduleFixingDateOffsetPeriod',\n    id: 40401,\n    abbrName: 'FixngPeriod',\n    description: 'Time unit multiplier for the relative fixing date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentScheduleFixingDateOffsetUnit',\n    id: 40402,\n    abbrName: 'FixngUnit',\n    description: 'Time unit associated with the relative fixing date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentScheduleFixingDateOffsetDayType',\n    id: 40403,\n    abbrName: 'FixngDayTyp',\n    description: 'Specifies the day type of the relative fixing date offset.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentScheduleFixingDateAdjusted',\n    id: 40404,\n    abbrName: 'FixngDt',\n    description: 'The adjusted fixing date.',\n  },\n  {\n    type: 'LocalMktTime',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentScheduleFixingTime',\n    id: 40405,\n    abbrName: 'FixngTm',\n    description: 'The fxing time associated with the step schedule.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentScheduleFixingTimeBusinessCenter',\n    id: 40406,\n    abbrName: 'FixngTmBizCtr',\n    description:\n      'Business center for determining fixing time.\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentScheduleInterimExchangePaymentDateRelativeTo',\n    id: 40407,\n    abbrName: 'IntrmExchDtReltv',\n    description:\n      'Specifies the anchor date when the interim exchange payment date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentScheduleInterimExchangeDatesBusinessDayConvention',\n    id: 40408,\n    abbrName: 'IntrmExchDtBizDayCnvtn',\n    description:\n      \"The business day convention used to adjust the payment schedule's interim exchange date. Used only to override the business day convention specified in the LegDateAdjustment component within the InstrumentLeg component.\",\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentScheduleInterimExchangeDatesBusinessCenter',\n    id: 40409,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used to adjust the payment schedule\\'s interim exchange date, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'int',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentScheduleInterimExchangeDatesOffsetPeriod',\n    id: 40410,\n    abbrName: 'IntrmExchDtPeriod',\n    description: 'Time unit multiplier for the relative interim exchange date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentScheduleInterimExchangeDatesOffsetUnit',\n    id: 40411,\n    abbrName: 'IntrmExchDtUnit',\n    description: 'Time unit associated with the relative interim exchange date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentScheduleInterimExchangeDatesOffsetDayType',\n    id: 40412,\n    abbrName: 'IntrmExchDayTyp',\n    description: 'Specifies the day type of the relative interim exchange date offset.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentScheduleInterimExchangeDateAdjusted',\n    id: 40413,\n    abbrName: 'IntrmExchDt',\n    description: 'The adjusted interim exchange date.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegPaymentScheduleRateSources',\n    id: 40414,\n    description: 'Number of rate sources in the repeating group',\n  },\n  {\n    type: 'RateSourceCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentScheduleRateSource',\n    id: 40415,\n    abbrName: 'Src',\n    description: 'Identifies the source of rate information.',\n  },\n  {\n    type: 'RateSourceTypeCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentScheduleRateSourceType',\n    id: 40416,\n    abbrName: 'Typ',\n    description: 'Rate source type.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentScheduleReferencePage',\n    id: 40417,\n    abbrName: 'RefPg',\n    description:\n      'Identifies the reference \"page\" from the rate source.\\n\\nFor FX, the reference page to the spot rate to be used for the reference FX spot rate.\\n\\nWhen RateSource(1446) = 3 (ISDA Settlement Rate Option) this contains the value from the scheme that reflects the terms of the Annex A to the ISDA 1998 FX and Currency Option Definitions. See: http://www.fpml.org/coding-scheme/settlement-rate-option',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegPaymentStubs',\n    id: 40418,\n    description: 'Number of stubs in the repeating group',\n  },\n  {\n    type: 'PaymentStubTypeCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStubType',\n    id: 40419,\n    abbrName: 'Typ',\n    description: 'Stub type.',\n  },\n  {\n    type: 'PaymentStubLengthCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStubLength',\n    id: 40420,\n    abbrName: 'Lngth',\n    description:\n      'Optional indication whether stub is shorter or longer than the regular swap period.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStubRate',\n    id: 40421,\n    abbrName: 'Rt',\n    description: 'The agreed upon fixed rate for this stub.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStubFixedAmount',\n    id: 40422,\n    abbrName: 'FixedAmt',\n    description: 'A fixed payment amount for the stub.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStubFixedCurrency',\n    id: 40423,\n    abbrName: 'FixedCcy',\n    description:\n      'The currency of the fixed payment amount. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStubIndex',\n    id: 40424,\n    abbrName: 'Ndx',\n    discriminatorId: '40425',\n    description: 'The stub floating rate index.',\n  },\n  {\n    type: 'PaymentStreamRateIndexSourceCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStubIndexSource',\n    id: 40425,\n    abbrName: 'NdxSrc',\n    description: 'The source for the stub floating rate index.',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStubIndexCurvePeriod',\n    id: 40426,\n    abbrName: 'NdxPeriod',\n    description: 'Time unit multiplier for the floating rate index.',\n  },\n  {\n    type: 'PaymentStreamRateIndexCurveUnitCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStubIndexCurveUnit',\n    id: 40427,\n    abbrName: 'NdxUnit',\n    description: 'Time unit associated with the floating rate index.',\n  },\n  {\n    type: 'float',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStubIndexRateMultiplier',\n    id: 40428,\n    abbrName: 'RtMult',\n    description:\n      'A rate multiplier to apply to the floating rate. The multiplier can be less than or greater than 1 (one). This element should only be included if the multiplier is not equal to 1 (one) for the term of the stream.',\n  },\n  {\n    type: 'PriceOffset',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStubIndexRateSpread',\n    id: 40429,\n    abbrName: 'Spread',\n    description: 'Spread from floating rate index.',\n  },\n  {\n    type: 'PaymentStreamRateSpreadPositionTypeCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStubIndexRateSpreadPositionType',\n    id: 40430,\n    abbrName: 'SpreadPosTyp',\n    description:\n      'Identifies whether the rate spread is applied to a long or a short position.',\n  },\n  {\n    type: 'PaymentStreamRateTreatmentCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStubIndexRateTreatment',\n    id: 40431,\n    abbrName: 'RtTrtmt',\n    description: 'Specifies the yield calculation treatment for the stub index.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStubIndexCapRate',\n    id: 40432,\n    abbrName: 'CapRt',\n    description:\n      'The cap rate, if any, which applies to the floating rate. The cap rate (strike) is only required where the floating rate on a swap stream is capped at a certain level. The cap rate is assumed to be exclusive of any spread and is a per annum rate, expressed as a decimal. A cap rate of 5% would be represented as 0.05.',\n  },\n  {\n    type: 'PaymentStreamCapRateBuySideCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStubIndexCapRateBuySide',\n    id: 40433,\n    abbrName: 'CapRtBuy',\n    description: 'Reference to the buyer of the cap rate option through its trade side.',\n  },\n  {\n    type: 'PaymentStreamCapRateBuySideCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStubIndexCapRateSellSide',\n    id: 40434,\n    abbrName: 'CapRtSell',\n    description: 'Reference to the seller of the cap rate option through its trade side.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStubIndexFloorRate',\n    id: 40435,\n    abbrName: 'FlrRt',\n    description:\n      'The floor rate, if any, which applies to the floating rate. The floor rate (strike) is only required where the floating rate on a swap stream is floored at a certain strike level. The floor rate is assumed to be exclusive of any spread and is a per annum rate, expressed as a decimal. A floor rate of 5% would be represented as 0.05.',\n  },\n  {\n    type: 'PaymentStreamFloorRateBuySideCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStubIndexFloorRateBuySide',\n    id: 40436,\n    abbrName: 'FlrRtBuy',\n    description:\n      'Reference to the buyer of the floor rate option through its trade side.',\n  },\n  {\n    type: 'PaymentStreamFloorRateBuySideCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStubIndexFloorRateSellSide',\n    id: 40437,\n    abbrName: 'FlrRtSell',\n    description:\n      'Reference to the seller of the floor rate option through its trade side.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStubIndex2',\n    id: 40438,\n    abbrName: 'Ndx2',\n    discriminatorId: '40439',\n    description: 'The second stub floating rate index.',\n  },\n  {\n    type: 'PaymentStreamRateIndexSourceCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStubIndex2Source',\n    id: 40439,\n    abbrName: 'Ndx2Src',\n    description: 'The source for the second stub floating rate index.',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStubIndex2CurvePeriod',\n    id: 40440,\n    abbrName: 'Ndx2Period',\n    description: 'Secondary time unit multiplier for the stub floating rate index curve.',\n  },\n  {\n    type: 'PaymentStreamRateIndexCurveUnitCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStubIndex2CurveUnit',\n    id: 40441,\n    abbrName: 'Ndx2Unit',\n    description:\n      'Secondary time unit associated with the stub floating rate index curve.',\n  },\n  {\n    type: 'float',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStubIndex2RateMultiplier',\n    id: 40442,\n    abbrName: 'RtMult2',\n    description:\n      'A rate multiplier to apply to the second floating rate. The multiplier can be less than or greater than 1 (one). This element should only be included if the multiplier is not equal to 1 (one) for the term of the stream.',\n  },\n  {\n    type: 'PriceOffset',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStubIndex2RateSpread',\n    id: 40443,\n    abbrName: 'Spread2',\n    description: 'Spread from the second floating rate index.',\n  },\n  {\n    type: 'PaymentStreamRateSpreadPositionTypeCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStubIndex2RateSpreadPositionType',\n    id: 40444,\n    abbrName: 'Spread2PosTyp',\n    description:\n      'Identifies whether the rate spread is applied to a long or a short position.',\n  },\n  {\n    type: 'PaymentStreamRateTreatmentCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStubIndex2RateTreatment',\n    id: 40445,\n    abbrName: 'RtTrtmt2',\n    description: 'Specifies the yield calculation treatment for the second stub index.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStubIndex2CapRate',\n    id: 40446,\n    abbrName: 'CapRt2',\n    description:\n      'The cap rate, if any, which applies to the second floating rate. The cap rate (strike) is only required where the floating rate on a swap stream is capped at a certain level. The cap rate is assumed to be exclusive of any spread and is a per annum rate, expressed as a decimal. A cap rate of 5% would be represented as 0.05.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStubIndex2FloorRate',\n    id: 40447,\n    abbrName: 'FlrRt2',\n    description:\n      'The floor rate, if any, which applies to the second floating rate. The floor rate (strike) is only required where the floating rate on a swap stream is floored at a certain strike level. The floor rate is assumed to be exclusive of any spread and is a per annum rate, expressed as a decimal. A floor rate of 5% would be represented as 0.05.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegProvisions',\n    id: 40448,\n    description: 'Number of provisions in the repeating group.',\n  },\n  {\n    type: 'ProvisionTypeCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionType',\n    id: 40449,\n    abbrName: 'Typ',\n    description: 'Type of provisions.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionDateUnadjusted',\n    id: 40450,\n    abbrName: 'DtUnadj',\n    description: 'The unadjusted date of the provision.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionDateBusinessDayConvention',\n    id: 40451,\n    abbrName: 'BizDayCnvtn',\n    description:\n      \"The business day convention used to adjust the instrument leg's provision's date. Used only to override the business day convention specified in the LegDateAdjustment component within the InstrumentLeg component.\",\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionDateBusinessCenter',\n    id: 40452,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used to adjust the instrument leg\\'s provision\\'s date, e.g. \"GBLO\". See http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionDateAdjusted',\n    id: 40453,\n    abbrName: 'Dt',\n    description: 'The adjusted date of the provision.',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionDateTenorPeriod',\n    id: 40454,\n    abbrName: 'TenorPeriod',\n    description: \"Time unit multiplier for the leg provision's tenor period.\",\n  },\n  {\n    type: 'ProvisionDateTenorUnitCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionDateTenorUnit',\n    id: 40455,\n    abbrName: 'TenorUnit',\n    description: \"Time unit associated with the leg provision's tenor period.\",\n  },\n  {\n    type: 'ProvisionCalculationAgentCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionCalculationAgent',\n    id: 40456,\n    abbrName: 'CalcAgent',\n    description:\n      'Used to identify the calculation agent. The calculation agent may be identified in LegProvisionCalculationAgent(40456) or in the ProvisionParties component.',\n  },\n  {\n    type: 'ProvisionOptionSinglePartyBuyerSideCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionOptionSinglePartyBuyerSide',\n    id: 40457,\n    abbrName: 'BuyerSide',\n    description:\n      'If optional early termination is not available to both parties then this component identifies the buyer of the option through its side of the trade.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'ProvisionOptionSinglePartyBuyerSideCodeSet',\n    addedEP: '161',\n    updatedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionOptionSinglePartySellerSide',\n    id: 40458,\n    abbrName: 'SellerSide',\n    description:\n      'If optional early termination is not available to both parties then this component identifies the seller of the option through its side of the trade.',\n  },\n  {\n    type: 'ExerciseStyleCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionOptionExerciseStyle',\n    id: 40459,\n    abbrName: 'ExerStyle',\n    description: 'The instrument provision option exercise style.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionOptionExerciseMultipleNotional',\n    id: 40460,\n    abbrName: 'MultplNotl',\n    description:\n      'A notional amount which restricts the amount of notional that can be exercised when partial exercise or multiple exercise is applicable. The integral multiple amount defines a lower limit of notional that can be exercised and also defines a unit multiple of notional that can be exercised, i.e. only integer multiples of this amount can be exercised.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionOptionExerciseMinimumNotional',\n    id: 40461,\n    abbrName: 'MinNotl',\n    description:\n      'The minimum notional amount that can be exercised on a given exercise date.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionOptionExerciseMaximumNotional',\n    id: 40462,\n    abbrName: 'MaxNotl',\n    description:\n      'The maximum notional amount that can be exercised on a given exercise date.',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionOptionMinimumNumber',\n    id: 40463,\n    abbrName: 'MinNum',\n    description:\n      'The minimum number of options that can be exercised on a given exercise date.',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionOptionMaximumNumber',\n    id: 40464,\n    abbrName: 'MaxNum',\n    description:\n      'The maximum number of options that can be exercised on a given exercise date. If the number is not specified, it means that the maximum number of options corresponds to the remaining unexercised options.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionOptionExerciseConfirmation',\n    id: 40465,\n    abbrName: 'ExerCnfm',\n    description:\n      \"Used to indicate whether follow-up confirmation of exercise (written or electronic) is required following telephonic notice by the buyer to the seller or seller's agent.\",\n  },\n  {\n    type: 'ProvisionCashSettlMethodCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionCashSettlMethod',\n    id: 40466,\n    abbrName: 'SettlMeth',\n    description:\n      'An ISDA defined cash settlement method used for the determination of the applicable cash settlement amount. The method is defined in the 2006 ISDA Definitions, Section 18.3. Cash Settlement Methods, paragraph (e).',\n  },\n  {\n    type: 'Currency',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionCashSettlCurrency',\n    id: 40467,\n    abbrName: 'SettlCcy',\n    description: 'Specifies the currency of settlement. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionCashSettlCurrency2',\n    id: 40468,\n    abbrName: 'SettlCcy2',\n    description:\n      'Specifies the currency of settlement for a cross-currency provision. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'ProvisionCashSettlQuoteTypeCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionCashSettlQuoteType',\n    id: 40469,\n    abbrName: 'SettlQteTyp',\n    description: 'Identifies the type of quote to be used.',\n  },\n  {\n    type: 'PaymentStreamRateIndexSourceCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionCashSettlQuoteSource',\n    id: 40470,\n    abbrName: 'SettlQteSrc',\n    description: 'Identifies the source of quote information.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'BusinessCenter',\n    id: 40471,\n    abbrName: 'Ctr',\n    description:\n      'A business center whose calendar is used for date adjustment, e.g. \"GBLO\". See http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionText',\n    id: 40472,\n    abbrName: 'Txt',\n    description:\n      'Free form text to specify additional information or enumeration description when a standard value does not apply.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegProvisionCashSettlPaymentDates',\n    id: 40473,\n    description:\n      'Number of provision cash settlement payment dates in the repeating group.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionCashSettlPaymentDate',\n    id: 40474,\n    abbrName: 'Dt',\n    description:\n      'The cash settlement payment date, unadjusted or adjusted depending on LegProvisionCashSettlPaymentDateType(40521).',\n  },\n  {\n    type: 'ProvisionCashSettlPaymentDateTypeCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionCashSettlPaymentDateType',\n    id: 40475,\n    abbrName: 'Typ',\n    description: 'Specifies the type of date (e.g. adjusted for holidays).',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionOptionExerciseBusinessDayConvention',\n    id: 40476,\n    abbrName: 'BizDayCnvtn',\n    description:\n      \"The business day convention used to adjust the instrument leg's provision's option exercise date. Used only to override the business day convention specified in the LegDateAdjustment component within the InstrumentLeg component.\",\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionOptionExerciseBusinessCenter',\n    id: 40477,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used to adjust the instrument leg\\'s provision\\'s option exercise date, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionOptionExerciseEarliestDateOffsetPeriod',\n    id: 40478,\n    abbrName: 'ErlstOfstPeriod',\n    description:\n      'Time unit multiplier for the interval to the first (and possibly only) exercise date in the exercise period.',\n  },\n  {\n    type: 'ProvisionOptionExerciseEarliestDateOffsetUnitCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionOptionExerciseEarliestDateOffsetUnit',\n    id: 40479,\n    abbrName: 'ErlstOfstUnit',\n    description:\n      'Time unit associated with the interval to the first (and possibly only) exercise date in the exercise period.',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionOptionExerciseFrequencyPeriod',\n    id: 40480,\n    abbrName: 'FreqPeriod',\n    description:\n      'Time unit multiplier for subsequent exercise dates in the exercise period following the earliest exercise date. An interval of 1 day should be used to indicate an American style exercise period.',\n  },\n  {\n    type: 'CouponFrequencyUnitCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionOptionExerciseFrequencyUnit',\n    id: 40481,\n    abbrName: 'FreqUnit',\n    description:\n      'Time unit associated with subsequent exercise dates in the exercise period following the earliest exercise date.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionOptionExerciseStartDateUnadjusted',\n    id: 40482,\n    abbrName: 'StartDtUnadj',\n    description:\n      'The unadjusted first day of the exercise period for an American style option.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionOptionExerciseStartDateRelativeTo',\n    id: 40483,\n    abbrName: 'StartDtReltv',\n    description:\n      'Specifies the anchor date when the option exercise start date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'int',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionOptionExerciseStartDateOffsetPeriod',\n    id: 40484,\n    abbrName: 'StartDtOfstPeriod',\n    description:\n      'Time unit multiplier for the relative option exercise start date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionOptionExerciseStartDateOffsetUnit',\n    id: 40485,\n    abbrName: 'StartDtOfstUnit',\n    description:\n      'Time unit associated with the relative option exercise start date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionOptionExerciseStartDateOffsetDayType',\n    id: 40486,\n    abbrName: 'StartDtOfstDayTyp',\n    description:\n      \"Specifies the day type of the provision's relative option exercise start date offset.\",\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionOptionExerciseStartDateAdjusted',\n    id: 40487,\n    abbrName: 'StartDt',\n    description:\n      'The adjusted first day of the exercise period for an American style option.',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionOptionExercisePeriodSkip',\n    id: 40488,\n    abbrName: 'Skip',\n    description:\n      'The number of periods in the referenced date schedule that are between each date in the relative date schedule. Thus a skip of 2 would mean that dates are relative to every second date in the referenced schedule. If present this should have a value greater than 1.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionOptionExerciseBoundsFirstDateUnadjusted',\n    id: 40489,\n    abbrName: 'FirstDtUnadj',\n    description:\n      'The unadjusted first date of a schedule. This can be used to restrict the range of exercise dates when they are relative.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionOptionExerciseBoundsLastDateUnadjusted',\n    id: 40490,\n    abbrName: 'LastDtUnadj',\n    description:\n      'The unadjusted last date of a schedule. This can be used to restrict the range of exercise dates when they are relative.',\n  },\n  {\n    type: 'LocalMktTime',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionOptionExerciseEarliestTime',\n    id: 40491,\n    abbrName: 'ErlstTm',\n    description:\n      \"The earliest time at which notice of exercise can be given by the buyer to the seller (or seller's agent) (i) on the expriation date, in the case of a European style option, (ii) on each bermuda option exercise date and the expiration date, in the case of a Bermuda style option the commencement date to, and including, the expiration date, in the case of an American option.\",\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionOptionExerciseEarliestTimeBusinessCenter',\n    id: 40492,\n    abbrName: 'ErlstTmBizCtr',\n    description:\n      \"Identifies the business center calendar used with the provision's earliest time for notice of exercise.\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.\",\n  },\n  {\n    type: 'LocalMktTime',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionOptionExerciseLatestTime',\n    id: 40493,\n    abbrName: 'LtstTm',\n    description:\n      \"For a Bermuda or American style option, the latest time on an exercise business day (excluding the expiration date) within the exercise period that notice can be given by the buyer to the seller or seller's agent. Notice of exercise given after this time will be deemed to have been given on the next exercise business day.\",\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionOptionExerciseLatestTimeBusinessCenter',\n    id: 40494,\n    abbrName: 'LtstTmBizCtr',\n    description:\n      \"Identifies the business center calendar used with the provision's latest time for notice of exercise.\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.\",\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegProvisionOptionExerciseFixedDates',\n    id: 40495,\n    description:\n      'Number of provision option exercise fixed dates in the repeating group.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionOptionExerciseFixedDate',\n    id: 40496,\n    abbrName: 'Dt',\n    description:\n      'A predetermined option exercise date unadjusted or adjusted depending on LegProvisionOptionExerciseFixedDateType(40497).',\n  },\n  {\n    type: 'ProvisionOptionExerciseFixedDateTypeCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionOptionExerciseFixedDateType',\n    id: 40497,\n    abbrName: 'Typ',\n    description: 'Specifies the type of date (e.g. adjusted for holidays).',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionOptionExpirationDateUnadjusted',\n    id: 40498,\n    abbrName: 'DtUnadj',\n    description:\n      'The unadjusted last day within an exercise period for an American style option. For a European style option it is the only day within the exercise period.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionOptionExpirationDateBusinessDayConvention',\n    id: 40499,\n    abbrName: 'BizDayCnvtn',\n    description:\n      \"The business day convention used to adjust the instrument leg's provision's option expiration date. Used only to override the business day convention specified in the LegDateAdjustment component within the InstrumentLeg component.\",\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionOptionExpirationDateBusinessCenter',\n    id: 40500,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used to adjust the instrument leg\\'s provision\\'s option expiration date, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionOptionExpirationDateRelativeTo',\n    id: 40501,\n    abbrName: 'Reltv',\n    description:\n      'Specifies the anchor date when the option expiration date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'int',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionOptionExpirationDateOffsetPeriod',\n    id: 40502,\n    abbrName: 'OfstPeriod',\n    description: 'Time unit multiplier for the relative option expiration date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionOptionExpirationDateOffsetUnit',\n    id: 40503,\n    abbrName: 'OfstUnit',\n    description: 'Time unit associated with the relative option expiration date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionOptionExpirationDateOffsetDayType',\n    id: 40504,\n    abbrName: 'OfstDayTyp',\n    description:\n      \"Specifies the day type of the provision's relative option expiration date offset.\",\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionOptionExpirationDateAdjusted',\n    id: 40505,\n    abbrName: 'Dt',\n    description:\n      'The adjusted last date within an exercise period for an American style option. For a European style option it is the only date within the exercise period.',\n  },\n  {\n    type: 'LocalMktTime',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionOptionExpirationTime',\n    id: 40506,\n    abbrName: 'ExpTm',\n    description: 'The latest time for exercise on the expiration date.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionOptionExpirationTimeBusinessCenter',\n    id: 40507,\n    abbrName: 'ExpTmBizCtr',\n    description:\n      \"Identifies the business center calendar used with the provision's latest exercise time on expiration date.\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.\",\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionOptionRelevantUnderlyingDateUnadjusted',\n    id: 40508,\n    abbrName: 'DtUnadj',\n    description:\n      'The unadjusted date on the underlying set by the exercise of an option. What this date is depends on the option (e.g. in a swaption it is the swap effective date, in an extendible/cancelable provision it is the swap termination date).',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionOptionRelevantUnderlyingDateBusinessDayConvention',\n    id: 40509,\n    abbrName: 'BizDayCnvtn',\n    description:\n      \"The business day convention used to adjust the instrument leg's provision's option relevant underlying date. Used only to override the business day convention specified in the LegDateAdjustment component within the InstrumentLeg component.\",\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionOptionRelevantUnderlyingDateBusinessCenter',\n    id: 40510,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used to adjust the instrument leg\\'s provision\\'s option underlying date, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionOptionRelevantUnderlyingDateRelativeTo',\n    id: 40511,\n    abbrName: 'Reltv',\n    description:\n      'Specifies the anchor date when the date relevant to the underlying trade on exercise is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'int',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionOptionRelevantUnderlyingDateOffsetPeriod',\n    id: 40512,\n    abbrName: 'OfstPeriod',\n    description:\n      'Time unit multiplier for the relative option relevant underlying date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionOptionRelevantUnderlyingDateOffsetUnit',\n    id: 40513,\n    abbrName: 'OfstUnit',\n    description:\n      'Time unit associated with the relative option relevant underlying date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionOptionRelevantUnderlyingDateOffsetDayType',\n    id: 40514,\n    abbrName: 'OfstDayTyp',\n    description:\n      \"Specifies the day type of the provision's relative option relevant underlying date offset.\",\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionOptionRelevantUnderlyingDateAdjusted',\n    id: 40515,\n    abbrName: 'Dt',\n    description:\n      'The adjusted date on the underlying set by the exercise of an option. What this date is depends on the option (e.g. in a swaption it is the swap effective date, in an extendible/cancelable provision it is the swap termination date).',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionCashSettlPaymentDateBusinessDayConvention',\n    id: 40516,\n    abbrName: 'BizDayCnvtn',\n    description:\n      \"The business day convention used to adjust the provisional cash settlement payment's termination, or relative termination, date. Used only to override the business day convention specified in the LegDateAdjustment component within the InstrumentLeg component.\",\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionCashSettlPaymentDateBusinessCenter',\n    id: 40517,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used to adjust the provisional cash settlement payment\\'s termination, or relative termination, date, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionCashSettlPaymentDateRelativeTo',\n    id: 40518,\n    abbrName: 'Reltv',\n    description:\n      'Specifies the anchor date when the cash settlement payment date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'int',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionCashSettlPaymentDateOffsetPeriod',\n    id: 40519,\n    abbrName: 'OfstPeriod',\n    description:\n      'Time unit multiplier for the relative cash settlement payment date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionCashSettlPaymentDateOffsetUnit',\n    id: 40520,\n    abbrName: 'OfstUnit',\n    description:\n      'Time unit associated with the relative cash settlement payment date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionCashSettlPaymentDateOffsetDayType',\n    id: 40521,\n    abbrName: 'OfstDayTyp',\n    description:\n      \"Specifies the day type of the provision's relative cash settlement payment date offset.\",\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionCashSettlPaymentDateRangeFirst',\n    id: 40522,\n    abbrName: 'DtFirst',\n    description: 'The first date in range when a settlement date range is provided.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionCashSettlPaymentDateRangeLast',\n    id: 40523,\n    abbrName: 'DtLast',\n    description: 'The last date in range when a settlement date range is provided.',\n  },\n  {\n    type: 'LocalMktTime',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionCashSettlValueTime',\n    id: 40524,\n    abbrName: 'Tm',\n    description:\n      'A time specified in 24-hour format, e.g. 11am would be represented as 11:00:00. The time of the cash settlement valuation date when the cash settlement amount will be determined according to the cash settlement method if the parties have not otherwise been able to agree to the cash settlement amount.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionCashSettlValueTimeBusinessCenter',\n    id: 40525,\n    abbrName: 'TmBizCtr',\n    description:\n      \"Identifies the business center calendar used with the provision's cash settlement valuation time.\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.\",\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionCashSettlValueDateBusinessDayConvention',\n    id: 40526,\n    abbrName: 'BizDayCnvtn',\n    description:\n      \"The business day convention used to adjust the provision's cash settlement valuation date. Used only to override the business day convention specified in the LegDateAdjustment component within the InstrumentLeg component.\",\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionCashSettlValueDateBusinessCenter',\n    id: 40527,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used to adjust the provision\\'s cash settlement valuation date, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionCashSettlValueDateRelativeTo',\n    id: 40528,\n    abbrName: 'Reltv',\n    description:\n      'Specifies the anchor date when the cash settlement value date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'int',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionCashSettlValueDateOffsetPeriod',\n    id: 40529,\n    abbrName: 'OfstPeriod',\n    description:\n      'Time unit multiplier for the relative cash settlement value date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionCashSettlValueDateOffsetUnit',\n    id: 40530,\n    abbrName: 'OfstUnit',\n    description:\n      'Time unit associated with the relative cash settlement value date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionCashSettlValueDateOffsetDayType',\n    id: 40531,\n    abbrName: 'OfstDayTyp',\n    description:\n      \"Specifies the day type of the provision's relative cash settlement value date offset.\",\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionCashSettlValueDateAdjusted',\n    id: 40532,\n    abbrName: 'Dt',\n    description: 'The adjusted cash settlement value date.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegProvisionPartyIDs',\n    id: 40533,\n    description: 'Number of parties identified in the contract provision.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionPartyID',\n    id: 40534,\n    abbrName: 'ID',\n    discriminatorId: '40535',\n    description: 'The party identifier/code for the payment settlement party.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'PartyIDSourceCodeSet',\n    addedEP: '161',\n    updatedEP: '271',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionPartyIDSource',\n    id: 40535,\n    abbrName: 'Src',\n    description: 'Identifies the class or source of LegProvisionPartyID(40534).',\n  },\n  {\n    type: 'PartyRoleCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionPartyRole',\n    id: 40536,\n    abbrName: 'R',\n    description: 'Identifies the type or role of LegProvisionPartyID(40534) specified.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegProvisionPartySubIDs',\n    id: 40537,\n    description: 'Number of sub-party IDs to be reported for the party.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionPartySubID',\n    id: 40538,\n    abbrName: 'ID',\n    description: 'Party sub-identifier, if applicable, for LegProvisionPartyRole(40536).',\n  },\n  {\n    type: 'PartySubIDTypeCodeSet',\n    unionDataType: 'Reserved4000Plus',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionPartySubIDType',\n    id: 40539,\n    abbrName: 'Typ',\n    description: 'The type of LegProvisionPartySubID(40538) value.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingStreams',\n    id: 40540,\n    description: 'Number of swap streams in the repeating group.',\n  },\n  {\n    type: 'StreamTypeCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamType',\n    id: 40541,\n    abbrName: 'Typ',\n    description: 'Type of swap stream.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamDesc',\n    id: 40542,\n    abbrName: 'Desc',\n    description:\n      'A short descriptive name given to payment stream. Eg. CDS, Fixed, Float, Float2, GBP. The description has no intrinsic meaning but should be arbitrarily chosen by the remitter as a reference.',\n  },\n  {\n    type: 'PaymentPaySideCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamPaySide',\n    id: 40543,\n    abbrName: 'PaySide',\n    description: 'The side of the party paying the stream.',\n  },\n  {\n    type: 'PaymentPaySideCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamReceiveSide',\n    id: 40544,\n    abbrName: 'RcvSide',\n    description: 'The side of the party receiving the stream.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamNotional',\n    id: 40545,\n    abbrName: 'Notl',\n    description:\n      'Notional, or initial notional value for the payment stream. Use SwapSchedule for steps.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamCurrency',\n    id: 40546,\n    abbrName: 'Ccy',\n    description:\n      'Specifies the currency the UnderlyingStreamNotional(40545) is denominated in. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamText',\n    id: 40547,\n    abbrName: 'Txt',\n    description:\n      'Free form text to specify additional information or enumeration description when a standard value does not apply.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamTerminationDateUnadjusted',\n    id: 40548,\n    abbrName: 'DtUnadj',\n    description: 'The unadjusted termination date.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamTerminationDateBusinessDayConvention',\n    id: 40549,\n    abbrName: 'BizDayCnvtn',\n    description:\n      \"The business day convention used to adjust the underlying instrument's stream's termination, or relative termination, date. Used only to override the business day convention specified in the UnderlyingDateAdjustment component within the UnderlyingInstrument component.\",\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamTerminationDateBusinessCenter',\n    id: 40550,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used to adjust the underlying instrument\\'s stream\\'s termination, or relative termination, date, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamTerminationDateRelativeTo',\n    id: 40551,\n    abbrName: 'Reltv',\n    description:\n      'Specifies the anchor date when the termination date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamTerminationDateOffsetPeriod',\n    id: 40552,\n    abbrName: 'OfstPeriod',\n    description: 'Time unit multiplier for the relative termination date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamTerminationDateOffsetUnit',\n    id: 40553,\n    abbrName: 'OfstUnit',\n    description: 'Time unit associated with the relative termination date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamTerminationDateOffsetDayType',\n    id: 40554,\n    abbrName: 'OfstDayTyp',\n    description: 'Specifies the day type of the relative termination date offset.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamTerminationDateAdjusted',\n    id: 40555,\n    abbrName: 'Dt',\n    description: 'The adjusted termination date.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamCalculationPeriodBusinessDayConvention',\n    id: 40556,\n    abbrName: 'BizDayCnvtn',\n    description:\n      'The business day convention used to adjust the calculation periods. Used only to override the business day convention specified in the UnderlyingDateAdjustment component within the UnderlyingInstrument component.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamCalculationPeriodBusinessCenter',\n    id: 40557,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used to adjust the calculation periods, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamFirstPeriodStartDateUnadjusted',\n    id: 40558,\n    abbrName: 'FirstStartDtUnadj',\n    description:\n      'The unadjusted first calculation period start date if before the effective date.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamFirstPeriodStartDateBusinessDayConvention',\n    id: 40559,\n    abbrName: 'FirstStartDtBizDayCnvtn',\n    description:\n      \"The business day convention used to adjust the underlying instrument's stream's first calculation period start date. Used only to override the business day convention specified in the UnderlyingDateAdjustment component within the UnderlyingInstrument component.\",\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamFirstPeriodStartDateBusinessCenter',\n    id: 40560,\n    abbrName: 'FirstStartDtBizCtr',\n    description:\n      'The business center calendar used to adjust the underlying instrument\\'s stream\\'s first calculation period start date, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamFirstPeriodStartDateAdjusted',\n    id: 40561,\n    abbrName: 'FirstStartDt',\n    description:\n      'The adjusted first calculation period start date, if it is before the effective date.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamFirstRegularPeriodStartDateUnadjusted',\n    id: 40562,\n    abbrName: 'FirstReglrStartDtUnadj',\n    description:\n      'The unadjusted first start date of the regular calculation period, if there is an initial stub period.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamFirstCompoundingPeriodEndDateUnadjusted',\n    id: 40563,\n    abbrName: 'FirstCmpndgEndDtUnadj',\n    description: 'The unadjusted end date of the initial compounding period.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamLastRegularPeriodEndDateUnadjusted',\n    id: 40564,\n    abbrName: 'LastReglrEndDtUnadj',\n    description:\n      'The unadjusted last regular period end date if there is a final stub period.',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamCalculationFrequencyPeriod',\n    id: 40565,\n    abbrName: 'FreqPeriod',\n    description:\n      'Time unit multiplier for the frequency at which calculation period end dates occur.',\n  },\n  {\n    type: 'CouponFrequencyUnitCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamCalculationFrequencyUnit',\n    id: 40566,\n    abbrName: 'FreqUnit',\n    description:\n      'Time unit associated with the frequency at which calculation period end dates occur.',\n  },\n  {\n    type: 'DateRollConventionCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamCalculationRollConvention',\n    id: 40567,\n    abbrName: 'Roll',\n    description:\n      'The convention for determining the sequence of end dates. It is used in conjunction with a specified frequency. Used only to override the roll convention specified in the UnderlyingDateAdjustment component within the UnderlyingInstrument component.',\n  },\n  {\n    type: 'PaymentStreamTypeCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamType',\n    id: 40568,\n    abbrName: 'Typ',\n    description:\n      'Identifies the type of payment stream applicable to the swap stream associated with the underlying instrument.',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamMarketRate',\n    id: 40569,\n    abbrName: 'MktRt',\n    description:\n      'Used only for credit index trade. This contains the credit spread (\"fair value\") at which the trade was executed. The market rate varies over the life of the index depending on market conditions. This is the price of the index as quoted by trading desks.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamDelayIndicator',\n    id: 40570,\n    abbrName: 'DelayInd',\n    description:\n      'Applicable to credit default swaps on mortgage backed securities to specify whether payment delays are applicable to the fixed amount.\\n\\nResidential mortgage backed securities typically have a payment delay of 5 days between the coupon date of the reference obligation and the payment date of the synthetic swap.\\n\\nCommercial mortage backed securities do not typically have a payment delay, with both payment dates (the coupon date of the reference obligation and the payment date of the synthetic swap) being on the 25th of each month.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamSettlCurrency',\n    id: 40571,\n    abbrName: 'SettlCcy',\n    description:\n      'Specifies the currency that the stream settles in (to support swaps that settle in a currency different from the notional currency). Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'CouponDayCountCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamDayCount',\n    id: 40572,\n    abbrName: 'DayCnt',\n    description: 'The day count convention used in the payment stream calculations.',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamAccrualDays',\n    id: 40573,\n    abbrName: 'AcrlDays',\n    description:\n      'The number of days from the adjusted calculation period start date to the adjusted value date, calculated in accordance with the applicable day count fraction.',\n  },\n  {\n    type: 'PaymentStreamDiscountTypeCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamDiscountType',\n    id: 40574,\n    abbrName: 'DiscTyp',\n    description: 'The method of calculating discounted payment amounts',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamDiscountRate',\n    id: 40575,\n    abbrName: 'Disc',\n    description:\n      'Discount rate. The rate is expressed in decimal, e.g. 5% is expressed as 0.05.',\n  },\n  {\n    type: 'CouponDayCountCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamDiscountRateDayCount',\n    id: 40576,\n    abbrName: 'DiscDayCnt',\n    description:\n      'The day count convention applied to the UnderlyingPaymentStreamDiscountRate(40575).',\n  },\n  {\n    type: 'PaymentStreamCompoundingMethodCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamCompoundingMethod',\n    id: 40577,\n    abbrName: 'CmpndgMeth',\n    description: 'Compounding Method.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamInitialPrincipalExchangeIndicator',\n    id: 40578,\n    abbrName: 'InitPrncplExchInd',\n    description:\n      'Indicates whether there is an initial exchange of principal on the effective date.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamInterimPrincipalExchangeIndicator',\n    id: 40579,\n    abbrName: 'IntrmPrncplExchInd',\n    description:\n      'Indicates whether there are intermediate or interim exchanges of principal during the term of the swap.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamFinalPrincipalExchangeIndicator',\n    id: 40580,\n    abbrName: 'FnlPrncplExchInd',\n    description:\n      'Indicates whether there is a final exchange of principal on the termination date.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamPaymentDateBusinessDayConvention',\n    id: 40581,\n    abbrName: 'BizDayCnvtn',\n    description:\n      \"The business day convention used to adjust the payment stream's payment date. Used only to override the business day convention specified in the UnderlyingDateAdjustment component within the UnderlyingInstrument component.\",\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamPaymentDateBusinessCenter',\n    id: 40582,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used to adjust the payment stream\\'s payment date, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamPaymentFrequencyPeriod',\n    id: 40583,\n    abbrName: 'FreqPeriod',\n    description: 'Time unit multiplier for the frequency of payments.',\n  },\n  {\n    type: 'PaymentStreamPaymentFrequencyUnitCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamPaymentFrequencyUnit',\n    id: 40584,\n    abbrName: 'FreqUnit',\n    description: 'Time unit associated with the frequency of payments.',\n  },\n  {\n    type: 'DateRollConventionCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamPaymentRollConvention',\n    id: 40585,\n    abbrName: 'Roll',\n    description:\n      'The convention for determining the sequence of end dates. It is used in conjunction with a specified frequency. Used only to override the roll convention specified in the UnderlyingDateAdjustment component within the UnderlyingInstrument component.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamFirstPaymentDateUnadjusted',\n    id: 40586,\n    abbrName: 'FirstDtUnadj',\n    description: 'The unadjusted first payment date.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamLastRegularPaymentDateUnadjusted',\n    id: 40587,\n    abbrName: 'LastReglrDtUnadj',\n    description: 'The unadjusted last regular payment date.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamPaymentDateRelativeTo',\n    id: 40588,\n    abbrName: 'Reltv',\n    description:\n      'Specifies the anchor date when payment dates are relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'int',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamPaymentDateOffsetPeriod',\n    id: 40589,\n    abbrName: 'OfstPeriod',\n    description: 'Time unit multiplier for the relative payment date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamPaymentDateOffsetUnit',\n    id: 40590,\n    abbrName: 'OfstUnit',\n    description: 'Time unit associated with the relative payment date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamPaymentDateOffsetDayType',\n    id: 40591,\n    abbrName: 'OfstDayTyp',\n    description: 'Specifies the day type of the relative payment date offset.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamResetDateRelativeTo',\n    id: 40592,\n    abbrName: 'Reltv',\n    description:\n      'Specifies the anchor date when the reset dates are relative to an anchor date.\\n\\nIf the reset frequency is specified as daily this element must not be included.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamResetDateBusinessDayConvention',\n    id: 40593,\n    abbrName: 'BizDayCnvtn',\n    description:\n      \"The business day convention used to adjust the payment stream's reset date. Used only to override the business day convention specified in the UnderlyingDateAdjustment component within the UnderlyingInstrument component.\",\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamResetDateBusinessCenter',\n    id: 40594,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used to adjust the payment stream\\'s reset date, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamResetFrequencyPeriod',\n    id: 40595,\n    abbrName: 'FreqPeriod',\n    description: 'Time unit multiplier for frequency of resets.',\n  },\n  {\n    type: 'CouponFrequencyUnitCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamResetFrequencyUnit',\n    id: 40596,\n    abbrName: 'FreqUnit',\n    description: 'Time unit associated with frequency of resets.',\n  },\n  {\n    type: 'PaymentStreamResetWeeklyRollConventionCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamResetWeeklyRollConvention',\n    id: 40597,\n    abbrName: 'WklyRoll',\n    description:\n      'Used to specify the day of the week in which the reset occurs for payments that reset on a weekly basis.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamInitialFixingDateRelativeTo',\n    id: 40598,\n    abbrName: 'InitReltv',\n    description:\n      'Specifies the anchor date when the initial fixing date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamInitialFixingDateBusinessDayConvention',\n    id: 40599,\n    abbrName: 'InitBizDayCnvtn',\n    description:\n      \"The business day convention used to adjust the payment stream's initial fixing date. Used only to override the business day convention specified in the UnderlyingDateAdjustment component within the UnderlyingInstrument component.\",\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamInitialFixingDateBusinessCenter',\n    id: 40600,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used to adjust the payment stream\\'s initial fixing date, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'int',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamInitialFixingDateOffsetPeriod',\n    id: 40601,\n    abbrName: 'InitPeriod',\n    description: 'Time unit multiplier for the relative initial fixing date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamInitialFixingDateOffsetUnit',\n    id: 40602,\n    abbrName: 'InitUnit',\n    description: 'Time unit associated with the relative initial fixing date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamInitialFixingDateOffsetDayType',\n    id: 40603,\n    abbrName: 'InitDayTyp',\n    description: 'Specifies the day type of the relative initial fixing date offset.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamInitialFixingDateAdjusted',\n    id: 40604,\n    abbrName: 'InitDt',\n    description: 'The adjusted initial fixing date.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamFixingDateRelativeTo',\n    id: 40605,\n    abbrName: 'FixngReltv',\n    description:\n      'Specifies the anchor date when the fixing date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamFixingDateBusinessDayConvention',\n    id: 40606,\n    abbrName: 'FixngBizDayCnvtn',\n    description:\n      \"The business day convention used to adjust the payment stream's fixing date. Used only to override the business day convention specified in the UnderlyingDateAdjustment component within the UnderlyingInstrument component.\",\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamFixingDateBusinessCenter',\n    id: 40607,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used to adjust the payment stream\\'s fixing date, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'int',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamFixingDateOffsetPeriod',\n    id: 40608,\n    abbrName: 'FixngPeriod',\n    description: 'Time unit multiplier for the relative fixing date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamFixingDateOffsetUnit',\n    id: 40609,\n    abbrName: 'FixngUnit',\n    description: 'Time unit associated with the relative fixing date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamFixingDateOffsetDayType',\n    id: 40610,\n    abbrName: 'FixngDayTyp',\n    description: 'Specifies the day type of the relative fixing date offset.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamFixingDateAdjusted',\n    id: 40611,\n    abbrName: 'FixngDt',\n    description: 'The adjusted fixing date.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'int',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamRateCutoffDateOffsetPeriod',\n    id: 40612,\n    abbrName: 'CutoffPeriod',\n    description: 'Time unit multiplier for the relative rate cut-off date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamRateCutoffDateOffsetUnit',\n    id: 40613,\n    abbrName: 'CutoffUnit',\n    description: 'Time unit associated with the relative rate cut-off date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamRateCutoffDateOffsetDayType',\n    id: 40614,\n    abbrName: 'CutoffDayTyp',\n    description: 'Specifies the day type of the relative rate cut-off date offset.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamRate',\n    id: 40615,\n    abbrName: 'Rt',\n    description: 'The rate applicable to the fixed rate payment stream.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamFixedAmount',\n    id: 40616,\n    abbrName: 'Amt',\n    description:\n      \"The underlying payment stream's fixed payment amount. In CDS an alternative to UnderlyingPaymentStreamRate(40615).\",\n  },\n  {\n    type: 'Currency',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamRateOrAmountCurrency',\n    id: 40617,\n    abbrName: 'Ccy',\n    description:\n      'Specifies the currency in which UnderlyingPaymentStreamFixedAmount(40616) or UnderlyingPaymentStreamRate(40615) is denominated. Users ISO 4271 currency codes.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamFutureValueNotional',\n    id: 40618,\n    abbrName: 'FutValNotl',\n    description:\n      'The future value notional is normally only required for certain non-deliverable interest rate swaps (e.g. Brazillian Real (BRL) vs. CETIP Interbank Deposit Rate (CDI)). The value is calculated as follows: Future Value Notional = Notional Amount * (1 + Fixed Rate) ^ (Fixed Rate Day Count Fraction). The currency is the same as the stream notional.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamFutureValueDateAdjusted',\n    id: 40619,\n    abbrName: 'FutValDt',\n    description: 'The adjusted value date of the future value amount.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamRateIndex',\n    id: 40620,\n    abbrName: 'Ndx',\n    discriminatorId: '40621',\n    description: \"The payment stream's floating rate index.\",\n  },\n  {\n    type: 'PaymentStreamRateIndexSourceCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamRateIndexSource',\n    id: 40621,\n    abbrName: 'NdxSrc',\n    description: 'The source of the payment stream floating rate index.',\n  },\n  {\n    type: 'PaymentStreamRateIndexCurveUnitCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamRateIndexCurveUnit',\n    id: 40622,\n    abbrName: 'NdxUnit',\n    description:\n      'Time unit associated with the underlying instrument\u2019s floating rate index.',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamRateIndexCurvePeriod',\n    id: 40623,\n    abbrName: 'NdxPeriod',\n    description:\n      'Time unit multiplier for the underlying instrument\u2019s floating rate index.',\n  },\n  {\n    type: 'float',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamRateMultiplier',\n    id: 40624,\n    abbrName: 'RtMult',\n    description:\n      'A rate multiplier to apply to the floating rate. A multiplier schedule is expressed as explicit multipliers and dates. In the case of a schedule, the step dates may be subject to adjustment in accordance with any adjustments specified in the calculationPeriodDatesAdjustments. The multiplier can be less than or greater than 1 (one). This element should only be included if the multiplier is not equal to 1 (one) for the term of the stream.',\n  },\n  {\n    type: 'PriceOffset',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamRateSpread',\n    id: 40625,\n    abbrName: 'Spread',\n    description: 'Spread from floating rate index.',\n  },\n  {\n    type: 'PaymentStreamRateSpreadPositionTypeCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamRateSpreadPositionType',\n    id: 40626,\n    abbrName: 'SpreadPosTyp',\n    description: 'Identifies a short or long spread value.',\n  },\n  {\n    type: 'PaymentStreamRateTreatmentCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamRateTreatment',\n    id: 40627,\n    abbrName: 'RtTrtmt',\n    description: 'Specifies the yield calculation treatment for the index.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamCapRate',\n    id: 40628,\n    abbrName: 'CapRt',\n    description:\n      'The cap rate, if any, which applies to the floating rate. The cap rate (strike) is only required where the floating rate on a swap stream is capped at a certain level. The cap rate is assumed to be exclusive of any spread and is a per annum rate, expressed as a decimal. A cap rate of 5% would be represented as 0.05.',\n  },\n  {\n    type: 'PaymentStreamCapRateBuySideCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamCapRateBuySide',\n    id: 40629,\n    abbrName: 'CapRtBuy',\n    description: 'Reference to the buyer of the cap rate option through its trade side.',\n  },\n  {\n    type: 'PaymentStreamCapRateBuySideCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamCapRateSellSide',\n    id: 40630,\n    abbrName: 'CapRtSell',\n    description: 'Reference to the seller of the cap rate option through its trade side.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamFloorRate',\n    id: 40631,\n    abbrName: 'FlrRt',\n    description:\n      'The floor rate, if any, which applies to the floating rate. The floor rate (strike) is only required where the floating rate on a swap stream is floored at a certain strike level. The floor rate is assumed to be exclusive of any spread and is a per annum rate, expressed as a decimal. A floor rate of 5% would be represented as 0.05.',\n  },\n  {\n    type: 'PaymentStreamFloorRateBuySideCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamFloorRateBuySide',\n    id: 40632,\n    abbrName: 'FlrRtBuy',\n    description:\n      'Reference to the buyer of the floor rate option through its trade side.',\n  },\n  {\n    type: 'PaymentStreamFloorRateBuySideCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamFloorRateSellSide',\n    id: 40633,\n    abbrName: 'FlrRtSell',\n    description:\n      'Reference to the seller of the floor rate option through its trade side.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamInitialRate',\n    id: 40634,\n    abbrName: 'InitRt',\n    description:\n      'The initial floating rate reset agreed between the principal parties involved in the trade. This is assumed to be the first required reset rate for the first regular calculation period. It should only be included when the rate is not equal to the rate published on the source implied by the floating rate index. An initial rate of 5% would be represented as 0.05.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'RoundingDirectionCodeSet',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamFinalRateRoundingDirection',\n    id: 40635,\n    abbrName: 'FnlRtRndDirctn',\n    description: 'Specifies the rounding direction.',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamFinalRatePrecision',\n    id: 40636,\n    abbrName: 'FnlRtPrcsn',\n    description:\n      'Specifies the rounding precision in terms of a number of decimal places. Note how a percentage rate rounding of 5 decimal places is expressed as a rounding precision of 7.',\n  },\n  {\n    type: 'PaymentStreamAveragingMethodCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamAveragingMethod',\n    id: 40637,\n    abbrName: 'AvgngMeth',\n    description:\n      'When rate averaging is applicable, used to specify whether a weighted or unweighted average calculation method is to be used.',\n  },\n  {\n    type: 'PaymentStreamNegativeRateTreatmentCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamNegativeRateTreatment',\n    id: 40638,\n    abbrName: 'NegtvRtTrtmt',\n    description:\n      'The specification of any provisions for calculating payment obligations when a floating rate is negative (either due to a quoted negative floating rate or by operation of a spread that is subtracted from the floating rate).',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamInflationLagPeriod',\n    id: 40639,\n    abbrName: 'LagPeriod',\n    description:\n      'Time unit multiplier for the inflation lag period. The lag period is the offsetting period from the payment date which determines the reference period for which the inflation index is observed.',\n  },\n  {\n    type: 'PaymentStreamInflationLagUnitCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamInflationLagUnit',\n    id: 40640,\n    abbrName: 'LagUnit',\n    description: 'Time unit associated with the inflation lag period.',\n  },\n  {\n    type: 'PaymentStreamInflationLagDayTypeCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamInflationLagDayType',\n    id: 40641,\n    abbrName: 'LagDayTyp',\n    description: 'The inflation lag period day type.',\n  },\n  {\n    type: 'PaymentStreamInflationInterpolationMethodCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamInflationInterpolationMethod',\n    id: 40642,\n    abbrName: 'IntrpltnMeth',\n    description:\n      'The method used when calculating the Inflation Index Level from multiple points - the most common is Linear.',\n  },\n  {\n    type: 'PaymentStreamRateIndexSourceCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamInflationIndexSource',\n    id: 40643,\n    abbrName: 'InfltnNdxSrc',\n    description: 'The inflation index reference source.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamInflationPublicationSource',\n    id: 40644,\n    abbrName: 'PublctnSrc',\n    description:\n      'The current main publication source such as relevant web site or a government body.',\n  },\n  {\n    type: 'float',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamInflationInitialIndexLevel',\n    id: 40645,\n    abbrName: 'InitLvl',\n    description: 'Initial known index level for the first calculation period.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamInflationFallbackBondApplicable',\n    id: 40646,\n    abbrName: 'FallbckBond',\n    description:\n      'Indicates whether a fallback bond as defined in the 2006 ISDA Inflation Derivatives Definitions, sections 1.3 and 1.8, is applicable or not. If not specified, the default value is \"Y\" (True/Yes).',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamFRADiscountingCodeSet',\n    addedEP: '161',\n    updatedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamFRADiscounting',\n    id: 40647,\n    abbrName: 'FRADisc',\n    description:\n      'The method of Forward Rate Agreement (FRA) discounting, if any, that will apply.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamNonDeliverableRefCurrency',\n    id: 40648,\n    abbrName: 'Ccy',\n    description:\n      'The non-deliverable settlement reference currency. Uses ISO 4217 currency codes.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '161',\n    updatedEP: '271',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamNonDeliverableFixingDatesBizDayConvention',\n    id: 40649,\n    abbrName: 'BizDayCnvtn',\n    description:\n      \"The business day convention used to adjust the payment stream's fixing date for the non-deliverable terms. Used only to override the business day convention specified in the UnderlyingDateAdjustment component within the UnderlyingInstrument component.\",\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamNonDeliverableFixingDatesBusinessCenter',\n    id: 40650,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used to adjust the payment stream\\'s fixing date for the non-deliverable terms, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamNonDeliverableFixingDatesRelativeTo',\n    id: 40651,\n    abbrName: 'FixngReltv',\n    description:\n      'Specifies the anchor date when the non-deliverable fixing dates are relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'int',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamNonDeliverableFixingDatesOffsetPeriod',\n    id: 40652,\n    abbrName: 'FixngPeriod',\n    description:\n      'Time unit multiplier for the relative non-deliverable fixing date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamNonDeliverableFixingDatesOffsetUnit',\n    id: 40653,\n    abbrName: 'FixngUnit',\n    description:\n      'Time unit associated with the relative non-deliverable fixing date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamNonDeliverableFixingDatesOffsetDayType',\n    id: 40654,\n    abbrName: 'FixngDayTyp',\n    description:\n      'Specifies the day type of the relative non-deliverable fixing date offset.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'SettlRateFallbackReferencePage',\n    id: 40655,\n    abbrName: 'RefPg',\n    description:\n      'Identifies the reference \"page\" from the rate source.\\n\\nWhen SettlRateFallbackRateSource(40373) = 3 (ISDA Settlement Rate Option) this contains the value from the scheme that reflects the terms of the Annex A to the ISDA 1998 FX and Currency Option Definitions. See: http://www.fpml.org/coding-scheme/settlement-rate-option',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingNonDeliverableFixingDates',\n    id: 40656,\n    description: 'Number of Fixing dates in the repeating group',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingNonDeliverableFixingDate',\n    id: 40657,\n    abbrName: 'Dt',\n    description:\n      'The non-deliverable fixing date unadjusted or adjusted depending on UnderlyingNonDeliverableFixingDateType(40658).',\n  },\n  {\n    type: 'NonDeliverableFixingDateTypeCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingNonDeliverableFixingDateType',\n    id: 40658,\n    abbrName: 'Typ',\n    description: 'Specifies the type of date (e.g. adjusted for holidays).',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingSettlRateFallbacks',\n    id: 40659,\n    description: 'Number of settlement rate fallbacks in the repeating group',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingSettlRatePostponementMaximumDays',\n    id: 40660,\n    abbrName: 'MaxDays',\n    description:\n      'The maximum number of days to wait for a quote from the disrupted settlement rate option before proceding to this method.',\n  },\n  {\n    type: 'RateSourceCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamNonDeliverableSettlRateSource',\n    id: 40661,\n    abbrName: 'RtSrc',\n    description: 'Identifies the source of rate information.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingSettlRatePostponementSurvey',\n    id: 40662,\n    abbrName: 'Survey',\n    description: 'Indicates whether to request a settlement rate quote from the market.',\n  },\n  {\n    type: 'ProvisionCalculationAgentCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingSettlRatePostponementCalculationAgent',\n    id: 40663,\n    abbrName: 'CalcAgent',\n    description: 'Used to identify the settlement rate postponement calculation agent.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingPaymentSchedules',\n    id: 40664,\n    description: 'Number of swap schedules in the repeating group',\n  },\n  {\n    type: 'PaymentScheduleTypeCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentScheduleType',\n    id: 40665,\n    abbrName: 'Typ',\n    description: 'Type of schedule.',\n  },\n  {\n    type: 'PaymentStubTypeCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentScheduleStubType',\n    id: 40666,\n    abbrName: 'StubTyp',\n    description: 'Indicates to which stub this schedule applies.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentScheduleStartDateUnadjusted',\n    id: 40667,\n    abbrName: 'StartDtUnadj',\n    description:\n      'The unadjusted date on which the value is adjusted, or calculated if a future value notional for certain non-deliverable interest rate swaps (e.g. Brazillian Real (BRL) vs. CETIP Interbank Deposit Rate (CDI)), or the start date of a cashflow payment.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentScheduleEndDateUnadjusted',\n    id: 40668,\n    abbrName: 'EndDtUnadj',\n    description: 'The unadjusted end date of a cashflow payment.',\n  },\n  {\n    type: 'PaymentPaySideCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentSchedulePaySide',\n    id: 40669,\n    abbrName: 'PaySide',\n    description: 'The side of the party paying the step schedule.',\n  },\n  {\n    type: 'PaymentPaySideCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentScheduleReceiveSide',\n    id: 40670,\n    abbrName: 'RcvSide',\n    description: 'The side of the party receiving the step schedule.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentScheduleNotional',\n    id: 40671,\n    abbrName: 'Notl',\n    description: 'The notional value for this step, or amount of a cashflow payment.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentScheduleCurrency',\n    id: 40672,\n    abbrName: 'Ccy',\n    description: 'The currency for this step. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentScheduleRate',\n    id: 40673,\n    abbrName: 'Rt',\n    discriminatorId: '40705',\n    description: 'The rate value for this step.',\n  },\n  {\n    type: 'float',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentScheduleRateMultiplier',\n    id: 40674,\n    abbrName: 'RtMult',\n    description:\n      'A rate multiplier to apply to the floating rate. The multiplier can be less than or greater than 1 (one). This element should only be included if the multiplier is not equal to 1 (one) for the term of the stream.',\n  },\n  {\n    type: 'PriceOffset',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentScheduleRateSpread',\n    id: 40675,\n    abbrName: 'Spread',\n    description: 'The spread value for this step.',\n  },\n  {\n    type: 'PaymentStreamRateSpreadPositionTypeCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentScheduleRateSpreadPositionType',\n    id: 40676,\n    abbrName: 'SpreadPosTyp',\n    description:\n      'Identifies whether the rate spread is applied to a long or short position.',\n  },\n  {\n    type: 'PaymentStreamRateTreatmentCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentScheduleRateTreatment',\n    id: 40677,\n    abbrName: 'RtTrtmt',\n    description: 'Specifies the yield calculation treatment for the step schedule.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentScheduleFixedAmount',\n    id: 40678,\n    abbrName: 'FixedAmt',\n    description: 'The explicit payment amount for this step.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentScheduleFixedCurrency',\n    id: 40679,\n    abbrName: 'FixedCcy',\n    description: 'The currency of the fixed amount. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentScheduleStepFrequencyPeriod',\n    id: 40680,\n    abbrName: 'StepPeriod',\n    description: 'Time unit multiplier for the step frequency.',\n  },\n  {\n    type: 'CouponFrequencyUnitCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentScheduleStepFrequencyUnit',\n    id: 40681,\n    abbrName: 'StepUnit',\n    description: 'Time unit associated with the step frequency.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentScheduleStepOffsetValue',\n    id: 40682,\n    abbrName: 'StepVal',\n    description:\n      'The explicit amount that the notional changes on each step date. This can be a positive or negative amount.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentScheduleStepRate',\n    id: 40683,\n    abbrName: 'StepRt',\n    description:\n      'The percentage by which the notional changes on each step date. The percentage is either a percentage applied to the initial notional amount or the previous outstanding notional, depending on the value specified in UnderlyingPaymentScheduleStepRelativeTo(40685). The percentage can be either positive or negative.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentScheduleStepOffsetRate',\n    id: 40684,\n    abbrName: 'StepOfstRt',\n    description:\n      'The explicit amount that the rate changes on each step date. This can be a positive or negative value.',\n  },\n  {\n    type: 'PaymentScheduleStepRelativeToCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentScheduleStepRelativeTo',\n    id: 40685,\n    abbrName: 'StepReltv',\n    description:\n      'Specifies whether the UnderlyingPaymentScheduleStepRate(40683) or UnderlyingPaymentScheduleStepOffsetValue(40682) should be applied to the initial notional or the previous notional in order to calculate the notional step change amount.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentScheduleFixingDateUnadjusted',\n    id: 40686,\n    abbrName: 'FixngDtUnadj',\n    description: 'The unadjusted fixing date.',\n  },\n  {\n    type: 'float',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentScheduleWeight',\n    id: 40687,\n    abbrName: 'Wt',\n    description: 'Floating rate observation weight for cashflow payment.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentScheduleFixingDateRelativeTo',\n    id: 40688,\n    abbrName: 'FixngReltv',\n    description:\n      'Specifies the anchor date when the fixing date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentScheduleFixingDateBusinessDayCnvtn',\n    id: 40689,\n    abbrName: 'FixngBizDayCnvtn',\n    description:\n      \"The business day convention used to adjust the payment schedule's fixing date. Used only to override the business day convention specified in the UnderlyingDateAdjustment component within the UnderlyingInstrument component.\",\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentScheduleFixingDateBusinessCenter',\n    id: 40690,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used to adjust the payment schedule\\'s fixing date, e.g. \"GBLO\". See http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'int',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentScheduleFixingDateOffsetPeriod',\n    id: 40691,\n    abbrName: 'FixngPeriod',\n    description: 'Time unit multiplier for the relative fixing date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentScheduleFixingDateOffsetUnit',\n    id: 40692,\n    abbrName: 'FixngUnit',\n    description: 'Time unit associated with the relative fixing date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentScheduleFixingDateOffsetDayType',\n    id: 40693,\n    abbrName: 'FixngDayTyp',\n    description: 'Specifies the day type of the relative fixing date offset.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentScheduleFixingDateAdjusted',\n    id: 40694,\n    abbrName: 'FixngDt',\n    description: 'The adjusted fixing date.',\n  },\n  {\n    type: 'LocalMktTime',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentScheduleFixingTime',\n    id: 40695,\n    abbrName: 'FixngTm',\n    description: 'The fixing time.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentScheduleFixingTimeBusinessCenter',\n    id: 40696,\n    abbrName: 'FixngTmBizCtr',\n    description:\n      'Business center for determining fixing time. See http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentScheduleInterimExchangePaymentDateRelativeTo',\n    id: 40697,\n    abbrName: 'IntrmExchDtReltv',\n    description:\n      'Specifies the anchor date when the interim exchange payment date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '161',\n    updatedEP: '271',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentScheduleInterimExchangeDatesBizDayConvention',\n    id: 40698,\n    abbrName: 'IntrmExchDtBizDayCnvtn',\n    description:\n      \"The business day convention used to adjust the payment schedule's interim exchange date. Used only to override the business day convention specified in the UnderlyingDateAdjustment component within the UnderlyingInstrument component.\",\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentScheduleInterimExchangeDatesBusinessCenter',\n    id: 40699,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used to adjust the payment schedule\\'s interim exchange date, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'int',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentScheduleInterimExchangeDatesOffsetPeriod',\n    id: 40700,\n    abbrName: 'IntrmExchDtPeriod',\n    description: 'Time unit multiplier for the relative interim exchange date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentScheduleInterimExchangeDatesOffsetUnit',\n    id: 40701,\n    abbrName: 'IntrmExchDtUnit',\n    description: 'Time unit associated with the relative interim exchange date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentScheduleInterimExchangeDatesOffsetDayType',\n    id: 40702,\n    abbrName: 'IntrmExchDayTyp',\n    description: 'Specifies the day type of the relative interim exchange date offset.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentScheduleInterimExchangeDateAdjusted',\n    id: 40703,\n    abbrName: 'IntrmExchDt',\n    description: 'The adjusted interim exchange date.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingPaymentScheduleRateSources',\n    id: 40704,\n    description: 'Number of rate sources in the repeating group',\n  },\n  {\n    type: 'RateSourceCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentScheduleRateSource',\n    id: 40705,\n    abbrName: 'Src',\n    description: 'Identifies the source of rate information.',\n  },\n  {\n    type: 'RateSourceTypeCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentScheduleRateSourceType',\n    id: 40706,\n    abbrName: 'Typ',\n    description: 'Rate source type.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentScheduleReferencePage',\n    id: 40707,\n    abbrName: 'RefPg',\n    description:\n      'Identifies the reference \u201Cpage\u201D from the rate source.\\n\\nFor FX, the reference page to the spot rate to be used for the reference FX spot rate.\\n\\nWhen RateSource(1446) = 3 (ISDA Settlement Rate Option) this contains the value from the scheme that reflects the terms of the Annex A to the ISDA 1998 FX and Currency Option Definitions. See: http://www.fpml.org/coding-scheme/settlement-rate-option',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingPaymentStubs',\n    id: 40708,\n    description: 'Number of stubs in the repeating group',\n  },\n  {\n    type: 'PaymentStubTypeCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStubType',\n    id: 40709,\n    abbrName: 'Typ',\n    description: 'Stub type.',\n  },\n  {\n    type: 'PaymentStubLengthCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStubLength',\n    id: 40710,\n    abbrName: 'Lngth',\n    description:\n      'Optional indication whether stub is shorter or longer than the regular swap period.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStubRate',\n    id: 40711,\n    abbrName: 'Rt',\n    description: 'The agreed upon fixed rate for this stub.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStubFixedAmount',\n    id: 40712,\n    abbrName: 'FixedAmt',\n    description: 'A fixed payment amount for the stub.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStubFixedCurrency',\n    id: 40713,\n    abbrName: 'FixedCcy',\n    description:\n      'The currency of the fixed payment amount. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStubIndex',\n    id: 40714,\n    abbrName: 'Ndx',\n    discriminatorId: '40715',\n    description: 'The stub floating rate index.',\n  },\n  {\n    type: 'PaymentStreamRateIndexSourceCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStubIndexSource',\n    id: 40715,\n    abbrName: 'NdxSrc',\n    description: 'The source for the underlying payment stub floating rate index.',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStubIndexCurvePeriod',\n    id: 40716,\n    abbrName: 'NdxPeriod',\n    description:\n      'Time unit multiplier for the underlying payment stub floating rate index.',\n  },\n  {\n    type: 'PaymentStreamRateIndexCurveUnitCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStubIndexCurveUnit',\n    id: 40717,\n    abbrName: 'NdxUnit',\n    description:\n      'Time unit associated with the underlying payment stub floating rate index.',\n  },\n  {\n    type: 'float',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStubIndexRateMultiplier',\n    id: 40718,\n    abbrName: 'RtMult',\n    description:\n      'A rate multiplier to apply to the floating rate. The multiplier can be less than or greater than 1 (one). This element should only be included if the multiplier is not equal to 1 (one) for the term of the stream.',\n  },\n  {\n    type: 'PriceOffset',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStubIndexRateSpread',\n    id: 40719,\n    abbrName: 'Spread',\n    description: 'Spread from floating rate index.',\n  },\n  {\n    type: 'PaymentStreamRateSpreadPositionTypeCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStubIndexRateSpreadPositionType',\n    id: 40720,\n    abbrName: 'SpreadPosTyp',\n    description:\n      'Identifies whether the rate spread is applied to a long or short position.',\n  },\n  {\n    type: 'PaymentStreamRateTreatmentCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStubIndexRateTreatment',\n    id: 40721,\n    abbrName: 'RtTrtmt',\n    description: 'Specifies the yield calculation treatment for the stub index.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStubIndexCapRate',\n    id: 40722,\n    abbrName: 'CapRt',\n    description:\n      'The cap rate, if any, which applies to the floating rate. The cap rate (strike) is only required where the floating rate on a swap stream is capped at a certain level. The cap rate is assumed to be exclusive of any spread and is a per annum rate, expressed as a decimal. A cap rate of 5% would be represented as 0.05.',\n  },\n  {\n    type: 'PaymentStreamCapRateBuySideCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStubIndexCapRateBuySide',\n    id: 40723,\n    abbrName: 'CapRtBuy',\n    description: 'Reference to the buyer of the cap rate option through its trade side.',\n  },\n  {\n    type: 'PaymentStreamCapRateBuySideCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStubIndexCapRateSellSide',\n    id: 40724,\n    abbrName: 'CapRtSell',\n    description: 'Reference to the seller of the cap rate option through its trade side.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStubIndexFloorRate',\n    id: 40725,\n    abbrName: 'FlrRt',\n    description:\n      'The floor rate, if any, which applies to the floating rate. The floor rate (strike) is only required where the floating rate on a swap stream is floored at a certain strike level. The floor rate is assumed to be exclusive of any spread and is a per annum rate, expressed as a decimal. A floor rate of 5% would be represented as 0.05.',\n  },\n  {\n    type: 'PaymentStreamFloorRateBuySideCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStubIndexFloorRateBuySide',\n    id: 40726,\n    abbrName: 'FlrRtBuy',\n    description:\n      'Reference to the buyer of the floor rate option through its trade side.',\n  },\n  {\n    type: 'PaymentStreamFloorRateBuySideCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStubIndexFloorRateSellSide',\n    id: 40727,\n    abbrName: 'FlrRtSell',\n    description:\n      'Reference to the seller of the floor rate option through its trade side.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStubIndex2',\n    id: 40728,\n    abbrName: 'Ndx2',\n    discriminatorId: '40729',\n    description: 'The second stub floating rate index.',\n  },\n  {\n    type: 'PaymentStreamRateIndexSourceCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStubIndex2Source',\n    id: 40729,\n    abbrName: 'Ndx2Src',\n    description: 'The source of the second stub floating rate index.',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStubIndex2CurvePeriod',\n    id: 40730,\n    abbrName: 'Ndx2Period',\n    description: 'Secondary time unit multiplier for the stub floating rate index curve.',\n  },\n  {\n    type: 'PaymentStreamRateIndexCurveUnitCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStubIndex2CurveUnit',\n    id: 40731,\n    abbrName: 'Ndx2Unit',\n    description:\n      'Secondary time unit associated with the stub floating rate index curve.',\n  },\n  {\n    type: 'float',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStubIndex2RateMultiplier',\n    id: 40732,\n    abbrName: 'RtMult2',\n    description:\n      'A rate multiplier to apply to the second floating rate. The multiplier can be less than or greater than 1 (one). This element should only be included if the multiplier is not equal to 1 (one) for the term of the stream.',\n  },\n  {\n    type: 'PriceOffset',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStubIndex2RateSpread',\n    id: 40733,\n    abbrName: 'Spread2',\n    description: 'Spread from the second floating rate index.',\n  },\n  {\n    type: 'PaymentStreamRateSpreadPositionTypeCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStubIndex2RateSpreadPositionType',\n    id: 40734,\n    abbrName: 'Spread2PosTyp',\n    description:\n      'Identifies whether the rate spread is applied to a long or short position.',\n  },\n  {\n    type: 'PaymentStreamRateTreatmentCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStubIndex2RateTreatment',\n    id: 40735,\n    abbrName: 'RtTrtmt2',\n    description: 'Specifies the yield calculation treatment for the second stub index.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStubIndex2CapRate',\n    id: 40736,\n    abbrName: 'CapRt2',\n    description:\n      'The cap rate, if any, which applies to the second floating rate. The cap rate (strike) is only required where the floating rate on a swap stream is capped at a certain level. The cap rate is assumed to be exclusive of any spread and is a per annum rate, expressed as a decimal. A cap rate of 5% would be represented as 0.05.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStubIndex2FloorRate',\n    id: 40737,\n    abbrName: 'FlrRt2',\n    description:\n      'The floor rate, if any, which applies to the second floating rate. The floor rate (strike) is only required where the floating rate on a swap stream is floored at a certain strike level. The floor rate is assumed to be exclusive of any spread and is a per annum rate, expressed as a decimal. A floor rate of 5% would be represented as 0.05.',\n  },\n  {\n    type: 'PaymentStreamTypeCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamType',\n    id: 40738,\n    abbrName: 'Typ',\n    description: 'Identifies the type of payment stream associated with the swap.',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamMarketRate',\n    id: 40739,\n    abbrName: 'MktRt',\n    description:\n      'Used only for credit index trade. This contains the credit spread (\"fair value\") at which the trade was executed. The market rate varies over the life of the index depending on market conditions. This is the price of the index as quoted by trading desks.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamDelayIndicator',\n    id: 40740,\n    abbrName: 'DelayInd',\n    description:\n      'Applicable to credit default swaps on mortgage backed securities to specify whether payment delays are applicable to the fixed amount.\\n\\nResidential mortgage backed securities typically have a payment delay of 5 days between the coupon date of the reference obligation and the payment date of the synthetic swap.\\n\\nCommercial mortgage backed securities do not typically have a payment delay, with both payment dates (the coupon date of the reference obligation and the payment date of the synthetic swap) being on the 25th of each month.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamSettlCurrency',\n    id: 40741,\n    abbrName: 'SettlCcy',\n    description:\n      'Specifies the currency that the stream settles in (to support swaps that settle in a currency different from the notional currency). Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'CouponDayCountCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamDayCount',\n    id: 40742,\n    abbrName: 'DayCnt',\n    description: 'The day count convention used in the payment stream calculations.',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamAccrualDays',\n    id: 40743,\n    abbrName: 'AcrlDays',\n    description:\n      'The number of days from the adjusted calculation period start date to the adjusted value date, calculated in accordance with the applicable day count fraction.',\n  },\n  {\n    type: 'PaymentStreamDiscountTypeCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamDiscountType',\n    id: 40744,\n    abbrName: 'DiscTyp',\n    description: 'The method of calculating discounted payment amounts',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamDiscountRate',\n    id: 40745,\n    abbrName: 'Disc',\n    description:\n      'Discount rate. The rate is expressed in decimal, e.g. 5% is expressed as 0.05.',\n  },\n  {\n    type: 'CouponDayCountCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamDiscountRateDayCount',\n    id: 40746,\n    abbrName: 'DiscDayCnt',\n    description:\n      'The day count convention applied to the PaymentStreamDiscountRate(40745).',\n  },\n  {\n    type: 'PaymentStreamCompoundingMethodCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamCompoundingMethod',\n    id: 40747,\n    abbrName: 'CmpndgMeth',\n    description: 'Compounding method.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamInitialPrincipalExchangeIndicator',\n    id: 40748,\n    abbrName: 'InitPrncplExchInd',\n    description:\n      'Indicates whether there is an initial exchange of principal on the effective date.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamInterimPrincipalExchangeIndicator',\n    id: 40749,\n    abbrName: 'IntrmPrncplExchInd',\n    description:\n      'Indicates whether there are intermediate or interim exchanges of principal during the term of the swap.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamFinalPrincipalExchangeIndicator',\n    id: 40750,\n    abbrName: 'FnlPrncplExchInd',\n    description:\n      'Indicates whether there is a final exchange of principal on the termination date.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamPaymentDateBusinessDayConvention',\n    id: 40751,\n    abbrName: 'BizDayCnvtn',\n    description:\n      \"The business day convention used to adjust the payment stream's payment date. Used only to override the business day convention specified in the DateAdjustment component within the Instrument component.\",\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamPaymentDateBusinessCenter',\n    id: 40752,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used to adjust the payment stream\\'s payment date, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamPaymentFrequencyPeriod',\n    id: 40753,\n    abbrName: 'FreqPeriod',\n    description: 'Time unit multiplier for the frequency of payments.',\n  },\n  {\n    type: 'PaymentStreamPaymentFrequencyUnitCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamPaymentFrequencyUnit',\n    id: 40754,\n    abbrName: 'FreqUnit',\n    description: 'Time unit associated with the frequency of payments.',\n  },\n  {\n    type: 'DateRollConventionCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamPaymentRollConvention',\n    id: 40755,\n    abbrName: 'Roll',\n    description:\n      'The convention for determining the sequence of end dates. It is used in conjunction with a specified frequency. Used only to override the roll convention specified in the DateAdjustment component within the Instrument component.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamFirstPaymentDateUnadjusted',\n    id: 40756,\n    abbrName: 'FirstDtUnadj',\n    description: 'The unadjusted first payment date.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamLastRegularPaymentDateUnadjusted',\n    id: 40757,\n    abbrName: 'LastReglrDtUnadj',\n    description: 'The unadjusted last regular payment date.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamPaymentDateRelativeTo',\n    id: 40758,\n    abbrName: 'Reltv',\n    description:\n      'Specifies the anchor date when payment dates are relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'int',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamPaymentDateOffsetPeriod',\n    id: 40759,\n    abbrName: 'OfstPeriod',\n    description: 'Time unit multiplier for the relative payment date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamPaymentDateOffsetUnit',\n    id: 40760,\n    abbrName: 'OfstUnit',\n    description: 'Time unit multiplier for the relative initial fixing date offset.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamResetDateRelativeTo',\n    id: 40761,\n    abbrName: 'Reltv',\n    description:\n      'Specifies the anchor date when the reset dates are relative to an anchor date.\\n\\nIf the reset frequency is specified as daily this element must not be included.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamResetDateBusinessDayConvention',\n    id: 40762,\n    abbrName: 'BizDayCnvtn',\n    description:\n      \"The business day convention used to adjust the payment stream's reset date. Used only to override the business day convention specified in the DateAdjustment component within the Instrument component.\",\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamResetDateBusinessCenter',\n    id: 40763,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used to adjust the payment stream\\'s reset date, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamResetFrequencyPeriod',\n    id: 40764,\n    abbrName: 'FreqPeriod',\n    description: 'Time unit multiplier for the frequency of resets.',\n  },\n  {\n    type: 'CouponFrequencyUnitCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamResetFrequencyUnit',\n    id: 40765,\n    abbrName: 'FreqUnit',\n    description: 'Time unit associated with the frequency of resets.',\n  },\n  {\n    type: 'PaymentStreamResetWeeklyRollConventionCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamResetWeeklyRollConvention',\n    id: 40766,\n    abbrName: 'WklyRoll',\n    description:\n      'Used to specify the day of the week in which the reset occurs for payments that reset on a weekly basis.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamInitialFixingDateRelativeTo',\n    id: 40767,\n    abbrName: 'InitReltv',\n    description:\n      'Specifies the anchor date when the initial fixing date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamInitialFixingDateBusinessDayConvention',\n    id: 40768,\n    abbrName: 'InitBizDayCnvtn',\n    description:\n      \"The business day convention used to adjust the payment stream's initial fixing date. Used only to override the business day convention specified in the DateAdjustment component within the Instrument component.\",\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamInitialFixingDateBusinessCenter',\n    id: 40769,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used to adjust the payment stream\\'s initial fixing date, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'int',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamInitialFixingDateOffsetPeriod',\n    id: 40770,\n    abbrName: 'InitPeriod',\n    description: 'Time unit multiplier for the relative initial fixing date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamInitialFixingDateOffsetUnit',\n    id: 40771,\n    abbrName: 'InitUnit',\n    description: 'Time unit associated with the relative initial fixing date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamInitialFixingDateOffsetDayType',\n    id: 40772,\n    abbrName: 'InitDayTyp',\n    description: 'Specifies the day type of the relative initial fixing date offset.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamInitialFixingDateAdjusted',\n    id: 40773,\n    abbrName: 'InitDt',\n    description: 'The adjusted initial fixing date.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamFixingDateRelativeTo',\n    id: 40774,\n    abbrName: 'FixngReltv',\n    description:\n      'Specifies the anchor date when the fixing date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamFixingDateBusinessDayConvention',\n    id: 40775,\n    abbrName: 'FixngBizDayCnvtn',\n    description:\n      \"The business day convention used to adjust the payment stream's fixing date. Used only to override the business day convention specified in the DateAdjustment component within the Instrument component.\",\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamFixingDateBusinessCenter',\n    id: 40776,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used to adjust the payment stream\\'s fixing date, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'int',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamFixingDateOffsetPeriod',\n    id: 40777,\n    abbrName: 'FixngPeriod',\n    description: 'Time unit multiplier for the relative fixing date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamFixingDateOffsetUnit',\n    id: 40778,\n    abbrName: 'FixngUnit',\n    description: 'Time unit associated with the relative fixing date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamFixingDateOffsetDayType',\n    id: 40779,\n    abbrName: 'FixngDayTyp',\n    description: 'Specifies the day type of the relative fixing date offset.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamFixingDateAdjusted',\n    id: 40780,\n    abbrName: 'FixngDt',\n    description: 'The adjusted fixing date.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'int',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamRateCutoffDateOffsetPeriod',\n    id: 40781,\n    abbrName: 'CutoffPeriod',\n    description: 'Time unit multiplier for the relative rate cut-off date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamRateCutoffDateOffsetUnit',\n    id: 40782,\n    abbrName: 'CutoffUnit',\n    description: 'Time unit associated with the relative rate cut-off date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamRateCutoffDateOffsetDayType',\n    id: 40783,\n    abbrName: 'CutoffDayTyp',\n    description: 'Specifies the day type of the relative rate cut-off date offset.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamRate',\n    id: 40784,\n    abbrName: 'Rt',\n    description: 'The rate applicable to the fixed rate payment stream.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamFixedAmount',\n    id: 40785,\n    abbrName: 'Amt',\n    description:\n      \"The payment stream's fixed payment amount. In CDS an alternative to PaymentStreamRate(40784).\",\n  },\n  {\n    type: 'Currency',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamRateOrAmountCurrency',\n    id: 40786,\n    abbrName: 'Ccy',\n    description:\n      'Specifies the currency in which PaymentStreamFixedAmount(40785) or PaymentStreamRate(40784) is denominated. Uses ISO 4271 currency codes.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamFutureValueNotional',\n    id: 40787,\n    abbrName: 'FutValNotl',\n    description:\n      'The future value notional is normally only required for certain non-deliverable interest rate swaps (e.g. Brazillian Real (BRL) vs. CETIP Interbank Deposit Rate (CDI)). The value is calculated as follows: Future Value Notional = Notional Amount * (1 + Fixed Rate) ^ (Fixed Rate Day Count Fraction). The currency is the same as the stream notional.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamFutureValueDateAdjusted',\n    id: 40788,\n    abbrName: 'FutValDt',\n    description: 'The adjusted value date of the future value amount.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamRateIndex',\n    id: 40789,\n    abbrName: 'Ndx',\n    discriminatorId: '40790',\n    description: 'The payment stream floating rate index.',\n  },\n  {\n    type: 'PaymentStreamRateIndexSourceCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamRateIndexSource',\n    id: 40790,\n    abbrName: 'NdxSrc',\n    description: 'The source of the payment stream floating rate index.',\n  },\n  {\n    type: 'PaymentStreamRateIndexCurveUnitCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamRateIndexCurveUnit',\n    id: 40791,\n    abbrName: 'NdxUnit',\n    description: 'Time unit associated with the floating rate index.',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamRateIndexCurvePeriod',\n    id: 40792,\n    abbrName: 'NdxPeriod',\n    description: 'Time unit multiplier for the floating rate index.',\n  },\n  {\n    type: 'float',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamRateMultiplier',\n    id: 40793,\n    abbrName: 'RtMult',\n    description:\n      'A rate multiplier to apply to the floating rate. A multiplier schedule is expressed as explicit multipliers and dates. In the case of a schedule, the step dates may be subject to adjustment in accordance with any adjustments specified in the calculationPeriodDatesAdjustments. The multiplier can be less than or greater than 1 (one). This element should only be included if the multiplier is not equal to 1 (one) for the term of the stream.',\n  },\n  {\n    type: 'PriceOffset',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamRateSpread',\n    id: 40794,\n    abbrName: 'Spread',\n    description: 'Spread from floating rate index.',\n  },\n  {\n    type: 'PaymentStreamRateSpreadPositionTypeCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamRateSpreadPositionType',\n    id: 40795,\n    abbrName: 'SpreadPosTyp',\n    description:\n      'Identifies whether the rate spread is applied to a long or short position.',\n  },\n  {\n    type: 'PaymentStreamRateTreatmentCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamRateTreatment',\n    id: 40796,\n    abbrName: 'RtTrtmt',\n    description: 'Specifies the yield calculation treatment for the index.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamCapRate',\n    id: 40797,\n    abbrName: 'CapRt',\n    description:\n      'The cap rate, if any, which applies to the floating rate. The cap rate (strike) is only required where the floating rate on a swap stream is capped at a certain level. The cap rate is assumed to be exclusive of any spread and is a per annum rate, expressed as a decimal. A cap rate of 5% would be represented as 0.05.',\n  },\n  {\n    type: 'PaymentStreamCapRateBuySideCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamCapRateBuySide',\n    id: 40798,\n    abbrName: 'CapRtBuy',\n    description: 'Reference to the buyer of the cap rate option through its trade side.',\n  },\n  {\n    type: 'PaymentStreamCapRateBuySideCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamCapRateSellSide',\n    id: 40799,\n    abbrName: 'CapRtSell',\n    description: 'Reference to the seller of the cap rate option through its trade side.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamFloorRate',\n    id: 40800,\n    abbrName: 'FlrRt',\n    description:\n      'The floor rate, if any, which applies to the floating rate. The floor rate (strike) is only required where the floating rate on a swap stream is floored at a certain strike level. The floor rate is assumed to be exclusive of any spread and is a per annum rate, expressed as a decimal. A floor rate of 5% would be represented as 0.05.',\n  },\n  {\n    type: 'PaymentStreamFloorRateBuySideCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamFloorRateBuySide',\n    id: 40801,\n    abbrName: 'FlrRtBuy',\n    description:\n      'Reference to the buyer of the floor rate option through its trade side.',\n  },\n  {\n    type: 'PaymentStreamFloorRateBuySideCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamFloorRateSellSide',\n    id: 40802,\n    abbrName: 'FlrRtSell',\n    description:\n      'Reference to the seller of the floor rate option through its trade side.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamInitialRate',\n    id: 40803,\n    abbrName: 'InitRt',\n    description:\n      'The initial floating rate reset agreed between the principal parties involved in the trade. This is assumed to be the first required reset rate for the first regular calculation period. It should only be included when the rate is not equal to the rate published on the source implied by the floating rate index. An initial rate of 5% would be represented as 0.05.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'RoundingDirectionCodeSet',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamFinalRateRoundingDirection',\n    id: 40804,\n    abbrName: 'FnlRtRndDirctn',\n    description: 'Specifies the rounding direction.',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamFinalRatePrecision',\n    id: 40805,\n    abbrName: 'FnlRtPrcsn',\n    description:\n      'Specifies the rounding precision in terms of a number of decimal places. Note how a percentage rate rounding of 5 decimal places is expressed as a rounding precision of 7.',\n  },\n  {\n    type: 'PaymentStreamAveragingMethodCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamAveragingMethod',\n    id: 40806,\n    abbrName: 'AvgngMeth',\n    description:\n      'When rate averaging is applicable, used to specify whether a weighted or unweighted average calculation method is to be used.',\n  },\n  {\n    type: 'PaymentStreamNegativeRateTreatmentCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamNegativeRateTreatment',\n    id: 40807,\n    abbrName: 'NegtvRtTrtmt',\n    description:\n      'The specification of any provisions for calculating payment obligations when a floating rate is negative (either due to a quoted negative floating rate or by operation of a spread that is subtracted from the floating rate).',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamInflationLagPeriod',\n    id: 40808,\n    abbrName: 'LagPeriod',\n    description:\n      'Time unit multiplier for the inflation lag period. The lag period is the offsetting period from the payment date which determines the reference period for which the inflation index is observed.',\n  },\n  {\n    type: 'PaymentStreamInflationLagUnitCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamInflationLagUnit',\n    id: 40809,\n    abbrName: 'LagUnit',\n    description: 'Time unit associated with the inflation lag period.',\n  },\n  {\n    type: 'PaymentStreamInflationLagDayTypeCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamInflationLagDayType',\n    id: 40810,\n    abbrName: 'LagDayTyp',\n    description: 'The inflation lag period day type.',\n  },\n  {\n    type: 'PaymentStreamInflationInterpolationMethodCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamInflationInterpolationMethod',\n    id: 40811,\n    abbrName: 'IntrpltnMeth',\n    description:\n      'The method used when calculating the Inflation Index Level from multiple points - the most common is Linear.',\n  },\n  {\n    type: 'PaymentStreamRateIndexSourceCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamInflationIndexSource',\n    id: 40812,\n    abbrName: 'InfltnNdxSrc',\n    description: 'The inflation index reference source.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamInflationPublicationSource',\n    id: 40813,\n    abbrName: 'PublctnSrc',\n    description:\n      'The current main publication source such as relevant web site or a government body.',\n  },\n  {\n    type: 'float',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamInflationInitialIndexLevel',\n    id: 40814,\n    abbrName: 'InitLvl',\n    description: 'Initial known index level for the first calculation period.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamInflationFallbackBondApplicable',\n    id: 40815,\n    abbrName: 'FallbckBond',\n    description:\n      'Indicates whether a fallback bond as defined in the 2006 ISDA Inflation Derivatives Definitions, sections 1.3 and 1.8, is applicable or not. If not specified, the default value is \"Y\" (True/Yes).',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamFRADiscountingCodeSet',\n    addedEP: '161',\n    updatedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamFRADiscounting',\n    id: 40816,\n    abbrName: 'FRADisc',\n    description:\n      'The method of Forward Rate Agreement (FRA) discounting, if any, that will apply.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamNonDeliverableRefCurrency',\n    id: 40817,\n    abbrName: 'Ccy',\n    description:\n      'The non-deliverable settlement reference currency. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamNonDeliverableFixingDatesBusinessDayConvention',\n    id: 40818,\n    abbrName: 'BizDayCnvtn',\n    description:\n      \"The business day convention used to adjust the payment stream's fixing date for the non-deliverable settlement terms. Used only to override the business day convention specified in the DateAdjustment component within the Instrument component\",\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamNonDeliverableFixingDatesBusinessCenter',\n    id: 40819,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used to adjust the payment stream\\'s fixing date for the non-deliverable terms, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamNonDeliverableFixingDatesRelativeTo',\n    id: 40820,\n    abbrName: 'FixngReltv',\n    description:\n      'Specifies the anchor date when the non-deliverable fixing dates are relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'int',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamNonDeliverableFixingDatesOffsetPeriod',\n    id: 40821,\n    abbrName: 'FixngPeriod',\n    description:\n      'Time unit multiplier for the relative non-deliverable fixing date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamNonDeliverableFixingDatesOffsetUnit',\n    id: 40822,\n    abbrName: 'FixngUnit',\n    description:\n      'Time unit associated with the relative non-deliverable fixing date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamNonDeliverableFixingDatesOffsetDayType',\n    id: 40823,\n    abbrName: 'FixngDayTyp',\n    description:\n      'Specifies the day type of the relative non-deliverable fixing date offset.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamNonDeliverableSettlReferencePage',\n    id: 40824,\n    abbrName: 'RefPg',\n    description:\n      'Identifies the reference \"page\" from the rate source.\\n\\nWhen UnderlyingPaymentStreamNonDeliverableSettlRateSource(40661) = 3(ISDA Settlement Rate Option) this contains the value from the scheme that reflects the terms of the Annex A to the ISDA 1998 FX and Currency Option Definitions. See: http://www.fpml.org/coding-scheme/settlement-rate-option',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoNonDeliverableFixingDates',\n    id: 40825,\n    description: 'Number of Fixing dates in the repeating group',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NonDeliverableFixingDate',\n    id: 40826,\n    abbrName: 'Dt',\n    description:\n      'Non-deliverable fixing date unadjusted or adjusted depending on NonDeliverableFixingDateType(40827).',\n  },\n  {\n    type: 'NonDeliverableFixingDateTypeCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NonDeliverableFixingDateType',\n    id: 40827,\n    abbrName: 'Typ',\n    description: 'Specifies the type of date (e.g. adjusted for holidays).',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoPaymentSchedules',\n    id: 40828,\n    description: 'Number of swap schedules in the repeating group',\n  },\n  {\n    type: 'PaymentScheduleTypeCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentScheduleType',\n    id: 40829,\n    abbrName: 'Typ',\n    description: 'Type of schedule.',\n  },\n  {\n    type: 'PaymentStubTypeCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentScheduleStubType',\n    id: 40830,\n    abbrName: 'StubTyp',\n    description: 'Indicates to which stub this schedule applies.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentScheduleStartDateUnadjusted',\n    id: 40831,\n    abbrName: 'StartDtUnadj',\n    description:\n      'The date on which the value is adjusted, or calculated if a future value notional for certain non-deliverable interest rate swaps (e.g. Brazillian Real (BRL) vs. CETIP Interbank Deposit Rate (CDI)), or the start date of a cashflow payment.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentScheduleEndDateUnadjusted',\n    id: 40832,\n    abbrName: 'EndDtUnadj',\n    description: 'The unadjusted end date of a cash flow payment.',\n  },\n  {\n    type: 'PaymentPaySideCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentSchedulePaySide',\n    id: 40833,\n    abbrName: 'PaySide',\n    description: 'The side of the party paying the step schedule.',\n  },\n  {\n    type: 'PaymentPaySideCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentScheduleReceiveSide',\n    id: 40834,\n    abbrName: 'RcvSide',\n    description: 'The side of the party receiving the stepf schedule.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentScheduleNotional',\n    id: 40835,\n    abbrName: 'Notl',\n    description: 'The notional value for this step, or amount of a cashflow payment.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentScheduleCurrency',\n    id: 40836,\n    abbrName: 'Ccy',\n    description: 'The currency for this step. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentScheduleRate',\n    id: 40837,\n    abbrName: 'Rt',\n    discriminatorId: '40869',\n    description: 'The rate value for this step schedule.',\n  },\n  {\n    type: 'float',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentScheduleRateMultiplier',\n    id: 40838,\n    abbrName: 'RtMult',\n    description:\n      'A rate multiplier to apply to the floating rate. The multiplier can be less than or greater than 1 (one). This element should only be included if the multiplier is not equal to 1 (one) for the term of the stream.',\n  },\n  {\n    type: 'PriceOffset',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentScheduleRateSpread',\n    id: 40839,\n    abbrName: 'Spread',\n    description: 'The spread value for this step schedule.',\n  },\n  {\n    type: 'PaymentStreamRateSpreadPositionTypeCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentScheduleRateSpreadPositionType',\n    id: 40840,\n    abbrName: 'SpreadPosTyp',\n    description:\n      'Identifies whether the rate spread is applied to a long or short position.',\n  },\n  {\n    type: 'PaymentStreamRateTreatmentCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentScheduleRateTreatment',\n    id: 40841,\n    abbrName: 'RtTrtmt',\n    description: 'Specifies the yield calculation treatment for the step schedule.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentScheduleFixedAmount',\n    id: 40842,\n    abbrName: 'FixedAmt',\n    description: 'The explicit payment amount for this step schedule.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentScheduleFixedCurrency',\n    id: 40843,\n    abbrName: 'FixedCcy',\n    description: 'The currency of the fixed amount. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentScheduleStepFrequencyPeriod',\n    id: 40844,\n    abbrName: 'StepPeriod',\n    description: 'Time unit multiplier for the step frequency.',\n  },\n  {\n    type: 'CouponFrequencyUnitCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentScheduleStepFrequencyUnit',\n    id: 40845,\n    abbrName: 'StepUnit',\n    description: 'Time unit associated with the step frequency.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentScheduleStepOffsetValue',\n    id: 40846,\n    abbrName: 'StepVal',\n    description:\n      'The explicit amount that the notional changes on each step date. This can be a positive or negative amount.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentScheduleStepRate',\n    id: 40847,\n    abbrName: 'StepRt',\n    description:\n      'The percentage by which the notional changes on each step date. The percentage is either a percentage applied to the initial notional amount or the previous outstanding notional, depending on the value specified in PaymentScheduleStepRelativeTo(40849). The percentage can be either positive or negative.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentScheduleStepOffsetRate',\n    id: 40848,\n    abbrName: 'StepOfstRt',\n    description:\n      'The explicit amount that the rate changes on each step date. This can be a positive or negative value.',\n  },\n  {\n    type: 'PaymentScheduleStepRelativeToCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentScheduleStepRelativeTo',\n    id: 40849,\n    abbrName: 'StepReltv',\n    description:\n      'Specifies whether the PaymentScheduleStepRate(40847) or PaymentScheduleStepOffsetValue(40846) should be applied to the initial notional or the previous notional in order to calculate the notional step change amount.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentScheduleFixingDateUnadjusted',\n    id: 40850,\n    abbrName: 'FixngDtUnadj',\n    description: 'The unadjusted fixing date.',\n  },\n  {\n    type: 'float',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentScheduleWeight',\n    id: 40851,\n    abbrName: 'Wt',\n    description: 'Floating rate observation weight for cashflow payment.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentScheduleFixingDateRelativeTo',\n    id: 40852,\n    abbrName: 'FixngReltv',\n    description:\n      'Specifies the anchor date when the fixing date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentScheduleFixingDateBusinessDayConvention',\n    id: 40853,\n    abbrName: 'FixngBizDayCnvtn',\n    description:\n      \"The business day convention used to adjust the payment schedule's fixing date. Used only to override the business day convention specified in the DateAdjustment component within the Instrument component.\",\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentScheduleFixingDateBusinessCenter',\n    id: 40854,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used to adjust the payment schedule\\'s fixing date, e.g. \"GBLO\". See http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'int',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentScheduleFixingDateOffsetPeriod',\n    id: 40855,\n    abbrName: 'FixngPeriod',\n    description: 'Time unit multiplier for the relative fixing date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentScheduleFixingDateOffsetUnit',\n    id: 40856,\n    abbrName: 'FixngUnit',\n    description: 'Time unit associated with the relative fixing date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentScheduleFixingDateOffsetDayType',\n    id: 40857,\n    abbrName: 'FixngDayTyp',\n    description: 'Specifies the day type of the relative fixing date offset.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentScheduleFixingDateAdjusted',\n    id: 40858,\n    abbrName: 'FixngDt',\n    description: 'The adjusted fixing date.',\n  },\n  {\n    type: 'LocalMktTime',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentScheduleFixingTime',\n    id: 40859,\n    abbrName: 'FixngTm',\n    description: 'The fixing time associated with the step schedule.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentScheduleFixingTimeBusinessCenter',\n    id: 40860,\n    abbrName: 'FixngTmBizCtr',\n    description:\n      'Business center for determining fixing time.\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentScheduleInterimExchangePaymentDateRelativeTo',\n    id: 40861,\n    abbrName: 'IntrmExchDtReltv',\n    description:\n      'Specifies the anchor date when the interim exchange payment date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentScheduleInterimExchangeDatesBusinessDayConvention',\n    id: 40862,\n    abbrName: 'IntrmExchDtBizDayCnvtn',\n    description:\n      \"The business day convention used to adjust the payment schedule's interim exchange date. Used only to override the business day convention specified in the DateAdjustment component within the Instrument component.\",\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentScheduleInterimExchangeDatesBusinessCenter',\n    id: 40863,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used to adjust the payment schedule\\'s interim exchange date, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'int',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentScheduleInterimExchangeDatesOffsetPeriod',\n    id: 40864,\n    abbrName: 'IntrmExchDtPeriod',\n    description: 'Time unit multiplier for the relative interim exchange date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentScheduleInterimExchangeDatesOffsetUnit',\n    id: 40865,\n    abbrName: 'IntrmExchDtUnit',\n    description: 'Time unit associated with the relative interim exchange date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentScheduleInterimExchangeDatesOffsetDayType',\n    id: 40866,\n    abbrName: 'IntrmExchDayTyp',\n    description: 'Specifies the day type of the relative interim exchange date offset.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentScheduleInterimExchangeDateAdjusted',\n    id: 40867,\n    abbrName: 'IntrmExchDt',\n    description: 'The adjusted interim exchange date.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoPaymentScheduleRateSources',\n    id: 40868,\n    description: 'Number of swap schedule rate sources.',\n  },\n  {\n    type: 'RateSourceCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentScheduleRateSource',\n    id: 40869,\n    abbrName: 'Src',\n    description: 'Identifies the source of rate information.',\n  },\n  {\n    type: 'RateSourceTypeCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentScheduleRateSourceType',\n    id: 40870,\n    abbrName: 'Typ',\n    description: 'Rate source type.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentScheduleReferencePage',\n    id: 40871,\n    abbrName: 'RefPg',\n    description:\n      'Identifies the reference \u201Cpage\u201D from the rate source.\\n\\nFor FX, the reference page to the spot rate to be used for the reference FX spot rate.\\n\\nWhen RateSource(1446) = 3 (ISDA Settlement Rate Option) this contains the value from the scheme that reflects the terms of the Annex A to the ISDA 1998 FX and Currency Option Definitions. See: http://www.fpml.org/coding-scheme/settlement-rate-option',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoPaymentStubs',\n    id: 40872,\n    description: 'Number of stubs in the repeating group',\n  },\n  {\n    type: 'PaymentStubTypeCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStubType',\n    id: 40873,\n    abbrName: 'Typ',\n    description: 'Stub type.',\n  },\n  {\n    type: 'PaymentStubLengthCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStubLength',\n    id: 40874,\n    abbrName: 'Lngth',\n    description:\n      'Optional indication whether stub is shorter or longer than the regular swap period.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStubRate',\n    id: 40875,\n    abbrName: 'Rt',\n    description: 'The agreed upon fixed rate for this stub.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStubFixedAmount',\n    id: 40876,\n    abbrName: 'FixedAmt',\n    description: 'A fixed payment amount for the stub.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStubFixedCurrency',\n    id: 40877,\n    abbrName: 'FixedCcy',\n    description:\n      'The currency of the fixed payment amount. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStubIndex',\n    id: 40878,\n    abbrName: 'Ndx',\n    discriminatorId: '40879',\n    description: 'The stub floating rate index.',\n  },\n  {\n    type: 'PaymentStreamRateIndexSourceCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStubIndexSource',\n    id: 40879,\n    abbrName: 'NdxSrc',\n    description: 'The source of the stub floating rate index.',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStubIndexCurvePeriod',\n    id: 40880,\n    abbrName: 'NdxPeriod',\n    description: 'Time unit multiplier for the stub floating rate index.',\n  },\n  {\n    type: 'PaymentStreamRateIndexCurveUnitCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStubIndexCurveUnit',\n    id: 40881,\n    abbrName: 'NdxUnit',\n    description: 'Time unit associated with the stub floating rate index.',\n  },\n  {\n    type: 'float',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStubIndexRateMultiplier',\n    id: 40882,\n    abbrName: 'RtMult',\n    description:\n      'A rate multiplier to apply to the floating rate. The multiplier can be less than or greater than 1 (one). This element should only be included if the multiplier is not equal to 1 (one) for the term of the stream.',\n  },\n  {\n    type: 'PriceOffset',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStubIndexRateSpread',\n    id: 40883,\n    abbrName: 'Spread',\n    description: 'Spread from floating rate index.',\n  },\n  {\n    type: 'PaymentStreamRateSpreadPositionTypeCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStubIndexRateSpreadPositionType',\n    id: 40884,\n    abbrName: 'SpreadPosTyp',\n    description:\n      'Identifies whether the rate spread is applied to a long or short position.',\n  },\n  {\n    type: 'PaymentStreamRateTreatmentCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStubIndexRateTreatment',\n    id: 40885,\n    abbrName: 'RtTrtmt',\n    description: 'Specifies the yield calculation treatment for the payment stub index.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStubIndexCapRate',\n    id: 40886,\n    abbrName: 'CapRt',\n    description:\n      'The cap rate, if any, which applies to the floating rate. The cap rate (strike) is only required where the floating rate on a swap stream is capped at a certain level. The cap rate is assumed to be exclusive of any spread and is a per annum rate, expressed as a decimal. A cap rate of 5% would be represented as 0.05.',\n  },\n  {\n    type: 'PaymentStreamCapRateBuySideCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStubIndexCapRateBuySide',\n    id: 40887,\n    abbrName: 'CapRtBuy',\n    description: 'Reference to the buyer of the cap rate option through its trade side.',\n  },\n  {\n    type: 'PaymentStreamCapRateBuySideCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStubIndexCapRateSellSide',\n    id: 40888,\n    abbrName: 'CapRtSell',\n    description: 'Reference to the seller of the cap rate option through its trade side.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStubIndexFloorRate',\n    id: 40889,\n    abbrName: 'FlrRt',\n    description:\n      'The floor rate, if any, which applies to the floating rate. The floor rate (strike) is only required where the floating rate on a swap stream is floored at a certain strike level. The floor rate is assumed to be exclusive of any spread and is a per annum rate, expressed as a decimal. A floor rate of 5% would be represented as 0.05.',\n  },\n  {\n    type: 'PaymentStreamFloorRateBuySideCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStubIndexFloorRateBuySide',\n    id: 40890,\n    abbrName: 'FlrRtBuy',\n    description:\n      'Reference to the buyer of the floor rate option through its trade side.',\n  },\n  {\n    type: 'PaymentStreamFloorRateBuySideCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStubIndexFloorRateSellSide',\n    id: 40891,\n    abbrName: 'FlrRtSell',\n    description:\n      'Reference to the seller of the floor rate option through its trade side.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStubIndex2',\n    id: 40892,\n    abbrName: 'Ndx2',\n    discriminatorId: '40893',\n    description: 'The second stub floating rate index.',\n  },\n  {\n    type: 'PaymentStreamRateIndexSourceCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStubIndex2Source',\n    id: 40893,\n    abbrName: 'Ndx2Src',\n    description: 'The source of the second stub floating rate index.',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStubIndex2CurvePeriod',\n    id: 40894,\n    abbrName: 'Ndx2Period',\n    description: 'Secondary time unit multiplier for the stub floating rate index curve.',\n  },\n  {\n    type: 'PaymentStreamRateIndexCurveUnitCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStubIndex2CurveUnit',\n    id: 40895,\n    abbrName: 'Ndx2Unit',\n    description:\n      'Secondary time unit associated with the stub floating rate index curve.',\n  },\n  {\n    type: 'float',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStubIndex2RateMultiplier',\n    id: 40896,\n    abbrName: 'RtMult2',\n    description:\n      'A rate multiplier to apply to the second floating rate. The multiplier can be less than or greater than 1 (one). This element should only be included if the multiplier is not equal to 1 (one) for the term of the stream.',\n  },\n  {\n    type: 'PriceOffset',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStubIndex2RateSpread',\n    id: 40897,\n    abbrName: 'Spread2',\n    description: 'Spread from the second floating rate index.',\n  },\n  {\n    type: 'PaymentStreamRateSpreadPositionTypeCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStubIndex2RateSpreadPositionType',\n    id: 40898,\n    abbrName: 'Spread2PosTyp',\n    description:\n      'Identifies whether the rate spread is applied to a long or short position.',\n  },\n  {\n    type: 'PaymentStreamRateTreatmentCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStubIndex2RateTreatment',\n    id: 40899,\n    abbrName: 'RtTrtmt2',\n    description: 'Specifies the yield calculation treatment for the second stub index.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStubIndex2CapRate',\n    id: 40900,\n    abbrName: 'CapRt2',\n    description:\n      'The cap rate, if any, which applies to the second floating rate. The cap rate (strike) is only required where the floating rate on a swap stream is capped at a certain level. The cap rate is assumed to be exclusive of any spread and is a per annum rate, expressed as a decimal. A cap rate of 5% would be represented as 0.05.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStubIndex2FloorRate',\n    id: 40901,\n    abbrName: 'FlrRt2',\n    description:\n      'The floor rate, if any, which applies to the second floating rate. The floor rate (strike) is only required where the floating rate on a swap stream is floored at a certain strike level. The floor rate is assumed to be exclusive of any spread and is a per annum rate, expressed as a decimal. A floor rate of 5% would be represented as 0.05.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegSettlRateFallbacks',\n    id: 40902,\n    description: 'Number of settlement rate fallbacks in the repeating group',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegSettlRatePostponementMaximumDays',\n    id: 40903,\n    abbrName: 'MaxDays',\n    description:\n      'The maximum number of days to wait for a quote from the disrupted settlement rate option before proceding to this method.',\n  },\n  {\n    type: 'RateSourceCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingSettlRateFallbackRateSource',\n    id: 40904,\n    abbrName: 'RtSrc',\n    description: 'Identifies the source of rate information.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegSettlRatePostponementSurvey',\n    id: 40905,\n    abbrName: 'Survey',\n    description: 'Indicates whether to request a settlement rate quote from the market.',\n  },\n  {\n    type: 'ProvisionCalculationAgentCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegSettlRatePostponementCalculationAgent',\n    id: 40906,\n    abbrName: 'CalcAgent',\n    description: 'Used to identify the settlement rate postponement calculation agent.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'StreamEffectiveDateUnadjusted',\n    id: 40907,\n    abbrName: 'DtUnadj',\n    description: 'The unadjusted effective date.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'StreamEffectiveDateBusinessDayConvention',\n    id: 40908,\n    abbrName: 'BizDayCnvtn',\n    description:\n      \"The business day convention used to adjust the instrument's stream's effective, or relative effective, date. Used only to override the business day convention specified in the DateAdjustment component within the Instrument component.\",\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'StreamEffectiveDateBusinessCenter',\n    id: 40909,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used to adjust the instrument\\'s stream\\'s effective, or relative effective, date, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'StreamEffectiveDateRelativeTo',\n    id: 40910,\n    abbrName: 'Reltv',\n    description:\n      'Specifies the anchor date when the effective date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'int',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'StreamEffectiveDateOffsetPeriod',\n    id: 40911,\n    abbrName: 'OfstPeriod',\n    description: 'Time unit multiplier for the relative effective date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'StreamEffectiveDateOffsetUnit',\n    id: 40912,\n    abbrName: 'OfstUnit',\n    description: 'Time unit associated with the relative effective date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'StreamEffectiveDateOffsetDayType',\n    id: 40913,\n    abbrName: 'OfstDayTyp',\n    description: 'Specifies the day type of the relative effective date offset.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'StreamEffectiveDateAdjusted',\n    id: 40914,\n    abbrName: 'Dt',\n    description: 'The adjusted effective date.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingSettlRateFallbackReferencePage',\n    id: 40915,\n    abbrName: 'RefPg',\n    description:\n      'Identifies the reference \"page\" from the rate source.\\n\\nWhen UnderlyingSettlRateFallbackRateSource(40904) = 3(ISDA Settlement Rate Option) this contains the value from the scheme that reflects the terms of the Annex A to the ISDA 1998 FX and Currency Option Definitions. See: http://www.fpml.org/coding-scheme/settlement-rate-option',\n  },\n  {\n    type: 'PriceTypeCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentPriceType',\n    id: 40919,\n    abbrName: 'PxTyp',\n    description: 'Specifies the type of price for PaymentPrice(40218).',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '161',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamPaymentDateOffsetDayType',\n    id: 40920,\n    abbrName: 'OfstDayTyp',\n    description: 'Specifies the day type of the relative payment date offset.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'BusinessDayConvention',\n    id: 40921,\n    abbrName: 'BizDayCnvtn',\n    description:\n      'The business day convention used for adjusting dates. The value defined here applies to all adjustable dates in the instrument unless specifically overridden.',\n  },\n  {\n    type: 'DateRollConventionCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'DateRollConvention',\n    id: 40922,\n    abbrName: 'Roll',\n    description:\n      'The convention for determining a sequence of dates. It is used in conjunction with a specified frequency. The value defined here applies to all adjustable dates in the instrument unless specifically overridden. Additional values may be used by mutual agreement of the counterparties.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegBusinessCenters',\n    id: 40923,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegBusinessCenter',\n    id: 40924,\n    abbrName: 'Ctr',\n    description:\n      'A business center whose calendar is used for date adjustment, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegBusinessDayConvention',\n    id: 40925,\n    abbrName: 'BizDayCnvtn',\n    description:\n      'The business day convention used for adjusting dates. The value defined here applies to all adjustable dates in the instrument leg unless specifically overridden.',\n  },\n  {\n    type: 'DateRollConventionCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegDateRollConvention',\n    id: 40926,\n    abbrName: 'Roll',\n    description:\n      'The convention for determining a sequence of dates. It is used in conjunction with a specified frequency. The value defined here applies to all adjustable dates in the instrument leg unless specifically overridden.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegPaymentScheduleFixingDateBusinessCenters',\n    id: 40927,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegPaymentScheduleInterimExchangeDateBusinessCenters',\n    id: 40928,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegPaymentStreamNonDeliverableFixingDateBusinessCenters',\n    id: 40929,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegPaymentStreamPaymentDateBusinessCenters',\n    id: 40930,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegPaymentStreamResetDateBusinessCenters',\n    id: 40931,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegPaymentStreamInitialFixingDateBusinessCenters',\n    id: 40932,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegPaymentStreamFixingDateBusinessCenters',\n    id: 40933,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegProvisionCashSettlPaymentDateBusinessCenters',\n    id: 40934,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegProvisionCashSettlValueDateBusinessCenters',\n    id: 40935,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegProvisionOptionExerciseBusinessCenters',\n    id: 40936,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegProvisionOptionExpirationDateBusinessCenters',\n    id: 40937,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegProvisionOptionRelevantUnderlyingDateBusinessCenters',\n    id: 40938,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegProvisionDateBusinessCenters',\n    id: 40939,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegStreamCalculationPeriodBusinessCenters',\n    id: 40940,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegStreamFirstPeriodStartDateBusinessCenters',\n    id: 40941,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegStreamEffectiveDateBusinessCenters',\n    id: 40942,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegStreamTerminationDateBusinessCenters',\n    id: 40943,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoPaymentBusinessCenters',\n    id: 40944,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoPaymentScheduleInterimExchangeDateBusinessCenters',\n    id: 40945,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoPaymentStreamNonDeliverableFixingDatesBusinessCenters',\n    id: 40946,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoPaymentStreamPaymentDateBusinessCenters',\n    id: 40947,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoPaymentStreamResetDateBusinessCenters',\n    id: 40948,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoPaymentStreamInitialFixingDateBusinessCenters',\n    id: 40949,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoPaymentStreamFixingDateBusinessCenters',\n    id: 40950,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoProtectionTermEventNewsSources',\n    id: 40951,\n    description: 'Number of event news sources in the repeating group.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoProvisionCashSettlPaymentDateBusinessCenters',\n    id: 40952,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoProvisionCashSettlValueDateBusinessCenters',\n    id: 40953,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoProvisionOptionExerciseBusinessCenters',\n    id: 40954,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoProvisionOptionExpirationDateBusinessCenters',\n    id: 40955,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoProvisionOptionRelevantUnderlyingDateBusinessCenters',\n    id: 40956,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoProvisionDateBusinessCenters',\n    id: 40957,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoStreamCalculationPeriodBusinessCenters',\n    id: 40958,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoStreamFirstPeriodStartDateBusinessCenters',\n    id: 40959,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'NumInGroup',\n    addedEP: '161',\n    updatedEP: '271',\n    added: 'FIX.5.0SP2',\n    name: 'NoStreamEffectiveDateBusinessCenters',\n    id: 40960,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoStreamTerminationDateBusinessCenters',\n    id: 40961,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingBusinessCenters',\n    id: 40962,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingBusinessCenter',\n    id: 40963,\n    abbrName: 'Ctr',\n    description:\n      'A business center whose calendar is used for date adjustment, e.g. \"GBLO\". See http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingBusinessDayConvention',\n    id: 40964,\n    abbrName: 'BizDayCnvtn',\n    description:\n      'The business day convention used for adjusting dates. The value defined here applies to all adjustable dates in the underlying instrument unless specifically overridden.',\n  },\n  {\n    type: 'DateRollConventionCodeSet',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDateRollConvention',\n    id: 40965,\n    abbrName: 'Roll',\n    description:\n      'The convention for determining a sequence of dates. It is used in conjunction with a specified frequency. The value defined here applies to all adjustable dates in the underlying instrument unless specifically overridden.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingPaymentScheduleFixingDateBusinessCenters',\n    id: 40966,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingPaymentScheduleInterimExchangeDateBusinessCenters',\n    id: 40967,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'NumInGroup',\n    addedEP: '161',\n    updatedEP: '271',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingPaymentStreamNonDeliverableFixingDatesBizCenters',\n    id: 40968,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingPaymentStreamPaymentDateBusinessCenters',\n    id: 40969,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingPaymentStreamResetDateBusinessCenters',\n    id: 40970,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingPaymentStreamInitialFixingDateBusinessCenters',\n    id: 40971,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingPaymentStreamFixingDateBusinessCenters',\n    id: 40972,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingStreamCalculationPeriodBusinessCenters',\n    id: 40973,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingStreamFirstPeriodStartDateBusinessCenters',\n    id: 40974,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingStreamEffectiveDateBusinessCenters',\n    id: 40975,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingStreamTerminationDateBusinessCenters',\n    id: 40976,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'NoPaymentScheduleFixingDateBusinessCenters',\n    id: 40977,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'Length',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedLegStreamTextLen',\n    id: 40978,\n    abbrName: 'EncTxtLen',\n    description:\n      'Byte length of encoded (non-ASCII characters) EncodedLegStreamText(40979) field.',\n  },\n  {\n    type: 'data',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedLegStreamText',\n    id: 40979,\n    abbrName: 'EncTxt',\n    lengthId: '40978',\n    description:\n      'Encoded (non-ASCII characters) representation of the LegStreamText(40248) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the LegStreamText(40248) field.',\n  },\n  {\n    type: 'Length',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedLegProvisionTextLen',\n    id: 40980,\n    abbrName: 'EncTxtLen',\n    description:\n      'Byte length of encoded (non-ASCII characters) EncodedLegProvisionText(40472) field.',\n  },\n  {\n    type: 'data',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedLegProvisionText',\n    id: 40981,\n    abbrName: 'EncTxt',\n    lengthId: '40980',\n    description:\n      'Encoded (non-ASCII characters) representation of the LegProvisionText(40472) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the LegProvisionText(40472) field.',\n  },\n  {\n    type: 'Length',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedStreamTextLen',\n    id: 40982,\n    abbrName: 'EncTxtLen',\n    description:\n      'Byte length of encoded (non-ASCII characters) EncodedStreamText(40983) field.',\n  },\n  {\n    type: 'data',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedStreamText',\n    id: 40983,\n    abbrName: 'EncTxt',\n    lengthId: '40982',\n    description:\n      'Encoded (non-ASCII characters) representation of the StreamText(40056) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the StreamText(40056) field.',\n  },\n  {\n    type: 'Length',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedPaymentTextLen',\n    id: 40984,\n    abbrName: 'EncTxtLen',\n    description:\n      'Byte length of encoded (non-ASCII characters) EncodedPaymentText(40985) field.',\n  },\n  {\n    type: 'data',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedPaymentText',\n    id: 40985,\n    abbrName: 'EncTxt',\n    lengthId: '40984',\n    description:\n      'Encoded (non-ASCII characters) representation of the PaymentText(40229) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the PaymentText(40229) field.',\n  },\n  {\n    type: 'Length',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedProvisionTextLen',\n    id: 40986,\n    abbrName: 'EncTxtLen',\n    description:\n      'Byte length of encoded (non-ASCII characters) EncodedProvisionText(40987) field.',\n  },\n  {\n    type: 'data',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedProvisionText',\n    id: 40987,\n    abbrName: 'EncTxt',\n    lengthId: '40986',\n    description:\n      'Encoded (non-ASCII characters) representation of the ProvisionText(40113) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the ProvisionText(40113) field.',\n  },\n  {\n    type: 'Length',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedUnderlyingStreamTextLen',\n    id: 40988,\n    abbrName: 'EncTxtLen',\n    description:\n      'Byte length of encoded (non-ASCII characters) EncodedUnderlyingStreamText(40989) field.',\n  },\n  {\n    type: 'data',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedUnderlyingStreamText',\n    id: 40989,\n    abbrName: 'EncTxt',\n    lengthId: '40988',\n    description:\n      'Encoded (non-ASCII characters) representation of the UnderlyingStreamText(40547) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the UnderlyingStreamText(40547) field.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionCashSettlQuoteReferencePage',\n    id: 41406,\n    abbrName: 'RefPg',\n    description: 'Identifies the reference \"page\" from the quote source.',\n  },\n  {\n    type: 'String',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionCashSettlQuoteReferencePage',\n    id: 41407,\n    abbrName: 'RefPg',\n    description: 'Identifies the reference \"page\" from the quote source.',\n  },\n  {\n    type: 'MonthYear',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'EventMonthYear',\n    id: 2340,\n    abbrName: 'MoYr',\n    description:\n      'Used with derivatives when an event is express as a month-year with optional day or month or week of month.\\n\\nFormat:\\n\\nYYYYMM (e.g. 199903)\\n\\nYYYYMMDD (e.g. 20030323)\\n\\nYYYYMMwN (e.g. 200303w2) for week\\n\\nA specific date can be appended to the month-year. For instance, if multiple event types exist in the same Year and Month, but actually at a different time, a value can be appended, such as \"w\" or \"w2\" to indicate week. Likewise, the day of monty (0-31) can be appended to indicate a specific event date.',\n  },\n  {\n    type: 'MonthYear',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'LegEventMonthYear',\n    id: 2341,\n    abbrName: 'MoYr',\n    description:\n      'Used with derivatives when an event is express as a month-year with optional day or month or week of month.\\n\\nFormat:\\n\\nYYYYMM (e.g. 199903)\\n\\nYYYYMMDD (e.g. 20030323)\\n\\nYYYYMMwN (e.g. 200303w2) for week\\n\\nA specific date can be appended to the month-year. For instance, if multiple event types exist in the same Year and Month, but actually at a different time, a value can be appended, such as \"w\" or \"w2\" to indicate week. Likewise, the day of monty (0-31) can be appended to indicate a specific event date.',\n  },\n  {\n    type: 'MonthYear',\n    addedEP: '161',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingEventMonthYear',\n    id: 2342,\n    abbrName: 'MoYr',\n    description:\n      'Used with derivatives when an event is express as a month-year with optional day or month or week of month.\\n\\nFormat:\\n\\nYYYYMM (e.g. 199903)\\n\\nYYYYMMDD (e.g. 20030323)\\n\\nYYYYMMwN (e.g. 200303w2) for week\\n\\nA specific date can be appended to the month-year. For instance, if multiple event types exist in the same Year and Month, but actually at a different time, a value can be appended, such as \"w\" or \"w2\" to indicate week. Likewise, the day of monty (0-31) can be appended to indicate a specific event date.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '162',\n    added: 'FIX.5.0SP2',\n    name: 'PreviousClearingBusinessDate',\n    id: 2084,\n    abbrName: 'PrevBizDt',\n    description: 'The date of the previous clearing business day.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'LocalMktDate',\n    addedEP: '162',\n    updatedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'ValuationDate',\n    id: 2085,\n    abbrName: 'ValDt',\n    description: 'The valuation date of the trade.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'LocalMktTime',\n    addedEP: '162',\n    updatedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'ValuationTime',\n    id: 2086,\n    abbrName: 'ValTm',\n    description: 'The valuation time of the trade.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'String',\n    addedEP: '162',\n    updatedEP: '271',\n    added: 'FIX.5.0SP2',\n    name: 'ValuationBusinessCenter',\n    id: 2087,\n    abbrName: 'ValBizCtr',\n    description:\n      'Identifies the business center whose calendar is used for valuation, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'float',\n    addedEP: '162',\n    added: 'FIX.5.0SP2',\n    name: 'MarginAmtFXRate',\n    id: 2088,\n    abbrName: 'FxRt',\n    description:\n      'Foreign exchange rate used to compute the MarginAmt(1645) from the MarginAmtCcy(1646) and the Currency(15).',\n  },\n  {\n    type: 'UnderlyingFXRateCalcCodeSet',\n    addedEP: '162',\n    added: 'FIX.5.0SP2',\n    name: 'MarginAmtFXRateCalc',\n    id: 2089,\n    abbrName: 'FxRtCalc',\n    description:\n      'Specifies whether or not MarginAmtFXRate(2088) should be multipled or divided.',\n  },\n  {\n    type: 'float',\n    addedEP: '162',\n    added: 'FIX.5.0SP2',\n    name: 'CollateralFXRate',\n    id: 2090,\n    abbrName: 'FxRt',\n    description:\n      'Foreign exchange rate used to compute the CurrentCollateralAmount(1704) from the CollateralCurrency(1646) and the Currency(15).',\n  },\n  {\n    type: 'UnderlyingFXRateCalcCodeSet',\n    addedEP: '162',\n    added: 'FIX.5.0SP2',\n    name: 'CollateralFXRateCalc',\n    id: 2091,\n    abbrName: 'FxRtCalc',\n    description:\n      'Specifies whether or not CollateralFXRate(2090) should be multipled or divided.',\n  },\n  {\n    type: 'String',\n    addedEP: '162',\n    added: 'FIX.5.0SP2',\n    name: 'CollateralAmountMarketSegmentID',\n    id: 2092,\n    abbrName: 'MktSegID',\n    description: 'Market segment associated with the collateral amount.',\n  },\n  {\n    type: 'String',\n    addedEP: '162',\n    added: 'FIX.5.0SP2',\n    name: 'CollateralAmountMarketID',\n    id: 2093,\n    abbrName: 'MktID',\n    description: 'Market associated with the collateral amount.',\n  },\n  {\n    type: 'float',\n    addedEP: '162',\n    added: 'FIX.5.0SP2',\n    name: 'PayCollectFXRate',\n    id: 2094,\n    abbrName: 'FxRt',\n    description:\n      'Foreign exchange rate used to compute the PayAmount(1710) or CollectAmount(1711) from the PayCollectCurrency(1709) and the Currency(15).',\n  },\n  {\n    type: 'UnderlyingFXRateCalcCodeSet',\n    addedEP: '162',\n    added: 'FIX.5.0SP2',\n    name: 'PayCollectFXRateCalc',\n    id: 2095,\n    abbrName: 'FxRtCalc',\n    description:\n      'Specifies whether or not PayCollectFXRate(2094) should be multipled or divided.',\n  },\n  {\n    type: 'String',\n    addedEP: '162',\n    added: 'FIX.5.0SP2',\n    name: 'PosAmtStreamDesc',\n    id: 2096,\n    abbrName: 'StrmDesc',\n    description:\n      'Corresponds to the value in StreamDesc(40051) in the StreamGrp component.',\n  },\n  {\n    type: 'float',\n    addedEP: '162',\n    added: 'FIX.5.0SP2',\n    name: 'PositionFXRate',\n    id: 2097,\n    abbrName: 'FxRt',\n    description:\n      'Foreign exchange rate used to compute the PosAmt(708) from the PositionCurrency(1055) and the Currency (15).',\n  },\n  {\n    type: 'UnderlyingFXRateCalcCodeSet',\n    addedEP: '162',\n    added: 'FIX.5.0SP2',\n    name: 'PositionFXRateCalc',\n    id: 2098,\n    abbrName: 'FxRtCalc',\n    description:\n      'Specifies whether or not PositionFXRate(2097) should be multipled or divided.',\n  },\n  {\n    type: 'String',\n    addedEP: '162',\n    added: 'FIX.5.0SP2',\n    name: 'PosAmtMarketSegmentID',\n    id: 2099,\n    abbrName: 'MktSegID',\n    description: 'Market segment associated with the position amount.',\n  },\n  {\n    type: 'String',\n    addedEP: '162',\n    added: 'FIX.5.0SP2',\n    name: 'PosAmtMarketID',\n    id: 2100,\n    abbrName: 'MktID',\n    description: 'Market associated with the position amount.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '162',\n    added: 'FIX.5.0SP2',\n    name: 'TerminatedIndicator',\n    id: 2101,\n    abbrName: 'TrmtdInd',\n    description: 'Indicates if the position has been terminated.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '164',\n    added: 'FIX.5.0SP2',\n    name: 'ShortMarkingExemptIndicator',\n    id: 2102,\n    abbrName: 'SMEInd',\n    description:\n      'Indicates whether the originating account is exempt (Y) from marking orders as short or not (N). This designation may be used on both buy and sell orders.',\n  },\n  {\n    type: 'String',\n    addedEP: '165',\n    added: 'FIX.5.0SP2',\n    name: 'RelatedRegulatoryTradeIDSource',\n    id: 2103,\n    abbrName: 'RegSrc',\n    description:\n      'Specifies the identifier of the reporting entity as assigned by regulatory agency.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '167',\n    added: 'FIX.5.0SP2',\n    name: 'NoAttachments',\n    id: 2104,\n    description: 'The number of attached files.',\n  },\n  {\n    type: 'String',\n    addedEP: '167',\n    added: 'FIX.5.0SP2',\n    name: 'AttachmentName',\n    id: 2105,\n    abbrName: 'Name',\n    description: 'Specifies the file name of the attachment.',\n  },\n  {\n    type: 'String',\n    addedEP: '167',\n    added: 'FIX.5.0SP2',\n    name: 'AttachmentMediaType',\n    id: 2106,\n    abbrName: 'MediaTyp',\n    description:\n      'The MIME media type (and optional subtype) of the attachment. The values used are those assigned, listed and maintained by IANA (www.iana.org) [RFC2046]. See http://www.iana.org/assignments/media-types/index.html for available types.\\n\\nExamples values (RFC number provided for reference here only):\\n\\n\"application/pdf\" (see [RFC3778])\\n\\n\"application/msword\" (for .doc files)\\n\\n\"multipart/signed\" (see [RFC1847])\\n\\n\"application/vnd.openxmlformats-officedocument.wordprocessingml.document\" (for .docx files)',\n  },\n  {\n    type: 'String',\n    addedEP: '167',\n    added: 'FIX.5.0SP2',\n    name: 'AttachmentClassification',\n    id: 2107,\n    abbrName: 'Clsfn',\n    description:\n      'Specifies semantically the type of the attached document from a business perspective. The default classification scheme reuses the FIX standard classification scheme of a high level section (pretrade, trade, posttrade, etc.) and a category, then a specific application or document type. The expression follows {\"section/category/application type\"}.\\n\\nThe goal here is to map the attachment into the sections and categories of the FIX business messages if possible. The classification scheme can be expanded or replaced by counterparty agreement. This approach permits the introduction and reference to other business ontologies.\\n\\nExample:\\n\\nposttrade/confirmation/confirm\\n\\npretrade//termsheet',\n  },\n  {\n    type: 'String',\n    addedEP: '167',\n    added: 'FIX.5.0SP2',\n    name: 'AttachmentExternalURL',\n    id: 2108,\n    abbrName: 'URL',\n    description: 'Used to specify an external URL where the attachment can be obtained.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'AttachmentEncodingTypeCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '167',\n    updatedEP: '271',\n    added: 'FIX.5.0SP2',\n    name: 'AttachmentEncodingType',\n    id: 2109,\n    abbrName: 'EncTyp',\n    description:\n      'The encoding type of the content provided in EncodedAttachment(2112).\\n\\nThe AttachmentEncodingType(2109) is a distinct and separate concept from MessageEncoding(347) that defines how FIX fields of type data are encoded. The MessageEncoding(347) is used to embed text in another character set (e.g. Unicode or Shift-JIS) within FIX.',\n  },\n  {\n    type: 'int',\n    addedEP: '167',\n    added: 'FIX.5.0SP2',\n    name: 'UnencodedAttachmentLen',\n    id: 2110,\n    abbrName: 'UnencAttchmntLen',\n    description:\n      'Unencoded content length in bytes. Can be used to validate successful unencoding.',\n  },\n  {\n    type: 'Length',\n    addedEP: '167',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedAttachmentLen',\n    id: 2111,\n    abbrName: 'EncAttchmntLen',\n    description: 'Byte length of encoded the EncodedAttachment(2112) field.',\n  },\n  {\n    type: 'data',\n    addedEP: '167',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedAttachment',\n    id: 2112,\n    abbrName: 'EncAttchmnt',\n    lengthId: '2111',\n    description:\n      'The content of the attachment in the encoding format specified in the AttachmentEncodingType(2109) field.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '167',\n    added: 'FIX.5.0SP2',\n    name: 'NoAttachmentKeywords',\n    id: 2113,\n    description: 'The number of attachment keywords.',\n  },\n  {\n    type: 'String',\n    addedEP: '167',\n    added: 'FIX.5.0SP2',\n    name: 'AttachmentKeyword',\n    id: 2114,\n    abbrName: 'Keywd',\n    description:\n      'Can be used to provide data or keyword tagging of the content of the attachment.',\n  },\n  {\n    type: 'NegotiationMethodCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '168',\n    added: 'FIX.5.0SP2',\n    name: 'NegotiationMethod',\n    id: 2115,\n    abbrName: 'NegottnMeth',\n    description: 'Specifies the negotiation method to be used.',\n  },\n  {\n    type: 'UTCTimestamp',\n    addedEP: '168',\n    added: 'FIX.5.0SP2',\n    name: 'NextAuctionTime',\n    id: 2116,\n    abbrName: 'NxtAuctTm',\n    description: 'The time of the next auction.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoAssetAttributes',\n    id: 2304,\n    description: 'The number of asset attribute entries in the group.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'AssetAttributeType',\n    id: 2305,\n    abbrName: 'Typ',\n    description:\n      'Specifies the name of the attribute.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Asset_Attribute_Types for code list of applicable asset attribute types.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'AssetAttributeValue',\n    id: 2306,\n    abbrName: 'Val',\n    description: 'Specifies the value of the asset attribute.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'AssetAttributeLimit',\n    id: 2307,\n    abbrName: 'Lmt',\n    description: 'Limit or lower acceptable value of the attribute.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'float',\n    addedEP: '169',\n    updatedEP: '204',\n    added: 'FIX.5.0SP2',\n    name: 'CommRate',\n    id: 1233,\n    abbrName: 'Rt',\n    description:\n      'The commission rate when Commission(12) is based on a percentage of quantity, amount per unit or a factor of \"unit of measure\". If the rate is a percentage, use the decimalized form, e.g. \"0.05\" for a 5% commission or \"0.005\" for 50 basis points.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'UnitOfMeasureCodeSet',\n    addedEP: '169',\n    updatedEP: '204',\n    added: 'FIX.5.0SP2',\n    name: 'CommUnitOfMeasure',\n    id: 1238,\n    abbrName: 'UOM',\n    description: 'The commission rate unit of measure.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoComplexEventAveragingObservations',\n    id: 40994,\n    description: 'The number of averaging observations in the repeating group.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'ComplexEventAveragingObservationNumber',\n    id: 40995,\n    abbrName: 'ObsvtnNum',\n    description:\n      'Cross reference to the ordinal observation as specified either in the ComplexEventScheduleGrp or ComplexEventPeriodDateGrp components.',\n  },\n  {\n    type: 'float',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'ComplexEventAveragingWeight',\n    id: 40996,\n    abbrName: 'Wt',\n    description: 'The weight factor to be applied to the observation.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoComplexEventCreditEvents',\n    id: 40997,\n    description: 'The number of credit events specified in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'ComplexEventCreditEventType',\n    id: 40998,\n    abbrName: 'Typ',\n    description:\n      'Specifies the type of credit event.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Credit_Event_Types for code list of applicable event types.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'ComplexEventCreditEventValue',\n    id: 40999,\n    abbrName: 'Val',\n    description:\n      'The credit event value appropriate to ComplexEventCreditEventType(40998).\\n\\nSee http://www.fixtradingcommunity.org/codelists#Credit_Event_Types for applicable event type values.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'ComplexEventCreditEventCurrency',\n    id: 41000,\n    abbrName: 'Ccy',\n    description:\n      'Specifies the applicable currency when ComplexEventCreditEventValue(40999) is an amount. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'ComplexEventCreditEventPeriod',\n    id: 41001,\n    abbrName: 'Period',\n    description: 'Time unit multiplier for complex credit events.',\n  },\n  {\n    type: 'ProtectionTermEventUnitCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'ComplexEventCreditEventUnit',\n    id: 41002,\n    abbrName: 'Unit',\n    description: 'Time unit associated with complex credit events.',\n  },\n  {\n    type: 'ComplexEventDateOffsetDayTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'ComplexEventCreditEventDayType',\n    id: 41003,\n    abbrName: 'DayTyp',\n    description: 'Specifies the day type for the complex credit events.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'ComplexEventCreditEventRateSource',\n    id: 41004,\n    abbrName: 'RtSrc',\n    description:\n      'Identifies the source of rate information used for credit events.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Credit_Event_Rate_Source for code list of applicable sources.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoComplexEventCreditEventQualifiers',\n    id: 41005,\n    description: 'The number of qualifiers in the repeating group.',\n  },\n  {\n    type: 'ProtectionTermEventQualifierCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'ComplexEventCreditEventQualifier',\n    id: 41006,\n    abbrName: 'Qual',\n    description:\n      'Specifies a complex event qualifier. Used to further qualify ComplexEventCreditEventType(40998).',\n  },\n];\n\nconst batch5: ISpecFields[] = [\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoComplexEventPeriodDateTimes',\n    id: 41007,\n    description: 'The number of entries in the date-time repeating group.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'ComplexEventPeriodDate',\n    id: 41008,\n    abbrName: 'Dt',\n    description:\n      'The averaging date for an Asian option.\\n\\nThe trigger date for a Barrier or Knock option.',\n  },\n  {\n    type: 'LocalMktTime',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'ComplexEventPeriodTime',\n    id: 41009,\n    abbrName: 'Tm',\n    description: 'The averaging time for an Asian option.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoComplexEventPeriods',\n    id: 41010,\n    description: 'The number of periods in the repeating group.',\n  },\n  {\n    type: 'ComplexEventPeriodTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'ComplexEventPeriodType',\n    id: 41011,\n    abbrName: 'Typ',\n    description: 'Specifies the period type.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'ComplexEventBusinessCenter',\n    id: 41012,\n    abbrName: 'BizCtr',\n    description:\n      'The business center used to determine dates and times in the schedule or date-time group.\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoComplexEventRateSources',\n    id: 41013,\n    description: 'The number of rate sources in the repeating group.',\n  },\n  {\n    type: 'RateSourceCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'ComplexEventRateSource',\n    id: 41014,\n    abbrName: 'RtSrc',\n    description:\n      'Identifies the source of rate information.\\n\\nFor FX, the reference source to be used for the FX spot rate.',\n  },\n  {\n    type: 'RateSourceTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'ComplexEventRateSourceType',\n    id: 41015,\n    abbrName: 'RtSrcTyp',\n    description:\n      'Indicates whether the rate source specified is a primary or secondary source.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'ComplexEventReferencePage',\n    id: 41016,\n    abbrName: 'RefPg',\n    description:\n      'Identifies the reference page from the rate source.\\n\\nFor FX, the reference page to the spot rate is to be used for the reference FX spot rate.\\n\\nWhen ComplexEventRateSource(41014) = 3 (ISDA Settlement Rate Option) this contains the value from the scheme that reflects the terms of the Annex A to the ISDA 1998 FX and Currency Option Definitions. See: http://www.fpml.org/coding-scheme/settlement-rate-option.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'ComplexEventReferencePageHeading',\n    id: 41017,\n    abbrName: 'RefHdng',\n    description: 'Identifies the reference page heading from the rate source.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoComplexEventDateBusinessCenters',\n    id: 41018,\n    description: 'The number of business centers in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'ComplexEventDateBusinessCenter',\n    id: 41019,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used to adjust the complex event date, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'LocalMktDate',\n    addedEP: '169',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ComplexEventDateUnadjusted',\n    id: 41020,\n    abbrName: 'DtUnadj',\n    description:\n      'The unadjusted complex event date.\\n\\nFor example the second expiration date for a calendar spread option strategy.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '169',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ComplexEventDateRelativeTo',\n    id: 41021,\n    abbrName: 'Reltv',\n    description:\n      'Specifies the anchor date when the complex event date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'ComplexEventDateOffsetPeriod',\n    id: 41022,\n    abbrName: 'OfstPeriod',\n    description: 'Time unit multiplier for the relative date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'ComplexEventDateOffsetUnit',\n    id: 41023,\n    abbrName: 'OfstUnit',\n    description: 'Time unit associated with the relative date offset.',\n  },\n  {\n    type: 'ComplexEventDateOffsetDayTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'ComplexEventDateOffsetDayType',\n    id: 41024,\n    abbrName: 'OfstDayTyp',\n    description: 'Specifies the day type of the relative date offset.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'ComplexEventDateBusinessDayConvention',\n    id: 41025,\n    abbrName: 'BizDayCnvtn',\n    description:\n      'The business day convention used to adjust the complex event date. Used only to override the business day convention specified in the DateAdjustment component within the Instrument component.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'ComplexEventDateAdjusted',\n    id: 41026,\n    abbrName: 'Dt',\n    description: 'The adjusted complex event date.',\n  },\n  {\n    type: 'LocalMktTime',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'ComplexEventFixingTime',\n    id: 41027,\n    abbrName: 'FixngTm',\n    description: 'The local market fixing time.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'ComplexEventFixingTimeBusinessCenter',\n    id: 41028,\n    abbrName: 'FixngBizCtr',\n    description:\n      'The business center calendar used to determine the actual fixing times.\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoComplexEventCreditEventSources',\n    id: 41029,\n    description: 'Number of event sources in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'ComplexEventCreditEventSource',\n    id: 41030,\n    abbrName: 'Src',\n    description:\n      'A newspaper or electronic news service that may publish relevant information used in the determination of whether or not a credit event has occurred.',\n  },\n  {\n    type: 'PaymentPaySideCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'ComplexOptPayoutPaySide',\n    id: 2117,\n    abbrName: 'OptPay',\n    description: 'Trade side of payout payer.',\n  },\n  {\n    type: 'PaymentPaySideCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'ComplexOptPayoutReceiveSide',\n    id: 2118,\n    abbrName: 'OptRcv',\n    description: 'Trade side of payout receiver.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'ComplexOptPayoutUnderlier',\n    id: 2119,\n    abbrName: 'OptUndlr',\n    description: 'Reference to the underlier whose payments are being passed through.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'ComplexOptPayoutPercentage',\n    id: 2120,\n    abbrName: 'OptPctage',\n    description:\n      'Percentage of observed price for calculating the payout associated with the event.',\n  },\n  {\n    type: 'ComplexOptPayoutTimeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'ComplexOptPayoutTime',\n    id: 2121,\n    abbrName: 'OptTm',\n    description: 'Specifies when the payout is to occur.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'Currency',\n    addedEP: '169',\n    updatedEP: '273',\n    added: 'FIX.5.0SP2',\n    name: 'ComplexOptPayoutCurrency',\n    id: 2122,\n    abbrName: 'OptCcy',\n    description:\n      'Specifies the currency of the payout amount.\\n\\nComplexOptPayoutCurrencyCodeSource(2941) may be used to disambiguate the code source scheme used, and ISO 4217 is the default scheme if absent.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'ComplexEventPricePercentage',\n    id: 2123,\n    abbrName: 'PxPctage',\n    description:\n      'Specifies the price percentage at which the complex event takes effect. Impact of the event price is determined by the ComplexEventType(1484).',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'Currency',\n    addedEP: '169',\n    updatedEP: '273',\n    added: 'FIX.5.0SP2',\n    name: 'ComplexEventCurrencyOne',\n    id: 2124,\n    abbrName: 'Ccy1',\n    description:\n      'Specifies the first or only reference currency of the trade.\\n\\nComplexEventCurrencyOneCodeSource(2942) may be used to disambiguate the code source scheme used, and ISO 4217 is the default scheme if absent.\\n\\nApplicable for complex FX option strategies.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'Currency',\n    addedEP: '169',\n    updatedEP: '273',\n    added: 'FIX.5.0SP2',\n    name: 'ComplexEventCurrencyTwo',\n    id: 2125,\n    abbrName: 'Ccy2',\n    description:\n      'Specifies the second reference currency of the trade.\\n\\nComplexEventCurrencyTwoCodeSource(2943) may be used to disambiguate the code source scheme used, and ISO 4217 is the default scheme if absent.\\n\\nApplicable for complex FX option strategies.',\n  },\n  {\n    type: 'ComplexEventQuoteBasisCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'ComplexEventQuoteBasis',\n    id: 2126,\n    abbrName: 'QteBasis',\n    description: 'For foreign exchange Quanto option feature.',\n  },\n  {\n    type: 'float',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'ComplexEventFixedFXRate',\n    id: 2127,\n    abbrName: 'Rt',\n    description: 'Specifies the fixed FX rate alternative for FX Quantro options.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'ComplexEventDeterminationMethod',\n    id: 2128,\n    abbrName: 'Meth',\n    description:\n      'Specifies the method according to which an amount or a date is determined.\\n\\nSee http://www.fpml.org/coding-scheme/determination-method for values.',\n  },\n  {\n    type: 'ProvisionCalculationAgentCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'ComplexEventCalculationAgent',\n    id: 2129,\n    abbrName: 'CalcAgent',\n    description: 'Used to identify the calculation agent.',\n  },\n  {\n    type: 'Price',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'ComplexEventStrikePrice',\n    id: 2130,\n    abbrName: 'StrkPx',\n    description:\n      'Upper strike price for Asian option feature. Strike percentage for a Strike Spread.',\n  },\n  {\n    type: 'float',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'ComplexEventStrikeFactor',\n    id: 2131,\n    abbrName: 'StrkFctr',\n    description:\n      'Strike factor for Asian option feature. Upper strike percentage for a Strike Spread.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'ComplexEventStrikeNumberOfOptions',\n    id: 2132,\n    abbrName: 'StrkNum',\n    description: 'Upper string number of options for a Strike Spread.',\n  },\n  {\n    type: 'XIDREF',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'ComplexEventCreditEventsXIDRef',\n    id: 2133,\n    abbrName: 'CdtEvntXIDRef',\n    description: 'Reference to credit event table elsewhere in the message.',\n  },\n  {\n    type: 'ComplexEventCreditEventNotifyingPartyCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'ComplexEventCreditEventNotifyingParty',\n    id: 2134,\n    abbrName: 'NotifygPty',\n    description:\n      'The notifying party is the party that notifies the other party when a credit event has occurred by means of a credit event notice. If more than one party is referenced as being the notifying party then either party may notify the other of a credit event occurring.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'ComplexEventCreditEventBusinessCenter',\n    id: 2135,\n    abbrName: 'BizCtr',\n    description:\n      'The local business center for which the credit event is to be determined. The inclusion of this business center implies that Greenwich Mean Time in Section 3.3 of the 2003 ISDA Credit Derivatives Definitions is replaced by the local time of the specified business center.\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'ComplexEventCreditEventStandardSources',\n    id: 2136,\n    abbrName: 'StdSrcs',\n    description:\n      \"When this element is specified and set to 'Y', indicates that ISDA defined Standard Public Sources are applicable.\",\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'ComplexEventCreditEventMinimumSources',\n    id: 2137,\n    abbrName: 'MinSrcs',\n    description:\n      'The minimum number of the specified public information sources that must publish information that reasonably confirms that a credit event has occurred. The market convention is two.\\n\\nISDA 2003 Term: Specified Number.',\n  },\n  {\n    type: 'XID',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'ComplexEventXID',\n    id: 2138,\n    abbrName: 'XID',\n    description:\n      'Identifier of this complex event for cross referencing elsewhere in the message.',\n  },\n  {\n    type: 'XIDREF',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'ComplexEventXIDRef',\n    id: 2139,\n    abbrName: 'XIDRef',\n    description: 'Reference to a complex event elsewhere in the message.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoComplexEventSchedules',\n    id: 41031,\n    description: 'Number of schedules in the repeating group.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'ComplexEventScheduleStartDate',\n    id: 41032,\n    abbrName: 'StartDt',\n    description: 'The start date of the schedule.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'ComplexEventScheduleEndDate',\n    id: 41033,\n    abbrName: 'EndDt',\n    description: 'The end date of the schedule.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'ComplexEventScheduleFrequencyPeriod',\n    id: 41034,\n    abbrName: 'FreqPeriod',\n    description: 'Time unit multiplier for the schedule date frequency.',\n  },\n  {\n    type: 'ProtectionTermEventUnitCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'ComplexEventScheduleFrequencyUnit',\n    id: 41035,\n    abbrName: 'FreqUnit',\n    description: 'Time unit associated with the schedule date frequency.',\n  },\n  {\n    type: 'DateRollConventionCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'ComplexEventScheduleRollConvention',\n    id: 41036,\n    abbrName: 'Roll',\n    description:\n      'The convention for determining the sequence of dates. It is used in conjunction with a specified frequency. Used only to override the roll convention defined in the DateAdjustment component in Instrument.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoDeliverySchedules',\n    id: 41037,\n    description: 'Number of delivery schedules in the repeating group.',\n  },\n  {\n    type: 'DeliveryScheduleTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'DeliveryScheduleType',\n    id: 41038,\n    abbrName: 'Typ',\n    description: 'Specifies the type of delivery schedule.',\n  },\n  {\n    type: 'XID',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'DeliveryScheduleXID',\n    id: 41039,\n    abbrName: 'XID',\n    description:\n      'Identifier for this instance of delivery schedule for cross referencing elsewhere in the message.',\n  },\n  {\n    type: 'Qty',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'DeliveryScheduleNotional',\n    id: 41040,\n    abbrName: 'Notl',\n    description: 'Physical delivery quantity.',\n  },\n  {\n    type: 'UnitOfMeasureCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'DeliveryScheduleNotionalUnitOfMeasure',\n    id: 41041,\n    abbrName: 'NotlUOM',\n    description: 'Specifies the delivery quantity unit of measure (UOM).',\n  },\n  {\n    type: 'StreamNotionalCommodityFrequencyCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'DeliveryScheduleNotionalCommodityFrequency',\n    id: 41042,\n    abbrName: 'NotlFreq',\n    description: 'The frequency of notional delivery.',\n  },\n  {\n    type: 'float',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'DeliveryScheduleNegativeTolerance',\n    id: 41043,\n    abbrName: 'NegtvTlrnc',\n    description:\n      'Specifies the negative tolerance value. The value may be an absolute quantity or a percentage, as specified in DeliveryScheduleToleranceType(41046). Percentage value is to be expressed relative to \"1.0\" representing 100% (e.g. a value of \"0.0575\" represents 5.75%).',\n  },\n  {\n    type: 'float',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'DeliverySchedulePositiveTolerance',\n    id: 41044,\n    abbrName: 'PostvTlrnc',\n    description:\n      'Specifies the positive tolerance value. The value may be an absolute quantity or a percentage, as specified in DeliveryScheduleToleranceType(41046). Value may exceed agreed upon value. Percentage value is to be expressed relative to \"1.0\" representing 100% (e.g. a value of \"0.0575\" represents 5.75%).',\n  },\n  {\n    type: 'UnitOfMeasureCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'DeliveryScheduleToleranceUnitOfMeasure',\n    id: 41045,\n    abbrName: 'TlrncUOM',\n    description: \"Specifies the tolerance value's unit of measure (UOM).\",\n  },\n  {\n    type: 'DeliveryScheduleToleranceTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'DeliveryScheduleToleranceType',\n    id: 41046,\n    abbrName: 'TlrncTyp',\n    description: 'Specifies the tolerance value type.',\n  },\n  {\n    type: 'Country',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'DeliveryScheduleSettlCountry',\n    id: 41047,\n    abbrName: 'Ctry',\n    description:\n      'Specifies the country where delivery takes place. Uses ISO 3166 2-character country code.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'DeliveryScheduleSettlTimeZone',\n    id: 41048,\n    abbrName: 'TZ',\n    description:\n      'Delivery timezone specified as \"prevailing\" rather than \"standard\" or \"daylight\".\\n\\nSee http://www.fixtradingcommunity.org/codelists#Prevailing_Timezones for code list of applicable prevailing timezones.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'DeliveryScheduleSettlFlowTypeCodeSet',\n    addedEP: '169',\n    updatedEP: '179',\n    added: 'FIX.5.0SP2',\n    name: 'DeliveryScheduleSettlFlowType',\n    id: 41049,\n    abbrName: 'FlowTyp',\n    description: 'Specifies the commodity delivery flow type.',\n  },\n  {\n    type: 'DeliveryScheduleSettlHolidaysProcessingInstructionCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'DeliveryScheduleSettlHolidaysProcessingInstruction',\n    id: 41050,\n    abbrName: 'Holidays',\n    description:\n      'Indicates whether holidays are included in the settlement periods. Required for electricity contracts.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoDeliveryScheduleSettlDays',\n    id: 41051,\n    description: 'Number of delivery schedules in the repeating group.',\n  },\n  {\n    type: 'DeliveryScheduleSettlDayCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'DeliveryScheduleSettlDay',\n    id: 41052,\n    abbrName: 'Day',\n    description: 'Specifies the day or group of days for delivery.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'DeliveryScheduleSettlTotalHours',\n    id: 41053,\n    abbrName: 'TotHrs',\n    description:\n      'The sum of the total hours specified in the DeliveryScheduleSettlTimeGrp component.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoDeliveryScheduleSettlTimes',\n    id: 41054,\n    description: 'Number of hour ranges in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'DeliveryScheduleSettlStart',\n    id: 41055,\n    abbrName: 'Start',\n    description:\n      'The scheduled start time for the delivery of the commodity where delivery occurs over specified times. The format of the time value is specified in DeliveryScheduleSettlTimeType(41057).',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'DeliveryScheduleSettlEnd',\n    id: 41056,\n    abbrName: 'End',\n    description:\n      'The scheduled end time for the delivery of the commodity where delivery occurs over specified times. The format of the time value is specified in DeliveryScheduleSettlTimeType(41057).',\n  },\n  {\n    type: 'DeliveryScheduleSettlTimeTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'DeliveryScheduleSettlTimeType',\n    id: 41057,\n    abbrName: 'Typ',\n    description: 'Specifies the format of the delivery start and end time values.',\n  },\n  {\n    type: 'DeliveryStreamTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'DeliveryStreamType',\n    id: 41058,\n    abbrName: 'Typ',\n    description: 'Specifies the type of delivery stream.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'DeliveryStreamPipeline',\n    id: 41059,\n    abbrName: 'Ppln',\n    description: 'The name of the oil delivery pipeline.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'DeliveryStreamEntryPoint',\n    id: 41060,\n    abbrName: 'EntryPnt',\n    description:\n      'The point at which the commodity will enter the delivery mechanism or pipeline.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'DeliveryStreamWithdrawalPoint',\n    id: 41061,\n    abbrName: 'WthdrwlPnt',\n    description:\n      'The point at which the commodity product will be withdrawn prior to delivery.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'DeliveryStreamDeliveryPoint',\n    id: 41062,\n    abbrName: 'DlvryPnt',\n    discriminatorId: '42192',\n    description:\n      'The point at which the commodity product will be delivered and received. Value specified should follow market convention appropriate for the commodity product.\\n\\nFor bullion, see http://www.fpml.org/coding-scheme/bullion-delivery-location for values.',\n  },\n  {\n    type: 'DeliveryStreamDeliveryRestrictionCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'DeliveryStreamDeliveryRestriction',\n    id: 41063,\n    abbrName: 'DlvryRstctn',\n    description:\n      'Specifies under what conditions the buyer and seller should be excused of their delivery obligations.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'DeliveryStreamDeliveryContingency',\n    id: 41064,\n    abbrName: 'Cntgncy',\n    description:\n      'Specifies the electricity delivery contingency.\\n\\nSee http://www.fpml.org/coding-scheme/electricity-transmission-contingency for values.',\n  },\n  {\n    type: 'DeliveryStreamElectingPartySideCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'DeliveryStreamDeliveryContingentPartySide',\n    id: 41065,\n    abbrName: 'CntgPty',\n    description:\n      'The trade side value of the party responsible for electricity delivery contingency.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'DeliveryStreamDeliverAtSourceIndicator',\n    id: 41066,\n    abbrName: 'DlvrAtSrc',\n    description:\n      \"When this element is specified and set to 'Y', delivery of the coal product is to be at its source.\",\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'DeliveryStreamRiskApportionment',\n    id: 41067,\n    abbrName: 'RiskApprtnmt',\n    discriminatorId: '41218',\n    description:\n      'Specifies how the parties to the trade apportion responsibility for the delivery of the commodity product.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Risk_Apportionment for the details of the external code list.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'DeliveryStreamRiskApportionmentSource',\n    id: 41218,\n    abbrName: 'RiskApprtnmtSrc',\n    description:\n      'Specifies the source or legal framework for the risk apportionment.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Risk_Apportionment_Source for the details of the external code list.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'DeliveryStreamTitleTransferLocation',\n    id: 41068,\n    abbrName: 'TtlXfer',\n    description: 'Specifies the title transfer location.',\n  },\n  {\n    type: 'DeliveryStreamTitleTransferConditionCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'DeliveryStreamTitleTransferCondition',\n    id: 41069,\n    abbrName: 'TtlXferCond',\n    description: 'Specifies the condition of title transfer.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'DeliveryStreamImporterOfRecord',\n    id: 41070,\n    abbrName: 'Imprtr',\n    description:\n      'A party, not necessarily of the trade, who is the Importer of Record for the purposes of paying customs duties and applicable taxes or costs related to importation.',\n  },\n  {\n    type: 'float',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'DeliveryStreamNegativeTolerance',\n    id: 41071,\n    abbrName: 'NegtvTlrnc',\n    description:\n      'Specifies the negative tolerance value. The value may be an absolute quantity or a percentage, as specified in DeliveryStreamToleranceType(41074). Percentage value is to be expressed relative to \"1.0\" representing 100% (e.g. a value of \"0.0575\" represents 5.75%).',\n  },\n  {\n    type: 'float',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'DeliveryStreamPositiveTolerance',\n    id: 41072,\n    abbrName: 'PostvTlrnc',\n    description:\n      'Specifies the positive tolerance value. The value may be an absolute quantity or a percentage, as specified in DeliveryStreamToleranceType(41074). Value may exceed agreed upon value. Percentage value is to be expressed relative to \"1.0\" representing 100% (e.g. a value of \"0.0575\" represents 5.75%).',\n  },\n  {\n    type: 'UnitOfMeasureCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'DeliveryStreamToleranceUnitOfMeasure',\n    id: 41073,\n    abbrName: 'TlrncUOM',\n    description: \"Specifies the tolerance value's unit of measure (UOM).\",\n  },\n  {\n    type: 'DeliveryScheduleToleranceTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'DeliveryStreamToleranceType',\n    id: 41074,\n    abbrName: 'TlrncTyp',\n    description: 'Specifies the tolerance value type.',\n  },\n  {\n    type: 'DeliveryStreamToleranceOptionSideCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'DeliveryStreamToleranceOptionSide',\n    id: 41075,\n    abbrName: 'TlrncOptSide',\n    description: \"Indicates whether the tolerance is at the seller's or buyer's option.\",\n  },\n  {\n    type: 'Percentage',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'DeliveryStreamTotalPositiveTolerance',\n    id: 41076,\n    abbrName: 'TotPostvTlrnc',\n    description:\n      'The positive percent tolerance which applies to the total quantity delivered over all shipment periods.\\n\\nPercentage value is to be expressed relative to \"1.0\" representing 100% (e.g. a value of \"0.0575\" represents 5.75%.).',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'DeliveryStreamTotalNegativeTolerance',\n    id: 41077,\n    abbrName: 'TotNegtvTlrnc',\n    description:\n      'The negative percent tolerance which applies to the total quantity delivered over all shipment periods.\\n\\nPercentage value is to be expressed relative to \"1.0\" representing 100% (e.g. a value of \"0.0575\" represents 5.75%.).',\n  },\n  {\n    type: 'float',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'DeliveryStreamNotionalConversionFactor',\n    id: 41078,\n    abbrName: 'CnvrsnFctr',\n    description:\n      'If the notional quantity is specified in a unit that does not match the unit in which the commodity reference price is quoted, the scaling or conversion factor used to convert the commodity reference price unit into the notional quantity unit should be stated here. If there is no conversion, this field is not intended to be used.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'DeliveryStreamTransportEquipment',\n    id: 41079,\n    abbrName: 'Eqpmt',\n    description:\n      'The transportation equipment with which the commodity product will be delivered and received.\\n\\nExamples of transportation equipment or mode are barge, truck, railcar, etc.',\n  },\n  {\n    type: 'DeliveryStreamElectingPartySideCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'DeliveryStreamElectingPartySide',\n    id: 41080,\n    abbrName: 'ElctngSide',\n    description:\n      'A reference to the party able to choose whether the gas is delivered for a particular period as found in a swing or interruptible contract.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoDeliveryStreamCycles',\n    id: 41081,\n    description: 'Number of delivery cycles in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'DeliveryStreamCycleDesc',\n    id: 41082,\n    abbrName: 'Desc',\n    description:\n      'The delivery cycles during which the oil product will be transported in the pipeline.',\n  },\n  {\n    type: 'Length',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedDeliveryStreamCycleDescLen',\n    id: 41083,\n    abbrName: 'EncDescLen',\n    description:\n      'Byte length of encoded (non-ASCII characters) EncodedDeliveryStreamCycleDesc(41084) field.',\n  },\n  {\n    type: 'data',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedDeliveryStreamCycleDesc',\n    id: 41084,\n    abbrName: 'EncDesc',\n    lengthId: '41083',\n    description:\n      'Encoded (non-ASCII characters) representation of the DeliveryStreamCycleDesc(41082) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the DeliveryStreamCycleDesc(41082) field.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoDeliveryStreamCommoditySources',\n    id: 41085,\n    description: 'Number of commodity sources in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'DeliveryStreamCommoditySource',\n    id: 41086,\n    abbrName: 'Src',\n    description:\n      'The SCoTA coal cargo origin, mining region, mine(s), mining complex(es), loadout(s) or river dock(s) or other point(s) of origin that seller and buyer agree are acceptable origins for the coal product. For international coal transactions, this is the origin of the coal product.\\n\\nSee http://www.fpml.org/coding-scheme/commodity-coal-product-source for values.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'DocumentationText',\n    id: 1513,\n    abbrName: 'DcmntnTxt',\n    description:\n      'A sentence or phrase pertenant to the trade, not a reference to an external document. E.g. \"To be registered with the U.S. Environmental Protection Agency, Acid Rain Division, SO2 Allowance Tracking System\"',\n  },\n  {\n    type: 'Length',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedDocumentationTextLen',\n    id: 1525,\n    abbrName: 'EncDcmntnTxtLen',\n    description:\n      'Byte length of encoded (non-ASCII characters) EncodedDocumentationText(1527) field.',\n  },\n  {\n    type: 'data',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedDocumentationText',\n    id: 1527,\n    abbrName: 'EncDcmntnTxt',\n    lengthId: '1525',\n    description:\n      'Encoded (non-ASCII characters) representation of the DocumentationText(1513) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the DocumentationText(1513) field.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'SwapSubClassCodeSet',\n    addedEP: '169',\n    updatedEP: '238',\n    added: 'FIX.5.0SP2',\n    name: 'SwapSubClass',\n    id: 1575,\n    abbrName: 'SwapSubClss',\n    description: 'The sub-classification or notional schedule type of the swap.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'SettlRateIndex',\n    id: 1577,\n    abbrName: 'SettlNdx',\n    description:\n      'In an outright or forward commodity trade that is cash settled this is the index used to determine the cash payment.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'SettlRateIndexLocation',\n    id: 1580,\n    abbrName: 'SettlNdxLctn',\n    description:\n      'This is an optional qualifying attribute of SettlRateIndex(1577) such as the delivery zone for an electricity contract.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'OptionExpirationDesc',\n    id: 1581,\n    abbrName: 'ExpDesc',\n    description: 'Description of the option expiration.',\n  },\n  {\n    type: 'Length',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedOptionExpirationDescLen',\n    id: 1678,\n    abbrName: 'EncExpDescLen',\n    description:\n      'Byte length of encoded (non-ASCII characters) EncodedOptionExpirationDesc(1697) field.',\n  },\n  {\n    type: 'data',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedOptionExpirationDesc',\n    id: 1697,\n    abbrName: 'EncExpDesc',\n    lengthId: '1678',\n    description:\n      'Encoded (non-ASCII characters) representation of the OptionExpirationDesc(1581) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the OptionExpirationDesc(1581).',\n  },\n  {\n    type: 'UnitOfMeasureCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'StrikeUnitOfMeasure',\n    id: 1698,\n    abbrName: 'StrkUOM',\n    description:\n      'Used to express the unit of measure (UOM) of the price if different from the contract.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'StrikeIndex',\n    id: 1866,\n    abbrName: 'StrkNdx',\n    description: 'Specifies the index used to calculate the strike price.',\n  },\n  {\n    type: 'PriceOffset',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'StrikeIndexSpread',\n    id: 2001,\n    abbrName: 'StrkSpread',\n    description: 'Specifies the strike price offset from the named index.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'ValuationSource',\n    id: 2002,\n    abbrName: 'ValSrc',\n    description: 'Specifies the source of trade valuation data.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'ValuationReferenceModel',\n    id: 2140,\n    abbrName: 'ValRefModel',\n    description:\n      'Specifies the methodology and/or assumptions used to generate the trade value.',\n  },\n  {\n    type: 'StrategyTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'StrategyType',\n    id: 2141,\n    abbrName: 'StrtTyp',\n    description: 'Specifies the type of trade strategy.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'CommonPricingIndicator',\n    id: 2142,\n    abbrName: 'CmnPxng',\n    description:\n      \"When this element is specified and set to 'Y', it indicates that common pricing applies. Common pricing may be relevant for a transaction that references more than one commodity reference price.\",\n  },\n  {\n    type: 'SettlDisruptionProvisionCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'SettlDisruptionProvision',\n    id: 2143,\n    abbrName: 'SettlDsrptnProv',\n    description: 'Specifies the consequences of bullion settlement disruption events.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'RoundingDirectionCodeSet',\n    addedEP: '169',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'InstrumentRoundingDirection',\n    id: 2144,\n    abbrName: 'RndDirctn',\n    description: 'Specifies the rounding direction if not overridden elsewhere.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'InstrumentRoundingPrecision',\n    id: 2145,\n    abbrName: 'RndPrcsn',\n    description:\n      'Specifies the rounding precision in terms of a number of decimal places. Note how a percentage rate rounding of 5 decimal places is expressed as a rounding precision of 7.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegSettleOnOpenFlag',\n    id: 2146,\n    abbrName: 'SettlOnOpenFlag',\n    description: 'Indicator to determine if the instrument is to settle on open.',\n  },\n  {\n    type: 'InstrmtAssignmentMethodCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegInstrmtAssignmentMethod',\n    id: 2147,\n    abbrName: 'AsgnMeth',\n    description: 'Specifies the method under which assignment was conducted.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'SecurityStatusCodeSet',\n    addedEP: '169',\n    updatedEP: '271',\n    added: 'FIX.5.0SP2',\n    name: 'LegSecurityStatus',\n    id: 2148,\n    abbrName: 'Status',\n    description: 'Indicates the current state of the leg instrument.',\n  },\n  {\n    type: 'RestructuringTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegRestructuringType',\n    id: 2149,\n    abbrName: 'RestrctTyp',\n    description:\n      'A category of CDS credit event in which the underlying bond experiences a restructuring.\\n\\nUsed to define a CDS instrument.',\n  },\n  {\n    type: 'SeniorityCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegSeniority',\n    id: 2150,\n    abbrName: 'Snrty',\n    description:\n      'Specifies which issue (underlying bond) will receive payment priority in the event of a default.\\n\\nUsed to define a CDS instrument.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegNotionalPercentageOutstanding',\n    id: 2151,\n    abbrName: 'NotlPctOut',\n    description:\n      'Indicates the notional percentage of the deal that is still outstanding based on the remaining components of the index.\\n\\nUsed to calculate the true value of a CDS trade or position.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegOriginalNotionalPercentageOutstanding',\n    id: 2152,\n    abbrName: 'OrigNotlPctOut',\n    description:\n      'Used to reflect the Original value prior to the application of a credit event. See LegNotionalPercentageOutstanding(2151).',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegAttachmentPoint',\n    id: 2153,\n    abbrName: 'AttchPnt',\n    description: 'Lower bound percentage of the loss that the tranche can endure.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegDetachmentPoint',\n    id: 2154,\n    abbrName: 'DetchPnt',\n    description: 'Upper bound percentage of the loss the tranche can endure.',\n  },\n  {\n    type: 'ObligationTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegObligationType',\n    id: 2155,\n    abbrName: 'ObligTyp',\n    description: 'Type of reference obligation for credit derivatives contracts.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'SwapSubClassCodeSet',\n    addedEP: '169',\n    updatedEP: '238',\n    added: 'FIX.5.0SP2',\n    name: 'LegSwapSubClass',\n    id: 2156,\n    abbrName: 'SwapSubClss',\n    description: 'The sub-classification or notional schedule type of the swap.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegNthToDefault',\n    id: 2157,\n    abbrName: 'NthDflt',\n    description:\n      'The Nth reference obligation in a CDS reference basket. If specified without LegMthToDefault(2158) the default will trigger a CDS payout. If LegMthToDefault(2158) is also present then payout occurs between the Nth and Mth obligations to default.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegMthToDefault',\n    id: 2158,\n    abbrName: 'MthDflt',\n    description:\n      'The Mth reference obligation to default in a CDS reference basket. When an NthToDefault(2157) to MthToDefault(2158) are represented then the CDS payout occurs between the Nth and Mth obligations to default.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegSettledEntityMatrixSource',\n    id: 2159,\n    abbrName: 'SettldMtrxSrc',\n    description: 'Relevant settled entity matrix source.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegSettledEntityMatrixPublicationDate',\n    id: 2160,\n    abbrName: 'SettldMtrxDt',\n    description:\n      'The publication date of the applicable version of the matrix. When this element is omitted, the Standard Terms Supplement defines rules for which version of the matrix is applicable.',\n  },\n  {\n    type: 'CouponTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegCouponType',\n    id: 2161,\n    abbrName: 'CpnTyp',\n    description: 'Specifies the coupon type of the bond.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegTotalIssuedAmount',\n    id: 2162,\n    abbrName: 'TotAmt',\n    description:\n      'Specifies the total amount of the issue. Corresponds to the par value multiplied by the number of issued security.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegCouponFrequencyPeriod',\n    id: 2163,\n    abbrName: 'CpnPeriod',\n    description: \"Time unit multiplier for the frequency of the bond's coupon payment.\",\n  },\n  {\n    type: 'CouponFrequencyUnitCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegCouponFrequencyUnit',\n    id: 2164,\n    abbrName: 'CpnUnit',\n    description: \"Time unit associated with the frequency of the bond's coupon payment.\",\n  },\n  {\n    type: 'CouponDayCountCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegCouponDayCount',\n    id: 2165,\n    abbrName: 'CpnDayCnt',\n    description:\n      'The day count convention used in interest calculations for a bond or an interest bearing security.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegConvertibleBondEquityID',\n    id: 2166,\n    abbrName: 'CnvrtBondEqtyID',\n    discriminatorId: '2167',\n    description: 'Identifies the equity in which a convertible bond can be converted to.',\n  },\n  {\n    type: 'SecurityIDSourceCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegConvertibleBondEquityIDSource',\n    id: 2167,\n    abbrName: 'CnvrtBondEqtyIDSrc',\n    description:\n      'Identifies class or source of the LegConvertibleBondEquitySecurityID(2166) value.',\n  },\n  {\n    type: 'MonthYear',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegContractPriceRefMonth',\n    id: 2168,\n    abbrName: 'PxRefMo',\n    description:\n      'Reference month if there is no applicable LegMaturityMonthYear(610) value for the contract or security.',\n  },\n  {\n    type: 'LienSeniorityCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegLienSeniority',\n    id: 2169,\n    abbrName: 'LienSnrty',\n    description: 'Indicates the seniority level of the lien in a loan.',\n  },\n  {\n    type: 'LoanFacilityCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegLoanFacility',\n    id: 2170,\n    abbrName: 'LoanFclty',\n    description:\n      \"Specifies the type of loan when the credit default swap's reference obligation is a loan.\",\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'ReferenceEntityTypeCodeSet',\n    addedEP: '169',\n    updatedEP: '192',\n    added: 'FIX.5.0SP2',\n    name: 'LegReferenceEntityType',\n    id: 2171,\n    abbrName: 'RefEntityTyp',\n    description:\n      'Specifies the type of reference entity for first-to-default CDS basket contracts.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegIndexSeries',\n    id: 2172,\n    abbrName: 'NdxSeries',\n    description: 'The series identifier of a credit default swap index.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegIndexAnnexVersion',\n    id: 2173,\n    abbrName: 'NdxAnxVer',\n    description: 'The version of a credit default swap index annex.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegIndexAnnexDate',\n    id: 2174,\n    abbrName: 'NdxAnxDt',\n    description: 'The date of a credit default swap index series annex.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegIndexAnnexSource',\n    id: 2175,\n    abbrName: 'NdxAnxSrc',\n    description: 'The source of a credit default swap series annex.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegSettlRateIndex',\n    id: 2176,\n    abbrName: 'SettlNdx',\n    description:\n      'In an outright or forward commodity trade that is cash settled this is the index used to determine the cash payment.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegSettlRateIndexLocation',\n    id: 2177,\n    abbrName: 'SettlNdxLctn',\n    description:\n      'This is an optional qualifying attribute of LegSettlementRateIndex(2176) such as the delivery zone for an electricity contract.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegOptionExpirationDesc',\n    id: 2178,\n    abbrName: 'ExpDesc',\n    description: 'Description of the option expiration.',\n  },\n  {\n    type: 'Length',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedLegOptionExpirationDescLen',\n    id: 2179,\n    abbrName: 'EncExpDescLen',\n    description:\n      'Byte length of encoded (non-ASCII characters) EncodedLegOptionExpirationDesc(2180) field.',\n  },\n  {\n    type: 'data',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedLegOptionExpirationDesc',\n    id: 2180,\n    abbrName: 'EncExpDesc',\n    lengthId: '2179',\n    description:\n      'Encoded (non-ASCII characters) representation of the LegOptionExpirationDesc(2178) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the LegOptionExpirationDesc(2178).',\n  },\n  {\n    type: 'float',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStrikeMultiplier',\n    id: 2181,\n    abbrName: 'StrkMult',\n    description:\n      'Used for derivatives. Multiplier applied to the strike price for the purpose of calculating the settlement value.',\n  },\n  {\n    type: 'float',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStrikeValue',\n    id: 2182,\n    abbrName: 'StrkValu',\n    description:\n      'The number of shares/units for the financial instrument involved in the option trade. Used for derivatives.',\n  },\n  {\n    type: 'UnitOfMeasureCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStrikeUnitOfMeasure',\n    id: 2183,\n    abbrName: 'StrkUOM',\n    description:\n      'Used to express the unit of measure (UOM) of the price if different from the contract.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStrikeIndex',\n    id: 2184,\n    abbrName: 'StrkNdx',\n    description: 'Specifies the index used to calculate the strike price.',\n  },\n  {\n    type: 'PriceOffset',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStrikeIndexSpread',\n    id: 2185,\n    abbrName: 'StrkSpread',\n    description: 'Specifies the strike price offset from the named index.',\n  },\n  {\n    type: 'StrikePriceDeterminationMethodCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStrikePriceDeterminationMethod',\n    id: 2186,\n    abbrName: 'StrkPxDtrmnMeth',\n    description:\n      'Specifies how the strike price is determined at the point of option exercise. The strike may be fixed throughout the life of the option, set at expiration to the value of the underlying, set to the average value of the underlying , or set to the optimal value of the underlying.',\n  },\n  {\n    type: 'StrikePriceBoundaryMethodCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStrikePriceBoundaryMethod',\n    id: 2187,\n    abbrName: 'StrkPxBndryMeth',\n    description:\n      'Specifies the boundary condition to be used for the strike price relative to the underlying price at the point of option exercise.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStrikePriceBoundaryPrecision',\n    id: 2188,\n    abbrName: 'StrkPxBndryPrcsn',\n    description:\n      'Used in combination with StrikePriceBoundaryMethod(2187) to specify the percentage of the strike price in relation to the underlying price. The percentage is generally 100 or greater for puts and 100 or less for calls.',\n  },\n  {\n    type: 'UnderlyingPriceDeterminationMethodCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegUnderlyingPriceDeterminationMethod',\n    id: 2189,\n    abbrName: 'PxDtrmnMeth',\n    description:\n      'Specifies how the underlying price is determined at the point of option exercise. The underlying price may be set to the current settlement price, set to a special reference, set to the optimal value of the underlying during the defined period (\"Look-back\") or set to the average value of the underlying during the defined period (\"Asian option\").',\n  },\n  {\n    type: 'float',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegMinPriceIncrement',\n    id: 2190,\n    abbrName: 'MinPxIncr',\n    description:\n      'Minimum price increment for a given exchange-traded instrument. Could also be used to represent tick value.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegMinPriceIncrementAmount',\n    id: 2191,\n    abbrName: 'MinPxIncrAmt',\n    description:\n      'Minimum price increment amount associated with the LegMinPriceIncrement(2190). For listed derivatives, the value can be calculated by multiplying LegMinPriceIncrement(2190) by LegContractMultiplier(614).',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'SettlMethodCodeSet',\n    addedEP: '169',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegSettlMethod',\n    id: 2192,\n    abbrName: 'SettlMeth',\n    description:\n      'Settlement method for a contract or instrument. Additional values may be used with bilateral agreement.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'OptPayoutTypeCodeSet',\n    addedEP: '169',\n    updatedEP: '238',\n    added: 'FIX.5.0SP2',\n    name: 'LegOptPayoutType',\n    id: 2193,\n    abbrName: 'OptPayoutTyp',\n    description:\n      'Indicates the type of valuation method or trigger payout for an in-the-money option.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegOptPayoutAmount',\n    id: 2194,\n    abbrName: 'OptPayAmt',\n    description:\n      'Cash amount indicating the pay out associated with an option. For binary options this is a fixed amount.',\n  },\n  {\n    type: 'PriceQuoteMethodCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegPriceQuoteMethod',\n    id: 2195,\n    abbrName: 'PxQteMeth',\n    description: 'Specifies the method for price quotation.',\n  },\n  {\n    type: 'ValuationMethodCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegValuationMethod',\n    id: 2196,\n    abbrName: 'ValMeth',\n    description: 'Specifies the type of valuation method applied.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegValuationSource',\n    id: 2197,\n    abbrName: 'ValSrc',\n    description: 'Specifies the source of trade valuation data.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegValuationReferenceModel',\n    id: 2198,\n    abbrName: 'ValRefModel',\n    description:\n      'Specifies the methodology and/or assumptions used to generate the trade value.',\n  },\n  {\n    type: 'ListMethodCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegListMethod',\n    id: 2199,\n    abbrName: 'ListMeth',\n    description:\n      'Indicates whether instruments are pre-listed only or can also be defined via user request.',\n  },\n  {\n    type: 'Price',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegCapPrice',\n    id: 2200,\n    abbrName: 'CapPx',\n    description: 'Used to express the ceiling price of a capped call.',\n  },\n  {\n    type: 'Price',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegFloorPrice',\n    id: 2201,\n    abbrName: 'FlrPx',\n    description: 'Used to express the floor price of a capped put.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegFlexibleIndicator',\n    id: 2202,\n    abbrName: 'FlexInd',\n    description:\n      'Used to indicate a derivatives security that can be defined using flexible terms. The terms commonly permitted to be defined by market participants are expiration date and strike price. FlexibleIndicator is an alternative to LegCFICode(608) Standard/Non-standard attribute.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegFlexProductEligibilityIndicator',\n    id: 2203,\n    abbrName: 'FlexProdElig',\n    description:\n      'Used to indicate if a product or group of product supports the creation of flexible securities.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegPositionLimit',\n    id: 2205,\n    abbrName: 'PosLmt',\n    description: 'Position Limit for a given exchange-traded product.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegNTPositionLimit',\n    id: 2206,\n    abbrName: 'NTPosLmt',\n    description:\n      'Position limit in the near-term contract for a given exchange-traded product.',\n  },\n  {\n    type: 'CPProgramCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegCPProgram',\n    id: 2207,\n    abbrName: 'CPPgm',\n    description: 'The program under which a commercial paper is issued.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegCPRegType',\n    id: 2208,\n    abbrName: 'CPRegTyp',\n    description: 'The registration type of a commercial paper issuance.',\n  },\n  {\n    type: 'ShortSaleRestrictionCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegShortSaleRestriction',\n    id: 2209,\n    abbrName: 'ShrtRstctn',\n    description: 'Indicates whether a restriction applies to short selling a security.',\n  },\n  {\n    type: 'StrategyTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStrategyType',\n    id: 2211,\n    abbrName: 'StrtTyp',\n    description: 'Specifies the type of trade strategy.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegCommonPricingIndicator',\n    id: 2212,\n    abbrName: 'CmnPxng',\n    description:\n      \"When this element is specified and set to 'Y', it indicates that common pricing applies. Common pricing may be relevant for a transaction that references more than one commodity reference price.\",\n  },\n  {\n    type: 'SettlDisruptionProvisionCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegSettlDisruptionProvision',\n    id: 2213,\n    abbrName: 'SettlDsrptnProv',\n    description: 'Specifies the consequences of bullion settlement disruption events.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'RoundingDirectionCodeSet',\n    addedEP: '169',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegInstrumentRoundingDirection',\n    id: 2214,\n    abbrName: 'RndDirctn',\n    description:\n      'Specifies the rounding direction if not overridden elsewhere.\\n\\nApplicable for complex FX option strategies.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegInstrumentRoundingPrecision',\n    id: 2215,\n    abbrName: 'RndPrcsn',\n    description:\n      'Specifies the rounding precision in terms of a number of decimal places. Note how a percentage rate rounding of 5 decimal places is expressed as a rounding precision of 7.',\n  },\n  {\n    type: 'MarketDisruptionProvisionCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'MarketDisruptionProvision',\n    id: 41087,\n    abbrName: 'Prov',\n    description: 'The consequences of market disruption events.',\n  },\n  {\n    type: 'MarketDisruptionFallbackProvisionCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'MarketDisruptionFallbackProvision',\n    id: 41088,\n    abbrName: 'FallbckProv',\n    description: 'Specifies the location of the fallback provision documentation.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'MarketDisruptionMaximumDays',\n    id: 41089,\n    abbrName: 'MaxDays',\n    description:\n      'Specifies the maximum number of market disruption days (commodity or bullion business days) in a contract or confirmation. If none are specified, the maximum number of market disruption days is five (5).\\n\\nISDA 2005 Commodity Definition.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'MarketDisruptionMaterialityPercentage',\n    id: 41090,\n    abbrName: 'MtrltyPctage',\n    description:\n      'Used when a price materiality percentage applies to the price source disruption event and this event has been specified.\\n\\nApplicable to 2005 Commodity Definitions only.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'MarketDisruptionMinimumFuturesContracts',\n    id: 41091,\n    abbrName: 'MinCtrcts',\n    description:\n      \"Specifies the minimum futures contracts level that dictates whether or not a 'De Minimis Trading' event has occurred.\\n\\nApplicable to 1993 Commodity Definitions only.\",\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoMarketDisruptionEvents',\n    id: 41092,\n    description: 'Number of disruption events in the repeating group.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'String',\n    addedEP: '169',\n    updatedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'MarketDisruptionEvent',\n    id: 41093,\n    abbrName: 'Evnt',\n    description:\n      'Specifies the market disruption event.\\n\\nFor commodities see http://www.fpml.org/coding-scheme/commodity-market-disruption for values.\\n\\nFor foreign exchange, see http://www.fixtradingcommunity.org/codelists#Market_Disruption_Event for code list of applicable event types.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoMarketDisruptionFallbacks',\n    id: 41094,\n    description: 'Number of fallbacks in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'MarketDisruptionFallbackType',\n    id: 41095,\n    abbrName: 'Typ',\n    description:\n      'Specifies the type of disruption fallback.\\n\\nSee http://www.fpml.org/coding-scheme/commodity-market-disruption-fallback for values.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoMarketDisruptionFallbackReferencePrices',\n    id: 41096,\n    description: 'Number of fallback reference securities in the repeating group.',\n  },\n  {\n    type: 'MarketDisruptionFallbackUnderlierTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'MarketDisruptionFallbackUnderlierType',\n    id: 41097,\n    abbrName: 'Typ',\n    description: 'The type of reference price underlier.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'MarketDisruptionFallbackUnderlierSecurityID',\n    id: 41098,\n    abbrName: 'ID',\n    discriminatorId: '41099',\n    description: 'Specifies the identifier value of the security.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'SecurityIDSourceCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '169',\n    updatedEP: '265',\n    added: 'FIX.5.0SP2',\n    name: 'MarketDisruptionFallbackUnderlierSecurityIDSource',\n    id: 41099,\n    abbrName: 'Src',\n    description: 'Specifies the class or source scheme of the security identifier.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'MarketDisruptionFallbackUnderlierSecurityDesc',\n    id: 41100,\n    abbrName: 'Desc',\n    description: 'Specifies the description of the underlying security.',\n  },\n  {\n    type: 'Length',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedMarketDisruptionFallbackUnderlierSecurityDescLen',\n    id: 41101,\n    abbrName: 'EncDescLen',\n    description:\n      'Byte length of encoded (non-ASCII characters) EncodedMarketDisruptionFallbackUnderlierSecurityDesc(41102) field.',\n  },\n  {\n    type: 'data',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedMarketDisruptionFallbackUnderlierSecurityDesc',\n    id: 41102,\n    abbrName: 'EncDesc',\n    lengthId: '41101',\n    description:\n      'Encoded (non-ASCII characters) representation of the MarketDisruptionFallbackUnderlierSecurityDesc(41100) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the MarketDisruptionFallbackUnderlierSecurityDesc(41100) field.',\n  },\n  {\n    type: 'Qty',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'MarketDisruptionFallbackOpenUnits',\n    id: 41103,\n    abbrName: 'OpnUnits',\n    description:\n      'If there are multiple underlying assets, this specifies the number of units (index or securities) that constitute the underlier of the swap. In the case of a basket swap, this is used to reference both the number of basket units, and the number of each asset components of the basket when these are expressed in absolute terms.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'MarketDisruptionFallbackBasketCurrency',\n    id: 41104,\n    abbrName: 'Ccy',\n    description:\n      'Specifies the currency if the underlier is a basket. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'float',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'MarketDisruptionFallbackBasketDivisor',\n    id: 41105,\n    abbrName: 'Dvsr',\n    description:\n      'Specifies the basket divisor amount. This value is normally used to adjust the constituent weight for pricing or to adjust for dividends, or other corporate actions.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'MiscFeeRate',\n    id: 2216,\n    abbrName: 'Rt',\n    description: 'The fee rate when MiscFeeAmt(137) is a percentage of trade quantity.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'MiscFeeAmountDue',\n    id: 2217,\n    abbrName: 'AmtDue',\n    description: 'The fee amount due if different from MiscFeeAmt(137).',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'ExerciseDesc',\n    id: 41106,\n    abbrName: 'Desc',\n    description: 'A description of the option exercise.',\n  },\n  {\n    type: 'Length',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedExerciseDescLen',\n    id: 41107,\n    abbrName: 'EncDescLen',\n    description:\n      'Byte length of encoded (non-ASCII characters) EncodedExerciseDesc(41102) field.',\n  },\n  {\n    type: 'data',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedExerciseDesc',\n    id: 41108,\n    abbrName: 'EncDesc',\n    lengthId: '41107',\n    description:\n      'Encoded (non-ASCII characters) representation of the ExerciseDesc(41106) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the ExerciseDesc(41106) field.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'AutomaticExerciseIndicator',\n    id: 41109,\n    abbrName: 'AutoExerInd',\n    description:\n      \"Indicates (when 'Y') that exercise is automatic when the strike price is crossed or the underlying trade is in the money.\",\n  },\n  {\n    type: 'float',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'AutomaticExerciseThresholdRate',\n    id: 41110,\n    abbrName: 'AutoRt',\n    description: 'The threshold rate for triggering automatic exercise.',\n  },\n  {\n    type: 'ExerciseConfirmationMethodCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'ExerciseConfirmationMethod',\n    id: 41111,\n    abbrName: 'ExerCnfm',\n    description:\n      \"Indicates whether follow-up confirmation of exercise (written or electronic) is required following telephonic notice by the buyer to the seller or seller's agent.\",\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'ManualNoticeBusinessCenter',\n    id: 41112,\n    abbrName: 'ManNtcBizCtr',\n    description:\n      'Identifies the business center used for adjusting the time for manual exercise notice.\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'FallbackExerciseIndicator',\n    id: 41113,\n    abbrName: 'FallbckExerInd',\n    description:\n      'Indicates whether the notional amount of the underlying swap, not previously exercised under the option, will be automatically exercised at the expiration time on the expiration date if at such time the buyer is in-the-money, provided that the difference between the settlement rate and the fixed rate under the relevant underlying swap is not less than one tenth of a percentage point (0.10% or 0.001).',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LimitedRightToConfirmIndicator',\n    id: 41114,\n    abbrName: 'LtdRightCnfmInd',\n    description:\n      'Indicates whether the Seller may request the Buyer to confirm its intent to exercise if not done on or before the expiration time on the expiration date. If true (\"Y\") specific rules will apply in relation to the settlement mode.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'ExerciseSplitTicketIndicator',\n    id: 41115,\n    abbrName: 'ExerSplitTktInd',\n    description:\n      'Indicates in physical settlement of bond and convertible bond options whether the party required to deliver the bonds will divide those to be delivered as notifying party desires to facilitate delivery obligations.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoOptionExerciseBusinessCenters',\n    id: 41116,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'OptionExerciseBusinessCenter',\n    id: 41117,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used to adjust the option exercise dates, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'OptionExerciseBusinessDayConvention',\n    id: 41118,\n    abbrName: 'BizDayCnvtn',\n    description:\n      'The business day convention used to adjust the option exercise dates. Used only to override the business day convention specified in the DateAdjustment component within the Instrument component.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'ComplexEventDateOffsetDayTypeCodeSet',\n    addedEP: '169',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'OptionExerciseEarliestDateOffsetDayType',\n    id: 41119,\n    abbrName: 'ErlstOfstDayTyp',\n    description:\n      'Specifies the day type of the relative earliest option exercise date offset.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'OptionExerciseEarliestDateOffsetPeriod',\n    id: 41120,\n    abbrName: 'ErlstOfstPeriod',\n    description: 'Time unit multiplier for the relative earliest exercise date offset.',\n  },\n  {\n    type: 'ProvisionOptionExerciseEarliestDateOffsetUnitCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'OptionExerciseEarliestDateOffsetUnit',\n    id: 41121,\n    abbrName: 'ErlstOfstUnit',\n    description: 'Time unit associated with the relative earliest exercise date offset.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'OptionExerciseFrequencyPeriod',\n    id: 41122,\n    abbrName: 'FreqPeriod',\n    description: 'Time unit multiplier for the frequency of exercise dates.',\n  },\n  {\n    type: 'ProtectionTermEventUnitCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'OptionExerciseFrequencyUnit',\n    id: 41123,\n    abbrName: 'FreqUnit',\n    description: 'Time unit associated with the frequency of exercise dates.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'OptionExerciseStartDateUnadjusted',\n    id: 41124,\n    abbrName: 'StartDtUnadj',\n    description: 'The unadjusted start date for calculating periodic exercise dates.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'OptionExerciseStartDateRelativeTo',\n    id: 41125,\n    abbrName: 'StartDtReltv',\n    description:\n      'Specifies the anchor date when the option exercise start date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'OptionExerciseStartDateOffsetPeriod',\n    id: 41126,\n    abbrName: 'StartDtOfstPeriod',\n    description: 'Time unit multiplier for the relative exercise start date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'OptionExerciseStartDateOffsetUnit',\n    id: 41127,\n    abbrName: 'StartDtOfstUnit',\n    description: 'Time unit associated with the relative exercise start date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '169',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'OptionExerciseStartDateOffsetDayType',\n    id: 41128,\n    abbrName: 'StartDtOfstDayTyp',\n    description:\n      'Specifies the day type of the relative option exercise start date offset.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'OptionExerciseStartDateAdjusted',\n    id: 41129,\n    abbrName: 'StartDt',\n    description: 'The adjusted start date for calculating periodic exercise dates.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'OptionExerciseSkip',\n    id: 41130,\n    abbrName: 'Skip',\n    description:\n      'The number of periods in the referenced date schedule that are between each date in the relative date schedule. Thus a skip of 2 would mean that dates are relative to every second date in the referenced schedule. If present this should have a value greater than 1.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'OptionExerciseNominationDeadline',\n    id: 41131,\n    abbrName: 'NomntnDdln',\n    description: 'Last date (adjusted) for establishing the option exercise terms.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'OptionExerciseFirstDateUnadjusted',\n    id: 41132,\n    abbrName: 'FirstDtUnadj',\n    description: 'The unadjusted first exercise date.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'OptionExerciseLastDateUnadjusted',\n    id: 41133,\n    abbrName: 'LastDtUnadj',\n    description: 'The unadjusted last exercise date.',\n  },\n  {\n    type: 'LocalMktTime',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'OptionExerciseEarliestTime',\n    id: 41134,\n    abbrName: 'ErlstTm',\n    description:\n      \"The earliest time at which notice of exercise can be given by the buyer to the seller (or seller's agent) (i) on the expriation date, in the case of a European style option, (ii) on each Bermuda option exercise date and the expiration date, in the case of a Bermuda style option, (iii) the commencement date to, and including, the expiration date, in the case of an American option.\",\n  },\n  {\n    type: 'LocalMktTime',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'OptionExerciseLatestTime',\n    id: 41135,\n    abbrName: 'LtstTm',\n    description: 'The latest exercise time. See also OptionExerciseEarliestTime(41134).',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'OptionExerciseTimeBusinessCenter',\n    id: 41136,\n    abbrName: 'TmBizCtr',\n    description:\n      'The business center used to determine the locale for option exercise time, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoOptionExerciseDates',\n    id: 41137,\n    description: 'Number of dates in the repeating group.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'OptionExerciseDate',\n    id: 41138,\n    abbrName: 'Dt',\n    description:\n      'The option exercise fixed date, unadjusted or adjusted depending on OptionExerciseDateType(41139).',\n  },\n  {\n    type: 'OptionExerciseDateTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'OptionExerciseDateType',\n    id: 41139,\n    abbrName: 'Typ',\n    description:\n      'Specifies the type of date. When specified it applies not only to the current date but to all subsequent dates in the group until overridden with a new type.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoOptionExerciseExpirationDateBusinessCenters',\n    id: 41140,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'OptionExerciseExpirationDateBusinessCenter',\n    id: 41141,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used to adjust the option exercise expiration dates, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'OptionExerciseExpirationDateBusinessDayConvention',\n    id: 41142,\n    abbrName: 'BizDayCnvtn',\n    description:\n      'The business day convention used to adjust the option exercise expiration dates. Used only to override the business day convention specified in the DateAdjustment component within the Instrument component.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '169',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'OptionExerciseExpirationDateRelativeTo',\n    id: 41143,\n    abbrName: 'Reltv',\n    description:\n      'Specifies the anchor date when the option exercise expiration date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'OptionExerciseExpirationDateOffsetPeriod',\n    id: 41144,\n    abbrName: 'OfstPeriod',\n    description: 'Time unit multiplier for the relative exercise expiration date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'OptionExerciseExpirationDateOffsetUnit',\n    id: 41145,\n    abbrName: 'OfstUnit',\n    description:\n      'Time unit associated with the relative exercise expiration date offset.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'OptionExerciseExpirationFrequencyPeriod',\n    id: 41146,\n    abbrName: 'FreqPeriod',\n    description: 'Time unit multiplier for the frequency of exercise expiration dates.',\n  },\n  {\n    type: 'ProtectionTermEventUnitCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'OptionExerciseExpirationFrequencyUnit',\n    id: 41147,\n    abbrName: 'FreqUnit',\n    description: 'Time unit associated with the frequency of exercise expiration dates.',\n  },\n  {\n    type: 'DateRollConventionCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'OptionExerciseExpirationRollConvention',\n    id: 41148,\n    abbrName: 'Roll',\n    description:\n      'The convention for determining the sequence of exercise expiration dates. It is used in conjunction with a specified frequency. Used only to override the roll convention defined in the DateAdjustment component in Instrument.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '169',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'OptionExerciseExpirationDateOffsetDayType',\n    id: 41149,\n    abbrName: 'OfstDayTyp',\n    description:\n      'Specifies the day type of the relative option exercise expiration date offset.',\n  },\n  {\n    type: 'LocalMktTime',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'OptionExerciseExpirationTime',\n    id: 41150,\n    abbrName: 'Tm',\n    description: 'The option exercise expiration time.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'OptionExerciseExpirationTimeBusinessCenter',\n    id: 41151,\n    abbrName: 'TmBizCtr',\n    description:\n      'The business center used to determine the locale for option exercise expiration time, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoOptionExerciseExpirationDates',\n    id: 41152,\n    description: 'Number of fixed exercise expiration dates in the repeating group.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'OptionExerciseExpirationDate',\n    id: 41153,\n    abbrName: 'Dt',\n    description: 'An adjusted or unadjusted fixed option exercise expiration date.',\n  },\n  {\n    type: 'OptionExerciseDateTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'OptionExerciseExpirationDateType',\n    id: 41154,\n    abbrName: 'Typ',\n    description:\n      'Specifies the type of option exercise expiration date. When specified it applies not only to the current date but to all subsequent dates in the group until overridden with a new type.',\n  },\n  {\n    type: 'UnitOfMeasureCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentUnitOfMeasure',\n    id: 41155,\n    abbrName: 'UOM',\n    description:\n      'Used to express the unit of measure (UOM) of the payment amount if not in the currency of the trade.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '169',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentDateRelativeTo',\n    id: 41156,\n    abbrName: 'Reltv',\n    description:\n      'Specifies the anchor date when the payment date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentDateOffsetPeriod',\n    id: 41157,\n    abbrName: 'OfstPeriod',\n    description: 'Time unit multiplier for the relative payment date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentDateOffsetUnit',\n    id: 41158,\n    abbrName: 'OfstUnit',\n    description: 'Time unit associated with the relative payment date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentDateOffsetDayTypeCodeSet',\n    addedEP: '169',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentDateOffsetDayType',\n    id: 41159,\n    abbrName: 'OfstDayTyp',\n    description: 'Specifies the day type of the relative payment date offset.',\n  },\n  {\n    type: 'PaymentForwardStartTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentForwardStartType',\n    id: 41160,\n    abbrName: 'FwdStartTyp',\n    description: 'Forward start premium type.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoPaymentScheduleFixingDays',\n    id: 41161,\n    description: 'Number of fixing days in the repeating group.',\n  },\n  {\n    type: 'PaymentStreamPricingDayOfWeekCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentScheduleFixingDayOfWeek',\n    id: 41162,\n    abbrName: 'DayOfWk',\n    description: 'The day of the week on which fixing will take place.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentScheduleFixingDayNumber',\n    id: 41163,\n    abbrName: 'DayNum',\n    description:\n      'The occurrence of the day of week on which fixing takes place.\\n\\nFor example, a fixing of the 3rd Friday would be DayOfWk=5 DayNum=3. If omitted every day of the week is a fixing day.',\n  },\n  {\n    type: 'XID',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentScheduleXID',\n    id: 41164,\n    abbrName: 'XID',\n    description:\n      'Identifier of this PaymentSchedule for cross referencing elsewhere in the message.',\n  },\n  {\n    type: 'XIDREF',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentScheduleXIDRef',\n    id: 41165,\n    abbrName: 'XIDRef',\n    description: 'Reference to payment schedule elsewhere in the message.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentScheduleRateCurrency',\n    id: 41166,\n    abbrName: 'RtCcy',\n    description: 'The currency of the schedule rate. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'UnitOfMeasureCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentScheduleRateUnitOfMeasure',\n    id: 41167,\n    abbrName: 'RtUOM',\n    description: 'The schedule rate unit of measure (UOM).',\n  },\n  {\n    type: 'float',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentScheduleRateConversionFactor',\n    id: 41168,\n    abbrName: 'RtFctr',\n    description:\n      'The number to be multiplied by the derived floating rate of the payment schedule in order to arrive at the payment rate. If omitted, the schedule rate conversion factor is 1.',\n  },\n  {\n    type: 'PaymentStreamRateSpreadTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentScheduleRateSpreadType',\n    id: 41169,\n    abbrName: 'SpreadTyp',\n    description:\n      'Identifies whether the rate spread is an absolute value to be added to the index rate or a percentage of the index rate.',\n  },\n  {\n    type: 'Price',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentScheduleSettlPeriodPrice',\n    id: 41170,\n    abbrName: 'SettlPx',\n    description: 'The schedule settlement period price.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentScheduleSettlPeriodPriceCurrency',\n    id: 41171,\n    abbrName: 'SettlPxCcy',\n    description:\n      'Specifies the currency of the schedule settlement period price. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'UnitOfMeasureCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentScheduleSettlPeriodPriceUnitOfMeasure',\n    id: 41172,\n    abbrName: 'SettlPxUOM',\n    description: 'The settlement period price unit of measure (UOM).',\n  },\n  {\n    type: 'UnitOfMeasureCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentScheduleStepUnitOfMeasure',\n    id: 41173,\n    abbrName: 'StepUOM',\n    description: 'The schedule step unit of measure (UOM).',\n  },\n  {\n    type: 'PaymentStreamPricingDayDistributionCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentScheduleFixingDayDistribution',\n    id: 41174,\n    abbrName: 'FixngDayDistrib',\n    description: 'The distribution of fixing days.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentScheduleFixingDayCount',\n    id: 41175,\n    abbrName: 'FixngDayCnt',\n    description: 'The number of days over which fixing should take place.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentScheduleFixingLagPeriod',\n    id: 41176,\n    abbrName: 'FixngLagPeriod',\n    description: 'Time unit multiplier for the fixing lag duration.',\n  },\n  {\n    type: 'PaymentStreamInflationLagUnitCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentScheduleFixingLagUnit',\n    id: 41177,\n    abbrName: 'FixngLagUnit',\n    description: 'Time unit associated with the fixing lag duration.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'int',\n    addedEP: '169',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentScheduleFixingFirstObservationDateOffsetPeriod',\n    id: 41178,\n    abbrName: 'FixngFirstObsvtnPeriod',\n    description:\n      'Time unit multiplier for the relative first observation date offset.\\n\\nIf the first observation offset is specified, the observation period will start the specified interval prior to each calculation period - i.e. if the first observation offset is 4 months and the lag duration is 3 months, observations will be taken in months 4, 3 and 2 (but not 1) prior to each calculation period. If no first observation offset is specified, the observation period will end immediately preceding each calculation period.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '169',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentScheduleFixingFirstObservationDateOffsetUnit',\n    id: 41179,\n    abbrName: 'FixngFirstObsvtnUnit',\n    description: 'Time unit associated with the relative first observation date offset.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamFlatRateIndicator',\n    id: 41180,\n    abbrName: 'FlatRtInd',\n    description:\n      \"When this element is specified and set to 'Y', the Flat Rate is the New Worldwide Tanker Nominal Freight Scale for the Freight Index Route taken at the Trade Date of the transaction \u201CFixed\u201D. If 'N' it is taken on each Pricing Date \u201CFloating\u201D.\",\n  },\n  {\n    type: 'Amt',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamFlatRateAmount',\n    id: 41181,\n    abbrName: 'FlatRtAmt',\n    description:\n      \"Specifies the actual monetary value of the flat rate when PaymentStreamFlatRateIndicator(41180) = 'Y'.\",\n  },\n  {\n    type: 'Currency',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamFlatRateCurrency',\n    id: 41182,\n    abbrName: 'FlatRtCcy',\n    description:\n      'Specifies the currency of the actual flat rate. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamMaximumPaymentAmount',\n    id: 41183,\n    abbrName: 'MaxPmtAmt',\n    description: 'Specifies the limit on the total payment amount.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamMaximumPaymentCurrency',\n    id: 41184,\n    abbrName: 'MaxPmtCcy',\n    description:\n      'Specifies the currency of total payment amount limit. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamMaximumTransactionAmount',\n    id: 41185,\n    abbrName: 'MaxTxnAmt',\n    description:\n      'Specifies the limit on the payment amount that goes out in any particular calculation period.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamMaximumTransactionCurrency',\n    id: 41186,\n    abbrName: 'MaxTxnCcy',\n    description:\n      'Specifies the currency of the period payment amount limit. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'UnitOfMeasureCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamFixedAmountUnitOfMeasure',\n    id: 41187,\n    abbrName: 'FixedAmtUOM',\n    description: 'Specifies the fixed payment amount unit of measure (UOM).',\n  },\n  {\n    type: 'Amt',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamTotalFixedAmount',\n    id: 41188,\n    abbrName: 'FixedAmt',\n    description: 'Specifies the total fixed payment amount.',\n  },\n  {\n    type: 'float',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamWorldScaleRate',\n    id: 41189,\n    abbrName: 'WorldScaleRt',\n    description:\n      'The number of Worldscale points for purposes of the calculation of a fixed amount for a wet voyage charter commodity swap.',\n  },\n  {\n    type: 'Price',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamContractPrice',\n    id: 41190,\n    abbrName: 'CtrctPx',\n    description:\n      'The price per relevant unit for purposes of the calculation of a fixed amount for a dry voyage charter or time charter commodity swap.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamContractPriceCurrency',\n    id: 41191,\n    abbrName: 'CtrctPxCcy',\n    description:\n      'Specifies the currency of PaymentStreamContractPrice(41190). Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoPaymentStreamPricingBusinessCenters',\n    id: 41192,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamPricingBusinessCenter',\n    id: 41193,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used to adjust the payment stream\\'s pricing dates, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamRateIndex2CurvePeriod',\n    id: 41194,\n    abbrName: 'Ndx2Period',\n    description:\n      \"Secondary time unit multiplier for the payment stream's floating rate index curve.\\n\\nMay be used for a Forward Rate Agreement (FRA) with an average rate between two curve points.\",\n  },\n  {\n    type: 'PaymentStreamRateIndexCurveUnitCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamRateIndex2CurveUnit',\n    id: 41195,\n    abbrName: 'Ndx2Unit',\n    description:\n      \"Secondary time unit associated with the payment stream's floating rate index curve.\",\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamRateIndexLocation',\n    id: 41196,\n    abbrName: 'NdxLctn',\n    description: 'Specifies the location of the floating rate index.',\n  },\n  {\n    type: 'Qty',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamRateIndexLevel',\n    id: 41197,\n    abbrName: 'NdxLvl',\n    description:\n      'This is the weather Cooling Degree Days (CDD), Heating Degree Days (HDD) or HDD index level specified as the number of (amount of) weather index units specified by the parties in the related confirmation.',\n  },\n  {\n    type: 'UnitOfMeasureCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamRateIndexUnitOfMeasure',\n    id: 41198,\n    abbrName: 'NdxUOM',\n    description: 'The unit of measure (UOM) of the rate index level.',\n  },\n  {\n    type: 'PaymentStreamSettlLevelCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamSettlLevel',\n    id: 41199,\n    abbrName: 'SettlLvl',\n    description: 'Specifies how weather index units are to be calculated.',\n  },\n  {\n    type: 'Qty',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamReferenceLevel',\n    id: 41200,\n    abbrName: 'RefLvl',\n    description:\n      'This is the weather Cooling Degree Days (CDD), Heating Degree Days (HDD) or HDD reference level specified as the number of (amount of) weather index units specified by the parties in the related confirmation.',\n  },\n  {\n    type: 'UnitOfMeasureCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamReferenceLevelUnitOfMeasure',\n    id: 41201,\n    abbrName: 'RefUOM',\n    description: 'The unit of measure (UOM) of the rate reference level.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamReferenceLevelEqualsZeroIndicator',\n    id: 41202,\n    abbrName: 'RefLvlZero',\n    description: \"When set to 'Y', it indicates the weather reference level equals zero.\",\n  },\n  {\n    type: 'Currency',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamRateSpreadCurrency',\n    id: 41203,\n    abbrName: 'SpreadCcy',\n    description:\n      'Specifies the currency of the floating rate spread. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'UnitOfMeasureCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamRateSpreadUnitOfMeasure',\n    id: 41204,\n    abbrName: 'SpreadUOM',\n    description: 'Species the unit of measure (UOM) of the floating rate spread.',\n  },\n  {\n    type: 'float',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamRateConversionFactor',\n    id: 41205,\n    abbrName: 'RtFctr',\n    description:\n      'The number to be multiplied by the derived floating rate of the payment stream in order to arrive at the payment rate. If omitted, the floating rate conversion factor is 1.',\n  },\n  {\n    type: 'PaymentStreamRateSpreadTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamRateSpreadType',\n    id: 41206,\n    abbrName: 'SpreadTyp',\n    description:\n      'Identifies whether the rate spread is an absolute value to be added to the index rate or a percentage of the index rate.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamLastResetRate',\n    id: 41207,\n    abbrName: 'LastResetRt',\n    description:\n      'The floating rate determined at the most recent reset. The rate is expressed in decimal form, e.g. 5% is represented as 0.05.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamFinalRate',\n    id: 41208,\n    abbrName: 'FnlRt',\n    description:\n      'The floating rate determined at the final reset. The rate is expressed in decimal form, e.g. 5% is represented as 0.05.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamCalculationLagPeriod',\n    id: 41209,\n    abbrName: 'CalcLagPeriod',\n    description: 'Time unit multiplier for the calculation lag duration.',\n  },\n  {\n    type: 'PaymentStreamInflationLagUnitCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamCalculationLagUnit',\n    id: 41210,\n    abbrName: 'CalcLagUnit',\n    description: 'Time unit associated with the calculation lag duration.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'int',\n    addedEP: '169',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamFirstObservationDateOffsetPeriod',\n    id: 41211,\n    abbrName: 'FirstObsvtnOfstPeriod',\n    description:\n      'Time unit multiplier for the relative first observation date offset.\\n\\nIf the first observation offset is specified, the observation period will start the specified interval prior to each calculation period - i.e. if the first observation offset is 4 months and the lag duration is 3 months, observations will be taken in months 4, 3 and 2 (but not 1) prior to each calculation period. If no first observation offset is specified, the observation period will end immediately preceding each calculation period.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '169',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamFirstObservationDateOffsetUnit',\n    id: 41212,\n    abbrName: 'FirstObsvtnOfstUnit',\n    description: 'Time unit associated with the relative first observation date offset.',\n  },\n  {\n    type: 'ComplexEventDateOffsetDayTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamPricingDayType',\n    id: 41213,\n    abbrName: 'PxngDayTyp',\n    description: 'Specifies the commodity pricing day type.',\n  },\n  {\n    type: 'PaymentStreamPricingDayDistributionCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamPricingDayDistribution',\n    id: 41214,\n    abbrName: 'PxngDayDistrib',\n    description: 'The distribution of pricing days.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamPricingDayCount',\n    id: 41215,\n    abbrName: 'PxngDayCnt',\n    description: 'The number of days over which pricing should take place.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamPricingBusinessCalendar',\n    id: 41216,\n    abbrName: 'PxngClndr',\n    description:\n      'Specifies the business calendar to use for pricing.\\n\\nSee http://www.fpml.org/coding-scheme/commodity-business-calendar for values.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamPricingBusinessDayConvention',\n    id: 41217,\n    abbrName: 'PxngBizDayCnvtn',\n    description:\n      \"The business day convention used to adjust the payent stream's pricing dates. Used only to override the business day convention specified in the DateAdjustment component within the Instrument component.\",\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoPaymentStreamPaymentDates',\n    id: 41220,\n    description: 'Number of payment dates in the repeating group.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamPaymentDate',\n    id: 41221,\n    abbrName: 'Dt',\n    description: 'The adjusted or unadjusted fixed stream payment date.',\n  },\n  {\n    type: 'OptionExerciseDateTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamPaymentDateType',\n    id: 41222,\n    abbrName: 'Typ',\n    description:\n      'Specifies the type of payment date. When specified it applies not only to the current date but to all subsequent dates in the group until overridden with a new type.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamMasterAgreementPaymentDatesIndicator',\n    id: 41223,\n    abbrName: 'MADts',\n    description:\n      \"When set to 'Y', it indicates that payment dates are specified in the relevant master agreement.\",\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoPaymentStreamPricingDates',\n    id: 41224,\n    description: 'Number of pricing dates in the repeating group.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamPricingDate',\n    id: 41225,\n    abbrName: 'Dt',\n    description: 'The adjusted or unadjusted fixed stream pricing date.',\n  },\n  {\n    type: 'OptionExerciseDateTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamPricingDateType',\n    id: 41226,\n    abbrName: 'Typ',\n    description:\n      'Specifies the type of pricing date. When specified it applies not only to the current date but to all subsequent dates in the group until overridden with a new type.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoPaymentStreamPricingDays',\n    id: 41227,\n    description: 'Number of pricing days in the repeating group.',\n  },\n  {\n    type: 'PaymentStreamPricingDayOfWeekCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamPricingDayOfWeek',\n    id: 41228,\n    abbrName: 'DayOfWk',\n    description: 'The day of the week on which pricing takes place.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamPricingDayNumber',\n    id: 41229,\n    abbrName: 'DayNum',\n    description:\n      'The occurrence of the day of week on which pricing takes place.\\n\\nFor example a pricing day of the 3rd Friday would be DayOfWk=5 DayNum=3.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoPricingDateBusinessCenters',\n    id: 41230,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'PricingDateBusinessCenter',\n    id: 41231,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used to adjust pricing or fixing dates, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'PricingDateUnadjusted',\n    id: 41232,\n    abbrName: 'DtUnadj',\n    description: 'The unadjusted pricing or fixing date.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'PricingDateBusinessDayConvention',\n    id: 41233,\n    abbrName: 'BizDayCnvtn',\n    description:\n      'The business day convention used to adjust pricing or fixing dates. Used only to override the business day convention defined in the DateAdjustment component within the Instrument component.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'PricingDateAdjusted',\n    id: 41234,\n    abbrName: 'Dt',\n    description: 'The adjusted pricing or fixing date.',\n  },\n  {\n    type: 'LocalMktTime',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'PricingTime',\n    id: 41235,\n    abbrName: 'Tm',\n    description: 'Specifies the local market time of the pricing or fixing.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'PricingTimeBusinessCenter',\n    id: 41236,\n    abbrName: 'TmBizCtr',\n    description:\n      'Specifies the business center for determining the pricing or fixing time. See http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoStreamAssetAttributes',\n    id: 41237,\n    description: 'Number of asset attribute entries in the group.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'StreamAssetAttributeType',\n    id: 41238,\n    abbrName: 'Typ',\n    description:\n      'Specifies the name of the attribute.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Asset_Attribute_Types for code list of applicable asset attribute types.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'StreamAssetAttributeValue',\n    id: 41239,\n    abbrName: 'Val',\n    description: 'Specifies the value of the attribute.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'StreamAssetAttributeLimit',\n    id: 41240,\n    abbrName: 'Lmt',\n    description: 'Limit or lower acceptable value of the attribute.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoStreamCalculationPeriodDates',\n    id: 41241,\n    description: 'Number of calculation period dates in the repeating group.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'StreamCalculationPeriodDate',\n    id: 41242,\n    abbrName: 'Dt',\n    description: 'The adjusted or unadjusted fixed calculation period date.',\n  },\n  {\n    type: 'OptionExerciseDateTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'StreamCalculationPeriodDateType',\n    id: 41243,\n    abbrName: 'Typ',\n    description:\n      'Specifies the type of fixed calculation period date. When specified it applies not only to the current date but to all subsequent dates in the group until overridden with a new type.',\n  },\n  {\n    type: 'XID',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'StreamCalculationPeriodDatesXID',\n    id: 41244,\n    abbrName: 'XID',\n    description:\n      'Identifier of this calculation period for cross referencing elsewhere in the message.',\n  },\n  {\n    type: 'XIDREF',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'StreamCalculationPeriodDatesXIDRef',\n    id: 41245,\n    abbrName: 'XIDRef',\n    description:\n      'Cross reference to another calculation period for duplicating its properties.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'StreamCalculationBalanceOfFirstPeriod',\n    id: 41246,\n    abbrName: 'BalFirst',\n    description:\n      \"When specified and set to 'Y', it indicates that the first calculation period should run from the effective date to the end of the calendar period in which the effective date falls (e.g. Jan 15 - Jan 31 if the calculation periods are one month long and effective date is Jan 15.). If 'N' or not specified, it indicates that the first calculation period should run from the effective date for one whole period (e.g. Jan 15 to Feb 14 if the calculation periods are one month long and the effective date is Jan 15.).\",\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'StreamCalculationCorrectionPeriod',\n    id: 41247,\n    abbrName: 'CrrctnPeriod',\n    description:\n      'Time unit multiplier for the length of time after the publication of the data when corrections can be made.',\n  },\n  {\n    type: 'ProtectionTermEventUnitCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'StreamCalculationCorrectionUnit',\n    id: 41248,\n    abbrName: 'CrrctnUnit',\n    description:\n      'Time unit associated with the length of time after the publication of the data when corrections can be made.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoStreamCommoditySettlBusinessCenters',\n    id: 41249,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'StreamCommoditySettlBusinessCenter',\n    id: 41250,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used to adjust the commodity delivery date, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'StreamCommodityBase',\n    id: 41251,\n    abbrName: 'Base',\n    description:\n      'Specifies the general base type of the commodity traded. Where possible, this should follow the naming convention used in the 2005 ISDA Commodity Definitions.\\n\\nExamples of general commodity base types include: Metal, Bullion, Oil, Natural Gas, Coal, Electricity, Inter-Energy, Grains, Oils Seeds, Dairy, Livestock, Forestry, Softs, Weather, Emissions.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'StreamCommodityType',\n    id: 41252,\n    abbrName: 'CmdtyTyp',\n    description:\n      'Specifies the type of commodity product.\\n\\nFor coal see http://www.fpml.org/coding-scheme/commodity-coal-product-type for values.\\n\\nFor metals see http://www.fpml.org/coding-scheme/commodity-metal-product-type for values.\\n\\nFor bullion see http://www.fixtradingcommunity.org/codelists#Bullion_Types for the external code list of bullion types.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'StreamCommoditySecurityID',\n    id: 41253,\n    abbrName: 'ID',\n    discriminatorId: '41254',\n    description: 'Specifies the market identifier for the commodity.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'SecurityIDSourceCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '169',\n    updatedEP: '265',\n    added: 'FIX.5.0SP2',\n    name: 'StreamCommoditySecurityIDSource',\n    id: 41254,\n    abbrName: 'Src',\n    description:\n      'Identifies the class or source of the StreamCommoditySecurityIDSource(41253) value.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'StreamCommodityDesc',\n    id: 41255,\n    abbrName: 'Desc',\n    description: 'Description of the commodity asset.',\n  },\n  {\n    type: 'Length',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedStreamCommodityDescLen',\n    id: 41256,\n    abbrName: 'EncDescLen',\n    description:\n      'Byte length of encoded (non-ASCII characters) EncodedStreamCommodityDesc(41257) field.',\n  },\n  {\n    type: 'data',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedStreamCommodityDesc',\n    id: 41257,\n    abbrName: 'EncDesc',\n    lengthId: '41256',\n    description:\n      'Encoded (non-ASCII characters) representation of the StreamCommodityDesc(41255) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the StreamCommodityDesc(41255) field.',\n  },\n  {\n    type: 'UnitOfMeasureCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'StreamCommodityUnitOfMeasure',\n    id: 41258,\n    abbrName: 'UOM',\n    description: 'The unit of measure (UOM) of the commodity asset.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'StreamCommodityCurrency',\n    id: 41259,\n    abbrName: 'Ccy',\n    description:\n      'Identifies the currency of the commodity asset. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'Exchange',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'StreamCommodityExchange',\n    id: 41260,\n    abbrName: 'Exch',\n    description: 'Identifies the exchange where the commodity is traded.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'StreamCommodityRateSource',\n    id: 41261,\n    abbrName: 'RtSrc',\n    description:\n      'Identifies the source of rate information used for commodities.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Commodity_Rate_Source for code list of applicable sources.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'StreamCommodityRateReferencePage',\n    id: 41262,\n    abbrName: 'RefPg',\n    description: 'Identifies the reference \"page\" from the rate source.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'StreamCommodityRateReferencePageHeading',\n    id: 41263,\n    abbrName: 'RefHdng',\n    description: 'Identifies the page heading from the rate source.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'StreamDataProvider',\n    id: 41264,\n    abbrName: 'DataPrvdr',\n    description:\n      'Specifies the commodity data or information provider.\\n\\nSee http://www.fpml.org/coding-scheme/commodity-information-provider for values.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'StreamCommodityPricingType',\n    id: 41265,\n    abbrName: 'PxngTyp',\n    description:\n      'Specifies how the pricing or rate setting of the trade is to be determined or based upon.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Commodity_Rate_Pricing_Type for code list of applicable commodity pricing types.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'StreamCommodityNearbySettlDayPeriod',\n    id: 41266,\n    abbrName: 'Period',\n    description:\n      'Time unit multiplier for the nearby settlement day.\\n\\nWhen the commodity transaction references a futures contract, the delivery or settlement dates are a nearby month or week. For example, for eighth nearby month use Period=8 and Unit=Mo.',\n  },\n  {\n    type: 'StreamCommodityNearbySettlDayUnitCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'StreamCommodityNearbySettlDayUnit',\n    id: 41267,\n    abbrName: 'Unit',\n    description: 'Time unit associated with the nearby settlement day.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'StreamCommoditySettlDateUnadjusted',\n    id: 41268,\n    abbrName: 'DtUnadj',\n    description: 'The unadjusted commodity delivery date.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'StreamCommoditySettlDateBusinessDayConvention',\n    id: 41269,\n    abbrName: 'BizDayCnvtn',\n    description:\n      'The business day convention used to adjust the commodity delivery date. Used only to override the business day convention specified in the DateAdjustment component within the Instrument component.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'StreamCommoditySettlDateAdjusted',\n    id: 41270,\n    abbrName: 'Dt',\n    description: 'The adjusted commodity delivery date.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'StreamCommoditySettlMonth',\n    id: 41271,\n    abbrName: 'Mo',\n    description:\n      'Specifies a fixed single month for commodity delivery.\\n\\nUse \"1\" for January, \"2\" for February, etc.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'StreamCommoditySettlDateRollPeriod',\n    id: 41272,\n    abbrName: 'RollPeriod',\n    description:\n      'Time unit multiplier for the commodity delivery date roll.\\n\\nFor a commodity transaction that references a listed future via the delivery dates, this is the day offset on which the specified future will roll to the next nearby month when the referenced future expires.',\n  },\n  {\n    type: 'StreamCommoditySettlDateRollUnitCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'StreamCommoditySettlDateRollUnit',\n    id: 41273,\n    abbrName: 'RollUnit',\n    description: 'Time unit associated with the commodity delivery date roll.',\n  },\n  {\n    type: 'ComplexEventDateOffsetDayTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'StreamCommoditySettlDayType',\n    id: 41274,\n    abbrName: 'DayTyp',\n    description: 'Specifies the commodity delivery roll day type.',\n  },\n  {\n    type: 'XID',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'StreamCommodityXID',\n    id: 41275,\n    abbrName: 'XID',\n    description:\n      'Identifier of this stream commodity for cross referencing elsewhere in the message.',\n  },\n  {\n    type: 'XIDREF',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'StreamCommodityXIDRef',\n    id: 41276,\n    abbrName: 'XIDRef',\n    description: 'Reference to a stream commodity elsewhere in the message.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoStreamCommodityAltIDs',\n    id: 41277,\n    description: 'Number of alternate security identifers.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'StreamCommodityAltID',\n    id: 41278,\n    abbrName: 'AltID',\n    discriminatorId: '41279',\n    description: 'Alternate security identifier value for the commodity.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'StreamCommodityAltIDSource',\n    id: 41279,\n    abbrName: 'AltIDSrc',\n    description:\n      'Identifies the class or source of the alternate commodity security identifier.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoStreamCommodityDataSources',\n    id: 41280,\n    description:\n      'Number of data sources in the repeating group. The order of entry determines priority \u2013 first is the main source, second is fallback, third is second fallback.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'StreamCommodityDataSourceID',\n    id: 41281,\n    abbrName: 'ID',\n    description: 'Data source identifier.',\n  },\n  {\n    type: 'StreamCommodityDataSourceIDTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'StreamCommodityDataSourceIDType',\n    id: 41282,\n    abbrName: 'Typ',\n    description: 'Type of data source identifier.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoStreamCommoditySettlDays',\n    id: 41283,\n    description: 'Number of days in the repeating group.',\n  },\n  {\n    type: 'DeliveryScheduleSettlDayCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'StreamCommoditySettlDay',\n    id: 41284,\n    abbrName: 'Day',\n    description: 'Specifies the day or group of days for delivery.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'StreamCommoditySettlTotalHours',\n    id: 41285,\n    abbrName: 'TotHrs',\n    description: 'Sum of the hours specified in StreamCommoditySettlTimeGrp.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoStreamCommoditySettlTimes',\n    id: 41286,\n    description: 'Number of hour ranges in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'StreamCommoditySettlStart',\n    id: 41287,\n    abbrName: 'Start',\n    description:\n      'The start time for commodities settlement where delivery occurs over time. The time format is specified by the settlement time type.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'StreamCommoditySettlEnd',\n    id: 41288,\n    abbrName: 'End',\n    description:\n      'The end time for commodities settlement where delivery occurs over time. The time format is specified by the settlement time type.',\n  },\n  {\n    type: 'DeliveryScheduleSettlTimeTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'StreamCommoditySettlTimeType',\n    id: 41588,\n    abbrName: 'Typ',\n    description:\n      'Specifies the format of the commodities settlement start and end times.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoStreamCommoditySettlPeriods',\n    id: 41289,\n    description: 'Number of commodity settlement periods in the repeating group.',\n  },\n  {\n    type: 'Country',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'StreamCommoditySettlCountry',\n    id: 41290,\n    abbrName: 'Ctry',\n    description:\n      'Specifies the country where delivery takes place. Uses ISO 3166 2-character country code.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'StreamCommoditySettlTimeZone',\n    id: 41291,\n    abbrName: 'TZ',\n    description:\n      'Commodity delivery timezone specified as \"prevailing\" rather than \"standard\" or \"daylight\".\\n\\nSee http://www.fixtradingcommunity.org/codelists#Prevailing_Timezones for code list of applicable prevailing timezones.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'DeliveryScheduleSettlFlowTypeCodeSet',\n    addedEP: '169',\n    updatedEP: '179',\n    added: 'FIX.5.0SP2',\n    name: 'StreamCommoditySettlFlowType',\n    id: 41292,\n    abbrName: 'FlowTyp',\n    description: 'Specifies the commodity delivery flow type.',\n  },\n  {\n    type: 'Qty',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'StreamCommoditySettlPeriodNotional',\n    id: 41293,\n    abbrName: 'Notl',\n    description:\n      'Specifies the delivery quantity associated with this settlement period.',\n  },\n  {\n    type: 'UnitOfMeasureCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'StreamCommoditySettlPeriodNotionalUnitOfMeasure',\n    id: 41294,\n    abbrName: 'NotlUOM',\n    description:\n      'Specifies the unit of measure (UOM) of the delivery quantity associated with this settlement period.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'StreamCommoditySettlPeriodFrequencyPeriod',\n    id: 41295,\n    abbrName: 'FreqPeriod',\n    description: 'Time unit multiplier for the settlement period frequency.',\n  },\n  {\n    type: 'ProtectionTermEventUnitCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'StreamCommoditySettlPeriodFrequencyUnit',\n    id: 41296,\n    abbrName: 'FreqUnit',\n    description: 'Time unit associated with the settlement period frequency.',\n  },\n  {\n    type: 'Price',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'StreamCommoditySettlPeriodPrice',\n    id: 41297,\n    abbrName: 'Px',\n    description: 'The settlement period price.',\n  },\n  {\n    type: 'UnitOfMeasureCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'StreamCommoditySettlPeriodPriceUnitOfMeasure',\n    id: 41298,\n    abbrName: 'PxUOM',\n    description: 'Specifies the settlement period price unit of measure (UOM).',\n  },\n  {\n    type: 'Currency',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'StreamCommoditySettlPeriodPriceCurrency',\n    id: 41299,\n    abbrName: 'PxCcy',\n    description:\n      'The currency of the settlement period price. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'DeliveryScheduleSettlHolidaysProcessingInstructionCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'StreamCommoditySettlHolidaysProcessingInstruction',\n    id: 41300,\n    abbrName: 'Holidays',\n    description:\n      'Indicates whether holidays are included in the settlement periods. Required for electricity contracts.',\n  },\n  {\n    type: 'XID',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'StreamCommoditySettlPeriodXID',\n    id: 41301,\n    abbrName: 'XID',\n    description:\n      'Identifier of this settlement period for cross referencing elsewhere in the message.',\n  },\n  {\n    type: 'XIDREF',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'StreamCommoditySettlPeriodXIDRef',\n    id: 41302,\n    abbrName: 'XIDRef',\n    description:\n      'Cross reference to another settlement period for duplicating its properties.',\n  },\n  {\n    type: 'XID',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'StreamXID',\n    id: 41303,\n    abbrName: 'XID',\n    description:\n      'Identifier of this Stream for cross referencing elsewhere in the message.',\n  },\n  {\n    type: 'XIDREF',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'StreamNotionalXIDRef',\n    id: 41305,\n    abbrName: 'NotlXIDRef',\n    description:\n      'Cross reference to another Stream notional for duplicating its properties.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'StreamNotionalFrequencyPeriod',\n    id: 41306,\n    abbrName: 'NotlPeriod',\n    description: \"Time unit multiplier for the swap stream's notional frequency.\",\n  },\n  {\n    type: 'TimeUnitCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'StreamNotionalFrequencyUnit',\n    id: 41307,\n    abbrName: 'NotlUnit',\n    description: \"Time unit associated with the swap stream's notional frequency.\",\n  },\n  {\n    type: 'StreamNotionalCommodityFrequencyCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'StreamNotionalCommodityFrequency',\n    id: 41308,\n    abbrName: 'NotlFreq',\n    description: \"The commodity's notional or quantity delivery frequency.\",\n  },\n  {\n    type: 'UnitOfMeasureCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'StreamNotionalUnitOfMeasure',\n    id: 41309,\n    abbrName: 'NotlUOM',\n    description: 'Specifies the delivery stream quantity unit of measure (UOM).',\n  },\n  {\n    type: 'Qty',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'StreamTotalNotional',\n    id: 41310,\n    abbrName: 'TotNotl',\n    description: 'Total notional or delivery quantity over the term of the contract.',\n  },\n  {\n    type: 'UnitOfMeasureCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'StreamTotalNotionalUnitOfMeasure',\n    id: 41311,\n    abbrName: 'TotNotlUOM',\n    description:\n      'Specifies the unit of measure (UOM) for the total notional or delivery quantity over the term of the contract.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoMandatoryClearingJurisdictions',\n    id: 41312,\n    description: 'Number of mandatory clearing jurisdictions.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'MandatoryClearingJurisdiction',\n    id: 41313,\n    abbrName: 'Jrsdctn',\n    description:\n      'Identifier of the regulatory jurisdiction requiring the trade to be cleared.',\n  },\n  {\n    type: 'Qty',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LastQtyChanged',\n    id: 2301,\n    abbrName: 'QtyChngd',\n    description:\n      'The positive or negative change in quantity when this report is a trade correction or continuation.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'TradeVersion',\n    id: 2302,\n    abbrName: 'TrdVer',\n    description:\n      'Specifies the version of a trade or contract. This is used by systems or trading platforms in conjunction with TradeID(1003) to uniquely identify the version of a trade or contract. If used the conditions for a change of version are subject to bilateral agreement. It is recommended to change the version only for significant updates to the business entity rather than for minor changes to trade details or systematic distribution of reports. Examples where the version would change are trade quantity modification, customer account assignment or trade novation.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'HistoricalReportIndicator',\n    id: 2303,\n    abbrName: 'HistrclRpt',\n    description:\n      'Indicates that the trade or event being reported occurred in the past and the trade is terminated or no longer active.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegAdditionalTermBondRefs',\n    id: 41316,\n    description: 'Number of bonds in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegAdditionalTermBondSecurityID',\n    id: 41317,\n    abbrName: 'ID',\n    discriminatorId: '41318',\n    description: 'Security identifier of the bond.',\n  },\n  {\n    type: 'SecurityIDSourceCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegAdditionalTermBondSecurityIDSource',\n    id: 41318,\n    abbrName: 'Src',\n    description:\n      'Identifies the source scheme of the LegAdditionalTermBondSecurityID(41317) value.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegAdditionalTermBondDesc',\n    id: 41319,\n    abbrName: 'Desc',\n    description: 'Description of the bond.',\n  },\n  {\n    type: 'Length',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedLegAdditionalTermBondDescLen',\n    id: 41320,\n    abbrName: 'EncDescLen',\n    description:\n      'Byte length of encoded (non-ASCII characters) EncodedLegAdditionalTermBondDesc(41321) field.',\n  },\n  {\n    type: 'data',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedLegAdditionalTermBondDesc',\n    id: 41321,\n    abbrName: 'EncDesc',\n    lengthId: '41320',\n    description:\n      'Encoded (non-ASCII characters) representation of the LegAdditionalTermBondDesc(41319) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the LegAdditionalTermBondDesc(41319) field.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegAdditionalTermBondCurrency',\n    id: 41322,\n    abbrName: 'Ccy',\n    description:\n      'Specifies the currency the bond value is denominated in. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegAdditionalTermBondIssuer',\n    id: 41323,\n    abbrName: 'Issr',\n    description: 'Issuer of the bond.',\n  },\n  {\n    type: 'Length',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedLegAdditionalTermBondIssuerLen',\n    id: 41324,\n    abbrName: 'EncIssrLen',\n    description:\n      'Byte length of encoded (non-ASCII characters) EncodedLegAdditionalTermBondIssuer(41325) field.',\n  },\n  {\n    type: 'data',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedLegAdditionalTermBondIssuer',\n    id: 41325,\n    abbrName: 'EncIssr',\n    lengthId: '41324',\n    description:\n      'Encoded (non-ASCII characters) representation of the LegAdditionalTermBondIssuer(41323) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the LegAdditionalTermBondIssuer(41323) field.',\n  },\n  {\n    type: 'SeniorityCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegAdditionalTermBondSeniority',\n    id: 41326,\n    abbrName: 'Snrty',\n    description: \"Specifies the bond's payment priority in the event of a default.\",\n  },\n  {\n    type: 'CouponTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegAdditionalTermBondCouponType',\n    id: 41327,\n    abbrName: 'CpnTyp',\n    description: 'Specifies the coupon type of the bond.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegAdditionalTermBondCouponRate',\n    id: 41328,\n    abbrName: 'CpnRt',\n    description: 'Coupon rate of the bond. See also CouponRate(223).',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegAdditionalTermBondMaturityDate',\n    id: 41329,\n    abbrName: 'MatDt',\n    description: 'The maturity date of the bond.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegAdditionalTermBondParValue',\n    id: 41330,\n    abbrName: 'Par',\n    description: 'The par value of the bond.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegAdditionalTermBondCurrentTotalIssuedAmount',\n    id: 41331,\n    abbrName: 'CurTotAmt',\n    description: 'Total issued amount of the bond.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegAdditionalTermBondCouponFrequencyPeriod',\n    id: 41332,\n    abbrName: 'CpnPeriod',\n    description: \"Time unit multiplier for the frequency of the bond's coupon payment.\",\n  },\n  {\n    type: 'CouponFrequencyUnitCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegAdditionalTermBondCouponFrequencyUnit',\n    id: 41333,\n    abbrName: 'CpnUnit',\n    description: \"Time unit associated with the frequency of the bond's coupon payment.\",\n  },\n  {\n    type: 'CouponDayCountCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegAdditionalTermBondDayCount',\n    id: 41334,\n    abbrName: 'DayCnt',\n    description:\n      'The day count convention used in interest calculations for a bond or an interest bearing security.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegAdditionalTerms',\n    id: 41335,\n    description: 'Number of additional terms in the repeating group.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegAdditionalTermConditionPrecedentBondIndicator',\n    id: 41336,\n    abbrName: 'PrcdntInd',\n    description:\n      'Indicates whether the condition precedent bond is applicable. The swap contract is only valid if the bond is issued and if there is any dispute over the terms of fixed stream then the bond terms would be used.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegAdditionalTermDiscrepancyClauseIndicator',\n    id: 41337,\n    abbrName: 'DscrpncyInd',\n    description: 'Indicates whether the discrepancy clause is applicable.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegAssetAttributes',\n    id: 2308,\n    description: 'Number of asset attribute entries in the group.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegAssetAttributeType',\n    id: 2309,\n    abbrName: 'Typ',\n    description:\n      'Specifies the name of the attribute.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Asset_Attribute_Types for code list of applicable asset attribute types.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegAssetAttributeValue',\n    id: 2310,\n    abbrName: 'Val',\n    description: 'Specifies the value of the attribute.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegAssetAttributeLimit',\n    id: 2311,\n    abbrName: 'Lmt',\n    description: 'Limit or lower acceptable value of the attribute.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegCashSettlDealers',\n    id: 41342,\n    description: 'Number of dealers in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegCashSettlDealer',\n    id: 41343,\n    abbrName: 'Dlr',\n    description:\n      'Identifies the dealer from whom price quotations for the reference obligation are obtained for the purpose of cash settlement valuation calculation.\\n\\nISDA 2003 Term: Dealer',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegCashSettlTerms',\n    id: 41344,\n    description: 'Number of elements in the repeating group.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegCashSettlCurrency',\n    id: 41345,\n    abbrName: 'Ccy',\n    description:\n      'Specifies the currency the LegCashSettlAmount(41357) is denominated in. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegCasSettlValuationFirstBusinessDayOffset',\n    id: 41346,\n    abbrName: 'BizDayOfst',\n    description:\n      'The number of business days after settlement conditions have been satisfied, when the calculation agent is to obtain a price quotation on the reference obligation for purposes of cash settlement.\\n\\nAssociated with ISDA 2003 Term: Valuation Date.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegCashSettlValuationSubsequentBusinessDaysOffset',\n    id: 41347,\n    abbrName: 'SbsqntBizDayOfst',\n    description:\n      'The number of business days between successive valuation dates when multiple valuation dates are applicable for cash settlement.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegCashSettlNumOfValuationDates',\n    id: 41348,\n    abbrName: 'NumValDts',\n    description:\n      'Where multiple valuation dates are specified as being applicable for cash settlement, this element specifies the number of applicable valuation dates.\\n\\nAssociated with ISDA 2003 Term: Valuation Date',\n  },\n  {\n    type: 'LocalMktTime',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegCashSettlValuationTime',\n    id: 41349,\n    abbrName: 'ValTm',\n    description: 'Time of valuation.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegCashSettlBusinessCenter',\n    id: 41350,\n    abbrName: 'BizCtr',\n    description:\n      'Identifies the business center calendar used at valuation time for cash settlement purposes e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'CashSettlQuoteMethodCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegCashSettlQuoteMethod',\n    id: 41351,\n    abbrName: 'QteMeth',\n    description: 'The type of quote used to determine the cash settlement price.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'Amt',\n    addedEP: '169',\n    updatedEP: '271',\n    added: 'FIX.5.0SP2',\n    name: 'LegCashSettlQuoteAmount',\n    id: 41352,\n    abbrName: 'QteAmt',\n    description:\n      'When determining the cash settlement amount, if weighted average price quotes are to be obtained for the reference obligation, this is the upper limit to the outstanding principal balance of the reference obligation for which the quote should be obtained. If not specified, the ISDA definitions provide for a fallback amount equal to floating rate payer calculation amount.\\n\\nISDA 2003 Term: Quotation Amount.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegCashSettlQuoteCurrency',\n    id: 41353,\n    abbrName: 'QteCcy',\n    description:\n      'Specifies the currency the LegCashSettlQuoteAmount(41352) is denominated in. Uses ISO 4217 Currency Code.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'Amt',\n    addedEP: '169',\n    updatedEP: '271',\n    added: 'FIX.5.0SP2',\n    name: 'LegCashSettlMinimumQuoteAmount',\n    id: 41354,\n    abbrName: 'MinQteAmt',\n    description:\n      'When determining the cash settlement amount, if weighted average price quotes are to be obtained for the reference obligation, this is the minimum intended threshold amount of outstanding principal balance of the reference obligation for which the quote should be obtained. If not specified, the ISDA definitions provide for a fallback amount of the lower of either USD1,000,000 (or its equivalent in the relevant obligation currency) or the (minimum) quoted amount.\\n\\nISDA 2003 Term: Minimum Quotation Amount.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegCashSettlMinimumQuoteCurrency',\n    id: 41355,\n    abbrName: 'MinQteCcy',\n    description:\n      'Specifies the currency the LegCashSettlQuoteMinimumAmount(41354) is denominated in. Uses ISO 4217 Currency Code.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegCashSettlBusinessDays',\n    id: 41356,\n    abbrName: 'BizDays',\n    description:\n      'The number of business days used in the determination of the cash settlement payment date.\\n\\nIf a cash settlement amount is specified, the cash settlement payment date will be this number of business days following the calculation of the final price. If a cash settlement amount is not specified, the cash settlement payment date will be this number of business days after all conditions to settlement are satisfied. ISDA 2003 Term: Cash Settlement Date.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegCashSettlAmount',\n    id: 41357,\n    abbrName: 'Amt',\n    description:\n      'The amount paid between the trade parties, seller to the buyer, for cash settlement on the cash settlement date.\\n\\nIf not specified this would typically be calculated as ((100 or the reference price) - reference obligation price) x floating rate payer calculation amount. Price values are all expressed as a percentage. ISDA 2003 Term: Cash Settlement Amount.',\n  },\n  {\n    type: 'float',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegCashSettlRecoveryFactor',\n    id: 41358,\n    abbrName: 'RcvryFctr',\n    description:\n      'Used for fixed recovery, this specifies the recovery level as determined at contract inception, to be applied in the event of a default. The factor is used to calculate the amount paid by the seller to the buyer for cash settlement on the cash settlement date. The amount calculated is (1 - LegCashSettlRecoveryFactor(41358)) x floating rate payer calculation amount. The currency is derived from the floating rate payer calculation amount.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegCashSettlFixedTermIndicator',\n    id: 41359,\n    abbrName: 'FixedInd',\n    description:\n      'Indicates whether fixed settlement is applicable or not applicable in a recovery lock.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegCashSettlAccruedInterestIndicator',\n    id: 41360,\n    abbrName: 'AcrdIntInd',\n    description:\n      'Indicates whether accrued interest is included or not in the value provided in LegCashSettlAmount(41357).\\n\\nFor cash settlement this specifies whether quotations should be obtained inclusive or not of accrued interest.\\n\\nFor physical settlement this specifies whether the buyer should deliver the obligation with an outstanding principal balance that includes or excludes accrued interest.\\n\\nISDA 2003 Term: Include/Exclude Accrued Interest.',\n  },\n  {\n    type: 'CashSettlValuationMethodCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegCashSettlValuationMethod',\n    id: 41361,\n    abbrName: 'ValMeth',\n    description:\n      'The ISDA defined methodology for determining the final price of the reference obligation for purposes of cash settlement.\\n\\nISDA 2003 Term: Valuation Method.',\n  },\n  {\n    type: 'XID',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegCashSettlTermXID',\n    id: 41362,\n    abbrName: 'XID',\n    description: 'A named string value referenced by UnderlyingSettlTermXIDRef(41315).',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegComplexEventAveragingObservations',\n    id: 41363,\n    description: 'The number of averaging observations in the repeating group.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexEventAveragingObservationNumber',\n    id: 41364,\n    abbrName: 'ObsvtnNum',\n    description:\n      'Cross reference to the ordinal observation as specified either in the LegComplexEventScheduleGrp or LegComplexEventPeriodDateGrp components.',\n  },\n  {\n    type: 'float',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexEventAveragingWeight',\n    id: 41365,\n    abbrName: 'Wt',\n    description: 'The weight factor to be applied to the observation.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegComplexEventCreditEvents',\n    id: 41366,\n    description: 'The number of credit events specified in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexEventCreditEventType',\n    id: 41367,\n    abbrName: 'Typ',\n    description:\n      'Specifies the type of credit event.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Credit_Event_Types for code list of applicable event types.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexEventCreditEventValue',\n    id: 41368,\n    abbrName: 'Val',\n    description:\n      'The credit event value appropriate to LegComplexEventCreditEventType(41367).\\n\\nSee http://www.fixtradingcommunity.org/codelists#Credit_Event_Types for applicable event type values.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexEventCreditEventCurrency',\n    id: 41369,\n    abbrName: 'Ccy',\n    description:\n      'Specifies the applicable currency when LegComplexEventCreditEventCurrency(41368) is an amount. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexEventCreditEventPeriod',\n    id: 41370,\n    abbrName: 'Period',\n    description: 'Time unit multiplier for complex credit events.',\n  },\n  {\n    type: 'ProtectionTermEventUnitCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexEventCreditEventUnit',\n    id: 41371,\n    abbrName: 'Unit',\n    description: 'Time unit associated with complex credit events.',\n  },\n  {\n    type: 'ComplexEventDateOffsetDayTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexEventCreditEventDayType',\n    id: 41372,\n    abbrName: 'DayTyp',\n    description: 'Specifies the day type for the complex credit events.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexEventCreditEventRateSource',\n    id: 41373,\n    abbrName: 'RtSrc',\n    description:\n      'Identifies the source of rate information used for credit events.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Credit_Event_Rate_Source for code list of applicable sources.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegComplexEventCreditEventQualifiers',\n    id: 41374,\n    description: 'Number of qualifiers in the repeating group.',\n  },\n  {\n    type: 'ProtectionTermEventQualifierCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexEventCreditEventQualifier',\n    id: 41375,\n    abbrName: 'Qual',\n    description:\n      'Specifies a complex event qualifier. Used to further qualify LegComplexEventCreditEventType(41367).',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegComplexEventPeriodDateTimes',\n    id: 41376,\n    description: 'Number of entries in the date-time repeating group.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexEventPeriodDate',\n    id: 41377,\n    abbrName: 'Dt',\n    description:\n      'Averaging date for an Asian option.\\n\\nTrigger date for a Barrier or Knock option.',\n  },\n  {\n    type: 'LocalMktTime',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexEventPeriodTime',\n    id: 41378,\n    abbrName: 'Tm',\n    description: 'Averaging time for an Asian option.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegComplexEventPeriods',\n    id: 41379,\n    description: 'Number of periods in the repeating group.',\n  },\n  {\n    type: 'ComplexEventPeriodTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexEventPeriodType',\n    id: 41380,\n    abbrName: 'Typ',\n    description: 'Specifies the period type.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexEventBusinessCenter',\n    id: 41381,\n    abbrName: 'BizCtr',\n    description:\n      'The business center for adjusting dates and times in the schedule or date-time group.\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegComplexEventRateSources',\n    id: 41382,\n    description: 'Number of rate sources in the repeating group.',\n  },\n  {\n    type: 'RateSourceCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexEventRateSource',\n    id: 41383,\n    abbrName: 'RtSrc',\n    description:\n      'Identifies the source of rate information.\\n\\nFor FX, the reference source to be used for the FX spot rate.',\n  },\n  {\n    type: 'RateSourceTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexEventRateSourceType',\n    id: 41384,\n    abbrName: 'RtSrcTyp',\n    description:\n      'Indicates whether the rate source specified is a primary or secondary source.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexEventReferencePage',\n    id: 41385,\n    abbrName: 'RefPg',\n    description:\n      'Identifies the reference page from the rate source.\\n\\nFor FX, the reference page to the spot rate is to be used for the reference FX spot rate.\\n\\nWhen LegComplexEventRateSource(41383) = 3 (ISDA Settlement Rate Option) this contains the value from the scheme that reflects the terms of the Annex A to the ISDA 1998 FX and Currency Option Definitions. See: http://www.fpml.org/coding-scheme/settlement-rate-option.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexEvenReferencePageHeading',\n    id: 41386,\n    abbrName: 'RefHdng',\n    description: 'Identifies the reference page heading from the rate source.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegComplexEventDateBusinessCenters',\n    id: 41387,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexEventDateBusinessCenter',\n    id: 41388,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used to adjust the event date, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexEventDateUnadjusted',\n    id: 41389,\n    abbrName: 'DtUnadj',\n    description:\n      'The unadjusted complex event date.\\n\\nFor example the second expiration date for a calendar spread option strategy.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '169',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexEventDateRelativeTo',\n    id: 41390,\n    abbrName: 'Reltv',\n    description:\n      'Specifies the anchor date when the complex event date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexEventDateOffsetPeriod',\n    id: 41391,\n    abbrName: 'OfstPeriod',\n    description: 'Time unit multiplier for the relative date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexEventDateOffsetUnit',\n    id: 41392,\n    abbrName: 'OfstUnit',\n    description: 'Time unit associated with the relative date offset.',\n  },\n  {\n    type: 'ComplexEventDateOffsetDayTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexEventDateOffsetDayType',\n    id: 41393,\n    abbrName: 'OfstDayTyp',\n    description: 'Specifies the day type of the relative date offset.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexEventDateBusinessDayConvention',\n    id: 41394,\n    abbrName: 'BizDayCnvtn',\n    description:\n      'The business day convention used to adjust the event date. Used only to override the business day convention specified in the LegDateAdjustment component within the InstrumentLeg component.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexEventDateAdjusted',\n    id: 41395,\n    abbrName: 'Dt',\n    description: 'The adjusted complex event date.',\n  },\n  {\n    type: 'LocalMktTime',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexEventFixingTime',\n    id: 41396,\n    abbrName: 'FixngTm',\n    description: 'The local market fixing time.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexEventFixingTimeBusinessCenter',\n    id: 41397,\n    abbrName: 'FixngBizCtr',\n    description:\n      'The business center for determining the actual fixing times.\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegComplexEventCreditEventSources',\n    id: 41398,\n    description: 'Number of event sources in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexEventCreditEventSource',\n    id: 41399,\n    abbrName: 'Src',\n    description:\n      'A newspaper or electronic news service that may publish relevant information used in the determination of whether or not a credit event has occurred.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegComplexEvents',\n    id: 2218,\n    description: 'Number of complex events in the repeating group.',\n  },\n  {\n    type: 'ComplexEventTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexEventType',\n    id: 2219,\n    abbrName: 'Typ',\n    description: 'Identifies the type of complex event.',\n  },\n  {\n    type: 'PaymentPaySideCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexOptPayoutPaySide',\n    id: 2220,\n    abbrName: 'OptPay',\n    description: 'Trade side of payout payer.',\n  },\n  {\n    type: 'PaymentPaySideCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexOptPayoutReceiveSide',\n    id: 2221,\n    abbrName: 'OptRcv',\n    description: 'Trade side of payout receiver.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexOptPayoutUnderlier',\n    id: 2222,\n    abbrName: 'OptUndlr',\n    description: 'Reference to the underlier whose payments are being passed through.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexOptPayoutAmount',\n    id: 2223,\n    abbrName: 'OptPayAmt',\n    description:\n      'Cash amount indicating the pay out associated with an event. For binary options this is a fixed amount.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexOptPayoutPercentage',\n    id: 2224,\n    abbrName: 'OptPctage',\n    description:\n      'Percentage of observed price for calculating the payout associated with the event.',\n  },\n  {\n    type: 'ComplexOptPayoutTimeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexOptPayoutTime',\n    id: 2225,\n    abbrName: 'OptTm',\n    description: 'Specifies when the payout is to occur.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'Currency',\n    addedEP: '169',\n    updatedEP: '273',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexOptPayoutCurrency',\n    id: 2226,\n    abbrName: 'OptCcy',\n    description:\n      'Specifies the currency of the payout amount.\\n\\nLegComplexOptPayoutCurrencyCodeSource(2944) may be used to disambiguate the code source scheme used, and ISO 4217 is the default scheme if absent.',\n  },\n  {\n    type: 'Price',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexEventPrice',\n    id: 2227,\n    abbrName: 'Px',\n    description:\n      'Specifies the price at which the complex event takes effect. Impact of the event price is determined by the LegComplexEventType(2219).',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexEventPricePercentage',\n    id: 2228,\n    abbrName: 'PxPctage',\n    description:\n      'Specifies the price percentage at which the complex event takes effect. Impact of the event price is determined by the LegComplexEventType(2219).',\n  },\n  {\n    type: 'ComplexEventPriceBoundaryMethodCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexEventPriceBoundaryMethod',\n    id: 2229,\n    abbrName: 'PxBndryMeth',\n    description:\n      'Specifies the boundary condition to be used for the event price relative to the complex event price at the point the complex event outcome takes effect as determined by the LegComplexEventPriceTimeType(2231).',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexEventPriceBoundaryPrecision',\n    id: 2230,\n    abbrName: 'PxBndryPrcsn',\n    description:\n      'Used in combination with LegComplexEventPriceBoundaryMethod(2229) to specify the percentage of the strike price in relation to the underlying price. The percentage is generally 100 or greater for puts and 100 or less for calls.',\n  },\n  {\n    type: 'ComplexEventPriceTimeTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexEventPriceTimeType',\n    id: 2231,\n    abbrName: 'PxTmTyp',\n    description:\n      'Specifies when the complex event outcome takes effect. The outcome of a complex event is a payout or barrier action as specified by the LegComplexEventType(2219).',\n  },\n  {\n    type: 'ComplexEventConditionCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexEventCondition',\n    id: 2232,\n    abbrName: 'Cond',\n    description:\n      'Specifies the condition between complex events when more than one event is specified.\\n\\nMultiple barrier events would use an \"or\" condition since only one can be effective at a given time. A set of digital range events would use an \"and\" condition since both conditions must be in effect for a payout to result.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'Currency',\n    addedEP: '169',\n    updatedEP: '273',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexEventCurrencyOne',\n    id: 2233,\n    abbrName: 'Ccy1',\n    description:\n      'Specifies the first or only reference currency of the trade.\\n\\nLegComplexEventCurrencyOneCodeSource(2945) may be used to disambiguate the code source scheme used, and ISO 4217 is the default scheme if absent.\\n\\nApplicable for complex FX option strategies.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'Currency',\n    addedEP: '169',\n    updatedEP: '273',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexEventCurrencyTwo',\n    id: 2234,\n    abbrName: 'Ccy2',\n    description:\n      'Specifies the second reference currency of the trade.\\n\\nLegComplexEventCurrencyTwoCodeSource(2946) may be used to disambiguate the code source scheme used, and ISO 4217 is the default scheme if absent.\\n\\nApplicable for complex FX option strategies.',\n  },\n  {\n    type: 'ComplexEventQuoteBasisCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexEventQuoteBasis',\n    id: 2235,\n    abbrName: 'QteBasis',\n    description: 'For foreign exchange Quanto option feature.',\n  },\n  {\n    type: 'float',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexEventFixedFXRate',\n    id: 2236,\n    abbrName: 'Rt',\n    description: 'Specifies the fixed FX rate alternative for FX Quantro options.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexEventDeterminationMethod',\n    id: 2237,\n    abbrName: 'Meth',\n    description:\n      'Specifies the method according to which an amount or a date is determined.\\n\\nSee http://www.fpml.org/coding-scheme/determination-method for values.',\n  },\n  {\n    type: 'ProvisionCalculationAgentCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexEventCalculationAgent',\n    id: 2238,\n    abbrName: 'CalcAgent',\n    description: 'Used to identify the calculation agent.',\n  },\n  {\n    type: 'Price',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexEventStrikePrice',\n    id: 2239,\n    abbrName: 'StrkPx',\n    description:\n      'Upper strike price for Asian option feature. Strike percentage for a Strike Spread.',\n  },\n  {\n    type: 'float',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexEventStrikeFactor',\n    id: 2240,\n    abbrName: 'StrkFctr',\n    description:\n      'Strike factor for Asian option feature. Upper strike percentage for a Strike Spread.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexEventStrikeNumberOfOptions',\n    id: 2241,\n    abbrName: 'StrkNum',\n    description: 'Upper string number of options for a Strike Spread.',\n  },\n  {\n    type: 'XIDREF',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexEventCreditEventsXIDRef',\n    id: 2242,\n    abbrName: 'CdtEvntXIDRef',\n    description: 'Reference to credit event table elsewhere in the message.',\n  },\n  {\n    type: 'ComplexEventCreditEventNotifyingPartyCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexEventCreditEventNotifyingParty',\n    id: 2243,\n    abbrName: 'NotifygPty',\n    description:\n      'The notifying party is the party that notifies the other party when a credit event has occurred by means of a credit event notice. If more than one party is referenced as being the notifying party then either party may notify the other of a credit event occurring.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexEventCreditEventBusinessCenter',\n    id: 2244,\n    abbrName: 'BizCtr',\n    description:\n      'Specifies the local business center for which the credit event is to be determined. The inclusion of this business center implies that Greenwich Mean Time in Section 3.3 of the 2003 ISDA Credit Derivatives Definitions is replaced by the local time of the specified business center.\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexEventCreditEventStandardSources',\n    id: 2245,\n    abbrName: 'StdSrcs',\n    description:\n      \"When this element is specified and set to 'Y', indicates that ISDA defined Standard Public Sources are applicable.\",\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexEventCreditEventMinimumSources',\n    id: 2246,\n    abbrName: 'MinSrcs',\n    description:\n      'The minimum number of the specified public information sources that must publish information that reasonably confirms that a credit event has occurred. The market convention is two.\\n\\nISDA 2003 Term: Specified Number.',\n  },\n  {\n    type: 'XID',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexEventXID',\n    id: 2248,\n    abbrName: 'XID',\n    description:\n      'Identifier of this complex event for cross referencing elsewhere in the message.',\n  },\n  {\n    type: 'XIDREF',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexEventXIDRef',\n    id: 2249,\n    abbrName: 'XIDRef',\n    description: 'Reference to a complex event elsewhere in the message.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegComplexEventDates',\n    id: 2250,\n    description: 'Number of complex event dates in the repeating group.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'UTCDateOnly',\n    addedEP: '169',\n    updatedEP: '195',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexEventStartDate',\n    id: 2251,\n    abbrName: 'StartDt',\n    description:\n      'The start date of the date range on which a complex event is effective. The start date will be set equal to the end date for single day events such as Bermuda options.\\n\\nThe start date must always be less than or equal to end date.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'UTCDateOnly',\n    addedEP: '169',\n    updatedEP: '195',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexEventEndDate',\n    id: 2252,\n    abbrName: 'EndDt',\n    description:\n      'The end date of the date range on which a complex event is effective. The start date will be set equal to the end date for single day events such as Bermuda options.\\n\\nThe end date must always be greater than or equal to start date.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegComplexEventTimes',\n    id: 2253,\n    description: 'Number of complex event times in the repeating group.',\n  },\n  {\n    type: 'UTCTimeOnly',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexEventStartTime',\n    id: 2204,\n    abbrName: 'StartTm',\n    description:\n      'The start time of the time range on which a complex event date is effective.\\n\\nThe start time must always be less than or equal to the end time.',\n  },\n  {\n    type: 'UTCTimeOnly',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexEventEndTime',\n    id: 2247,\n    abbrName: 'EndTm',\n    description:\n      'The end time of the time range on which a complex event date is effective.\\n\\nThe end time must always be greater than or equal to the start time.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegComplexEventSchedules',\n    id: 41400,\n    description: 'Number of schedules in the repeating group.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexEventScheduleStartDate',\n    id: 41401,\n    abbrName: 'StartDt',\n    description: 'The start date of the schedule.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexEventScheduleEndDate',\n    id: 41402,\n    abbrName: 'EndDt',\n    description: 'The end date of the schedule.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexEventScheduleFrequencyPeriod',\n    id: 41403,\n    abbrName: 'FreqPeriod',\n    description: 'Time unit multiplier for the schedule date frequency.',\n  },\n  {\n    type: 'ProtectionTermEventUnitCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexEventScheduleFrequencyUnit',\n    id: 41404,\n    abbrName: 'FreqUnit',\n    description: 'Time unit associated with the schedule date frequency.',\n  },\n  {\n    type: 'DateRollConventionCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexEventScheduleRollConvention',\n    id: 41405,\n    abbrName: 'Roll',\n    description:\n      'The convention for determining the sequence of dates. It is used in conjunction with a specified frequency. Used only to override the roll convention defined in the LegDateAdjustment component in InstrumentLeg.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegDeliverySchedules',\n    id: 41408,\n    description: 'Number of delivery schedules in the repeating group.',\n  },\n  {\n    type: 'DeliveryScheduleTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegDeliveryScheduleType',\n    id: 41409,\n    abbrName: 'Typ',\n    description: 'Specifies the type of delivery schedule.',\n  },\n  {\n    type: 'XID',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegDeliveryScheduleXID',\n    id: 41410,\n    abbrName: 'XID',\n    description:\n      'Identifier for this instance of delivery schedule for cross referencing elsewhere in the message.',\n  },\n  {\n    type: 'Qty',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegDeliveryScheduleNotional',\n    id: 41411,\n    abbrName: 'Notl',\n    description: 'Physical delivery quantity.',\n  },\n  {\n    type: 'UnitOfMeasureCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegDeliveryScheduleNotionalUnitOfMeasure',\n    id: 41412,\n    abbrName: 'NotlUOM',\n    description: 'Specifies the delivery quantity unit of measure (UOM).',\n  },\n  {\n    type: 'StreamNotionalCommodityFrequencyCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegDeliveryScheduleNotionalCommodityFrequency',\n    id: 41413,\n    abbrName: 'NotlFreq',\n    description: 'The frequency of notional delivery.',\n  },\n  {\n    type: 'float',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegDeliveryScheduleNegativeTolerance',\n    id: 41414,\n    abbrName: 'NegtvTlrnc',\n    description:\n      'Specifies the negative tolerance value. The value may be an absolute quantity or a percentage, as specified in LegDeliveryScheduleToleranceType(41417). Percentage value is to be expressed relative to \"1.0\" representing 100% (e.g. a value of \"0.0575\" represents 5.75%).',\n  },\n  {\n    type: 'float',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegDeliverySchedulePositiveTolerance',\n    id: 41415,\n    abbrName: 'PostvTlrnc',\n    description:\n      'Specifies the positive tolerance value. The value may be an absolute quantity or a percentage, as specified in LegDeliveryScheduleToleranceType(41417). Value may exceed agreed upon value. Percentage value is to be expressed relative to \"1.0\" representing 100% (e.g. a value of \"0.0575\" represents 5.75%).',\n  },\n  {\n    type: 'UnitOfMeasureCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegDeliveryScheduleToleranceUnitOfMeasure',\n    id: 41416,\n    abbrName: 'TlrncUOM',\n    description: \"Specifies the tolerance value's unit of measure (UOM).\",\n  },\n  {\n    type: 'DeliveryScheduleToleranceTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegDeliveryScheduleToleranceType',\n    id: 41417,\n    abbrName: 'TlrncTyp',\n    description: 'Specifies the tolerance value type.',\n  },\n  {\n    type: 'Country',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegDeliveryScheduleSettlCountry',\n    id: 41418,\n    abbrName: 'Ctry',\n    description:\n      'Specifies the country where delivery takes place. Uses ISO 3166 2-character country code.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegDeliveryScheduleSettlTimeZone',\n    id: 41419,\n    abbrName: 'TZ',\n    description:\n      'Delivery timezone specified as \"prevailing\" rather than \"standard\" or \"daylight\".\\n\\nSee http://www.fixtradingcommunity.org/codelists#Prevailing_Timezones for code list of applicable prevailing timezones.',\n  },\n  {\n    type: 'DeliveryScheduleSettlFlowTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegDeliveryScheduleSettlFlowType',\n    id: 41420,\n    abbrName: 'FlowTyp',\n    description: 'Specifies the delivery flow type.',\n  },\n  {\n    type: 'DeliveryScheduleSettlHolidaysProcessingInstructionCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegDeliveryScheduleSettlHolidaysProcessingInstruction',\n    id: 41421,\n    abbrName: 'Holidays',\n    description:\n      'Indicates whether holidays are included in the settlement periods. Required for electricity contracts.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegDeliveryScheduleSettlDays',\n    id: 41422,\n    description: 'Number of delivery schedules in the repeating group.',\n  },\n  {\n    type: 'DeliveryScheduleSettlDayCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegDeliveryScheduleSettlDay',\n    id: 41423,\n    abbrName: 'Day',\n    description: 'Specifies the day or group of days for delivery.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegDeliveryScheduleSettlTotalHours',\n    id: 41424,\n    abbrName: 'TotHrs',\n    description:\n      'The sum of the total hours specified in the LegDeliveryScheduleSettlTimeGrp component.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegDeliveryScheduleSettlTimes',\n    id: 41425,\n    description: 'Number of hour ranges in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegDeliveryScheduleSettlStart',\n    id: 41426,\n    abbrName: 'Start',\n    description:\n      'The scheduled start time for the delivery of the commodity where delivery occurs over specified times. The format of the time value is specified in LegDeliveryScheduleSettlTimeType(41428).',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegDeliveryScheduleSettlEnd',\n    id: 41427,\n    abbrName: 'End',\n    description:\n      'The scheduled end time for the delivery of the commodity where delivery occurs over specified times. The format of the time value is specified in LegDeliveryScheduleSettlTimeType(41428).',\n  },\n  {\n    type: 'DeliveryScheduleSettlTimeTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegDeliveryScheduleSettlTimeType',\n    id: 41428,\n    abbrName: 'Typ',\n    description: 'Specifies the format of the delivery start and end time values.',\n  },\n  {\n    type: 'DeliveryStreamTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegDeliveryStreamType',\n    id: 41429,\n    abbrName: 'Typ',\n    description: 'Specifies the type of delivery stream.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegDeliveryStreamPipeline',\n    id: 41430,\n    abbrName: 'Ppln',\n    description: 'The name of the oil delivery pipeline.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegDeliveryStreamEntryPoint',\n    id: 41431,\n    abbrName: 'EntryPnt',\n    description:\n      'The point at which the commodity will enter the delivery mechanism or pipeline.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegDeliveryStreamWithdrawalPoint',\n    id: 41432,\n    abbrName: 'WthdrwlPnt',\n    description:\n      'The point at which the commodity product will be withdrawn prior to delivery.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegDeliveryStreamDeliveryPoint',\n    id: 41433,\n    abbrName: 'DlvryPnt',\n    discriminatorId: '42194',\n    description:\n      'The point at which the commodity product will be delivered and received. Value specified should follow market convention appropriate for the commodity product.\\n\\nFor bullion, see http://www.fpml.org/coding-scheme/bullion-delivery-location for values.',\n  },\n  {\n    type: 'DeliveryStreamDeliveryRestrictionCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegDeliveryStreamDeliveryRestriction',\n    id: 41434,\n    abbrName: 'DlvryRstctn',\n    description:\n      'Specifies under what conditions the buyer and seller should be excused of their delivery obligations.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegDeliveryStreamDeliveryContingency',\n    id: 41435,\n    abbrName: 'Cntgncy',\n    description:\n      'Specifies the electricity delivery contingency. See\\n\\nhttp://www.fpml.org/coding-scheme/electricity-transmission-contingency for values.',\n  },\n  {\n    type: 'DeliveryStreamElectingPartySideCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegDeliveryStreamDeliveryContingentPartySide',\n    id: 41436,\n    abbrName: 'CntgPty',\n    description:\n      'The trade side value of the party responsible for electricity delivery contingency.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegDeliveryStreamDeliverAtSourceIndicator',\n    id: 41437,\n    abbrName: 'DlvrAtSrc',\n    description:\n      \"When this element is specified and set to 'Y', delivery of the coal product is to be at its source.\",\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegDeliveryStreamRiskApportionment',\n    id: 41438,\n    abbrName: 'RiskApprtnmt',\n    discriminatorId: '41219',\n    description:\n      'Specifies how the parties to the trade apportion responsibility for the delivery of the commodity product.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Risk_Apportionment for the details of the external code list.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegDeliveryStreamRiskApportionmentSource',\n    id: 41219,\n    abbrName: 'RiskApprtnmtSrc',\n    description:\n      'Specifies the source or legal framework for the risk apportionment.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Risk_Apportionment_Source for the details of the external code list.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegDeliveryStreamTitleTransferLocation',\n    id: 41439,\n    abbrName: 'TtlXfer',\n    description: 'Specifies the title transfer location.',\n  },\n  {\n    type: 'DeliveryStreamTitleTransferConditionCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegDeliveryStreamTitleTransferCondition',\n    id: 41440,\n    abbrName: 'TtlXferCond',\n    description: 'Specifies the condition of title transfer.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegDeliveryStreamImporterOfRecord',\n    id: 41441,\n    abbrName: 'Imprtr',\n    description:\n      'A party, not necessarily of the trade, who is the Importer of Record for the purposes of paying customs duties and applicable taxes or costs related to importation.',\n  },\n  {\n    type: 'float',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegDeliveryStreamNegativeTolerance',\n    id: 41442,\n    abbrName: 'NegtvTlrnc',\n    description:\n      'Specifies the negative tolerance value. The value may be an absolute quantity or a percentage, as specified in LegDeliveryStreamToleranceType(41445). Percentage value is to be expressed relative to \"1.0\" representing 100% (e.g. a value of \"0.0575\" represents 5.75%).',\n  },\n  {\n    type: 'float',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegDeliveryStreamPositiveTolerance',\n    id: 41443,\n    abbrName: 'PostvTlrnc',\n    description:\n      'Specifies the positive tolerance value. The value may be an absolute quantity or a percentage, as specified in LegDeliveryStreamToleranceType(41445). Value may exceed agreed upon value. Percentage value is to be expressed relative to \"1.0\" representing 100% (e.g. a value of \"0.0575\" represents 5.75%).',\n  },\n  {\n    type: 'UnitOfMeasureCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegDeliveryStreamToleranceUnitOfMeasure',\n    id: 41444,\n    abbrName: 'TlrncUOM',\n    description: \"Specifies the tolerance value's unit of measure (UOM).\",\n  },\n  {\n    type: 'DeliveryScheduleToleranceTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegDeliveryStreamToleranceType',\n    id: 41445,\n    abbrName: 'TlrncTyp',\n    description: 'Specifies the tolerance value type.',\n  },\n  {\n    type: 'DeliveryStreamToleranceOptionSideCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegDeliveryStreamToleranceOptionSide',\n    id: 41446,\n    abbrName: 'TlrncOptSide',\n    description: \"Indicates whether the tolerance is at the seller's or buyer's option.\",\n  },\n  {\n    type: 'Percentage',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegDeliveryStreamTotalPositiveTolerance',\n    id: 41447,\n    abbrName: 'TotPostvTlrnc',\n    description:\n      'The positive percent tolerance which applies to the total quantity delivered over all shipment periods.\\n\\nPercentage value is to be expressed relative to \"1.0\" representing 100% (e.g. a value of \"0.0575\" represents 5.75%.).',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegDeliveryStreamTotalNegativeTolerance',\n    id: 41448,\n    abbrName: 'TotNegtvTlrnc',\n    description:\n      'The negative percent tolerance which applies to the total quantity delivered over all shipment periods.\\n\\nPercentage value is to be expressed relative to \"1.0\" representing 100% (e.g. a value of \"0.0575\" represents 5.75%.).',\n  },\n  {\n    type: 'float',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegDeliveryStreamNotionalConversionFactor',\n    id: 41449,\n    abbrName: 'CnvrsnFctr',\n    description:\n      'If the notional quantity is specified in a unit that does not match the unit in which the commodity reference price is quoted, the scaling or conversion factor used to convert the commodity reference price unit into the notional quantity unit should be stated here. If there is no conversion, this field is not intended to be used.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegDeliveryStreamTransportEquipment',\n    id: 41450,\n    abbrName: 'Eqpmt',\n    description:\n      'The transportation equipment with which the commodity product will be delivered and received.\\n\\nExamples of transportation equipment or mode are barge, truck, railcar, etc.',\n  },\n  {\n    type: 'DeliveryStreamElectingPartySideCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegDeliveryStreamElectingPartySide',\n    id: 41451,\n    abbrName: 'ElctngSide',\n    description:\n      'A reference to the party able to choose whether the gas is delivered for a particular period e.g. a swing or interruptible contract.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegStreamAssetAttributes',\n    id: 41452,\n    description: 'Number of asset attribute entries in the group.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamAssetAttributeType',\n    id: 41453,\n    abbrName: 'Typ',\n    description:\n      'Specifies the name of the attribute.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Asset_Attribute_Types for code list of applicable asset attribute types.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamAssetAttributeValue',\n    id: 41454,\n    abbrName: 'Val',\n    description: 'Specifies the value of the attribute.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamAssetAttributeLimit',\n    id: 41455,\n    abbrName: 'Lmt',\n    description: 'Limit or lower acceptable value of the attribute.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegDeliveryStreamCycles',\n    id: 41456,\n    description: 'Number of commodity sources in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegDeliveryStreamCycleDesc',\n    id: 41457,\n    abbrName: 'Desc',\n    description:\n      'The delivery cycles during which the oil product will be transported in the pipeline.',\n  },\n  {\n    type: 'Length',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedLegDeliveryStreamCycleDescLen',\n    id: 41458,\n    abbrName: 'EncDescLen',\n    description:\n      'Byte length of encoded (non-ASCII characters) EncodedLegDeliveryStreamCycleDesc(41459) field.',\n  },\n  {\n    type: 'data',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedLegDeliveryStreamCycleDesc',\n    id: 41459,\n    abbrName: 'EncDesc',\n    lengthId: '41458',\n    description:\n      'Encoded (non-ASCII characters) representation of the LegDeliveryStreamCycleDesc(41457) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the LegLeg DeliveryStream(41457) field.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegDeliveryStreamCommoditySources',\n    id: 41460,\n    description: 'Number of commodity sources in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegDeliveryStreamCommoditySource',\n    id: 41461,\n    abbrName: 'Src',\n    description:\n      'The SCoTA coal cargo origin, mining region, mine(s), mining complex(es), loadout(s) or river dock(s) or other point(s) of origin that seller and buyer agree are acceptable origins for the coal product. For international coal transactions, this is the origin of the coal product.\\n\\nSee http://www.fpml.org/coding-scheme/commodity-coal-product-source for values.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegInstrumentParties',\n    id: 2254,\n    description: 'Number of parties in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegInstrumentPartyID',\n    id: 2255,\n    abbrName: 'ID',\n    discriminatorId: '2256',\n    description: 'Used to identify party id related to instrument.',\n  },\n  {\n    type: 'PartyIDSourceCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegInstrumentPartyIDSource',\n    id: 2256,\n    abbrName: 'Src',\n    description: 'Used to identify source of instrument party id.',\n  },\n  {\n    type: 'PartyRoleCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegInstrumentPartyRole',\n    id: 2257,\n    abbrName: 'R',\n    description: 'Used to identify the role of instrument party id.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegInstrumentPartySubIDs',\n    id: 2258,\n    description: 'Number of parties sub-IDs in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegInstrumentPartySubID',\n    id: 2259,\n    abbrName: 'ID',\n    description: 'PartySubID value within an instrument party repeating group.',\n  },\n  {\n    type: 'PartySubIDTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegInstrumentPartySubIDType',\n    id: 2260,\n    abbrName: 'Typ',\n    description: 'Type of LegInstrumentPartySubID (2259) value.',\n  },\n  {\n    type: 'MarketDisruptionProvisionCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegMarketDisruptionProvision',\n    id: 41462,\n    abbrName: 'Prov',\n    description: 'The consequences of market disruption events.',\n  },\n  {\n    type: 'MarketDisruptionFallbackProvisionCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegMarketDisruptionFallbackProvision',\n    id: 41463,\n    abbrName: 'FallbckProv',\n    description: 'Specifies the location of the fallback provision documentation.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegMarketDisruptionMaximumDays',\n    id: 41464,\n    abbrName: 'MaxDays',\n    description:\n      'Specifies the maximum number of market disruption days (commodity or bullion business days) in a contract or confirmation. If none are specified, the maximum number of market disruption days is five (5).\\n\\nISDA 2005 Commodity Definition.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegMarketDisruptionMaterialityPercentage',\n    id: 41465,\n    abbrName: 'MtrltyPctage',\n    description:\n      'Used when a price materiality percentage applies to the price source disruption event and this event has been specified.\\n\\nApplicable to 2005 Commodity Definitions only.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegMarketDisruptionMinimumFuturesContracts',\n    id: 41466,\n    abbrName: 'MinCtrcts',\n    description:\n      \"Specifies the minimum futures contracts level that dictates whether or not a 'De Minimis Trading' event has occurred.\\n\\nApplicable to 1993 Commodity Definitions only.\",\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegMarketDisruptionEvents',\n    id: 41467,\n    description: 'Number of disruption events in the repeating group.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'String',\n    addedEP: '169',\n    updatedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'LegMarketDisruptionEvent',\n    id: 41468,\n    abbrName: 'Evnt',\n    description:\n      'Specifies the market disruption event.\\n\\nFor commodities see http://www.fpml.org/coding-scheme/commodity-market-disruption for values.\\n\\nFor foreign exchange, see http://www.fixtradingcommunity.org/codelists#Market_Disruption_Event for code list of applicable event types.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegMarketDisruptionFallbacks',\n    id: 41469,\n    description: 'Number of fallbacks in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegMarketDisruptionFallbackType',\n    id: 41470,\n    abbrName: 'Typ',\n    description:\n      'Specifies the type of disruption fallback.\\n\\nSee http://www.fpml.org/coding-scheme/commodity-market-disruption-fallback for values.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegMarketDisruptionFallbackReferencePrices',\n    id: 41471,\n    description: 'Number of fallback reference securities in the repeating group.',\n  },\n  {\n    type: 'MarketDisruptionFallbackUnderlierTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegMarketDisruptionFallbackUnderlierType',\n    id: 41472,\n    abbrName: 'Typ',\n    description: 'The type of reference price underlier.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegMarketDisruptionFallbackUnderlierSecurityID',\n    id: 41473,\n    abbrName: 'ID',\n    discriminatorId: '41474',\n    description: 'Specifies the identifier value of the security.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'SecurityIDSourceCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '169',\n    updatedEP: '265',\n    added: 'FIX.5.0SP2',\n    name: 'LegMarketDisruptionFallbackUnderlierSecurityIDSource',\n    id: 41474,\n    abbrName: 'Src',\n    description: 'Specifies the class or source scheme of the security identifier.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegMarketDisruptionFallbackUnderlierSecurityDesc',\n    id: 41475,\n    abbrName: 'Desc',\n    description: 'Specifies the description of the underlying security.',\n  },\n  {\n    type: 'Length',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedLegMarketDisruptionFallbackUnderlierSecurityDescLen',\n    id: 41476,\n    abbrName: 'EncDescLen',\n    description:\n      'Byte length of encoded (non-ASCII characters) EncodedLegMarketDisruptionFallbackUnderlierSecurityDesc (41477) field.',\n  },\n  {\n    type: 'data',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedLegMarketDisruptionFallbackUnderlierSecurityDesc',\n    id: 41477,\n    abbrName: 'EncDesc',\n    lengthId: '41476',\n    description:\n      'Encoded (non-ASCII characters) representation of the LegMarketDisruptionFallbackUnderlierSecurityDesc(41475) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the LegMarketDisruptionFallbackUnderlierSecurityDesc(41475) field.',\n  },\n  {\n    type: 'Qty',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegMarketDisruptionFallbackOpenUnits',\n    id: 41478,\n    abbrName: 'OpnUnits',\n    description:\n      'If there are multiple underlying assets, this specifies the number of units (index or securities) that constitute the underlier of the swap. In the case of a basket swap, this is used to reference both the number of basket units, and the number of each asset components of the basket when these are expressed in absolute terms.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegMarketDisruptionFallbackBasketCurrency',\n    id: 41479,\n    abbrName: 'Ccy',\n    description:\n      'Specifies the currency if the underlier is a basket. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'float',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegMarketDisruptionFallbackBasketDivisor',\n    id: 41480,\n    abbrName: 'Dvsr',\n    description:\n      'Specifies the basket divisor amount. This value is normally used to adjust the constituent weight for pricing or to adjust for dividends, or other corporate actions.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegExerciseDesc',\n    id: 41481,\n    abbrName: 'Desc',\n    description: 'A description of the option exercise.',\n  },\n  {\n    type: 'Length',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedLegExerciseDescLen',\n    id: 41482,\n    abbrName: 'EncDescLen',\n    description:\n      'Byte length of encoded (non-ASCII characters) EncodedLegExerciseDesc(41483) field.',\n  },\n  {\n    type: 'data',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedLegExerciseDesc',\n    id: 41483,\n    abbrName: 'EncDesc',\n    lengthId: '41482',\n    description:\n      'Encoded (non-ASCII characters) representation of the LegExerciseDesc(41481) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the LegExerciseDesc(41481) field.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegAutomaticExerciseIndicator',\n    id: 41484,\n    abbrName: 'AutoExerInd',\n    description:\n      \"Indicates (when 'Y') that exercise is automatic when the strike price is crossed or the underlying trade is in the money.\",\n  },\n  {\n    type: 'float',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegAutomaticExerciseThresholdRate',\n    id: 41485,\n    abbrName: 'AutoRt',\n    description: 'The threshold rate for triggering automatic exercise.',\n  },\n  {\n    type: 'ExerciseConfirmationMethodCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegExerciseConfirmationMethod',\n    id: 41486,\n    abbrName: 'ExerCnfm',\n    description:\n      \"Indicates whether follow-up confirmation of exercise (written or electronic) is required following telephonic notice by the buyer to the seller or seller's agent.\",\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegManualNoticeBusinessCenter',\n    id: 41487,\n    abbrName: 'ManNtcBizCtr',\n    description:\n      'Identifies the business center used for adjusting the time for manual exercise notice.\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegFallbackExerciseIndicator',\n    id: 41488,\n    abbrName: 'FallbckExerInd',\n    description:\n      'Indicates whether the notional amount of the underlying swap, not previously exercised under the option, will be automatically exercised at the expiration time on the expiration date if at such time the buyer is in-the-money, provided that the difference between the settlement rate and the fixed rate under the relevant underlying swap is not less than one tenth of a percentage point (0.10% or 0.001).',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegLimitRightToConfirmIndicator',\n    id: 41489,\n    abbrName: 'LtdRightCnfmInd',\n    description:\n      'Indicates whether the Seller may request the Buyer to confirm its intent to exercise if not done on or before the expiration time on the expiration date. If true (\"Y\") specific rules will apply in relation to the settlement mode.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegExerciseSplitTicketIndicator',\n    id: 41490,\n    abbrName: 'ExerSplitTktInd',\n    description:\n      'Indicates in physical settlement of bond and convertible bond options whether the party required to deliver the bonds will divide those to be delivered as notifying party desires to facilitate delivery obligations.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegOptionExerciseBusinessCenters',\n    id: 41491,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegOptionExerciseBusinessCenter',\n    id: 41492,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used to adjust the option exercise dates, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegOptionExerciseBusinessDayConvention',\n    id: 41493,\n    abbrName: 'BizDayCnvtn',\n    description:\n      'The business day convention used to adjust the option exercise dates. Used only to override the business day convention specified in the LegDateAdjustment component within the InstrumentLeg component.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'ComplexEventDateOffsetDayTypeCodeSet',\n    addedEP: '169',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegOptionExerciseEarliestDateOffsetDayType',\n    id: 41494,\n    abbrName: 'ErlstOfstDayTyp',\n    description: 'Specifies the day type of the relative earliest exercise date offset.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegOptionExerciseEarliestDateOffsetPeriod',\n    id: 41495,\n    abbrName: 'ErlstOfstPeriod',\n    description: 'Time unit multiplier for the relative earliest exercise date offset.',\n  },\n  {\n    type: 'ProvisionOptionExerciseEarliestDateOffsetUnitCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegOptionExerciseEarliestDateOffsetUnit',\n    id: 41496,\n    abbrName: 'ErlstOfstUnit',\n    description: 'Time unit associated with the relative earliest exercise date offset.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegOptionExerciseFrequencyPeriod',\n    id: 41497,\n    abbrName: 'FreqPeriod',\n    description: 'Time unit multiplier for the frequency of exercise dates.',\n  },\n  {\n    type: 'ProtectionTermEventUnitCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegOptionExerciseFrequencyUnit',\n    id: 41498,\n    abbrName: 'FreqUnit',\n    description: 'Time unit associated with the frequency of exercise dates.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegOptionExerciseStartDateUnadjusted',\n    id: 41499,\n    abbrName: 'StartDtUnadj',\n    description: 'The unadjusted start date for calculating periodic exercise dates.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegOptionExerciseStartDateRelativeTo',\n    id: 41500,\n    abbrName: 'StartDtReltv',\n    description:\n      'Specifies the anchor date when the option exercise start date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegOptionExerciseStartDateOffsetPeriod',\n    id: 41501,\n    abbrName: 'StartDtOfstPeriod',\n    description: 'Time unit multiplier for the relative exercise start date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegOptionExerciseStartDateOffsetUnit',\n    id: 41502,\n    abbrName: 'StartDtOfstUnit',\n    description: 'Time unit associated with the relative exercise start date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '169',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegOptionExerciseStartDateOffsetDayType',\n    id: 41503,\n    abbrName: 'StartDtOfstDayTyp',\n    description:\n      'Specifies the day type of the relative option exercise start date offset.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegOptionExerciseStartDateAdjusted',\n    id: 41504,\n    abbrName: 'StartDt',\n    description: 'The adjusted start date for calculating periodic exercise dates.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegOptionExerciseSkip',\n    id: 41505,\n    abbrName: 'Skip',\n    description:\n      'The number of periods in the referenced date schedule that are between each date in the relative date schedule. Thus a skip of 2 would mean that dates are relative to every second date in the referenced schedule. If present this should have a value greater than 1.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegOptionExerciseNominationDeadline',\n    id: 41506,\n    abbrName: 'NomntnDdln',\n    description: 'The last date (adjusted) for establishing the option exercise terms.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegOptionExerciseFirstDateUnadjusted',\n    id: 41507,\n    abbrName: 'FirstDtUnadj',\n    description: 'The unadjusted first exercise date.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegOptionExerciseLastDateUnadjusted',\n    id: 41508,\n    abbrName: 'LastDtUnadj',\n    description: 'The unadjusted last exercise date.',\n  },\n  {\n    type: 'LocalMktTime',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegOptionExerciseEarliestTime',\n    id: 41509,\n    abbrName: 'ErlstTm',\n    description:\n      \"The earliest time at which notice of exercise can be given by the buyer to the seller (or seller's agent) (i) on the expriation date, in the case of a European style option, (ii) on each Bermuda option exercise date and the expiration date, in the case of a Bermuda style option, (iii) the commencement date to, and including, the expiration date, in the case of an American option.\",\n  },\n  {\n    type: 'LocalMktTime',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegOptionExerciseLatestTime',\n    id: 41510,\n    abbrName: 'LtstTm',\n    description:\n      'The latest exercise time. See also LegOptionExerciseEarliestTime(41509).',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegOptionExerciseTimeBusinessCenter',\n    id: 41511,\n    abbrName: 'TmBizCtr',\n    description:\n      'The business center used to determine the locale for option exercise time, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegOptionExerciseDates',\n    id: 41512,\n    description: 'Number of dates in the repeating group.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegOptionExerciseDate',\n    id: 41513,\n    abbrName: 'Dt',\n    description: 'The adjusted or unadjusted option exercise fixed date.',\n  },\n  {\n    type: 'OptionExerciseDateTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegOptionExerciseDateType',\n    id: 41514,\n    abbrName: 'Typ',\n    description:\n      'Specifies the type of option exercise date. When specified it applies not only to the current date but to all subsequent dates in the group until overridden with a new type.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegOptionExerciseExpirationDateBusinessCenters',\n    id: 41515,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegOptionExerciseExpirationDateBusinessCenter',\n    id: 41516,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used to adjust the option exercise expiration dates, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegOptionExerciseExpirationDateBusinessDayConvention',\n    id: 41517,\n    abbrName: 'BizDayCnvtn',\n    description:\n      'The business day convention used to adjust the option exercise expiration dates. Used only to override the business day convention specified in the LegDateAdjustment component within the InstrumentLeg component.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegOptionExerciseExpirationDateRelativeTo',\n    id: 41518,\n    abbrName: 'Reltv',\n    description:\n      'Specifies the anchor date when the option exercise expiration date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegOptionExerciseExpirationDateOffsetPeriod',\n    id: 41519,\n    abbrName: 'OfstPeriod',\n    description: 'Time unit multiplier for the relative exercise expiration date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegOptionExerciseExpirationDateOffsetUnit',\n    id: 41520,\n    abbrName: 'OfstUnit',\n    description:\n      'Time unit associated with the relative exercise expiration date offset.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegOptionExerciseExpirationFrequencyPeriod',\n    id: 41521,\n    abbrName: 'FreqPeriod',\n    description: 'Time unit multiplier for the frequency of exercise expiration dates.',\n  },\n  {\n    type: 'ProtectionTermEventUnitCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegOptionExerciseExpirationFrequencyUnit',\n    id: 41522,\n    abbrName: 'FreqUnit',\n    description: 'Time unit associated with the frequency of exercise expiration dates.',\n  },\n  {\n    type: 'DateRollConventionCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegOptionExerciseExpirationRollConvention',\n    id: 41523,\n    abbrName: 'Roll',\n    description:\n      'The convention for determining the sequence of exercise expiration dates. It is used in conjunction with a specified frequency. Used only to override the roll convention defined in the LegDateAdjustment component in InstrumentLeg.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'ComplexEventDateOffsetDayTypeCodeSet',\n    addedEP: '169',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegOptionExerciseExpirationDateOffsetDayType',\n    id: 41524,\n    abbrName: 'OfstDayTyp',\n    description:\n      'Specifies the day type of the relative option exercise expiration date offset.',\n  },\n  {\n    type: 'LocalMktTime',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegOptionExerciseExpirationTime',\n    id: 41525,\n    abbrName: 'Tm',\n    description: 'The option exercise expiration time.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegOptionExerciseExpirationTimeBusinessCenter',\n    id: 41526,\n    abbrName: 'TmBizCtr',\n    description:\n      'The business center used to determine the locale for option exercise expiration time, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegOptionExerciseExpirationDates',\n    id: 41527,\n    description: 'Number of fixed exercise expiration dates in the repeating group.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegOptionExerciseExpirationDate',\n    id: 41528,\n    abbrName: 'Dt',\n    description: 'The adjusted or unadjusted option exercise expiration fixed date.',\n  },\n  {\n    type: 'OptionExerciseDateTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegOptionExerciseExpirationDateType',\n    id: 41529,\n    abbrName: 'Typ',\n    description:\n      'Specifies the type of option exercise expiration date. When specified it applies not only to the current date but to all subsequent dates in the group until overridden with a new type.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegPaymentScheduleFixingDays',\n    id: 41530,\n    description: 'Number of fixing days in the repeating group.',\n  },\n  {\n    type: 'PaymentStreamPricingDayOfWeekCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentScheduleFixingDayOfWeek',\n    id: 41531,\n    abbrName: 'DayOfWk',\n    description: 'The day of the week on which fixing takes place.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentScheduleFixingDayNumber',\n    id: 41532,\n    abbrName: 'DayNum',\n    description:\n      'The occurrence of the day of week on which fixing takes place.\\n\\nFor example, a fixing of the 3rd Friday would be DayOfWk=5 DayNum=3. If omitted every day of the week is a fixing day.',\n  },\n  {\n    type: 'XID',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentScheduleXID',\n    id: 41533,\n    abbrName: 'XID',\n    description:\n      'Identifier of this LegPaymentSchedule for cross referencing elsewhere in the message.',\n  },\n  {\n    type: 'XIDREF',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentScheduleXIDRef',\n    id: 41534,\n    abbrName: 'XIDRef',\n    description: 'Reference to payment schedule elsewhere in the message.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentScheduleRateCurrency',\n    id: 41535,\n    abbrName: 'RtCcy',\n    description: 'The currency of the schedule rate. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'UnitOfMeasureCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentScheduleRateUnitOfMeasure',\n    id: 41536,\n    abbrName: 'RtUOM',\n    description: 'The schedule rate unit of measure (UOM).',\n  },\n  {\n    type: 'float',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentScheduleRateConversionFactor',\n    id: 41537,\n    abbrName: 'RtFctr',\n    description:\n      \"The number multipled by the derived floating rate of the leg's payment schedule in order to arrive at the payment rate. If omitted, the schedule rate conversion factor is 1.\",\n  },\n  {\n    type: 'PaymentStreamRateSpreadTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentScheduleRateSpreadType',\n    id: 41538,\n    abbrName: 'SpreadTyp',\n    description:\n      'Identifies whether the rate spread is an absolute value to be added to the index rate or a percentage of the index rate.',\n  },\n  {\n    type: 'Price',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentScheduleSettlPeriodPrice',\n    id: 41539,\n    abbrName: 'SettlPx',\n    description: 'The schedule settlement period price.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentScheduleSettlPeriodPriceCurrency',\n    id: 41540,\n    abbrName: 'SettlPxCcy',\n    description:\n      'The currency of the schedule settlement period price. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'UnitOfMeasureCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentScheduleSettlPeriodPriceUnitOfMeasure',\n    id: 41541,\n    abbrName: 'SettlPxUOM',\n    description: 'The settlement period price unit of measure (UOM).',\n  },\n  {\n    type: 'UnitOfMeasureCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentScheduleStepUnitOfMeasure',\n    id: 41542,\n    abbrName: 'StepUOM',\n    description: 'The schedule step unit of measure (UOM).',\n  },\n  {\n    type: 'PaymentStreamPricingDayDistributionCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentScheduleFixingDayDistribution',\n    id: 41543,\n    abbrName: 'FixngDayDistrib',\n    description: 'The distribution of fixing days.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentScheduleFixingDayCount',\n    id: 41544,\n    abbrName: 'FixngDayCnt',\n    description: 'The number of days over which fixing should take place.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentScheduleFixingLagPeriod',\n    id: 41545,\n    abbrName: 'FixngLagPeriod',\n    description: 'Time unit multiplier for the fixing lag duration.',\n  },\n  {\n    type: 'PaymentStreamInflationLagUnitCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentScheduleFixingLagUnit',\n    id: 41546,\n    abbrName: 'FixngLagUnit',\n    description: 'Time unit associated with the fixing lag duration.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'int',\n    addedEP: '169',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentScheduleFixingFirstObservationDateOffsetPeriod',\n    id: 41547,\n    abbrName: 'FixngFirstObsvtnPeriod',\n    description:\n      'Time unit multiplier for the relative first observation date offset.\\n\\nIf the first observation offset is specified, the observation period will start the specified interval prior to each calculation period - i.e. if the first observation offset is 4 months and the lag duration is 3 months, observations will be taken in months 4, 3 and 2 (but not 1) prior to each calculation period. If no first observation offset is specified, the observation period will end immediately preceding each calculation period.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '169',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentScheduleFixingFirstObservationDateOffsetUnit',\n    id: 41548,\n    abbrName: 'FixngFirstObsvtnUnit',\n    description: 'Time unit associated with the relative first observation date offset.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamFlatRateIndicator',\n    id: 41549,\n    abbrName: 'FlatRtInd',\n    description:\n      'When this element is specified and set to \\'Y\\', the Flat Rate is the New Worldwide Tanker Nominal Freight Scale for the Freight Index Route taken at the trade date of the transaction \"Fixed\". If \\'N\\' it is taken on each pricing date \"Floating\".',\n  },\n  {\n    type: 'Amt',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamFlatRateAmount',\n    id: 41550,\n    abbrName: 'FlatRtAmt',\n    description:\n      \"Specifies the actual monetary value of the flat rate when LegPaymentStreamFlatRateIndicator(41549) = 'Y'.\",\n  },\n  {\n    type: 'Currency',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamFlatRateCurrency',\n    id: 41551,\n    abbrName: 'FlatRtCcy',\n    description:\n      'Specifies the currency of the actual flat rate. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamMaximumPaymentAmount',\n    id: 41552,\n    abbrName: 'MaxPmtAmt',\n    description: 'Specifies the limit on the total payment amount.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamMaximumPaymentCurrency',\n    id: 41553,\n    abbrName: 'MaxPmtCcy',\n    description:\n      'Specifies the currency of total payment amount limit. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamMaximumTransactionAmount',\n    id: 41554,\n    abbrName: 'MaxTxnAmt',\n    description:\n      'Specifies the limit on the payment amount that goes out in any particular calculation period.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamMaximumTransactionCurrency',\n    id: 41555,\n    abbrName: 'MaxTxnCcy',\n    description:\n      'Specifies the currency of the period payment amount limit. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'UnitOfMeasureCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamFixedAmountUnitOfMeasure',\n    id: 41556,\n    abbrName: 'FixedAmtUOM',\n    description: 'The fixed payment amount unit of measure (UOM).',\n  },\n  {\n    type: 'Amt',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamTotalFixedAmount',\n    id: 41557,\n    abbrName: 'FixedAmt',\n    description: 'Specifies the total fixed payment amount.',\n  },\n  {\n    type: 'float',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamWorldScaleRate',\n    id: 41558,\n    abbrName: 'WorldScaleRt',\n    description:\n      'The number of Worldscale points for purposes of the calculation of a fixed amount for a wet voyage charter commodity swap.',\n  },\n  {\n    type: 'Price',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamContractPrice',\n    id: 41559,\n    abbrName: 'CtrctPx',\n    description:\n      'The price per relevant unit for purposes of the calculation of a fixed amount for a dry voyage charter or time charter commodity swap.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamContractPriceCurrency',\n    id: 41560,\n    abbrName: 'CtrctPxCcy',\n    description:\n      'Specifies the currency of LegPaymentStreamContractPrice(41559). Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegPaymentStreamPricingBusinessCenters',\n    id: 41561,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamPricingBusinessCenter',\n    id: 41562,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used to adjust the pricing dates, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'PaymentStreamRateIndexCurveUnitCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamRateIndex2CurveUnit',\n    id: 41563,\n    abbrName: 'Ndx2Unit',\n    description:\n      \"Secondary time unit associated with the payment stream's floating rate index curve.\",\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamRateIndex2CurvePeriod',\n    id: 41564,\n    abbrName: 'Ndx2Period',\n    description:\n      \"Secondary time unit multiplier for the payment stream's floating rate index curve.\\n\\nMay be used for a Forward Rate Agreement (FRA) with an average rate between two curve points.\",\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamRateIndexLocation',\n    id: 41565,\n    abbrName: 'NdxLctn',\n    description: 'Specifies the location of the floating rate index.',\n  },\n  {\n    type: 'Qty',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamRateIndexLevel',\n    id: 41566,\n    abbrName: 'NdxLvl',\n    description:\n      'This is the weather Cooling Degree Days (CDD), Heating Degree Days (HDD) or HDD index level specified as the number of (amount of) weather index units specified by the parties in the related confirmation.',\n  },\n  {\n    type: 'UnitOfMeasureCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamRateIndexUnitOfMeasure',\n    id: 41567,\n    abbrName: 'NdxUOM',\n    description: 'The unit of measure (UOM) of the rate index level.',\n  },\n  {\n    type: 'PaymentStreamSettlLevelCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamSettlLevel',\n    id: 41568,\n    abbrName: 'SettlLvl',\n    description: 'Specifies how weather index units are to be calculated.',\n  },\n  {\n    type: 'Qty',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamReferenceLevel',\n    id: 41569,\n    abbrName: 'RefLvl',\n    description:\n      'This is the weather Cooling Degree Days (CDD), Heating Degree Days (HDD) or HDD reference level specified as the number of (amount of) weather index units specified by the parties in the related confirmation.',\n  },\n  {\n    type: 'UnitOfMeasureCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamReferenceLevelUnitOfMeasure',\n    id: 41570,\n    abbrName: 'RefUOM',\n    description: 'The unit of measure (UOM) of the rate reference level.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamReferenceLevelEqualsZeroIndicator',\n    id: 41571,\n    abbrName: 'RefLvlZero',\n    description:\n      \"When set to 'Y', it indicates that the weather reference level equals zero.\",\n  },\n  {\n    type: 'Currency',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamRateSpreadCurrency',\n    id: 41572,\n    abbrName: 'SpreadCcy',\n    description:\n      'Specifies the currency of the floating rate spread. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'UnitOfMeasureCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamRateSpreadUnitOfMeasure',\n    id: 41573,\n    abbrName: 'SpreadUOM',\n    description: 'Specifies the unit of measure (UOM) of the floating rate spread.',\n  },\n  {\n    type: 'float',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamRateConversionFactor',\n    id: 41574,\n    abbrName: 'RtFctr',\n    description:\n      \"The number to be multiplied by the derived floating rate of the leg's payment stream in order to arrive at the payment rate. If omitted, the floating rate conversion factor is 1.\",\n  },\n  {\n    type: 'PaymentStreamRateSpreadTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamRateSpreadType',\n    id: 41575,\n    abbrName: 'SpreadTyp',\n    description:\n      'Identifies whether the rate spread is an absolute value to be added to the index rate or a percentage of the index rate.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamLastResetRate',\n    id: 41576,\n    abbrName: 'LastResetRt',\n    description:\n      'The floating rate determined at the most recent reset. The rate is expressed in decimal form, e.g. 5% is represented as 0.05.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamFinalRate',\n    id: 41577,\n    abbrName: 'FnlRt',\n    description:\n      'The floating rate determined at the final reset. The rate is expressed in decimal form, e.g. 5% is represented as 0.05.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamCalculationLagPeriod',\n    id: 41578,\n    abbrName: 'CalcLagPeriod',\n    description: 'Time unit multiplier for the calculation lag duration.',\n  },\n  {\n    type: 'PaymentStreamInflationLagUnitCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamCalculationLagUnit',\n    id: 41579,\n    abbrName: 'CalcLagUnit',\n    description: 'Time unit associated with the calculation lag duration.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'int',\n    addedEP: '169',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamFirstObservationDateOffsetPeriod',\n    id: 41580,\n    abbrName: 'FirstObsvtnOfstPeriod',\n    description:\n      'Time unit multiplier for the relative first observation date offset.\\n\\nIf the first observation offset is specified, the observation period will start the specified interval prior to each calculation period - i.e. if the first observation offset is 4 months and the lag duration is 3 months, observations will be taken in months 4, 3 and 2 (but not 1) prior to each calculation period. If no first observation offset is specified, the observation period will end immediately preceding each calculation period.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '169',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamFirstObservationDateOffsetUnit',\n    id: 41581,\n    abbrName: 'FirstObsvtnOfstUnit',\n    description: 'Time unit associated with the relative first observation date offset.',\n  },\n  {\n    type: 'ComplexEventDateOffsetDayTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamPricingDayType',\n    id: 41582,\n    abbrName: 'PxngDayTyp',\n    description: 'Specifies the commodity pricing day type.',\n  },\n  {\n    type: 'PaymentStreamPricingDayDistributionCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamPricingDayDistribution',\n    id: 41583,\n    abbrName: 'PxngDayDistrib',\n    description: 'The distribution of pricing days.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamPricingDayCount',\n    id: 41584,\n    abbrName: 'PxngDayCnt',\n    description: 'The number of days over which pricing should take place.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamPricingBusinessCalendar',\n    id: 41585,\n    abbrName: 'PxngClndr',\n    description:\n      'Specifies the business calendar to use for pricing.\\n\\nSee http://www.fpml.org/coding-scheme/commodity-business-calendar for values.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamPricingBusinessDayConvention',\n    id: 41586,\n    abbrName: 'PxngBizDayCnvtn',\n    description:\n      \"The business day convention used to adjust the payment stream's pricing dates. Used only to override the business day convention specified in the LegDateAdjustment component within the InstrumentLeg component.\",\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegPaymentStreamPaymentDates',\n    id: 41589,\n    description: 'Number of payment dates in the repeating group.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamPaymentDate',\n    id: 41590,\n    abbrName: 'Dt',\n    description: 'The adjusted or unadjusted fixed stream payment date.',\n  },\n  {\n    type: 'OptionExerciseDateTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamPaymentDateType',\n    id: 41591,\n    abbrName: 'Typ',\n    description:\n      'Specifies the type of payment date. When specified it applies not only to the current date but to all subsequent dates in the group until overridden with a new type.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamMasterAgreementPaymentDatesIndicator',\n    id: 41592,\n    abbrName: 'MADts',\n    description:\n      \"When set to 'Y', it indicates that payment dates are specified in the relevant master agreement.\",\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegPaymentStreamPricingDates',\n    id: 41593,\n    description: 'Number of pricing dates in the repeating group.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamPricingDate',\n    id: 41594,\n    abbrName: 'Dt',\n    description: 'The adjusted or unadusted fixed stream pricing date.',\n  },\n  {\n    type: 'OptionExerciseDateTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamPricingDateType',\n    id: 41595,\n    abbrName: 'Typ',\n    description:\n      'Specifies the type of pricing date. When specified it applies not only to the current date but to all subsequent dates in the group until overridden with a new type.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegPaymentStreamPricingDays',\n    id: 41596,\n    description: 'Number of pricing days in the repeating group.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'PaymentStreamPricingDayOfWeekCodeSet',\n    addedEP: '169',\n    updatedEP: '282',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamPricingDayOfWeek',\n    id: 41597,\n    abbrName: 'DayOfWk',\n    description: 'The day of the week on which pricing takes place.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamPricingDayNumber',\n    id: 41598,\n    abbrName: 'DayNum',\n    description:\n      'The occurrence of the day of week on which pricing takes place.\\n\\nFor example a pricing day of the 3rd Friday would be DayOfWk=5 DayNum=3.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegPhysicalSettlTerms',\n    id: 41599,\n    description: 'Number of entries in the repeating group.',\n  },\n  {\n    type: 'XID',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegPhysicalSettlTermXID',\n    id: 41600,\n    abbrName: 'XID',\n    description: 'A named string value referenced by UnderlyingSettlTermXIDRef(41315).',\n  },\n  {\n    type: 'Currency',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegPhysicalSettlCurency',\n    id: 41601,\n    abbrName: 'Ccy',\n    description:\n      'Specifies the currency of physical settlement. Uses ISO 4217 currency codes.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'int',\n    addedEP: '169',\n    updatedEP: '271',\n    added: 'FIX.5.0SP2',\n    name: 'LegPhysicalSettlBusinessDays',\n    id: 41602,\n    abbrName: 'BizDays',\n    description:\n      'The number of business days used in the determination of physical settlement. Its precise meaning depends on the context in which this is used.\\n\\nISDA 2003 Term: Business Day.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'int',\n    addedEP: '169',\n    updatedEP: '271',\n    added: 'FIX.5.0SP2',\n    name: 'LegPhysicalSettlMaximumBusinessDays',\n    id: 41603,\n    abbrName: 'MaxBizDays',\n    description:\n      'A maximum number of business days. Its precise meaning depends on the context in which this element is used. Intended to be used to limit a particular ISDA fallback provision.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegPhysicalSettlDeliverableObligations',\n    id: 41604,\n    description: 'Number of entries in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegPhysicalSettlDeliverableObligationType',\n    id: 41605,\n    abbrName: 'Typ',\n    description:\n      'Specifies the type of delivery obligation applicable for physical settlement.\\n\\nSee http://www.fixptradingcommunity.org/codelists#Deliverable_Obligation_Types for code list for applicable deliverable obligation types.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegPhysicalSettlDeliverableObligationValue',\n    id: 41606,\n    abbrName: 'Val',\n    description:\n      'Physical settlement delivery obligation value appropriate to LegPhysicalSettlDeliverableObligationType(41605).\\n\\nSee http://www.fixtradingcommunity.org/codelists#Deliverable_Obligation_Types for code list for applicable deliverable obligation types.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegPricingDateBusinessCenters',\n    id: 41607,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegPricingDateBusinessCenter',\n    id: 41608,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used to adjust the pricing or fixing date, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegPricingDateUnadjusted',\n    id: 41609,\n    abbrName: 'DtUnadj',\n    description: 'The unadjusted pricing or fixing date.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegPricingDateBusinessDayConvention',\n    id: 41610,\n    abbrName: 'BizDayCnvtn',\n    description:\n      'The business day convention used to adjust the pricing or fixing date. Used only to override the business day convention specified in the LegDateAdjustment component within the InstrumentLeg component.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegPricingDateAdjusted',\n    id: 41611,\n    abbrName: 'Dt',\n    description: 'The adjusted pricing or fixing date.',\n  },\n  {\n    type: 'LocalMktTime',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegPricingTime',\n    id: 41612,\n    abbrName: 'Tm',\n    description: 'The local market pricing or fixing time.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegPricingTimeBusinessCenter',\n    id: 41613,\n    abbrName: 'TmBizCtr',\n    description:\n      'Specifies the business center for determining the pricing or fixing time. See http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegProtectionTermEventNewsSources',\n    id: 41614,\n    description: 'Number of event sources in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegProtectionTermEventNewsSource',\n    id: 41615,\n    abbrName: 'Src',\n    description:\n      'A newspaper or electronic news service that may publish relevant information used in the determination of whether or not a credit event has occurred.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegProtectionTerms',\n    id: 41616,\n    description: 'Number of protection terms in the repeating group.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'XID',\n    addedEP: '169',\n    updatedEP: '271',\n    added: 'FIX.5.0SP2',\n    name: 'LegProtectionTermXID',\n    id: 41617,\n    abbrName: 'XID',\n    description:\n      'A named string value referenced from UnderlyingProtectionTermXIDRef(41314).',\n  },\n  {\n    type: 'Amt',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegProtectionTermNotional',\n    id: 41618,\n    abbrName: 'Notl',\n    description:\n      'The notional amount of protection coverage.\\n\\nISDA 2003 Term: Floating Rate Payer Calculation Amount.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegProtectionTermCurrency',\n    id: 41619,\n    abbrName: 'Ccy',\n    description:\n      'The currency of LegProtectionTermNotional(41618). Uses ISO 4217 currency codes.',\n  },\n];\n\nconst batch6: ISpecFields[] = [\n  {\n    type: 'Boolean',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegProtectionTermSellerNotifies',\n    id: 41620,\n    abbrName: 'Seller',\n    description:\n      'The notifying party is the party that notifies the other party when a credit event has occurred by means of a credit event notice. If more than one party is referenced as being the notifying party then either party may notify the other of a credit event occurring. LegProtectionTermSellerNotifies(41620)=Y indicates that the seller notifies.\\n\\nISDA 2003 Term: Notifying Party.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegProtectionTermBuyerNotifies',\n    id: 41621,\n    abbrName: 'Buyer',\n    description:\n      'The notifying party is the party that notifies the other party when a credit event has occurred by means of a credit event notice. If more than one party is referenced as being the notifying party then either party may notify the other of a credit event occurring. LegProtectionTermBuyerNotifies(41621)=Y indicates that the buyer notifies.\\n\\nISDA 2003 Term: Notifying Party.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegProtectionTermEventBusinessCenter',\n    id: 41622,\n    abbrName: 'BizCtr',\n    description:\n      'When used, the business center indicates the local time of the business center that replaces the Greenwich Mean Time in Section 3.3 of the 2003 ISDA Credit Derivatives Definitions.\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegProtectionTermStandardSources',\n    id: 41623,\n    abbrName: 'StdSrcs',\n    description:\n      'Indicates whether ISDA defined Standard Public Sources are applicable (LegProtectionTermStandardSources(41623)=Y) or not.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegProtectionTermEventMinimumSources',\n    id: 41624,\n    abbrName: 'MinSrcs',\n    description:\n      'The minimum number of the specified public information sources that must publish information that reasonably confirms that a credit event has occurred. The market convention is two.\\n\\nISDA 2003 Term: Specified Number.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegProtectionTermEvents',\n    id: 41625,\n    description: 'Number of protection term events in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegProtectionTermEventType',\n    id: 41626,\n    abbrName: 'Typ',\n    description:\n      'Specifies the type of credit event applicable to the protection terms.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Protection_Term_Event_Types for code list of applicable event types.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegProtectionTermEventValue',\n    id: 41627,\n    abbrName: 'Val',\n    description:\n      'Specifies the protection term event value appropriate to LegProtectionTermEventType(41626). See http:///www.fixtradingcommunity.org/codelists#Protection_Term_Event_Types for applicable event type values.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegProtectionTermEventCurrency',\n    id: 41628,\n    abbrName: 'Ccy',\n    description:\n      'Applicable currency if the event value is an amount. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegProtectionTermEventPeriod',\n    id: 41629,\n    abbrName: 'Period',\n    description: 'Time unit multiplier for protection term events.',\n  },\n  {\n    type: 'ProtectionTermEventUnitCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegProtectionTermEventUnit',\n    id: 41630,\n    abbrName: 'Unit',\n    description: 'Time unit associated with protection term events.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'PaymentStreamInflationLagDayTypeCodeSet',\n    addedEP: '169',\n    updatedEP: '271',\n    added: 'FIX.5.0SP2',\n    name: 'LegProtectionTermEventDayType',\n    id: 41631,\n    abbrName: 'DayTyp',\n    description: 'Day type for events that specify a period and unit.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegProtectionTermEventRateSource',\n    id: 41632,\n    abbrName: 'RtSrc',\n    description:\n      'Rate source for events that specify a rate source, e.g. floating rate interest shortfall.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegProtectionTermEventQualifiers',\n    id: 41633,\n    description: 'Number of qualifiers in the repeating group.',\n  },\n  {\n    type: 'ProtectionTermEventQualifierCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegProtectionTermEventQualifier',\n    id: 41634,\n    abbrName: 'Qual',\n    description:\n      'Specifies the protection term event qualifier. Used to further qualify LegProtectionTermEventType(41626).',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegProtectionTermObligations',\n    id: 41635,\n    description: 'Number of obligations in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegProtectionTermObligationType',\n    id: 41636,\n    abbrName: 'Typ',\n    description:\n      'Specifies the type of obligation applicable to the protection terms.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Protection_Term_Obligation_Types for code list of applicable obligation types.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegProtectionTermObligationValue',\n    id: 41637,\n    abbrName: 'Val',\n    description:\n      'The value associated with the protection term obligation specified in LegProtectionTermObligationType(41636). See http://www.fixtradingcommunity.org/codelists#Protection_Term_Obligation_Types for applicable obligation type values.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegStreamCalculationPeriodDates',\n    id: 41638,\n    description: 'Number of calculation period dates in the repeating group.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamCalculationPeriodDate',\n    id: 41639,\n    abbrName: 'Dt',\n    description: 'The adjusted or unadjusted fixed calculation period date.',\n  },\n  {\n    type: 'OptionExerciseDateTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamCalculationPeriodDateType',\n    id: 41640,\n    abbrName: 'Typ',\n    description:\n      'Specifies the type of fixed calculation period date. When specified it applies not only to the current date but to all subsequent dates in the group until overridden with a new type.',\n  },\n  {\n    type: 'XID',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamCalculationPeriodDatesXID',\n    id: 41641,\n    abbrName: 'XID',\n    description:\n      'Identifier of this calculation period for cross referencing elsewhere in the message.',\n  },\n  {\n    type: 'XIDREF',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamCalculationPeriodDatesXIDRef',\n    id: 41642,\n    abbrName: 'XIDRef',\n    description:\n      'Cross reference to another calculation period for duplicating its properties.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamCalculationBalanceOfFirstPeriod',\n    id: 41643,\n    abbrName: 'BalFirst',\n    description:\n      \"When specified and set to 'Y', it indicates that the first calculation period should run from the effective date to the end of the calendar period in which the effective date falls (e.g. Jan 15 - Jan 31 if the calculation periods are one month long and effective date is Jan 15.). If 'N' or not specified, it indicates that the first calculation period should run from the effective date for one whole period (e.g. Jan 15 to Feb 14 if the calculation periods are one month long and the effective date is Jan 15.).\",\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamCalculationCorrectionPeriod',\n    id: 41644,\n    abbrName: 'CrrctnPeriod',\n    description:\n      'Time unit multiplier for the length of time after the publication of the data when corrections can be made.',\n  },\n  {\n    type: 'ProtectionTermEventUnitCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamCalculationCorrectionUnit',\n    id: 41645,\n    abbrName: 'CrrctnUnit',\n    description:\n      'Time unit associated with the length of time after the publication of the data when corrections can be made.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegStreamCommoditySettlBusinessCenters',\n    id: 41646,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamCommoditySettlBusinessCenter',\n    id: 41647,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used to adjust the commodity delivery date, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamCommodityBase',\n    id: 41648,\n    abbrName: 'Base',\n    description:\n      'Specifies the general base type of the commodity traded. Where possible, this should follow the naming convention used in the 2005 ISDA Commodity Definitions.\\n\\nExamples of general commodity base types include: Metal, Bullion, Oil, Natural Gas, Coal, Electricity, Inter-Energy, Grains, Oils Seeds, Dairy, Livestock, Forestry, Softs, Weather, Emissions.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamCommodityType',\n    id: 41649,\n    abbrName: 'CmdtyTyp',\n    description:\n      'Specifies the type of commodity product.\\n\\nFor coal see http://www.fpml.org/coding-scheme/commodity-coal-product-type for values.\\n\\nFor metals see http://www.fpml.org/coding-scheme/commodity-metal-product-type for values.\\n\\nFor bullion see http://www.fixtradingcommunity.org/codelists#Bullion_Types for the external code list of bullion types.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamCommoditySecurityID',\n    id: 41650,\n    abbrName: 'ID',\n    discriminatorId: '41651',\n    description: 'Specifies the market identifier for the commodity.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'SecurityIDSourceCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '169',\n    updatedEP: '265',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamCommoditySecurityIDSource',\n    id: 41651,\n    abbrName: 'Src',\n    description:\n      'Identifies the class or source of the LegStreamCommoditySecurityIDSource(41650) value.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamCommodityDesc',\n    id: 41652,\n    abbrName: 'Desc',\n    description: 'Description of the commodity asset.',\n  },\n  {\n    type: 'Length',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedLegStreamCommodityDescLen',\n    id: 41653,\n    abbrName: 'EncDescLen',\n    description:\n      'Byte length of encoded (non-ASCII characters) EncodedLegStreamCommodityDesc(41654) field.',\n  },\n  {\n    type: 'data',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedLegStreamCommodityDesc',\n    id: 41654,\n    abbrName: 'EncDesc',\n    lengthId: '41653',\n    description:\n      'Encoded (non-ASCII characters) representation of the LegStreamCommodityDesc(41652) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the LegStreamCommodityDesc(41652) field.',\n  },\n  {\n    type: 'UnitOfMeasureCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamCommodityUnitOfMeasure',\n    id: 41655,\n    abbrName: 'UOM',\n    description: 'The unit of measure (UOM) of the commodity asset.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamCommodityCurrency',\n    id: 41656,\n    abbrName: 'Ccy',\n    description:\n      'Identifies the currency of the commodity asset. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'Exchange',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamCommodityExchange',\n    id: 41657,\n    abbrName: 'Exch',\n    description: 'Identifies the exchange where the commodity is traded.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamCommodityRateSource',\n    id: 41658,\n    abbrName: 'RtSrc',\n    description:\n      'Identifies the source of rate information used for commodities.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Commodity_Rate_Source for code list of applicable sources.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamCommodityRateReferencePage',\n    id: 41659,\n    abbrName: 'RefPg',\n    description: 'Identifies the reference \"page\" from the rate source.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamCommodityRateReferencePageHeading',\n    id: 41660,\n    abbrName: 'RefHdng',\n    description: 'Identifies the page heading from the rate source.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamDataProvider',\n    id: 41661,\n    abbrName: 'DataPrvdr',\n    description:\n      'Specifies the commodity data or information provider.\\n\\nSee http://www.fpml.org/coding-scheme/commodity-information-provider for values.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamCommodityPricingType',\n    id: 41662,\n    abbrName: 'PxngTyp',\n    description:\n      'Specifies how the pricing or rate setting of the trade is to be determined or based upon.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Commodity_Rate_Pricing_Type for code list of applicable commodity pricing types.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamCommodityNearbySettlDayPeriod',\n    id: 41663,\n    abbrName: 'Period',\n    description:\n      'Time unit multiplier for the nearby settlement day.\\n\\nWhen the commodity transaction references a futures contract, the delivery or settlement dates are a nearby month or week. For example, for eighth nearby month use Period=8 and Unit=Mo.',\n  },\n  {\n    type: 'StreamCommodityNearbySettlDayUnitCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamCommodityNearbySettlDayUnit',\n    id: 41664,\n    abbrName: 'Unit',\n    description: 'Time unit associated with the nearby settlement day.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamCommoditySettlDateUnadjusted',\n    id: 41665,\n    abbrName: 'DtUnadj',\n    description: 'The unadjusted commodity delivery date.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamCommoditySettlDateBusinessDayConvention',\n    id: 41666,\n    abbrName: 'BizDayCnvtn',\n    description:\n      'The business day convention used to adjust the commodity delivery date. Used only to override the business day convention specified in the LegDateAdjustment component within the InstrumentLeg component.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamCommoditySettlDateAdjusted',\n    id: 41667,\n    abbrName: 'Dt',\n    description: 'The adjusted commodity delivery date.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamCommoditySettlMonth',\n    id: 41668,\n    abbrName: 'Mo',\n    description:\n      'Specifies a fixed single month for commodity delivery.\\n\\nUse \"1\" for January, \"2\" for February, etc.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamCommoditySettlDateRollPeriod',\n    id: 41669,\n    abbrName: 'RollPeriod',\n    description:\n      'Time unit multiplier for the commodity delivery date roll.\\n\\nFor a commodity transaction that references a listed future via the delivery dates, this is the day offset on which the specified future will roll to the next nearby month when the referenced future expires.',\n  },\n  {\n    type: 'StreamCommoditySettlDateRollUnitCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamCommoditySettlDateRollUnit',\n    id: 41670,\n    abbrName: 'RollUnit',\n    description: 'Time unit associated with the commodity delivery date roll.',\n  },\n  {\n    type: 'ComplexEventDateOffsetDayTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamCommoditySettlDayType',\n    id: 41671,\n    abbrName: 'DayTyp',\n    description: 'Specifies the commodity delivery roll day type.',\n  },\n  {\n    type: 'XID',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamCommodityXID',\n    id: 41672,\n    abbrName: 'XID',\n    description:\n      'Identifier of this stream commodity for cross referencing elsewhere in the message.',\n  },\n  {\n    type: 'XIDREF',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamCommodityXIDRef',\n    id: 41673,\n    abbrName: 'XIDRef',\n    description: 'Reference to a stream commodity elsewhere in the message.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegStreamCommodityAltIDs',\n    id: 41674,\n    description: 'Number of alternate security identifers.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamCommodityAltID',\n    id: 41675,\n    abbrName: 'AltID',\n    discriminatorId: '41676',\n    description: 'Alternate security identifier value for the commodity.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamCommodityAltIDSource',\n    id: 41676,\n    abbrName: 'AltIDSrc',\n    description:\n      'Identifies the class or source of the alternate commodity security identifier.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegStreamCommodityDataSources',\n    id: 41677,\n    description:\n      'Number of data sources in the repeating group. The order of entry determines priority \u2013 first is the main source, second is fallback, third is second fallback.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamCommodityDataSourceID',\n    id: 41678,\n    abbrName: 'ID',\n    description: 'Specifies the data source identifier.',\n  },\n  {\n    type: 'StreamCommodityDataSourceIDTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamCommodityDataSourceIDType',\n    id: 41679,\n    abbrName: 'Typ',\n    description: 'Specifies the type of data source identifier.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegStreamCommoditySettlDays',\n    id: 41680,\n    description: 'Number of days in the repeating group.',\n  },\n  {\n    type: 'DeliveryScheduleSettlDayCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamCommoditySettlDay',\n    id: 41681,\n    abbrName: 'Day',\n    description: 'Specifies the day or group of days for delivery.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamCommoditySettlTotalHours',\n    id: 41682,\n    abbrName: 'TotHrs',\n    description: 'Sum of the hours specified in LegStreamCommoditySettlTimeGrp.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegStreamCommoditySettlTimes',\n    id: 41683,\n    description: 'Number of hour ranges in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamCommoditySettlStart',\n    id: 41684,\n    abbrName: 'Start',\n    description:\n      'The start time for commodity settlement where delivery occurs over time. The time format is specified by the settlement time type.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamCommoditySettlEnd',\n    id: 41685,\n    abbrName: 'End',\n    description:\n      'The end time for commodity settlement where delivery occurs over time. The time format is specified by the settlement time type.',\n  },\n  {\n    type: 'DeliveryScheduleSettlTimeTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamCommoditySettlTimeType',\n    id: 41935,\n    abbrName: 'Typ',\n    description: 'Specifies the format of the commodity settlement start and end times.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegStreamCommoditySettlPeriods',\n    id: 41686,\n    description: 'Number of commodity settlement periods in the repeating group.',\n  },\n  {\n    type: 'Country',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamCommoditySettlCountry',\n    id: 41687,\n    abbrName: 'Ctry',\n    description:\n      'Specifies the country where delivery takes place. Uses ISO 3166 2-character country code.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamCommoditySettlTimeZone',\n    id: 41688,\n    abbrName: 'TZ',\n    description:\n      'Commodity delivery timezone specified as \"prevailing\" rather than \"standard\" or \"daylight\".\\n\\nSee http://www.fixtradingcommunity.org/codelists#Prevailing_Timezones for code list of applicable prevailing timezones.',\n  },\n  {\n    type: 'DeliveryScheduleSettlFlowTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamCommoditySettlFlowType',\n    id: 41689,\n    abbrName: 'FlowTyp',\n    description: 'Specifies the commodity delivery flow type.',\n  },\n  {\n    type: 'Qty',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamCommoditySettlPeriodNotional',\n    id: 41690,\n    abbrName: 'Notl',\n    description: 'Delivery quantity associated with this settlement period.',\n  },\n  {\n    type: 'UnitOfMeasureCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamCommoditySettlPeriodNotionalUnitOfMeasure',\n    id: 41691,\n    abbrName: 'NotlUOM',\n    description:\n      'Specifies the unit of measure (UOM) of the delivery quantity associated with this settlement period.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamCommoditySettlPeriodFrequencyPeriod',\n    id: 41692,\n    abbrName: 'FreqPeriod',\n    description: 'Time unit multiplier for the settlement period frequency.',\n  },\n  {\n    type: 'ProtectionTermEventUnitCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamCommoditySettlPeriodFrequencyUnit',\n    id: 41693,\n    abbrName: 'FreqUnit',\n    description: 'Time unit associated with the settlement period frequency.',\n  },\n  {\n    type: 'Price',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamCommoditySettlPeriodPrice',\n    id: 41694,\n    abbrName: 'Px',\n    description: 'The settlement period price.',\n  },\n  {\n    type: 'UnitOfMeasureCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamCommoditySettlPeriodPriceUnitOfMeasure',\n    id: 41695,\n    abbrName: 'PxUOM',\n    description: 'The settlement period price unit of measure (UOM).',\n  },\n  {\n    type: 'Currency',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamCommoditySettlPeriodPriceCurrency',\n    id: 41696,\n    abbrName: 'PxCcy',\n    description:\n      'The currency of the settlement period price. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'DeliveryScheduleSettlHolidaysProcessingInstructionCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamCommoditySettlHolidaysProcessingInstruction',\n    id: 41697,\n    abbrName: 'Holidays',\n    description:\n      'Indicates whether holidays are included in the settlement periods. Required for electricity contracts.',\n  },\n  {\n    type: 'XID',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamCommoditySettlPeriodXID',\n    id: 41698,\n    abbrName: 'XID',\n    description:\n      'Identifier of this settlement period for cross referencing elsewhere in the message.',\n  },\n  {\n    type: 'XIDREF',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamCommoditySettlPeriodXIDRef',\n    id: 41699,\n    abbrName: 'XIDRef',\n    description:\n      'Cross reference to another settlement period for duplicating its properties.',\n  },\n  {\n    type: 'XID',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamXID',\n    id: 41700,\n    abbrName: 'XID',\n    description:\n      'Identifier of this LegStream for cross referencing elsewhere in the message.',\n  },\n  {\n    type: 'XIDREF',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamNotionalXIDRef',\n    id: 41702,\n    abbrName: 'NotlXIDRef',\n    description:\n      'Cross reference to another LegStream notional for duplicating its properties.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamNotionalFrequencyPeriod',\n    id: 41703,\n    abbrName: 'NotlPeriod',\n    description: \"Time unit multiplier for the swap stream's notional frequency.\",\n  },\n  {\n    type: 'TimeUnitCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamNotionalFrequencyUnit',\n    id: 41704,\n    abbrName: 'NotlUnit',\n    description: \"Time unit associated with the swap stream's notional frequency.\",\n  },\n  {\n    type: 'StreamNotionalCommodityFrequencyCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamNotionalCommodityFrequency',\n    id: 41705,\n    abbrName: 'NotlFreq',\n    description: \"The commodity's notional or quantity delivery frequency.\",\n  },\n  {\n    type: 'UnitOfMeasureCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamNotionalUnitOfMeasure',\n    id: 41706,\n    abbrName: 'NotlUOM',\n    description: 'Specifies the delivery quantity unit of measure (UOM).',\n  },\n  {\n    type: 'Qty',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamTotalNotional',\n    id: 41707,\n    abbrName: 'TotNotl',\n    description:\n      'Specifies the total notional or delivery quantity over the term of the contract.',\n  },\n  {\n    type: 'UnitOfMeasureCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamTotalNotionalUnitOfMeasure',\n    id: 41708,\n    abbrName: 'TotNotlUOM',\n    description:\n      'Specifies the unit of measure (UOM) for the total notional or delivery quantity over the term of the contract.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingAssetAttributes',\n    id: 2312,\n    description: 'Number of asset attribute entries in the group.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingAssetAttributeType',\n    id: 2313,\n    abbrName: 'Typ',\n    description:\n      'Specifies the name of the attribute.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Asset_Attribute_Types for code list of applicable asset attribute types.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingAssetAttributeValue',\n    id: 2314,\n    abbrName: 'Val',\n    description: 'Specifies the value of the attribute.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingAssetAttributeLimit',\n    id: 2315,\n    abbrName: 'Lmt',\n    description: 'Limit or lower acceptable value of the attribute.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingComplexEventAveragingObservations',\n    id: 41713,\n    description: 'The number of averaging observations in the repeating group.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexEventAveragingObservationNumber',\n    id: 41714,\n    abbrName: 'ObsvtnNum',\n    description:\n      'Cross reference to the ordinal observation as specified either in the UnderlyingComplexEventScheduleGrp or UnderlyingComplexEventPeriodDateGrp components.',\n  },\n  {\n    type: 'float',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexEventAveragingWeight',\n    id: 41715,\n    abbrName: 'Wt',\n    description: 'The weight factor to be applied to the observation.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingComplexEventCreditEvents',\n    id: 41716,\n    description: 'The number of credit events specified in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexEventCreditEventType',\n    id: 41717,\n    abbrName: 'Typ',\n    description:\n      'Specifies the type of credit event.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Credit_Event_Types for code list of applicable event types.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexEventCreditEventValue',\n    id: 41718,\n    abbrName: 'Val',\n    description:\n      'The credit event value appropriate to UnderlyingComplexEventCreditEventType(41717).\\n\\nSee http://www.fixtradingcommunity.org/codelists#Credit_Event_Types for applicable event type values.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexEventCreditEventCurrency',\n    id: 41719,\n    abbrName: 'Ccy',\n    description:\n      'Specifies the applicable currency when UnderlyingComplexEventCreditEventValue(41718) is an amount. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexEventCreditEventPeriod',\n    id: 41720,\n    abbrName: 'Period',\n    description: 'Time unit multiplier for complex credit events.',\n  },\n  {\n    type: 'ProtectionTermEventUnitCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexEventCreditEventUnit',\n    id: 41721,\n    abbrName: 'Unit',\n    description: 'Time unit associated with complex credit events.',\n  },\n  {\n    type: 'ComplexEventDateOffsetDayTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexEventCreditEventDayType',\n    id: 41722,\n    abbrName: 'DayTyp',\n    description: 'Specifies the day type for the complex credit events.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexEventCreditEventRateSource',\n    id: 41723,\n    abbrName: 'RtSrc',\n    description:\n      'Identifies the source of rate information used for credit events.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Credit_Event_Rate_Source for code list of applicable sources.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingComplexEventCreditEventQualifiers',\n    id: 41724,\n    description: 'Number of qualifiers in the repeating group.',\n  },\n  {\n    type: 'ProtectionTermEventQualifierCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexEventCreditEventQualifier',\n    id: 41725,\n    abbrName: 'Qual',\n    description:\n      'Specifies a complex event qualifier. Used to further qualify UnderlyingComplexEventCreditEventType(41717).',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingComplexEventPeriodDateTimes',\n    id: 41726,\n    description: 'Number of entries in the date-time repeating group.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexEventPeriodDate',\n    id: 41727,\n    abbrName: 'Dt',\n    description:\n      'The averaging date for an Asian option.\\n\\nThe trigger date for a Barrier or Knock option.',\n  },\n  {\n    type: 'LocalMktTime',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexEventPeriodTime',\n    id: 41728,\n    abbrName: 'Tm',\n    description: 'The averaging time for an Asian option.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingComplexEventPeriods',\n    id: 41729,\n    description: 'Number of periods in the repeating group.',\n  },\n  {\n    type: 'ComplexEventPeriodTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexEventPeriodType',\n    id: 41730,\n    abbrName: 'Typ',\n    description: 'Specifies the period type.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexEventBusinessCenter',\n    id: 41731,\n    abbrName: 'BizCtr',\n    description:\n      'The business center for adjusting dates and times in the schedule or date-time group.\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingComplexEventRateSources',\n    id: 41732,\n    description: 'Number of rate sources in the repeating group.',\n  },\n  {\n    type: 'RateSourceCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexEventRateSource',\n    id: 41733,\n    abbrName: 'RtSrc',\n    description:\n      'Identifies the source of rate information.\\n\\nFor FX, the reference source to be used for the FX spot rate.',\n  },\n  {\n    type: 'RateSourceTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexEventRateSourceType',\n    id: 41734,\n    abbrName: 'RtSrcTyp',\n    description:\n      'Indicates whether the rate source specified is a primary or secondary source.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexEventReferencePage',\n    id: 41735,\n    abbrName: 'RefPg',\n    description:\n      'Identifies the reference page from the rate source.\\n\\nFor FX, the reference page to the spot rate is to be used for the reference FX spot rate.\\n\\nWhen UnderlyingComplexEventRateSource(41733) = 3 (ISDA Settlement Rate Option) this contains the value from the scheme that reflects the terms of the Annex A to the ISDA 1998 FX and Currency Option Definitions. See: http://www.fpml.org/coding-scheme/settlement-rate-option.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexEventReferencePageHeading',\n    id: 41736,\n    abbrName: 'RefHdg',\n    description: 'Identifies the reference page heading from the rate source.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingComplexEventDateBusinessCenters',\n    id: 41737,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexEventDateBusinessCenter',\n    id: 41738,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar is used to adjust the event date, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexEventDateUnadjusted',\n    id: 41739,\n    abbrName: 'DtUnadj',\n    description:\n      'The unadjusted complex event date.\\n\\nFor example the second expiration date for a calendar spread option strategy.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '169',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexEventDateRelativeTo',\n    id: 41740,\n    abbrName: 'Reltv',\n    description:\n      'Specifies the anchor date when the complex event date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexEventDateOffsetPeriod',\n    id: 41741,\n    abbrName: 'OfstPeriod',\n    description: 'Time unit multiplier for the relative date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexEventDateOffsetUnit',\n    id: 41742,\n    abbrName: 'OfstUnit',\n    description: 'Time unit associated with the relative date offset.',\n  },\n  {\n    type: 'ComplexEventDateOffsetDayTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexEventDateOffsetDayType',\n    id: 41743,\n    abbrName: 'OfstDayTyp',\n    description: 'Specifies the day type of the relative date offset.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexEventDateBusinessDayConvention',\n    id: 41744,\n    abbrName: 'BizDayCnvtn',\n    description:\n      'The business day convention used to adjust the event date. Used only to override the business day convention specified in the UnderlyingDateAdjustment component within the UnderlyingInstrument component.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexEventDateAdjusted',\n    id: 41745,\n    abbrName: 'Dt',\n    description: 'The adjusted complex event date.',\n  },\n  {\n    type: 'LocalMktTime',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexEventFixingTime',\n    id: 41746,\n    abbrName: 'FixngTm',\n    description: 'The local market fixing time.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexEventFixingTimeBusinessCenter',\n    id: 41747,\n    abbrName: 'FixngBizCtr',\n    description:\n      'The business center for determining the actual fixing times.\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingComplexEventCreditEventSources',\n    id: 41748,\n    description: 'Number of event sources in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexEventCreditEventSource',\n    id: 41749,\n    abbrName: 'Src',\n    description:\n      'A newspaper or electronic news service that may publish relevant information used in the determination of whether or not a credit event has occurred.',\n  },\n  {\n    type: 'PaymentPaySideCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexOptPayoutPaySide',\n    id: 2261,\n    abbrName: 'OptPay',\n    description: 'Trade side of payout payer.',\n  },\n  {\n    type: 'PaymentPaySideCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexOptPayoutReceiveSide',\n    id: 2262,\n    abbrName: 'OptRcv',\n    description: 'Trade side of payout receiver.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexOptPayoutUnderlier',\n    id: 2263,\n    abbrName: 'OptUndlr',\n    description: 'Reference to the underlier whose payments are being passed through.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexOptPayoutPercentage',\n    id: 2264,\n    abbrName: 'OptPctage',\n    description:\n      'Percentage of observed price for calculating the payout associated with the event.',\n  },\n  {\n    type: 'ComplexOptPayoutTimeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexOptPayoutTime',\n    id: 2265,\n    abbrName: 'OptTm',\n    description: 'The time when the payout is to occur.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'Currency',\n    addedEP: '169',\n    updatedEP: '273',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexOptPayoutCurrency',\n    id: 2266,\n    abbrName: 'OptCcy',\n    description:\n      'Specifies the currency of the payout amount.\\n\\nUnderlyingComplexOptPayoutCurrencyCodeSource(2947) may be used to disambiguate the code source scheme used, and ISO 4217 is the default scheme if absent.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexEventPricePercentage',\n    id: 2267,\n    abbrName: 'PxPctage',\n    description:\n      'Specifies the price percentage at which the complex event takes effect. Impact of the event price is determined by the UnderlyingComplexEventType(2046).',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'Currency',\n    addedEP: '169',\n    updatedEP: '273',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexEventCurrencyOne',\n    id: 2268,\n    abbrName: 'Ccy1',\n    description:\n      'Specifies the first or only reference currency of the trade.\\n\\nUnderlyingComplexEventCurrencyOneCodeSource(2948) may be used to disambiguate the code source scheme used, and ISO 4217 is the default scheme if absent.\\n\\nApplicable for complex FX option strategies.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'Currency',\n    addedEP: '169',\n    updatedEP: '273',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexEventCurrencyTwo',\n    id: 2269,\n    abbrName: 'Ccy2',\n    description:\n      'Specifies the second reference currency of the trade.\\n\\nUnderlyingComplexEventCurrencyTwoCodeSource(2949) may be used to disambiguate the code source scheme used, and ISO 4217 is the default scheme if absent.\\n\\nApplicable for complex FX option strategies.',\n  },\n  {\n    type: 'ComplexEventQuoteBasisCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexEventQuoteBasis',\n    id: 2270,\n    abbrName: 'QteBasis',\n    description: 'Specifies the currency pairing for the quote.',\n  },\n  {\n    type: 'float',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexEventFixedFXRate',\n    id: 2271,\n    abbrName: 'Rt',\n    description: 'Specifies the fixed FX rate alternative for FX Quantro options.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexEventDeterminationMethod',\n    id: 2272,\n    abbrName: 'Meth',\n    description:\n      'Specifies the method according to which an amount or a date is determined.\\n\\nSee http://www.fpml.org/coding-scheme/determination-method for values.',\n  },\n  {\n    type: 'ProvisionCalculationAgentCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexEventCalculationAgent',\n    id: 2273,\n    abbrName: 'CalcAgent',\n    description: 'Used to identify the calculation agent.',\n  },\n  {\n    type: 'Price',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexEventStrikePrice',\n    id: 2274,\n    abbrName: 'StrkPx',\n    description:\n      'Upper strike price for Asian option feature. Strike percentage for a Strike Spread.',\n  },\n  {\n    type: 'float',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexEventStrikeFactor',\n    id: 2275,\n    abbrName: 'StrkFctr',\n    description:\n      'Strike factor for Asian option feature. Upper strike percentage for a Strike Spread.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexEventStrikeNumberOfOptions',\n    id: 2276,\n    abbrName: 'StrkNum',\n    description: 'Upper string number of options for a Strike Spread.',\n  },\n  {\n    type: 'XIDREF',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexEventCreditEventsXIDRef',\n    id: 2277,\n    abbrName: 'CdtEvntXIDRef',\n    description: 'Reference to credit event table elsewhere in the message.',\n  },\n  {\n    type: 'ComplexEventCreditEventNotifyingPartyCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexEventCreditEventNotifyingParty',\n    id: 2278,\n    abbrName: 'NotifygPty',\n    description:\n      'The notifying party is the party that notifies the other party when a credit event has occurred by means of a credit event notice. If more than one party is referenced as being the notifying party then either party may notify the other of a credit event occurring.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexEventCreditEventBusinessCenter',\n    id: 2279,\n    abbrName: 'BizCtr',\n    description:\n      'Specifies the local business center for which the credit event is to be determined. The inclusion of this business center implies that Greenwich Mean Time in Section 3.3 of the 2003 ISDA Credit Derivatives Definitions is replaced by the local time of the specified business center.\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexEventCreditEventStandardSources',\n    id: 2280,\n    abbrName: 'StdSrcs',\n    description:\n      \"When this element is specified and set to 'Y', indicates that ISDA defined Standard Public Sources are applicable.\",\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexEventCreditEventMinimumSources',\n    id: 2281,\n    abbrName: 'MinSrcs',\n    description:\n      'The minimum number of the specified public information sources that must publish information that reasonably confirms that a credit event has occurred. The market convention is two.\\n\\nISDA 2003 Term: Specified Number.',\n  },\n  {\n    type: 'XID',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexEventXID',\n    id: 2282,\n    abbrName: 'XID',\n    description:\n      'Identifier of this complex event for cross referencing elsewhere in the message.',\n  },\n  {\n    type: 'XIDREF',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexEventXIDRef',\n    id: 2283,\n    abbrName: 'XIDRef',\n    description: 'Reference to a complex event elsewhere in the message.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingComplexEventSchedules',\n    id: 41750,\n    description: 'Number of schedules in the repeating group.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexEventScheduleStartDate',\n    id: 41751,\n    abbrName: 'StartDt',\n    description: 'The start date of the schedule.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexEventScheduleEndDate',\n    id: 41752,\n    abbrName: 'EndDt',\n    description: 'The end date of the schedule.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexEventScheduleFrequencyPeriod',\n    id: 41753,\n    abbrName: 'FreqPeriod',\n    description: 'Time unit multiplier for the schedule date frequency.',\n  },\n  {\n    type: 'ProtectionTermEventUnitCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexEventScheduleFrequencyUnit',\n    id: 41754,\n    abbrName: 'FreqUnit',\n    description: 'Time unit associated with the schedule date frequency.',\n  },\n  {\n    type: 'DateRollConventionCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexEventScheduleRollConvention',\n    id: 41755,\n    abbrName: 'Roll',\n    description:\n      'The convention for determining the sequence of dates. It is used in conjunction with a specified frequency. Used only to override the roll convention defined in the UnderlyingDateAdjustment component in UnderlyingInstrument.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingDeliverySchedules',\n    id: 41756,\n    description: 'Number of delivery schedules in the repeating group.',\n  },\n  {\n    type: 'DeliveryScheduleTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDeliveryScheduleType',\n    id: 41757,\n    abbrName: 'Typ',\n    description: 'Specifies the type of delivery schedule.',\n  },\n  {\n    type: 'XID',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDeliveryScheduleXID',\n    id: 41758,\n    abbrName: 'XID',\n    description:\n      'Identifier for this instance of delivery schedule for cross referencing elsewhere in the message.',\n  },\n  {\n    type: 'Qty',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDeliveryScheduleNotional',\n    id: 41759,\n    abbrName: 'Notl',\n    description: 'Physical delivery quantity.',\n  },\n  {\n    type: 'UnitOfMeasureCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDeliveryScheduleNotionalUnitOfMeasure',\n    id: 41760,\n    abbrName: 'NotlUOM',\n    description: 'Specifies the delivery quantity unit of measure (UOM).',\n  },\n  {\n    type: 'StreamNotionalCommodityFrequencyCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDeliveryScheduleNotionalCommodityFrequency',\n    id: 41761,\n    abbrName: 'NotlFreq',\n    description: 'The frequency of notional delivery.',\n  },\n  {\n    type: 'float',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDeliveryScheduleNegativeTolerance',\n    id: 41762,\n    abbrName: 'NegtvTlrnc',\n    description:\n      'Specifies the negative tolerance value. The value may be an absolute quantity or a percentage, as specified in UnderlyingDeliveryScheduleToleranceType(41765). Percentage value is to be expressed relative to \"1.0\" representing 100% (e.g. a value of \"0.0575\" represents 5.75%).',\n  },\n  {\n    type: 'float',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDeliverySchedulePositiveTolerance',\n    id: 41763,\n    abbrName: 'PostvTlrnc',\n    description:\n      'Specifies the positive tolerance value. The value may be an absolute quantity or a percentage, as specified in UnderlyingDeliveryScheduleToleranceType(41765). Value may exceed agreed upon value. Percentage value is to be expressed relative to \"1.0\" representing 100% (e.g. a value of \"0.0575\" represents 5.75%).',\n  },\n  {\n    type: 'UnitOfMeasureCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDeliveryScheduleToleranceUnitOfMeasure',\n    id: 41764,\n    abbrName: 'TlrncUOM',\n    description: \"Specifies the tolerance value's unit of measure (UOM).\",\n  },\n  {\n    type: 'DeliveryScheduleToleranceTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDeliveryScheduleToleranceType',\n    id: 41765,\n    abbrName: 'TlrncTyp',\n    description: 'Specifies the tolerance value type.',\n  },\n  {\n    type: 'Country',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDeliveryScheduleSettlCountry',\n    id: 41766,\n    abbrName: 'Ctry',\n    description:\n      'Specifies the country where delivery takes place. Uses ISO 3166 2-character country code.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDeliveryScheduleSettlTimeZone',\n    id: 41767,\n    abbrName: 'TZ',\n    description:\n      'Delivery timezone specified as \"prevailing\" rather than \"standard\" or \"daylight\".\\n\\nSee http://www.fixtradingcommunity.org/codelists#Prevailing_Timezones for code list of applicable prevailing timezones.',\n  },\n  {\n    type: 'DeliveryScheduleSettlFlowTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDeliveryScheduleSettlFlowType',\n    id: 41768,\n    abbrName: 'FlowTyp',\n    description: 'Specifies the delivery flow type.',\n  },\n  {\n    type: 'DeliveryScheduleSettlHolidaysProcessingInstructionCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDeliveryScheduleSettlHolidaysProcessingInstruction',\n    id: 41769,\n    abbrName: 'Holidays',\n    description:\n      'Indicates whether holidays are included in the settlement periods. Required for electricity contracts.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingDeliveryScheduleSettlDays',\n    id: 41770,\n    description: 'Number of delivery schedules in the repeating group.',\n  },\n  {\n    type: 'DeliveryScheduleSettlDayCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDeliveryScheduleSettlDay',\n    id: 41771,\n    abbrName: 'Day',\n    description: 'Specifies the day or group of days for delivery.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDeliveryScheduleSettlTotalHours',\n    id: 41772,\n    abbrName: 'TotHrs',\n    description:\n      'The sum of the total hours specified in the UnderlyingDeliveryScheduleSettlTimeGrp component.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingDeliveryScheduleSettlTimes',\n    id: 41773,\n    description: 'Number of hour ranges in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDeliveryScheduleSettlStart',\n    id: 41774,\n    abbrName: 'Start',\n    description:\n      'The scheduled start time for the delivery of the commodity where delivery occurs over specified times. The format of the time value is specified in UnderlyingDeliveryScheduleSettlTimeType(41776).',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDeliveryScheduleSettlEnd',\n    id: 41775,\n    abbrName: 'End',\n    description:\n      'The scheduled end time for the delivery of the commodity where delivery occurs over specified times. The format of the time value is specified in UnderlyingDeliveryScheduleSettlTimeType(41776).',\n  },\n  {\n    type: 'DeliveryScheduleSettlTimeTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDeliveryScheduleSettlTimeType',\n    id: 41776,\n    abbrName: 'Typ',\n    description: 'Specifies the format of the delivery start and end time values.',\n  },\n  {\n    type: 'DeliveryStreamTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDeliveryStreamType',\n    id: 41777,\n    abbrName: 'Typ',\n    description: 'Specifies the type of delivery stream.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDeliveryStreamPipeline',\n    id: 41778,\n    abbrName: 'Ppln',\n    description: 'The name of the oil delivery pipeline.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDeliveryStreamEntryPoint',\n    id: 41779,\n    abbrName: 'EntryPnt',\n    description:\n      'The point at which the commodity will enter the delivery mechanism or pipeline.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDeliveryStreamWithdrawalPoint',\n    id: 41780,\n    abbrName: 'WthdrwlPnt',\n    description:\n      'The point at which the commodity product will be withdrawn prior to delivery.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDeliveryStreamDeliveryPoint',\n    id: 41781,\n    abbrName: 'DlvryPnt',\n    discriminatorId: '42196',\n    description:\n      'The point at which the commodity product will be delivered and received. Value specified should follow market convention appropriate for the commodity product.\\n\\nFor bullion see http://www.fpml.org/coding-scheme/bullion-delivery-location for values.',\n  },\n  {\n    type: 'DeliveryStreamDeliveryRestrictionCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDeliveryStreamDeliveryRestriction',\n    id: 41782,\n    abbrName: 'DlvryRstctn',\n    description:\n      'Specifies under what conditions the buyer and seller should be excused of their delivery obligations.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDeliveryStreamDeliveryContingency',\n    id: 41783,\n    abbrName: 'Cntgncy',\n    description:\n      'Specifies the electricity delivery contingency.\\n\\nSee http://www.fpml.org/coding-scheme/electricity-transmission-contingency for values.',\n  },\n  {\n    type: 'DeliveryStreamElectingPartySideCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDeliveryStreamDeliveryContingentPartySide',\n    id: 41784,\n    abbrName: 'CntgPty',\n    description:\n      'The trade side value of the party responsible for electricity delivery contingency.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDeliveryStreamDeliverAtSourceIndicator',\n    id: 41785,\n    abbrName: 'DlvrAtSrc',\n    description:\n      \"When this element is specified and set to 'Y', delivery of the coal product is to be at its source.\",\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDeliveryStreamRiskApportionment',\n    id: 41786,\n    abbrName: 'RiskApprtnmt',\n    discriminatorId: '41587',\n    description:\n      'Specifies how the parties to the trade apportion responsibility for the delivery of the commodity product.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Risk_Apportionment for the details of the external code list.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDeliveryStreamRiskApportionmentSource',\n    id: 41587,\n    abbrName: 'RiskApprtnmtSrc',\n    description:\n      'Specifies the source or legal framework for the risk apportionment.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Risk_Apportionment_Source for the details of the external code list.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDeliveryStreamTitleTransferLocation',\n    id: 41787,\n    abbrName: 'TtlXfer',\n    description: 'Specifies the title transfer location.',\n  },\n  {\n    type: 'DeliveryStreamTitleTransferConditionCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDeliveryStreamTitleTransferCondition',\n    id: 41788,\n    abbrName: 'TltXferCond',\n    description: 'Specifies the title transfer condition.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDeliveryStreamImporterOfRecord',\n    id: 41789,\n    abbrName: 'Imprtr',\n    description:\n      'A party, not necessarily of the trade, who is the Importer of Record for the purposes of paying customs duties and applicable taxes or costs related to importation.',\n  },\n  {\n    type: 'float',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDeliveryStreamNegativeTolerance',\n    id: 41790,\n    abbrName: 'NegtvTlrnc',\n    description:\n      'Specifies the negative tolerance value. The value may be an absolute quantity or a percentage, as specified in UnderlyingDeliveryStreamToleranceType(41793). Percentage value is to be expressed relative to \"1.0\" representing 100% (e.g. a value of \"0.0575\" represents 5.75%).',\n  },\n  {\n    type: 'float',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDeliveryStreamPositiveTolerance',\n    id: 41791,\n    abbrName: 'PostvTlrnc',\n    description:\n      'Specifies the positive tolerance value. The value may be an absolute quantity or a percentage, as specified in UnderlyingDeliveryStreamToleranceType(41793). Value may exceed agreed upon value. Percentage value is to be expressed relative to \"1.0\" representing 100% (e.g. a value of \"0.0575\" represents 5.75%).',\n  },\n  {\n    type: 'UnitOfMeasureCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDeliveryStreamToleranceUnitOfMeasure',\n    id: 41792,\n    abbrName: 'TlrncUOM',\n    description: \"Specifies the tolerance value's unit of measure (UOM).\",\n  },\n  {\n    type: 'DeliveryScheduleToleranceTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDeliveryStreamToleranceType',\n    id: 41793,\n    abbrName: 'TlrncTyp',\n    description: 'Specifies the tolerance value type.',\n  },\n  {\n    type: 'DeliveryStreamToleranceOptionSideCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDeliveryStreamToleranceOptionSide',\n    id: 41794,\n    abbrName: 'TlrncOptSide',\n    description: \"Indicates whether the tolerance is at the seller's or buyer's option.\",\n  },\n  {\n    type: 'Percentage',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDeliveryStreamTotalPositiveTolerance',\n    id: 41795,\n    abbrName: 'TotPostvTlrnc',\n    description:\n      'The positive percent tolerance which applies to the total quantity delivered over all shipment periods.\\n\\nPercentage value is to be expressed relative to \"1.0\" representing 100% (e.g. a value of \"0.0575\" represents 5.75%.).',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDeliveryStreamTotalNegativeTolerance',\n    id: 41796,\n    abbrName: 'TotNegtvTlrnc',\n    description:\n      'The negative percent tolerance which applies to the total quantity delivered over all shipment periods.\\n\\nPercentage value is to be expressed relative to \"1.0\" representing 100% (e.g. a value of \"0.0575\" represents 5.75%.).',\n  },\n  {\n    type: 'float',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDeliveryStreamNotionalConversionFactor',\n    id: 41797,\n    abbrName: 'CnvrsnFctr',\n    description:\n      'If the notional quantity is specified in a unit that does not match the unit in which the commodity reference price is quoted, the scaling or conversion factor used to convert the commodity reference price unit into the notional quantity unit should be stated here. If there is no conversion, this field is not intended to be used.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDeliveryStreamTransportEquipment',\n    id: 41798,\n    abbrName: 'Eqpmt',\n    description:\n      'The transportation equipment with which the commodity product will be delivered and received.\\n\\nExamples of transportation equipment or mode are barge, truck, railcar, etc.',\n  },\n  {\n    type: 'DeliveryStreamElectingPartySideCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDeliveryStreamElectingPartySide',\n    id: 41799,\n    abbrName: 'ElctngSide',\n    description:\n      'A reference to the party able to choose whether the gas is delivered for a particular period e.g. a swing or interruptible contract.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingStreamAssetAttributes',\n    id: 41800,\n    description: 'Number of asset attribute entries in the group.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamAssetAttributeType',\n    id: 41801,\n    abbrName: 'Typ',\n    description:\n      'Specifies the name of the attribute.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Asset_Attribute_Types for code list of applicable asset attribute types.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamAssetAttributeValue',\n    id: 41802,\n    abbrName: 'Val',\n    description: 'Specifies the value of the attribute.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamAssetAttributeLimit',\n    id: 41803,\n    abbrName: 'Lmt',\n    description: 'The limit or lower acceptable value of the attribute.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingDeliveryStreamCycles',\n    id: 41804,\n    description: 'Number of delivery cycles in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDeliveryStreamCycleDesc',\n    id: 41805,\n    abbrName: 'Desc',\n    description:\n      'The delivery cycles during which the oil product will be transported in the pipeline.',\n  },\n  {\n    type: 'Length',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedUnderlyingDeliveryStreamCycleDescLen',\n    id: 41806,\n    abbrName: 'EncDescLen',\n    description:\n      'Byte length of encoded (non-ASCII characters) EncodedUnderlyingDeliveryStreamCycleDesc(41807) field.',\n  },\n  {\n    type: 'data',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedUnderlyingDeliveryStreamCycleDesc',\n    id: 41807,\n    abbrName: 'EncDesc',\n    lengthId: '41806',\n    description:\n      'Encoded (non-ASCII characters) representation of the UnderlyingDeliveryStreamCycleDesc(41805) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the UnderlyingDeliveryStreamCycleDesc(41805) field.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingDeliveryStreamCommoditySources',\n    id: 41808,\n    description: 'Number of commodity sources in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDeliveryStreamCommoditySource',\n    id: 41809,\n    abbrName: 'Src',\n    description:\n      'The SCoTA coal cargo origin, mining region, mine(s), mining complex(es), loadout(s) or river dock(s) or other point(s) of origin that seller and buyer agree are acceptable origins for the coal product. For international coal transactions, this is the origin of the coal product.\\n\\nSee http://www.fpml.org/coding-scheme/commodity-coal-product-source for values.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingExerciseDesc',\n    id: 41810,\n    abbrName: 'Desc',\n    description: 'A description of the option exercise.',\n  },\n  {\n    type: 'Length',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedUnderlyingExerciseDescLen',\n    id: 41811,\n    abbrName: 'EncDescLen',\n    description:\n      'Byte length of encoded (non-ASCII characters) EncodedUnderlyingExerciseDesc(41812) field.',\n  },\n  {\n    type: 'data',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedUnderlyingExerciseDesc',\n    id: 41812,\n    abbrName: 'EncDesc',\n    lengthId: '41811',\n    description:\n      'Encoded (non-ASCII characters) representation of the UnderlyingExerciseDesc(41810) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the UnderlyingExerciseDesc(41810) field.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingAutomaticExerciseIndicator',\n    id: 41813,\n    abbrName: 'AutoExerInd',\n    description:\n      \"Indicates (when 'Y') that exercise is automatic when the strike price is crossed or the underlying trade is in the money.\",\n  },\n  {\n    type: 'float',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingAutomaticExerciseThresholdRate',\n    id: 41814,\n    abbrName: 'AutoRt',\n    description: 'The threshold rate for triggering automatic exercise.',\n  },\n  {\n    type: 'ExerciseConfirmationMethodCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingExerciseConfirmationMethod',\n    id: 41815,\n    abbrName: 'ExerCnfm',\n    description:\n      \"Indicates whether follow-up confirmation of exercise (written or electronic) is required following telephonic notice by the buyer to the seller or seller's agent.\",\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingManualNoticeBusinessCenter',\n    id: 41816,\n    abbrName: 'ManNtcBizCtr',\n    description:\n      'Identifies the business center used for adjusting the time for manual exercise notice.\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingFallbackExerciseIndicator',\n    id: 41817,\n    abbrName: 'FallbckExerInd',\n    description:\n      'Indicates whether the notional amount of the underlying swap, not previously exercised under the option, will be automatically exercised at the expiration time on the expiration date if at such time the buyer is in-the-money, provided that the difference between the settlement rate and the fixed rate under the relevant underlying swap is not less than one tenth of a percentage point (0.10% or 0.001).',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingLimitedRightToConfirmIndicator',\n    id: 41818,\n    abbrName: 'LtdRightCnfmInd',\n    description:\n      'Indicates whether the Seller may request the Buyer to confirm its intent to exercise if not done on or before the expiration time on the Expiration date. If true (\"Y\") specific rules will apply in relation to the settlement mode.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingExerciseSplitTicketIndicator',\n    id: 41819,\n    abbrName: 'ExerSplitTktInd',\n    description:\n      'Indicates in physical settlement of bond and convertible bond options whether the party required to deliver the bonds will divide those to be delivered as notifying party desires to facilitate delivery obligations.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingOptionExerciseBusinessCenters',\n    id: 41820,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingOptionExerciseBusinessCenter',\n    id: 41821,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used to adjust the option exercise dates, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingOptionExerciseBusinessDayConvention',\n    id: 41822,\n    abbrName: 'BizDayCnvtn',\n    description:\n      'The business day convention used to adjust the option exercise dates. Used only to override the business day convention specified in the UnderlyingDateAdjustment component within the UnderlyingInstrument component.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'ComplexEventDateOffsetDayTypeCodeSet',\n    addedEP: '169',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingOptionExerciseEarliestDateOffsetDayType',\n    id: 41823,\n    abbrName: 'ErlstOfstDayTyp',\n    description: 'Specifies the day type of the relative earliest exercise date offset.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingOptionExerciseEarliestDateOffsetPeriod',\n    id: 41824,\n    abbrName: 'ErlstOfstPeriod',\n    description: 'Time unit multiplier for the relative earliest exercise date offset.',\n  },\n  {\n    type: 'ProvisionOptionExerciseEarliestDateOffsetUnitCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingOptionExerciseEarliestDateOffsetUnit',\n    id: 41825,\n    abbrName: 'ErlstOfstUnit',\n    description: 'Time unit associated with the relative earliest exercise date offset.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingOptionExerciseFrequencyPeriod',\n    id: 41826,\n    abbrName: 'FreqPeriod',\n    description: 'Time unit multiplier for the frequency of exercise dates.',\n  },\n  {\n    type: 'ProtectionTermEventUnitCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingOptionExerciseFrequencyUnit',\n    id: 41827,\n    abbrName: 'FreqUnit',\n    description: 'Time unit associated with the frequency of exercise dates.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingOptionExerciseStartDateUnadjusted',\n    id: 41828,\n    abbrName: 'StartDtUnadj',\n    description: 'The unadjusted start date for calculating periodic exercise dates.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '169',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingOptionExerciseStartDateRelativeTo',\n    id: 41829,\n    abbrName: 'StartDtReltv',\n    description:\n      'Specifies the anchor date when the option exercise start date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingOptionExerciseStartDateOffsetPeriod',\n    id: 41830,\n    abbrName: 'StartDtOfstPeriod',\n    description: 'Time unit multiplier for the relative exercise start date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingOptionExerciseStartDateOffsetUnit',\n    id: 41831,\n    abbrName: 'StartDtOfstUnit',\n    description: 'Time unit associated with the relative exercise start date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '169',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingOptionExerciseStartDateOffsetDayType',\n    id: 41832,\n    abbrName: 'StartDtOfstDayTyp',\n    description:\n      'Specifies the day type of the relative option exercise start date offset.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingOptionExerciseStartDateAdjusted',\n    id: 41833,\n    abbrName: 'StartDt',\n    description: 'The adjusted start date for calculating periodic exercise dates.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingOptionExerciseSkip',\n    id: 41834,\n    abbrName: 'Skip',\n    description:\n      'The number of periods in the referenced date schedule that are between each date in the relative date schedule. Thus a skip of 2 would mean that dates are relative to every second date in the referenced schedule. If present this should have a value greater than 1.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingOptionExerciseNominationDeadline',\n    id: 41835,\n    abbrName: 'NomntnDdln',\n    description: 'The last date (adjusted) for establishing the option exercise terms.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingOptionExerciseFirstDateUnadjusted',\n    id: 41836,\n    abbrName: 'FirstDtUnadj',\n    description: 'The unadjusted first exercise date.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingOptionExerciseLastDateUnadjusted',\n    id: 41837,\n    abbrName: 'LastDtUnadj',\n    description: 'The unadjusted last exercise date.',\n  },\n  {\n    type: 'LocalMktTime',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingOptionExerciseEarliestTime',\n    id: 41838,\n    abbrName: 'ErlstTm',\n    description:\n      \"The earliest time at which notice of exercise can be given by the buyer to the seller (or seller's agent) (i) on the expriation date, in the case of a European style option, (ii) on each Bermuda option exercise date and the expiration date, in the case of a Bermuda style option, (iii) the commencement date to, and including, the expiration date, in the case of an American option.\",\n  },\n  {\n    type: 'LocalMktTime',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingOptionExerciseLatestTime',\n    id: 41839,\n    abbrName: 'LtstTm',\n    description:\n      'Latest exercise time. See also UnderlyingOptionExerciseEarliestTime(41838).',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingOptionExerciseTimeBusinessCenter',\n    id: 41840,\n    abbrName: 'TmBizCtr',\n    description:\n      'The business center used to determine the locale for option exercise time, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingOptionExerciseDates',\n    id: 41841,\n    description: 'Number of dates in the repeating group.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingOptionExerciseDate',\n    id: 41842,\n    abbrName: 'Dt',\n    description: 'The adjusted or unadjusted option exercise fixed date.',\n  },\n  {\n    type: 'OptionExerciseDateTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingOptionExerciseDateType',\n    id: 41843,\n    abbrName: 'Typ',\n    description:\n      'Specifies the type of option exercise date. When specified it applies not only to the current date but to all subsequent dates in the group until overridden with a new type.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingOptionExerciseExpirationDateBusinessCenters',\n    id: 41844,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingOptionExerciseExpirationDateBusinessCenter',\n    id: 41845,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used to adjust the option exercise expiration dates, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingOptionExerciseExpirationDateBusinessDayConvention',\n    id: 41846,\n    abbrName: 'BizDayCnvtn',\n    description:\n      'The business day convention used to adjust the option exercise expiration dates. Used only to override the business day convention specified in the UnderlyingDateAdjustment component within the UnderlyingInstrument component.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '169',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingOptionExerciseExpirationDateRelativeTo',\n    id: 41847,\n    abbrName: 'Reltv',\n    description:\n      'Specifies the anchor date when the option exercise expiration date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingOptionExerciseExpirationDateOffsetPeriod',\n    id: 41848,\n    abbrName: 'OfstPeriod',\n    description: 'Time unit multiplier for the relative exercise expiration date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingOptionExerciseExpirationDateOffsetUnit',\n    id: 41849,\n    abbrName: 'OfstUnit',\n    description:\n      'Time unit associated with the relative exercise expiration date offset.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingOptionExerciseExpirationFrequencyPeriod',\n    id: 41850,\n    abbrName: 'FreqPeriod',\n    description: 'Time unit multiplier for the frequency of exercise expiration dates.',\n  },\n  {\n    type: 'ProtectionTermEventUnitCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingOptionExerciseExpirationFrequencyUnit',\n    id: 41851,\n    abbrName: 'FreqUnit',\n    description: 'Time unit associated with the frequency of exercise expiration dates.',\n  },\n  {\n    type: 'DateRollConventionCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingOptionExerciseExpirationRollConvention',\n    id: 41852,\n    abbrName: 'Roll',\n    description:\n      'The convention for determining the sequence of exercise expiration dates. It is used in conjunction with a specified frequency. Used only to override the roll convention defined in the UnderlyingDateAdjustment component in UnderlyingInstrument.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'ComplexEventDateOffsetDayTypeCodeSet',\n    addedEP: '169',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingOptionExerciseExpirationDateOffsetDayType',\n    id: 41853,\n    abbrName: 'OfstDayTyp',\n    description:\n      'Specifies the day type of the relative option exercise expiration date offset.',\n  },\n  {\n    type: 'LocalMktTime',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingOptionExerciseExpirationTime',\n    id: 41854,\n    abbrName: 'Tm',\n    description: 'The option exercise expiration time.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingOptionExerciseExpirationTimeBusinessCenter',\n    id: 41855,\n    abbrName: 'TmBizCtr',\n    description:\n      'The business center used to determine the locale for option exercise expiration time, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingOptionExerciseExpirationDates',\n    id: 41856,\n    description: 'Number of fixed exercise expiration dates in the repeating group.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingOptionExerciseExpirationDate',\n    id: 41857,\n    abbrName: 'Dt',\n    description: 'The adjusted or unadjusted option exercise expiration fixed date.',\n  },\n  {\n    type: 'OptionExerciseDateTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingOptionExerciseExpirationDateType',\n    id: 41858,\n    abbrName: 'Typ',\n    description:\n      'Specifies the type of option exercise expiration date. When specified it applies not only to the current date but to all subsequent dates in the group until overridden with a new type.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingSettlRateIndex',\n    id: 2284,\n    abbrName: 'SettlNdx',\n    description:\n      'In an outright or forward commodity trade that is cash settled this is the index used to determine the cash payment.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingSettlRateIndexLocation',\n    id: 2285,\n    abbrName: 'SettlNdxLctn',\n    description:\n      'This is an optional qualifying attribute of UnderlyingSettlementRateIndex(2284) such as the delivery zone for an electricity contract.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingOptionExpirationDesc',\n    id: 2286,\n    abbrName: 'ExpDesc',\n    description: 'Description of the option expiration.',\n  },\n  {\n    type: 'Length',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedUnderlyingOptionExpirationDescLen',\n    id: 2287,\n    abbrName: 'EncExpDescLen',\n    description:\n      'Byte length of encoded (non-ASCII characters) EncodedUnderlyingOptionExpirationDesc(2288) field.',\n  },\n  {\n    type: 'data',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedUnderlyingOptionExpirationDesc',\n    id: 2288,\n    abbrName: 'EncExpDesc',\n    lengthId: '2287',\n    description:\n      'Encoded (non-ASCII characters) representation of the UnderlyingOptionExpirationDesc(2286) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the UnderlyingOptionExpirationDesc(2286).',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'SwapSubClassCodeSet',\n    addedEP: '169',\n    updatedEP: '238',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingSwapSubClass',\n    id: 2289,\n    abbrName: 'SwapSubClss',\n    description: 'The sub-classification or notional schedule type of the swap.',\n  },\n  {\n    type: 'UnitOfMeasureCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStrikeUnitOfMeasure',\n    id: 2290,\n    abbrName: 'StrkUOM',\n    description:\n      'Used to express the unit of measure (UOM) of the price if different from the contract.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStrikeIndex',\n    id: 2291,\n    abbrName: 'StrkNdx',\n    description: 'Specifies the index used to calculate the strike price.',\n  },\n  {\n    type: 'PriceOffset',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStrikeIndexSpread',\n    id: 2292,\n    abbrName: 'StrkSpread',\n    description: 'Specifies the strike price offset from the named index.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingValuationSource',\n    id: 2293,\n    abbrName: 'ValSrc',\n    description: 'Specifies the source of trade valuation data.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingValuationReferenceModel',\n    id: 2294,\n    abbrName: 'ValRefModel',\n    description:\n      'Specifies the methodology and/or assumptions used to generate the trade value.',\n  },\n  {\n    type: 'StrategyTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStrategyType',\n    id: 2295,\n    abbrName: 'StrtTyp',\n    description: 'Specifies the type of trade strategy.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingCommonPricingIndicator',\n    id: 2296,\n    abbrName: 'CmnPxng',\n    description:\n      \"When this element is specified and set to 'Y', it indicates that common pricing applies. Common pricing may be relevant for a transaction that references more than one commodity reference price.\",\n  },\n  {\n    type: 'SettlDisruptionProvisionCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingSettlDisruptionProvision',\n    id: 2297,\n    abbrName: 'SettlDsrptnProv',\n    description: 'Specifies the consequences of settlement disruption events.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'RoundingDirectionCodeSet',\n    addedEP: '169',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingInstrumentRoundingDirection',\n    id: 2298,\n    abbrName: 'RndDirctn',\n    description: 'Specifies the rounding direction if not overridden elsewhere.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingInstrumentRoundingPrecision',\n    id: 2299,\n    abbrName: 'RndPrcsn',\n    description:\n      'Specifies the rounding precision in terms of a number of decimal places. Note how a percentage rate rounding of 5 decimal places is expressed as a rounding precision of 7.',\n  },\n  {\n    type: 'MarketDisruptionProvisionCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingMarketDisruptionProvision',\n    id: 41859,\n    abbrName: 'Prov',\n    description: 'The consequences of market disruption events.',\n  },\n  {\n    type: 'MarketDisruptionFallbackProvisionCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingMarketDisruptionFallbackProvision',\n    id: 41860,\n    abbrName: 'FallbckProv',\n    description: 'Specifies the location of the fallback provision documentation.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingMarketDisruptionMaximumDays',\n    id: 41861,\n    abbrName: 'MaxDays',\n    description:\n      'Specifies the maximum number of market disruption days (commodity or bullion business days) in a contract or confirmation. If none are specified, the maximum number of market disruption days is five (5).\\n\\nISDA 2005 Commodity Definition.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingMarketDisruptionMaterialityPercentage',\n    id: 41862,\n    abbrName: 'MtrltyPctage',\n    description:\n      'Used when a price materiality percentage applies to the price source disruption event and this event has been specified.\\n\\nApplicable to 2005 Commodity Definitions only.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingMarketDisruptionMinimumFuturesContracts',\n    id: 41863,\n    abbrName: 'MinCtrcts',\n    description:\n      \"Specifies the minimum futures contracts level that dictates whether or not a 'De Minimis Trading' event has occurred.\\n\\nApplicable to 1993 Commodity Definitions only.\",\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingMarketDisruptionEvents',\n    id: 41864,\n    description: 'Number of disruption events in the repeating group.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'String',\n    addedEP: '169',\n    updatedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingMarketDisruptionEvent',\n    id: 41865,\n    abbrName: 'Evnt',\n    description:\n      'Specifies the market disruption event.\\n\\nFor commodities see http://www.fpml.org/coding-scheme/commodity-market-disruption for values.\\n\\nFor foreign exchange, see http://www.fixtradingcommunity.org/codelists#Market_Disruption_Event for code list of applicable event types.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingMarketDisruptionFallbacks',\n    id: 41866,\n    description: 'Number of fallbacks in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingMarketDisruptionFallbackType',\n    id: 41867,\n    abbrName: 'Typ',\n    description:\n      'Specifies the type of disruption fallback.\\n\\nSee http://www.fpml.org/coding-scheme/commodity-market-disruption-fallback for values.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingMarketDisruptionFallbackReferencePrices',\n    id: 41868,\n    description: 'Number of fallback reference securities in the repeating group.',\n  },\n  {\n    type: 'MarketDisruptionFallbackUnderlierTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingMarketDisruptionFallbackUnderlierType',\n    id: 41869,\n    abbrName: 'Typ',\n    description: 'The type of reference price underlier.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingMarketDisruptionFallbackUnderlierSecurityID',\n    id: 41870,\n    abbrName: 'ID',\n    discriminatorId: '41871',\n    description: 'Specifies the identifier value of the security.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'SecurityIDSourceCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '169',\n    updatedEP: '265',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingMarketDisruptionFallbackUnderlierSecurityIDSource',\n    id: 41871,\n    abbrName: 'Src',\n    description: 'Specifies the class or source scheme of the security identifier.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingMarketDisruptionFallbackUnderlierSecurityDesc',\n    id: 41872,\n    abbrName: 'Desc',\n    description: 'Specifies the description of underlying security.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'Length',\n    addedEP: '169',\n    updatedEP: '271',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedUnderlyingMarketDisruptionFallbackUnderlierSecDescLen',\n    id: 41873,\n    abbrName: 'EncDescLen',\n    description:\n      'Byte length of encoded (non-ASCII characters) EncodedUnderlyingMarketDisruptionFallbackUnderlierSecurityDesc(41874) field.',\n  },\n  {\n    type: 'data',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedUnderlyingMarketDisruptionFallbackUnderlierSecurityDesc',\n    id: 41874,\n    abbrName: 'EncDesc',\n    lengthId: '41873',\n    description:\n      'Encoded (non-ASCII characters) representation of the UnderlyingMarketDisruptionFallbackUnderlierSecurityDesc(41872) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the UnderlyingMarketDisruptionFallbackUnderlierSecurityDesc(41872).',\n  },\n  {\n    type: 'Qty',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingMarketDisruptionFallbackOpenUnits',\n    id: 41875,\n    abbrName: 'OpnUnits',\n    description:\n      'If there are multiple underlying assets, this specifies the number of units (index or securities) that constitute the underlier of the swap. In the case of a basket swap, this is used to reference both the number of basket units, and the number of each asset components of the basket when these are expressed in absolute terms.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingMarketDisruptionFallbackBasketCurrency',\n    id: 41876,\n    abbrName: 'Ccy',\n    description:\n      'Specifies the currency if the underlier is a basket. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'float',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingMarketDisruptionFallbackBasketDivisor',\n    id: 41877,\n    abbrName: 'Dvsr',\n    description:\n      'Specifies the basket divisor amount. This value is normally used to adjust the constituent weight for pricing or to adjust for dividends, or other corporate actions.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingPaymentScheduleFixingDays',\n    id: 41878,\n    description: 'Number of fixing days in the repeating group.',\n  },\n  {\n    type: 'PaymentStreamPricingDayOfWeekCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentScheduleFixingDayOfWeek',\n    id: 41879,\n    abbrName: 'DayOfWk',\n    description: 'The day of the week on which fixing takes place.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentScheduleFixingDayNumber',\n    id: 41880,\n    abbrName: 'DayNum',\n    description:\n      'The occurrence of the day of week on which fixing takes place.\\n\\nFor example, a fixing of the 3rd Friday would be DayOfWk=5 DayNum=3. If omitted every day of the week is a fixing day.',\n  },\n  {\n    type: 'XID',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentScheduleXID',\n    id: 41881,\n    abbrName: 'XID',\n    description:\n      'Identifier of this UnderlyingPaymentSchedule for cross referencing elsewhere in the message.',\n  },\n  {\n    type: 'XIDREF',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentScheduleXIDRef',\n    id: 41882,\n    abbrName: 'XIDRef',\n    description: 'Reference to payment schedule elsewhere in the message.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentScheduleRateCurrency',\n    id: 41883,\n    abbrName: 'RtCcy',\n    description:\n      'Specifies the currency of the schedule rate. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'UnitOfMeasureCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentScheduleRateUnitOfMeasure',\n    id: 41884,\n    abbrName: 'RtUOM',\n    description: 'The schedule rate unit of measure (UOM).',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'float',\n    addedEP: '169',\n    updatedEP: '271',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentScheduleRateConversionFactor',\n    id: 41885,\n    abbrName: 'RtFctr',\n    description:\n      \"The number to be multiplied by the derived floating rate of the underlying's payment schedule in order to arrive at the payment rate. If omitted, the schedule rate conversion factor is 1.\",\n  },\n  {\n    type: 'PaymentStreamRateSpreadTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentScheduleRateSpreadType',\n    id: 41886,\n    abbrName: 'SpreadTyp',\n    description:\n      'Specifies whether the rate spread is an absolute value to be added to the index rate or a percentage of the index rate.',\n  },\n  {\n    type: 'Price',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentScheduleSettlPeriodPrice',\n    id: 41887,\n    abbrName: 'SettlPx',\n    description: 'The schedule settlement period price.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentScheduleSettlPeriodPriceCurrency',\n    id: 41888,\n    abbrName: 'SettlPxCcy',\n    description:\n      'The currency of the schedule settlement period price. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'UnitOfMeasureCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentScheduleSettlPeriodPriceUnitOfMeasure',\n    id: 41889,\n    abbrName: 'SettlPxUOM',\n    description: 'The settlement period price unit of measure (UOM).',\n  },\n  {\n    type: 'UnitOfMeasureCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentScheduleStepUnitOfMeasure',\n    id: 41890,\n    abbrName: 'StepUOM',\n    description: 'The schedule step unit of measure (UOM).',\n  },\n  {\n    type: 'PaymentStreamPricingDayDistributionCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentScheduleFixingDayDistribution',\n    id: 41891,\n    abbrName: 'FixngDayDistrib',\n    description: 'The distribution of fixing days.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentScheduleFixingDayCount',\n    id: 41892,\n    abbrName: 'FixngDayCnt',\n    description: 'The number of days over which fixing should take place.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentScheduleFixingLagPeriod',\n    id: 41893,\n    abbrName: 'FixngLagPeriod',\n    description: 'Time unit multiplier for the fixing lag duration.',\n  },\n  {\n    type: 'PaymentStreamInflationLagUnitCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentScheduleFixingLagUnit',\n    id: 41894,\n    abbrName: 'FixngLagUnit',\n    description: 'Time unit associated with the fixing lag duration.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'int',\n    addedEP: '169',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentScheduleFixingFirstObservationDateOffsetPeriod',\n    id: 41895,\n    abbrName: 'FixngFirstObsvtnPeriod',\n    description:\n      'Time unit multiplier for the relative first observation date offset.\\n\\nIf the first observation offset is specified, the observation period will start the specified interval prior to each calculation period - i.e. if the first observation offset is 4 months and the lag duration is 3 months, observations will be taken in months 4, 3 and 2 (but not 1) prior to each calculation period. If no first observation offset is specified, the observation period will end immediately preceding each calculation period.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '169',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentScheduleFixingFirstObservationDateOffsetUnit',\n    id: 41896,\n    abbrName: 'FixngFirstObsvtnUnit',\n    description: 'Time unit associated with the relative first observation date offset.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamFlatRateIndicator',\n    id: 41897,\n    abbrName: 'FlatRtInd',\n    description:\n      'When this element is specified and set to \\'Y\\', the Flat Rate is the New Worldwide Tanker Nominal Freight Scale for the Freight Index Route taken at the Trade Date of the transaction \"Fixed\". If \\'N\\' it is taken on each Pricing Date \"Floating\".',\n  },\n  {\n    type: 'Amt',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamFlatRateAmount',\n    id: 41898,\n    abbrName: 'FlatRtAmt',\n    description:\n      \"Specifies the actual monetary value of the flat rate when UnderlyingPaymentStreamFlatRateIndicator(41897) = 'Y'.\",\n  },\n  {\n    type: 'Currency',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamFlatRateCurrency',\n    id: 41899,\n    abbrName: 'FlatRtCcy',\n    description:\n      'Specifies the currency of the actual flat rate. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamMaximumPaymentAmount',\n    id: 41900,\n    abbrName: 'MaxPmtAmt',\n    description: 'Specifies the limit on the total payment amount.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamMaximumPaymentCurrency',\n    id: 41901,\n    abbrName: 'MaxPmtCcy',\n    description:\n      'Specifies the currency of total payment amount limit. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamMaximumTransactionAmount',\n    id: 41902,\n    abbrName: 'MaxTxnAmt',\n    description:\n      'Specifies the limit on the payment amount that goes out in any particular calculation period.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamMaximumTransactionCurrency',\n    id: 41903,\n    abbrName: 'MaxTxnCcy',\n    description:\n      'Specifies the currency of the period payment amount limit. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'UnitOfMeasureCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamFixedAmountUnitOfMeasure',\n    id: 41904,\n    abbrName: 'FixedAmtUOM',\n    description: 'Fixed payment amount unit of measure (UOM).',\n  },\n  {\n    type: 'Amt',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamTotalFixedAmount',\n    id: 41905,\n    abbrName: 'FixedAmt',\n    description: 'Specifies the total fixed payment amount.',\n  },\n  {\n    type: 'float',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamWorldScaleRate',\n    id: 41906,\n    abbrName: 'WorldScaleRt',\n    description:\n      'The number of Worldscale points for purposes of the calculation of a fixed amount for a wet voyage charter commodity swap.',\n  },\n  {\n    type: 'Price',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamContractPrice',\n    id: 41907,\n    abbrName: 'CtrctPx',\n    description:\n      'The price per relevant unit for purposes of the calculation of a fixed amount for a dry voyage charter or time charter commodity swap.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamContractPriceCurrency',\n    id: 41908,\n    abbrName: 'CtrctPxCcy',\n    description:\n      'Specifies the currency of UnderlyingPaymentStreamContractPrice(41907). Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingPaymentStreamPricingBusinessCenters',\n    id: 41909,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamPricingBusinessCenter',\n    id: 41910,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used to adjust the payment stream\\'s pricing dates, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'PaymentStreamRateIndexCurveUnitCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamRateIndex2CurveUnit',\n    id: 41911,\n    abbrName: 'Ndx2Unit',\n    description:\n      'Secondary time unit associated with the payment stream\u2019s floating rate index curve.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamRateIndex2CurvePeriod',\n    id: 41912,\n    abbrName: 'Ndx2Period',\n    description:\n      'Secondary time unit multiplier for the payment stream\u2019s floating rate index curve.\\n\\nMay be used for a Forward Rate Agreement (FRA) with an average rate between two curve points.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamRateIndexLocation',\n    id: 41913,\n    abbrName: 'NdxLctn',\n    description: 'Specifies the location of the floating rate index.',\n  },\n  {\n    type: 'Qty',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamRateIndexLevel',\n    id: 41914,\n    abbrName: 'NdxLvl',\n    description:\n      'This is the weather Cooling Degree Days (CDD), Heating Degree Days (HDD) or HDD index level specified as the number of (amount of) weather index units specified by the parties in the related confirmation.',\n  },\n  {\n    type: 'UnitOfMeasureCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamRateIndexUnitOfMeasure',\n    id: 41915,\n    abbrName: 'NdxUOM',\n    description: 'The unit of measure (UOM) of the rate index level.',\n  },\n  {\n    type: 'PaymentStreamSettlLevelCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamSettlLevel',\n    id: 41916,\n    abbrName: 'SettlLvl',\n    description: 'Specifies how weather index units are to be calculated.',\n  },\n  {\n    type: 'Qty',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamReferenceLevel',\n    id: 41917,\n    abbrName: 'RefLvl',\n    description:\n      'This is the weather Cooling Degree Days (CDD), Heating Degree Days (HDD) or HDD reference level specified as the number of (amount of) weather index units specified by the parties in the related confirmation.',\n  },\n  {\n    type: 'UnitOfMeasureCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamReferenceLevelUnitOfMeasure',\n    id: 41918,\n    abbrName: 'RefUOM',\n    description: 'The unit of measure (UOM) of the rate reference level.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamReferenceLevelEqualsZeroIndicator',\n    id: 41919,\n    abbrName: 'RefLvlZero',\n    description:\n      \"When set to 'Y', it indicates that the weather reference level equals zero.\",\n  },\n  {\n    type: 'Currency',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamRateSpreadCurrency',\n    id: 41920,\n    abbrName: 'SpreadCcy',\n    description:\n      'Specifies the currency of the floating rate spread. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'UnitOfMeasureCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamRateSpreadUnitOfMeasure',\n    id: 41921,\n    abbrName: 'SpreadUOM',\n    description: 'Specifies the unit of measure (UOM) of the floating rate spread.',\n  },\n  {\n    type: 'float',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamRateConversionFactor',\n    id: 41922,\n    abbrName: 'RtFctr',\n    description:\n      \"The number to be multiplied by the derived floating rate of the underlying's payment stream in order to arrive at the payment rate. If omitted, the floating rate conversion factor is 1.\",\n  },\n  {\n    type: 'PaymentStreamRateSpreadTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamRateSpreadType',\n    id: 41923,\n    abbrName: 'SpreadTyp',\n    description:\n      'Identifies whether the rate spread is an absolute value to be added to the index rate or a percentage of the index rate.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamLastResetRate',\n    id: 41924,\n    abbrName: 'LastResetRt',\n    description:\n      'The floating rate determined at the most recent reset. The rate is expressed in decimal form, e.g. 5% is represented as 0.05.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamFinalRate',\n    id: 41925,\n    abbrName: 'FnlRt',\n    description:\n      'The floating rate determined at the final reset. The rate is expressed in decimal form, e.g. 5% is represented as 0.05.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamCalculationLagPeriod',\n    id: 41926,\n    abbrName: 'CalcLagPeriod',\n    description: 'Time unit multiplier for the calculation lag duration.',\n  },\n  {\n    type: 'PaymentStreamInflationLagUnitCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamCalculationLagUnit',\n    id: 41927,\n    abbrName: 'CalcLagUnit',\n    description: 'Time unit associated with the calculation lag duration.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'int',\n    addedEP: '169',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamFirstObservationDateOffsetPeriod',\n    id: 41928,\n    abbrName: 'FirstObsvtnOfstPeriod',\n    description:\n      'Time unit multiplier for the relative first observation date offset.\\n\\nIf the first observation offset is specified, the observation period will start the specified interval prior to each calculation period - i.e. if the first observation offset is 4 months and the lag duration is 3 months, observations will be taken in months 4, 3 and 2 (but not 1) prior to each calculation period. If no first observation offset is specified, the observation period will end immediately preceding each calculation period.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '169',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamFirstObservationDateOffsetUnit',\n    id: 41929,\n    abbrName: 'FirstObsvtnOfstUnit',\n    description: 'Time unit associated with the relative first observation date offset.',\n  },\n  {\n    type: 'ComplexEventDateOffsetDayTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamPricingDayType',\n    id: 41930,\n    abbrName: 'PxngDayTyp',\n    description: 'Specifies the commodity pricing day type.',\n  },\n  {\n    type: 'PaymentStreamPricingDayDistributionCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamPricingDayDistribution',\n    id: 41931,\n    abbrName: 'PxngDayDistrib',\n    description: 'The distribution of pricing days.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamPricingDayCount',\n    id: 41932,\n    abbrName: 'PxngDayCnt',\n    description: 'The number of days over which pricing should take place.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamPricingBusinessCalendar',\n    id: 41933,\n    abbrName: 'PxngClndr',\n    description:\n      'Specifies the business calendar to use for pricing.\\n\\nSee http://www.fpml.org/coding-scheme/commodity-business-calendar for values.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamPricingBusinessDayConvention',\n    id: 41934,\n    abbrName: 'PxngBizDayCnvtn',\n    description:\n      \"The business day convention used to adjust the payment stream's pricing dates. Used only to override the business day convention specified in the UnderlyingDateAdjustment component within the UnderlyingInstrument component.\",\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingPaymentStreamPaymentDates',\n    id: 41937,\n    description: 'Number of payment dates in the repeating group.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamPaymentDate',\n    id: 41938,\n    abbrName: 'Dt',\n    description: 'The adjusted or unadjusted fixed stream payment date.',\n  },\n  {\n    type: 'OptionExerciseDateTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamPaymentDateType',\n    id: 41939,\n    abbrName: 'Typ',\n    description:\n      'Specifies the type of payment date. When specified it applies not only to the current date but to all subsequent dates in the group until overridden with a new type.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamMasterAgreementPaymentDatesIndicator',\n    id: 41940,\n    abbrName: 'MADts',\n    description:\n      \"When set to 'Y', it indicates that payment dates are specified in the relevant master agreement.\",\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingPaymentStreamPricingDates',\n    id: 41941,\n    description: 'Number of pricing dates in the repeating group.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamPricingDate',\n    id: 41942,\n    abbrName: 'Dt',\n    description: 'An adjusted or unadjusted fixed pricing date.',\n  },\n  {\n    type: 'OptionExerciseDateTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamPricingDateType',\n    id: 41943,\n    abbrName: 'Typ',\n    description:\n      'Specifies the type of pricing date. When specified it applies not only to the current date but to all subsequent dates in the group until overridden with a new type.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingPaymentStreamPricingDays',\n    id: 41944,\n    description: 'Number of pricing days in the repeating group.',\n  },\n  {\n    type: 'PaymentStreamPricingDayOfWeekCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamPricingDayOfWeek',\n    id: 41945,\n    abbrName: 'DayOfWk',\n    description: 'The day of the week on which pricing takes place.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamPricingDayNumber',\n    id: 41946,\n    abbrName: 'DayNum',\n    description:\n      'The occurrence of the day of week on which pricing takes place.\\n\\nFor example a pricing day of the 3rd Friday would be DayOfWk=5 DayNum=3.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingPricingDateBusinessCenters',\n    id: 41947,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPricingDateBusinessCenter',\n    id: 41948,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used to adjust the pricing or fixing date, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPricingDateUnadjusted',\n    id: 41949,\n    abbrName: 'DtUnadj',\n    description: 'The unadjusted pricing or fixing date.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPricingDateBusinessDayConvention',\n    id: 41950,\n    abbrName: 'BizDayCnvtn',\n    description:\n      'The business day convention used to adjust the pricing or fixing date. Used only to override the business day convention specified in the UnderlyingDateAdjustment component within the UnderlyingInstrument component.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPricingDateAdjusted',\n    id: 41951,\n    abbrName: 'Dt',\n    description: 'The adjusted pricing or fixing date.',\n  },\n  {\n    type: 'LocalMktTime',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPricingTime',\n    id: 41952,\n    abbrName: 'Tm',\n    description: 'The local market pricing or fixing time.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPricingTimeBusinessCenter',\n    id: 41953,\n    abbrName: 'TmBizCtr',\n    description:\n      'Specifies the business center for determining the pricing or fixing time. See http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingStreamCalculationPeriodDates',\n    id: 41954,\n    description: 'Number of calculation period dates in the repeating group.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamCalculationPeriodDate',\n    id: 41955,\n    abbrName: 'Dt',\n    description: 'The adjusted or unadjusted fixed calculation period date.',\n  },\n  {\n    type: 'OptionExerciseDateTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamCalculationPeriodDateType',\n    id: 41956,\n    abbrName: 'Typ',\n    description:\n      'Specifies the type of fixed calculation period date. When specified it applies not only to the current date but to all subsequent dates in the group until overridden with a new type.',\n  },\n  {\n    type: 'XID',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamCalculationPeriodDatesXID',\n    id: 41957,\n    abbrName: 'XID',\n    description:\n      'Identifier of this calculation period for cross referencing elsewhere in the message.',\n  },\n  {\n    type: 'XIDREF',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamCalculationPeriodDatesXIDRef',\n    id: 41958,\n    abbrName: 'XIDRef',\n    description:\n      'Cross reference to another calculation period for duplicating its properties.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamCalculationBalanceOfFirstPeriod',\n    id: 41959,\n    abbrName: 'BalFirst',\n    description:\n      \"When specified and set to 'Y', it indicates that the first calculation period should run from the effective date to the end of the calendar period in which the effective date falls (e.g. Jan 15 - Jan 31 if the calculation periods are one month long and effective date is Jan 15.). If 'N' or not specified, it indicates that the first calculation period should run from the effective date for one whole period (e.g. Jan 15 to Feb 14 if the calculation periods are one month long and the effective date is Jan 15.).\",\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamCalculationCorrectionPeriod',\n    id: 41960,\n    abbrName: 'CrrctnPeriod',\n    description:\n      'Time unit multiplier for the length of time after the publication of the data when corrections can be made.',\n  },\n  {\n    type: 'ProtectionTermEventUnitCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamCalculationCorrectionUnit',\n    id: 41961,\n    abbrName: 'CrrctnUnit',\n    description:\n      'Time unit associated with the length of time after the publication of the data when corrections can be made.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingStreamCommoditySettlBusinessCenters',\n    id: 41962,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamCommoditySettlBusinessCenter',\n    id: 41963,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used to adjust the commodity delivery date, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamCommodityBase',\n    id: 41964,\n    abbrName: 'Base',\n    description:\n      'Specifies the general base type of the commodity traded. Where possible, this should follow the naming convention used in the 2005 ISDA Commodity Definitions.\\n\\nExamples of general commodity base types include:Metal, Bullion, Oil, Natural Gas, Coal, Electricity, Inter-Energy, Grains, Oils Seeds, Dairy, Livestock, Forestry, Softs, Weather, Emissions.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamCommodityType',\n    id: 41965,\n    abbrName: 'CmdtyTyp',\n    description:\n      'Specifies the type of commodity product.\\n\\nFor coal see http://www.fpml.org/coding-scheme/commodity-coal-product-type for values.\\n\\nFor metals see http://www.fpml.org/coding-scheme/commodity-metal-product-type for values.\\n\\nFor bullion see http://www.fixtradingcommunity.org/codelists#Bullion_Types for the external code list of bullion types.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamCommoditySecurityID',\n    id: 41966,\n    abbrName: 'ID',\n    discriminatorId: '41967',\n    description: 'Specifies the market identifier for the commodity.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'SecurityIDSourceCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '169',\n    updatedEP: '265',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamCommoditySecurityIDSource',\n    id: 41967,\n    abbrName: 'Src',\n    description:\n      'Identifies the class or source of the UnderlyingStreamCommoditySecurityIDSource(41966) value.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamCommodityDesc',\n    id: 41968,\n    abbrName: 'Desc',\n    description: 'Description of the commodity asset.',\n  },\n  {\n    type: 'Length',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedUnderlyingStreamCommodityDescLen',\n    id: 41969,\n    abbrName: 'EncDescLen',\n    description:\n      'Byte length of encoded (non-ASCII characters) EncodedUnderlyingStreamCommodityDesc(41970) field.',\n  },\n  {\n    type: 'data',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedUnderlyingStreamCommodityDesc',\n    id: 41970,\n    abbrName: 'EncDesc',\n    lengthId: '41969',\n    description:\n      'Encoded (non-ASCII characters) representation of the UnderlyingStreamCommodityDesc(41968) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the UnderlyingStreamCommodityDesc(41968) field.',\n  },\n  {\n    type: 'UnitOfMeasureCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamCommodityUnitOfMeasure',\n    id: 41971,\n    abbrName: 'UOM',\n    description: 'The unit of measure (UOM) of the commodity asset.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamCommodityCurrency',\n    id: 41972,\n    abbrName: 'Ccy',\n    description:\n      'Identifies the currency of the commodity asset. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'Exchange',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamCommodityExchange',\n    id: 41973,\n    abbrName: 'Exch',\n    description: 'Identifies the exchange where the commodity is traded.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamCommodityRateSource',\n    id: 41974,\n    abbrName: 'RtSrc',\n    description:\n      'Identifies the source of rate information used for commodities.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Commodity_Rate_Source for code list of applicable sources.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamCommodityRateReferencePage',\n    id: 41975,\n    abbrName: 'RefPg',\n    description: 'Identifies the reference \"page\" from the rate source.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamCommodityRateReferencePageHeading',\n    id: 41976,\n    abbrName: 'RefHdng',\n    description: 'Identifies the page heading from the rate source.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamDataProvider',\n    id: 41977,\n    abbrName: 'DataPrvdr',\n    description:\n      'Specifies the commodity data or information provider.\\n\\nSee http://www.fpml.org/coding-scheme/commodity-information-provider for values.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamCommodityPricingType',\n    id: 41978,\n    abbrName: 'PxngTyp',\n    description:\n      'Specifies how the pricing or rate setting of the trade is to be determined or based upon.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Commodity_Rate_Pricing_Type for code list of applicable commodity pricing types.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamCommodityNearbySettlDayPeriod',\n    id: 41979,\n    abbrName: 'Period',\n    description:\n      'Time unit multiplier for the nearby settlement day.\\n\\nWhen the commodity transaction references a futures contract, the delivery or settlement dates are a nearby month or week. For example, for eighth nearby month use Period=8 and Unit=Mo.',\n  },\n  {\n    type: 'StreamCommodityNearbySettlDayUnitCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamCommodityNearbySettlDayUnit',\n    id: 41980,\n    abbrName: 'Unit',\n    description: 'Time unit associated with the nearby settlement day.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamCommoditySettlDateUnadjusted',\n    id: 41981,\n    abbrName: 'DtUnadj',\n    description: 'The unadjusted commodity delivery date.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamCommoditySettlDateBusinessDayConvention',\n    id: 41982,\n    abbrName: 'BizDayCnvtn',\n    description:\n      'The business day convention used to adjust the commodity delivery date. Used only to override the business day convention specified in the UnderlyingDateAdjustment component within the UnderlyingInstrument component.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamCommoditySettlDateAdjusted',\n    id: 41983,\n    abbrName: 'Dt',\n    description: 'The adjusted commodity delivery date.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamCommoditySettlMonth',\n    id: 41984,\n    abbrName: 'Mo',\n    description:\n      'Specifies a fixed single month for commodity delivery.\\n\\nUse \"1\" for January, \"2\" for February, etc.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamCommoditySettlDateRollPeriod',\n    id: 41985,\n    abbrName: 'RollPeriod',\n    description:\n      'Time unit multiplier for the commodity delivery date roll.\\n\\nFor a commodity transaction that references a listed future via the delivery dates, this is the day offset on which the specified future will roll to the next nearby month when the referenced future expires.',\n  },\n  {\n    type: 'StreamCommoditySettlDateRollUnitCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamCommoditySettlDateRollUnit',\n    id: 41986,\n    abbrName: 'RollUnit',\n    description: 'Time unit associated with the commodity delivery date roll.',\n  },\n  {\n    type: 'ComplexEventDateOffsetDayTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamCommoditySettlDayType',\n    id: 41987,\n    abbrName: 'DayTyp',\n    description: 'Specifies the commodity delivery roll day type.',\n  },\n  {\n    type: 'XID',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamCommodityXID',\n    id: 41988,\n    abbrName: 'XID',\n    description:\n      'Identifier of this stream commodity for cross referencing elsewhere in the message.',\n  },\n  {\n    type: 'XIDREF',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamCommodityXIDRef',\n    id: 41989,\n    abbrName: 'XIDRef',\n    description: 'Reference to a stream commodity elsewhere in the message.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingStreamCommodityAltIDs',\n    id: 41990,\n    description: 'Number of alternate security identifers.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamCommodityAltID',\n    id: 41991,\n    abbrName: 'AltID',\n    discriminatorId: '41992',\n    description: 'Alternate security identifier value for the commodity.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamCommodityAltIDSource',\n    id: 41992,\n    abbrName: 'AltIDSrc',\n    description:\n      'Identifies the class or source of the alternate commodity security identifier.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingStreamCommodityDataSources',\n    id: 41993,\n    description: 'Number of commodity data sources in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamCommodityDataSourceID',\n    id: 41994,\n    abbrName: 'ID',\n    description: 'Data source identifier.',\n  },\n  {\n    type: 'StreamCommodityDataSourceIDTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamCommodityDataSourceIDType',\n    id: 41995,\n    abbrName: 'Typ',\n    description: 'Specifies the type of data source identifier.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingStreamCommoditySettlDays',\n    id: 41996,\n    description: 'Number of days in the repeating group.',\n  },\n  {\n    type: 'DeliveryScheduleSettlDayCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamCommoditySettlDay',\n    id: 41997,\n    abbrName: 'Day',\n    description: 'Specifies the day or group of days for delivery.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamCommoditySettlTotalHours',\n    id: 41998,\n    abbrName: 'TotHrs',\n    description: 'Sum of the hours specified in UnderlyingStreamCommoditySettlTimeGrp.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingStreamCommoditySettlTimes',\n    id: 41999,\n    description: 'Number of hour ranges in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamCommoditySettlStart',\n    id: 42000,\n    abbrName: 'Start',\n    description:\n      'The start time for commodity settlement where delivery occurs over time. The time format is specified by the settlement time type.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamCommoditySettlEnd',\n    id: 42001,\n    abbrName: 'End',\n    description:\n      'The end time for commodity settlement where delivery occurs over time. The time format is specified by the settlement time type.',\n  },\n  {\n    type: 'DeliveryScheduleSettlTimeTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamCommoditySettlTimeType',\n    id: 41936,\n    abbrName: 'Typ',\n    description: 'Specifies the format of the commodity settlement start and end times.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingStreamCommoditySettlPeriods',\n    id: 42002,\n    description: 'Number of commodity settlement periods in the repeating group.',\n  },\n  {\n    type: 'Country',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamCommoditySettlCountry',\n    id: 42003,\n    abbrName: 'Ctry',\n    description:\n      'Specifies the country where delivery takes place. Uses ISO 3166 2-character country code.',\n  },\n  {\n    type: 'String',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamCommoditySettlTimeZone',\n    id: 42004,\n    abbrName: 'TZ',\n    description:\n      'Commodity delivery timezone specified as \"prevailing\" rather than \"standard\" or \"daylight\".\\n\\nSee http://www.fixtradingcommunity.org/codelists#Prevailing_Timezones for code list of applicable prevailing timezones.',\n  },\n  {\n    type: 'DeliveryScheduleSettlFlowTypeCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamCommoditySettlFlowType',\n    id: 42005,\n    abbrName: 'FlowTyp',\n    description: 'Specifies the commodity delivery flow type.',\n  },\n  {\n    type: 'Qty',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamCommoditySettlPeriodNotional',\n    id: 42006,\n    abbrName: 'Notl',\n    description:\n      'Specifies the delivery quantity associated with this settlement period.',\n  },\n  {\n    type: 'UnitOfMeasureCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamCommoditySettlPeriodNotionalUnitOfMeasure',\n    id: 42007,\n    abbrName: 'NotlUOM',\n    description:\n      'Specifies the unit of measure (UOM) of the delivery quantity associated with this settlement period.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamCommoditySettlPeriodFrequencyPeriod',\n    id: 42008,\n    abbrName: 'FreqPeriod',\n    description: 'Time unit multiplier for the settlement period frequency.',\n  },\n  {\n    type: 'ProtectionTermEventUnitCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamCommoditySettlPeriodFrequencyUnit',\n    id: 42009,\n    abbrName: 'FreqUnit',\n    description: 'Time unit associated with the settlement period frequency.',\n  },\n  {\n    type: 'Price',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamCommoditySettlPeriodPrice',\n    id: 42010,\n    abbrName: 'Px',\n    description: 'The settlement period price.',\n  },\n  {\n    type: 'UnitOfMeasureCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamCommoditySettlPeriodPriceUnitOfMeasure',\n    id: 42011,\n    abbrName: 'PxUOM',\n    description: 'Specifies the settlement period price unit of measure (UOM).',\n  },\n  {\n    type: 'Currency',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamCommoditySettlPeriodPriceCurrency',\n    id: 42012,\n    abbrName: 'PxCcy',\n    description:\n      'The currency of the settlement period price. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'DeliveryScheduleSettlHolidaysProcessingInstructionCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamCommoditySettlHolidaysProcessingInstruction',\n    id: 42013,\n    abbrName: 'Holidays',\n    description:\n      'Indicates whether holidays are included in the settlement periods. Required for electricity contracts.',\n  },\n  {\n    type: 'XID',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamCommoditySettlPeriodXID',\n    id: 42014,\n    abbrName: 'XID',\n    description:\n      'Identifier of this settlement period for cross referencing elsewhere in the message.',\n  },\n  {\n    type: 'XIDREF',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamCommoditySettlPeriodXIDRef',\n    id: 42015,\n    abbrName: 'XIDRef',\n    description:\n      'Cross reference to another settlement period for duplicating its properties.',\n  },\n  {\n    type: 'XID',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamXID',\n    id: 42016,\n    abbrName: 'XID',\n    description:\n      'Identifier of this UnderlyingStream for cross referencing elsewhere in the message.',\n  },\n  {\n    type: 'XIDREF',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamNotionalXIDRef',\n    id: 42018,\n    abbrName: 'NotlXIDRef',\n    description:\n      'Cross reference to another UnderlyingStream notional for duplicating its properties.',\n  },\n  {\n    type: 'int',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamNotionalFrequencyPeriod',\n    id: 42019,\n    abbrName: 'NotlPeriod',\n    description: \"Time unit multiplier for the swap stream's notional frequency.\",\n  },\n  {\n    type: 'TimeUnitCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamNotionalFrequencyUnit',\n    id: 42020,\n    abbrName: 'NotlUnit',\n    description: \"Time unit associated with the swap stream's notional frequency.\",\n  },\n  {\n    type: 'StreamNotionalCommodityFrequencyCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamNotionalCommodityFrequency',\n    id: 42021,\n    abbrName: 'NotlFreq',\n    description: \"The commodity's notional or quantity delivery frequency.\",\n  },\n  {\n    type: 'UnitOfMeasureCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamNotionalUnitOfMeasure',\n    id: 42022,\n    abbrName: 'NotlUOM',\n    description: 'Specifies the delivery quantity unit of measure (UOM).',\n  },\n  {\n    type: 'Qty',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamTotalNotional',\n    id: 42023,\n    abbrName: 'TotNotl',\n    description:\n      'Specifies the total notional or delivery quantity over the term of the contract.',\n  },\n  {\n    type: 'UnitOfMeasureCodeSet',\n    addedEP: '169',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamTotalNotionalUnitOfMeasure',\n    id: 42024,\n    abbrName: 'TotNotlUOM',\n    description:\n      'Specifies the unit of measure (UOM) for the total notional or delivery quantity over the term of the contract.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '170',\n    added: 'FIX.5.0SP2',\n    name: 'AllocGrossTradeAmt',\n    id: 2300,\n    abbrName: 'GrossTrdAmt',\n    description:\n      'Total amount traded for this account (i.e. quantity * price) expressed in units of currency.',\n  },\n  {\n    type: 'RiskLimitReportStatusCodeSet',\n    addedEP: '171',\n    added: 'FIX.5.0SP2',\n    name: 'RiskLimitReportStatus',\n    id: 2316,\n    abbrName: 'RptStat',\n    description: 'Status of risk limit report.',\n  },\n  {\n    type: 'RiskLimitReportRejectReasonCodeSet',\n    addedEP: '171',\n    added: 'FIX.5.0SP2',\n    name: 'RiskLimitReportRejectReason',\n    id: 2317,\n    abbrName: 'RejRsn',\n    description:\n      'The reason for rejecting the PartyRiskLimitsReport(35=CM) or PartyRiskLimitsUpdateReport(35=CR).',\n  },\n  {\n    type: 'String',\n    addedEP: '171',\n    added: 'FIX.5.0SP2',\n    name: 'RiskLimitCheckRequestID',\n    id: 2318,\n    abbrName: 'ChkReqID',\n    description:\n      'The unique identifier of the PartyRiskLimitCheckRequest(35=DF) message.',\n  },\n  {\n    type: 'String',\n    addedEP: '171',\n    added: 'FIX.5.0SP2',\n    name: 'RiskLimitCheckID',\n    id: 2319,\n    abbrName: 'LmtChkID',\n    description:\n      'The unique and static identifier, at the business entity level, of a risk limit check request.',\n  },\n  {\n    type: 'RiskLimitCheckTransTypeCodeSet',\n    addedEP: '171',\n    added: 'FIX.5.0SP2',\n    name: 'RiskLimitCheckTransType',\n    id: 2320,\n    abbrName: 'TransTyp',\n    description: 'Specifies the transaction type of the risk limit check request.',\n  },\n  {\n    type: 'RiskLimitCheckTypeCodeSet',\n    addedEP: '171',\n    added: 'FIX.5.0SP2',\n    name: 'RiskLimitCheckType',\n    id: 2321,\n    abbrName: 'ChkTyp',\n    description: 'Specifies the type of limit check message.',\n  },\n  {\n    type: 'int',\n    addedEP: '171',\n    added: 'FIX.5.0SP2',\n    name: 'RiskLimitCheckRequestRefID',\n    id: 2322,\n    abbrName: 'ReqRefID',\n    description:\n      'Specifies the message reference identifier of the risk limit check request message.',\n  },\n  {\n    type: 'RiskLimitCheckRequestTypeCodeSet',\n    addedEP: '171',\n    added: 'FIX.5.0SP2',\n    name: 'RiskLimitCheckRequestType',\n    id: 2323,\n    abbrName: 'ChkReqTyp',\n    description: 'Specifies the type of limit amount check being requested.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '171',\n    added: 'FIX.5.0SP2',\n    name: 'RiskLimitCheckAmount',\n    id: 2324,\n    abbrName: 'LmtChkAmt',\n    description: 'Specifies the amount being requested for approval.',\n  },\n  {\n    type: 'RiskLimitCheckRequestStatusCodeSet',\n    addedEP: '171',\n    added: 'FIX.5.0SP2',\n    name: 'RiskLimitCheckRequestStatus',\n    id: 2325,\n    abbrName: 'ReqStat',\n    description: 'Indicates the status of the risk limit check request.',\n  },\n  {\n    type: 'RiskLimitCheckRequestResultCodeSet',\n    addedEP: '171',\n    added: 'FIX.5.0SP2',\n    name: 'RiskLimitCheckRequestResult',\n    id: 2326,\n    abbrName: 'ReqRslt',\n    description: 'Result of the credit limit check request.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '171',\n    added: 'FIX.5.0SP2',\n    name: 'RiskLimitApprovedAmount',\n    id: 2327,\n    abbrName: 'LmtAprvdAmt',\n    description: 'The credit/risk limit amount approved.',\n  },\n  {\n    type: 'String',\n    addedEP: '171',\n    added: 'FIX.5.0SP2',\n    name: 'PartyActionRequestID',\n    id: 2328,\n    abbrName: 'ActnReqID',\n    description: 'The unique identifier of the PartyActionRequest(35=DH) message.',\n  },\n  {\n    type: 'PartyActionTypeCodeSet',\n    addedEP: '171',\n    added: 'FIX.5.0SP2',\n    name: 'PartyActionType',\n    id: 2329,\n    abbrName: 'ActnTyp',\n    description: 'Specifies the type of action to take or was taken for a given party.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '171',\n    added: 'FIX.5.0SP2',\n    name: 'ApplTestMessageIndicator',\n    id: 2330,\n    abbrName: 'ApplTstMsgInd',\n    description:\n      'Used to indicate whether the message being sent is to test the receiving application\\'s availability to process the message. When set to \"Y\" the message is a test message. If not specified, the message is by default not a test message.',\n  },\n  {\n    type: 'String',\n    addedEP: '171',\n    added: 'FIX.5.0SP2',\n    name: 'PartyActionReportID',\n    id: 2331,\n    abbrName: 'ActnRptID',\n    description:\n      'The unique identifier of the PartyActionReport(35=DI) message as assigned by the message sender.',\n  },\n  {\n    type: 'PartyActionResponseCodeSet',\n    addedEP: '171',\n    added: 'FIX.5.0SP2',\n    name: 'PartyActionResponse',\n    id: 2332,\n    abbrName: 'ActnRsp',\n    description:\n      'Specifies the action taken as a result of the PartyActionType(2239) of the PartyActionRequest(35=DH) message.',\n  },\n  {\n    type: 'PartyActionRejectReasonCodeSet',\n    addedEP: '171',\n    added: 'FIX.5.0SP2',\n    name: 'PartyActionRejectReason',\n    id: 2333,\n    abbrName: 'RejRsn',\n    description: 'Specifies the reason the PartyActionRequest(35=DH) was rejected.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'String',\n    addedEP: '171',\n    updatedEP: '180',\n    added: 'FIX.5.0SP2',\n    name: 'RefRiskLimitCheckID',\n    id: 2334,\n    abbrName: 'RefRiskLmtChkID',\n    description:\n      'The reference identifier of the PartyRiskLimitCheckRequest(35=DF) message, or a similar out of band message, that contained the approval for the risk/credit limit check request.',\n  },\n  {\n    type: 'RefRiskLimitCheckIDTypeCodeSet',\n    addedEP: '171',\n    added: 'FIX.5.0SP2',\n    name: 'RefRiskLimitCheckIDType',\n    id: 2335,\n    abbrName: 'RefRiskLmtChkIDTyp',\n    description:\n      'Specifies which type of identifier is specified in RefRiskLimitCheckID(2334) field.',\n  },\n  {\n    type: 'int',\n    addedEP: '171',\n    added: 'FIX.5.0SP2',\n    name: 'RiskLimitVelocityPeriod',\n    id: 2336,\n    abbrName: 'Velcty',\n    description:\n      'The time interval for which the clip size limit applies. The velocity time unit is expressed in RiskLimitVelocityUnit(2337).',\n  },\n  {\n    type: 'TimeUnitCodeSet',\n    addedEP: '171',\n    added: 'FIX.5.0SP2',\n    name: 'RiskLimitVelocityUnit',\n    id: 2337,\n    abbrName: 'VelctyUnit',\n    description: 'Unit of time in which RiskLimitVelocityPeriod(2336) is expressed.',\n  },\n  {\n    type: 'PartyDetailRoleQualifierCodeSet',\n    addedEP: '171',\n    added: 'FIX.5.0SP2',\n    name: 'RequestingPartyRoleQualifier',\n    id: 2338,\n    abbrName: 'Qual',\n    description: 'Qualifies the value of RequestingPartyRole(1660).',\n  },\n  {\n    type: 'RiskLimitCheckModelTypeCodeSet',\n    addedEP: '171',\n    added: 'FIX.5.0SP2',\n    name: 'RiskLimitCheckModelType',\n    id: 2339,\n    abbrName: 'ChkModelTyp',\n    description:\n      'Specifies the type of credit limit check model workflow to apply for the specified party',\n  },\n  {\n    type: 'RiskLimitCheckStatusCodeSet',\n    addedEP: '172',\n    added: 'FIX.5.0SP2',\n    name: 'RiskLimitCheckStatus',\n    id: 2343,\n    abbrName: 'RiskLmtChkStat',\n    description: 'Indicates the status of the risk limit check performed on a trade.',\n  },\n  {\n    type: 'RiskLimitCheckStatusCodeSet',\n    addedEP: '172',\n    added: 'FIX.5.0SP2',\n    name: 'SideRiskLimitCheckStatus',\n    id: 2344,\n    abbrName: 'RiskLmtChkStat',\n    description:\n      'Indicates the status of the risk limit check performed on the side of a trade.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '173',\n    added: 'FIX.5.0SP2',\n    name: 'NoEntitlementTypes',\n    id: 2345,\n    description: 'Number of entitlement types in the repeating group.',\n  },\n  {\n    type: 'Price',\n    addedEP: '175',\n    added: 'FIX.5.0SP2',\n    name: 'LegMidPx',\n    id: 2346,\n    abbrName: 'MidPx',\n    description:\n      'Leg Mid price/rate.\\n\\nFor OTC swaps, this is the mid-market mark (for example, as defined by CFTC).\\n\\nFor uncleared OTC swaps, LegMidPx(2346) and the MidPx(631) fields are mutually exclusive.',\n  },\n  {\n    type: 'RegulatoryTransactionTypeCodeSet',\n    addedEP: '176',\n    added: 'FIX.5.0SP2',\n    name: 'RegulatoryTransactionType',\n    id: 2347,\n    abbrName: 'RegTxnTyp',\n    description:\n      'Specifies the regulatory mandate or rule that the transaction complies with.',\n  },\n  {\n    type: 'String',\n    addedEP: '178',\n    added: 'FIX.5.0SP2',\n    name: 'BatchID',\n    id: 50000,\n    abbrName: 'ID',\n    description: 'Unique Identifier for a batch of messages.',\n  },\n  {\n    type: 'int',\n    addedEP: '178',\n    added: 'FIX.5.0SP2',\n    name: 'BatchTotalMessages',\n    id: 50001,\n    abbrName: 'TotMsg',\n    description: 'Total # of messages contained within batch.',\n  },\n  {\n    type: 'BatchProcessModeCodeSet',\n    addedEP: '178',\n    added: 'FIX.5.0SP2',\n    name: 'BatchProcessMode',\n    id: 50002,\n    abbrName: 'ProcMode',\n    description: 'Indicates the processing mode for a batch of messages.',\n  },\n  {\n    type: 'String',\n    addedEP: '179',\n    added: 'FIX.5.0SP2',\n    name: 'CollateralPortfolioID',\n    id: 2350,\n    abbrName: 'PrtflioID',\n    description:\n      'Identifier of the collateral portfolio when reporting on a portfolio basis.',\n  },\n  {\n    type: 'DeliveryStreamDeliveryPointSourceCodeSet',\n    addedEP: '179',\n    added: 'FIX.5.0SP2',\n    name: 'DeliveryStreamDeliveryPointSource',\n    id: 42192,\n    abbrName: 'DlvryPntSrc',\n    description: 'Identifies the class or source of DeliveryStreamDeliveryPoint(41062).',\n  },\n  {\n    type: 'String',\n    addedEP: '179',\n    added: 'FIX.5.0SP2',\n    name: 'DeliveryStreamDeliveryPointDesc',\n    id: 42193,\n    abbrName: 'DlvryPntDesc',\n    description:\n      'Description of the delivery point identified in DeliveryStreamDeliveryPoint(41062).',\n  },\n  {\n    type: 'int',\n    addedEP: '179',\n    added: 'FIX.5.0SP2',\n    name: 'TradingUnitPeriodMultiplier',\n    id: 2353,\n    abbrName: 'TrdgUnitPeriodMult',\n    description:\n      'Indicates the number of contract periods associated with the minimum trading unit for a given contract duration resulting in the number of total traded contracts.\\n\\nAs an example, 456 is the number of off-peak periods for a product with a minimum trading unit of 5 MWh resulting in 2280 total traded contracts.',\n  },\n  {\n    type: 'int',\n    addedEP: '179',\n    added: 'FIX.5.0SP2',\n    name: 'LegTradingUnitPeriodMultiplier',\n    id: 2354,\n    abbrName: 'TrdgUnitPeriodMult',\n    description:\n      'Indicates the number of contract periods associated with the minimum trading unit for a given contract duration resulting in the number of total traded contracts.\\n\\nAs an example, 456 is the number of off-peak periods for a product with a minimum trading unit of 5 MWh resulting in 2280 total traded contracts.',\n  },\n  {\n    type: 'String',\n    addedEP: '179',\n    added: 'FIX.5.0SP2',\n    name: 'LegDeliveryStreamDeliveryPointDesc',\n    id: 42195,\n    abbrName: 'DlvryPntDesc',\n    description:\n      'Description of the delivery point identified in LegDeliveryStreamDeliveryPoint(41433).',\n  },\n  {\n    type: 'DeliveryStreamDeliveryPointSourceCodeSet',\n    addedEP: '179',\n    added: 'FIX.5.0SP2',\n    name: 'LegDeliveryStreamDeliveryPointSource',\n    id: 42194,\n    abbrName: 'DlvryPntSrc',\n    description:\n      'Identifies the class or source of LegDeliveryStreamDeliveryPoint(41433).',\n  },\n  {\n    type: 'Qty',\n    addedEP: '179',\n    added: 'FIX.5.0SP2',\n    name: 'LegTotalTradeQty',\n    id: 2357,\n    abbrName: 'TotTrdQty',\n    description:\n      'Expresses the total quantity traded over the life of the contract when LegLastQty(1418) is to be repeated periodically over the term of the contract. The value is the product of LegLastQty(1418) and LegTradingUnitPeriodMultiplier(2353).',\n  },\n  {\n    type: 'Qty',\n    addedEP: '179',\n    added: 'FIX.5.0SP2',\n    name: 'LegLastMultipliedQty',\n    id: 2358,\n    abbrName: 'LastMultdQty',\n    description:\n      'Expresses the quantity bought/sold when LastQty is expressed in contracts. Used in addition to LegLastQty(1418), it is the product of LegLastQty(1418) and LegContractMultiplier(614).',\n  },\n  {\n    type: 'Amt',\n    addedEP: '179',\n    added: 'FIX.5.0SP2',\n    name: 'LegTotalGrossTradeAmt',\n    id: 2359,\n    abbrName: 'TotGrossTrdAmt',\n    description:\n      'Expresses the full total monetary value of the traded contract. The value is the product of LegLastPx(637) and LegTotalTradeQty(2357) or LegTotalTradeMultipliedQty(2360), if priced in units instead of contracts.',\n  },\n  {\n    type: 'Qty',\n    addedEP: '179',\n    added: 'FIX.5.0SP2',\n    name: 'LegTotalTradeMultipliedQty',\n    id: 2360,\n    abbrName: 'TotTrdMultdQty',\n    description:\n      'Expresses the total trade quantity in units where LegContractMultiplier(614) is not 1. The value is the product of LegTotalTradeQty(2357) and LegContractMultiplier(614).',\n  },\n  {\n    type: 'String',\n    addedEP: '179',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDeliveryStreamDeliveryPointDesc',\n    id: 42197,\n    abbrName: 'DlvryPntDesc',\n    description:\n      'Description of the delivery point identified in UnderlyingDeliveryStreamDeliveryPoint(41781).',\n  },\n  {\n    type: 'DeliveryStreamDeliveryPointSourceCodeSet',\n    addedEP: '179',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDeliveryStreamDeliveryPointSource',\n    id: 42196,\n    abbrName: 'DlvryPntSrc',\n    description:\n      'Identifies the class or source of UnderlyingDeliveryStreamDeliveryPoint(41781).',\n  },\n  {\n    type: 'int',\n    addedEP: '179',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingTradingUnitPeriodMultiplier',\n    id: 2363,\n    abbrName: 'TrdgUnitPeriodMult',\n    description:\n      'Indicates the number of contract periods associated with the minimum trading unit for a given contract duration resulting in the number of total traded contracts.\\n\\nAs an example, 456 is the number of off-peak periods for a product with a minimum trading unit of 5 MWh resulting in 2280 total traded contracts.',\n  },\n  {\n    type: 'PosMaintActionCodeSet',\n    addedEP: '179',\n    added: 'FIX.5.0SP2',\n    name: 'PosReportAction',\n    id: 2364,\n    abbrName: 'Actn',\n    description: 'Indicates action that triggered the Position Report.',\n  },\n  {\n    type: 'PriceOffset',\n    addedEP: '179',\n    added: 'FIX.5.0SP2',\n    name: 'SettlForwardPoints',\n    id: 2365,\n    abbrName: 'SettlFwdPnts',\n    description:\n      'FX forward points added to SettlPrice(730). The value is expressed in decimal form and may be a negative.\\n\\nAs an example, 61.99 points is expressed as 0.006199.',\n  },\n  {\n    type: 'SettlCurrFxRateCalcCodeSet',\n    addedEP: '179',\n    added: 'FIX.5.0SP2',\n    name: 'SettlPriceFxRateCalc',\n    id: 2366,\n    abbrName: 'SettlPxFxRtCalc',\n    description:\n      'Specifies whether LastPx(31) [TradeCaptureReport] or SettlPrice(730) [PositionReport] should be multiplied or divided.',\n  },\n  {\n    type: 'Qty',\n    addedEP: '179',\n    added: 'FIX.5.0SP2',\n    name: 'TotalTradeQty',\n    id: 2367,\n    abbrName: 'TotTrdQty',\n    description:\n      'Expresses the total quantity traded over the life of the contract when LastQty(32) is repeated periodically over the term of the contract. The value is the product of LastQty(32) and TradingUnitPeriodMultiplier(2353).',\n  },\n  {\n    type: 'Qty',\n    addedEP: '179',\n    added: 'FIX.5.0SP2',\n    name: 'LastMultipliedQty',\n    id: 2368,\n    abbrName: 'LastMultdQty',\n    description:\n      'Expresses the quantity bought or sold when LastQty(32) is expressed in number of contracts. Used in addition to LastQty(32). It is the product of LastQty(32) and ContractMultiplier(231).',\n  },\n  {\n    type: 'Amt',\n    addedEP: '179',\n    added: 'FIX.5.0SP2',\n    name: 'TotalGrossTradeAmt',\n    id: 2369,\n    abbrName: 'TotGrossTrdAmt',\n    description:\n      'Expresses the full total monetary value of the traded contract. The value is the product of LastPx(31) and TotalTradeQty(2367) or TotalTradeMultipliedQty(2370), if priced in units instead of contracts.',\n  },\n  {\n    type: 'Qty',\n    addedEP: '179',\n    added: 'FIX.5.0SP2',\n    name: 'TotalTradeMultipliedQty',\n    id: 2370,\n    abbrName: 'TotTrdMultdQty',\n    description:\n      'Expresses the total trade quantity in units where ContractMultiplier(231) is not 1. The value is the product of TotalTradeQty(2367) and ContractMultiplier(231).',\n  },\n  {\n    type: 'data',\n    addedEP: '179',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedTradeContinuationText',\n    id: 2371,\n    abbrName: 'EncTrdContntnText',\n    lengthId: '2372',\n    description:\n      'Encoded (non-ASCII characters) representation of the TradeContinuationText(2374) field in the encoded format specified via the MessageEncoding(347) field. If used, the ASCII (English) representation should also be specified in the TradeContinuationText(2374) field.',\n  },\n  {\n    type: 'Length',\n    addedEP: '179',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedTradeContinuationTextLen',\n    id: 2372,\n    abbrName: 'EncTrdContntnTextLen',\n    description:\n      'Byte length of encoded (non-ASCII characters) EncodedTradeContinuationText(2371) field.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'Boolean',\n    addedEP: '179',\n    updatedEP: '193',\n    added: 'FIX.5.0SP2',\n    name: 'IntraFirmTradeIndicator',\n    id: 2373,\n    abbrName: 'IntraFirmTrdInd',\n    description:\n      'Indicates whether the trade or position was entered into as an intra-group transaction, i.e. between two units of the same parent entity having majority ownership interest in both counterparties.\\n\\nIn the context of EMIR this refers to Regulation (EU) 648/2012 Article 3 \"intragroup transactions\" section 1 which states: \"In relation to a non-financial counterparty, an intragroup transaction is an OTC derivative contract entered into with another counterparty which is part of the same group provided that both counterparties are included in the same consolidation on a full basis and they are subject to an appropriate centralised risk evaluation, measurement and control procedures and that counterparty is established in the Union or, if it is established in a third country, the Commission has adopted an implementing act under Article 13(2) in respect of that third country. Canada\\'s similar requirement is under Appendix A to OSC Rule 91-507.\"',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'String',\n    addedEP: '179',\n    updatedEP: '258',\n    added: 'FIX.5.0SP2',\n    name: 'TradeContinuationText',\n    id: 2374,\n    abbrName: 'TrdContntnTxt',\n    description:\n      'Free form text to specify additional trade continuation information or data.',\n  },\n  {\n    type: 'TaxonomyTypeCodeSet',\n    addedEP: '179',\n    added: 'FIX.5.0SP2',\n    name: 'TaxonomyType',\n    id: 2375,\n    abbrName: 'TxnmyTyp',\n    description: 'The type of identification taxonomy used to identify the security.',\n  },\n  {\n    type: 'PartyDetailRoleQualifierCodeSet',\n    addedEP: '179',\n    added: 'FIX.5.0SP2',\n    name: 'PartyRoleQualifier',\n    id: 2376,\n    abbrName: 'Qual',\n    description: 'Used to further qualify the value of PartyRole(452).',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'PartyDetailRoleQualifierCodeSet',\n    addedEP: '179',\n    updatedEP: '271',\n    added: 'FIX.5.0SP2',\n    name: 'DerivativeInstrumentPartyRoleQualifier',\n    id: 2377,\n    abbrName: 'Qual',\n    description:\n      'Used to further qualify the value of DerivativeInstrumentPartyRole(1295).',\n  },\n  {\n    type: 'PartyDetailRoleQualifierCodeSet',\n    addedEP: '179',\n    added: 'FIX.5.0SP2',\n    name: 'InstrumentPartyRoleQualifier',\n    id: 2378,\n    abbrName: 'Qual',\n    description: 'Used to further qualify the value of InstrumentPartyRole(1051).',\n  },\n  {\n    type: 'PartyDetailRoleQualifierCodeSet',\n    addedEP: '179',\n    added: 'FIX.5.0SP2',\n    name: 'LegInstrumentPartyRoleQualifier',\n    id: 2379,\n    abbrName: 'Qual',\n    description: 'Used to further qualify the value of LegInstrumentPartyRole(2257).',\n  },\n  {\n    type: 'PartyDetailRoleQualifierCodeSet',\n    addedEP: '179',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionPartyRoleQualifier',\n    id: 2380,\n    abbrName: 'Qual',\n    description: 'Used to further qualify the value of LegProvisionPartyRole(40536).',\n  },\n  {\n    type: 'PartyDetailRoleQualifierCodeSet',\n    addedEP: '179',\n    added: 'FIX.5.0SP2',\n    name: 'Nested2PartyRoleQualifier',\n    id: 2381,\n    abbrName: 'Qual',\n    description: 'Used to further qualify the value of Nested2PartyRole(759).',\n  },\n  {\n    type: 'PartyDetailRoleQualifierCodeSet',\n    addedEP: '179',\n    added: 'FIX.5.0SP2',\n    name: 'Nested3PartyRoleQualifier',\n    id: 2382,\n    abbrName: 'Qual',\n    description: 'Used to further qualify the value of Nested3PartyRole(951).',\n  },\n  {\n    type: 'PartyDetailRoleQualifierCodeSet',\n    addedEP: '179',\n    added: 'FIX.5.0SP2',\n    name: 'Nested4PartyRoleQualifier',\n    id: 2383,\n    abbrName: 'Qual',\n    description: 'Used to further qualify the value of Nested4PartyRole(1417).',\n  },\n  {\n    type: 'PartyDetailRoleQualifierCodeSet',\n    addedEP: '179',\n    added: 'FIX.5.0SP2',\n    name: 'NestedPartyRoleQualifier',\n    id: 2384,\n    abbrName: 'Qual',\n    description: 'Used to further qualify the value of NestedPartyRole(538).',\n  },\n  {\n    type: 'PartyDetailRoleQualifierCodeSet',\n    addedEP: '179',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionPartyRoleQualifier',\n    id: 2385,\n    abbrName: 'Qual',\n    description: 'Used to further qualify the value of ProvisionPartyRole(40177).',\n  },\n  {\n    type: 'PartyDetailRoleQualifierCodeSet',\n    addedEP: '179',\n    added: 'FIX.5.0SP2',\n    name: 'RequestedPartyRoleQualifier',\n    id: 2386,\n    abbrName: 'Qual',\n    description: 'Used to further qualify the value of RequestedPartyRole(1509).',\n  },\n  {\n    type: 'PartyDetailRoleQualifierCodeSet',\n    addedEP: '179',\n    added: 'FIX.5.0SP2',\n    name: 'RootPartyRoleQualifier',\n    id: 2388,\n    abbrName: 'Qual',\n    description: 'Used to further qualify the value of RootPartyRole(1119).',\n  },\n  {\n    type: 'PartyDetailRoleQualifierCodeSet',\n    addedEP: '179',\n    added: 'FIX.5.0SP2',\n    name: 'SettlPartyRoleQualifier',\n    id: 2389,\n    abbrName: 'Qual',\n    description: 'Used to further qualify the value of SettlPartyRole(784).',\n  },\n  {\n    type: 'PartyDetailRoleQualifierCodeSet',\n    addedEP: '179',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingInstrumentPartyRoleQualifier',\n    id: 2391,\n    abbrName: 'Qual',\n    description:\n      'Used to further qualify the value of UnderlyingInstrumentPartyRole(1061).',\n  },\n  {\n    type: 'String',\n    addedEP: '180',\n    added: 'FIX.5.0SP2',\n    name: 'AllocRefRiskLimitCheckID',\n    id: 2392,\n    abbrName: 'RefRiskLmtChkID',\n    description:\n      'The reference identifier to the PartyRiskLimitCheckRequest(35=DF), or a similar out of band message, message that contained the approval or rejection for risk/credit limit check for this allocation.',\n  },\n  {\n    type: 'RefRiskLimitCheckIDTypeCodeSet',\n    addedEP: '180',\n    added: 'FIX.5.0SP2',\n    name: 'AllocRefRiskLimitCheckIDType',\n    id: 2393,\n    abbrName: 'RefRiskLmtChkIDTyp',\n    description:\n      'Specifies which type of identifier is specified in AllocRefRiskLimitCheckID(2392) field.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '180',\n    added: 'FIX.5.0SP2',\n    name: 'LimitUtilizationAmt',\n    id: 2394,\n    abbrName: 'LmtUtilztnAmt',\n    description:\n      'The total amount of the limit that has been drawn down against the counterparty. This includes the amount for prior trades. It may or may not include the amount for the given trade, specified in LastLimitAmt(1632), depending upon whether the given trade is considered pending.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '180',\n    added: 'FIX.5.0SP2',\n    name: 'LimitAmt',\n    id: 2395,\n    abbrName: 'LmtAmt',\n    description:\n      'The limit for the counterparty. This represents the total limit amount, independent of any amount already utilized.',\n  },\n  {\n    type: 'PartyRoleCodeSet',\n    addedEP: '180',\n    added: 'FIX.5.0SP2',\n    name: 'LimitRole',\n    id: 2396,\n    abbrName: 'LmtR',\n    description:\n      'Indicates the scope of the limit by role.\\n\\nUsed to indicate whether this is a customer account limit, a clearing firm limit, etc.',\n  },\n  {\n    type: 'RegulatoryTradeIDScopeCodeSet',\n    addedEP: '181',\n    added: 'FIX.5.0SP2',\n    name: 'RegulatoryTradeIDScope',\n    id: 2397,\n    abbrName: 'Scope',\n    description:\n      'Specifies the scope to which the RegulatoryTradeID(1903) applies. Used when a trade must be assigned more than one identifier, e.g. one for the clearing member and another for the client on a cleared trade as with the principal model in Europe.',\n  },\n  {\n    type: 'RegulatoryTradeIDScopeCodeSet',\n    addedEP: '181',\n    added: 'FIX.5.0SP2',\n    name: 'SideRegulatoryTradeIDScope',\n    id: 2398,\n    abbrName: 'Scope',\n    description:\n      'Specifies the scope to which the SideRegulatoryTradeID(1972) applies. Used when a trade must be assigned more than one identifier, e.g. one for the clearing member and another for the client on a cleared trade as with the principal model in Europe.',\n  },\n  {\n    type: 'RegulatoryTradeIDScopeCodeSet',\n    addedEP: '181',\n    added: 'FIX.5.0SP2',\n    name: 'AllocRegulatoryTradeIDScope',\n    id: 2399,\n    abbrName: 'Scope',\n    description:\n      'Specifies the scope to which the AllocRegulatoryTradeID(1909) applies. Used when a trade must be assigned more than one identifier, e.g. one for the clearing member and another for the client on a cleared trade as with the principal model in Europe.',\n  },\n  {\n    type: 'String',\n    addedEP: '181',\n    added: 'FIX.5.0SP2',\n    name: 'AllocRegulatoryLegRefID',\n    id: 2406,\n    abbrName: 'LegRefID',\n    description:\n      \"Identifies the leg of the trade the entry applies to by referencing the leg's LegID(1788).\",\n  },\n  {\n    type: 'String',\n    addedEP: '181',\n    added: 'FIX.5.0SP2',\n    name: 'RegulatoryLegRefID',\n    id: 2411,\n    abbrName: 'LegRefID',\n    description:\n      \"Identifies the leg of the trade the entry applies to by referencing the leg's LegID(1788).\",\n  },\n  {\n    type: 'String',\n    addedEP: '181',\n    added: 'FIX.5.0SP2',\n    name: 'SideRegulatoryLegRefID',\n    id: 2416,\n    abbrName: 'LegRefID',\n    description:\n      \"Identifies the leg of the trade the entry applies to by referencing the leg's LegID(1788).\",\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'LocalMktDate',\n    addedEP: '182',\n    updatedEP: '195',\n    added: 'FIX.5.0SP2',\n    name: 'EffectiveBusinessDate',\n    id: 2400,\n    abbrName: 'EfctvBizDt',\n    description:\n      'Specifies an explicit business date for associated reference data or transaction. Used when an implicit date is not sufficiently specific.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '182',\n    added: 'FIX.5.0SP2',\n    name: 'ListManualOrderIndicator',\n    id: 2401,\n    abbrName: 'ListManOrdInd',\n    description:\n      'Indicates if the list of orders was initially received manually (as opposed to electronically) or if it was entered manually (as opposed to entered by automated trading software).',\n  },\n  {\n    type: 'EntitlementSubTypeCodeSet',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '183',\n    added: 'FIX.5.0SP2',\n    name: 'EntitlementSubType',\n    id: 2402,\n    abbrName: 'SubTyp',\n    description: 'Subtype of an entitlement specified in EntitlementType(1775).',\n  },\n  {\n    type: 'QuoteModelTypeCodeSet',\n    addedEP: '184',\n    added: 'FIX.5.0SP2',\n    name: 'QuoteModelType',\n    id: 2403,\n    abbrName: 'QModelTyp',\n    description: 'Quote model type',\n  },\n  {\n    type: 'String',\n    addedEP: '185',\n    added: 'FIX.5.0SP2',\n    name: 'ComplianceText',\n    id: 2404,\n    abbrName: 'ComplianceTxt',\n    description:\n      'Free text for compliance information required for regulatory reporting.',\n  },\n  {\n    type: 'Length',\n    addedEP: '185',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedComplianceTextLen',\n    id: 2351,\n    abbrName: 'EncComplianceTxtLen',\n    description:\n      'Byte length of encoded (non-ASCII characters) EncodedComplianceText(2352) field.',\n  },\n  {\n    type: 'data',\n    addedEP: '185',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedComplianceText',\n    id: 2352,\n    abbrName: 'EncComplianceTxt',\n    lengthId: '2351',\n    description:\n      'Encoded (non-ASCII characters) representation of the ComplianceText(2404) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the ComplianceText(2404) field.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'ExecMethodCodeSet',\n    addedEP: '186',\n    updatedEP: '201',\n    added: 'FIX.5.0SP2',\n    name: 'ExecMethod',\n    id: 2405,\n    abbrName: 'ExecMeth',\n    description:\n      'Specifies how the transaction was executed, e.g. via an automated execution platform or other method.',\n  },\n  {\n    type: 'int',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'PricePrecision',\n    id: 2349,\n    abbrName: 'PxPrcsn',\n    description:\n      'Specifies the price decimal precision of the instrument.\\n\\nFor FX, this specifies the pip size in which forward points are calculated. Point (pip) size varies by currency pair. Major currencies are all traded in points of 0.0001, with the exception of JPY which has a point size of 0.01.',\n  },\n  {\n    type: 'TradeContingencyCodeSet',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'TradeContingency',\n    id: 2387,\n    abbrName: 'Cntgncy',\n    description:\n      'Indicates the contingency attribute for a trade in an asset class that may be contingent on the clearing of a corresponding paired trade (for example Exchange for Physical (EFP), Exchange for Swap (EFS), Exchange for Related (EFR) or Exchange for Option (EFO), collectively called EFRPs). Once the paired trade clears or fails to clear, the related trade (the trade which carries this attribute) ceases to exist.',\n  },\n  {\n    type: 'Price',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'ComplexEventSpotRate',\n    id: 2407,\n    abbrName: 'SpotRt',\n    description: 'FX spot rate.',\n  },\n  {\n    type: 'PriceOffset',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'ComplexEventForwardPoints',\n    id: 2408,\n    abbrName: 'FwdPnts',\n    description: 'FX forward points added to spot rate. May be a negative value.',\n  },\n  {\n    type: 'Price',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexEventSpotRate',\n    id: 2409,\n    abbrName: 'SpotRt',\n    description: 'FX spot rate.',\n  },\n  {\n    type: 'PriceOffset',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexEventForwardPoints',\n    id: 2410,\n    abbrName: 'FwdPnts',\n    description: 'FX forward points added to spot rate. May be a negative value.',\n  },\n  {\n    type: 'String',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'RateSourceReferemcePageHeading',\n    id: 2412,\n    abbrName: 'RefHdng',\n    description: 'Identifies the page heading from the rate source.',\n  },\n  {\n    type: 'String',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'RelatedToSecurityID',\n    id: 2413,\n    abbrName: 'ReltdID',\n    discriminatorId: '2414',\n    description:\n      'The security identifier of the instrument, instrument leg or underlying instrument with which the related instrument has correlation.',\n  },\n  {\n    type: 'SecurityIDSourceCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'RelatedToSecurityIDSource',\n    id: 2414,\n    abbrName: 'ReltdIDSrc',\n    description: 'Identifies class or source of the RelatedToSecurityID(2413) value.',\n  },\n  {\n    type: 'XIDREF',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'RelatedToStreamXIDRef',\n    id: 2415,\n    abbrName: 'ReltdStrmXIDRef',\n    description:\n      'StreamXID(41303), LegStreamXID(41700) or UnderlyingStreamXID(42016) of the stream with which the related instrument has correlation.',\n  },\n  {\n    type: 'String',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'FirmTradeEventID',\n    id: 2418,\n    abbrName: 'FirmTrdEvntID',\n    description:\n      'An identifier created by the trading party for the life cycle event associated with this report.',\n  },\n  {\n    type: 'Price',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexEventSpotRate',\n    id: 2419,\n    abbrName: 'SpotRt',\n    description: 'FX spot rate.',\n  },\n  {\n    type: 'PriceOffset',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexEventForwardPoints',\n    id: 2420,\n    abbrName: 'FwdPnts',\n    description: 'FX forward points added to spot rate. May be a negative value.',\n  },\n  {\n    type: 'String',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'LegMarketDisruptionValue',\n    id: 40223,\n    abbrName: 'Val',\n    description: 'Applicable value for LegMarketDisruptionEvent(41468).',\n  },\n  {\n    type: 'String',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'LegMarketDisruptionFallbackValue',\n    id: 40990,\n    abbrName: 'Val',\n    description: 'Applicable value for LegMarketDisruptionFallbackType(41470).',\n  },\n  {\n    type: 'String',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'MarketDisruptionValue',\n    id: 40991,\n    abbrName: 'Val',\n    description: 'Applicable value for MarketDisruptionEvent(41093).',\n  },\n  {\n    type: 'String',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'MarketDisruptionFallbackValue',\n    id: 40992,\n    abbrName: 'Val',\n    description: 'Applicable value for MarketDisruptionFallbackType(41095).',\n  },\n  {\n    type: 'PaymentSubTypeCodeSet',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentSubType',\n    id: 40993,\n    abbrName: 'SubTyp',\n    description: 'Used to further clarify the value of PaymentType(40213).',\n  },\n  {\n    type: 'String',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentLegRefID',\n    id: 41304,\n    abbrName: 'LegRefID',\n    description:\n      \"Identifies the instrument leg in which this payment applies to by referencing the leg's LegID(1788).\",\n  },\n  {\n    type: 'String',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingMarketDisruptionValue',\n    id: 41338,\n    abbrName: 'Val',\n    description: 'Applicable value for UnderlyingMarketDisruptionEvent(41865).',\n  },\n  {\n    type: 'String',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingMarketDisruptionFallbackValue',\n    id: 41339,\n    abbrName: 'Val',\n    description: 'Applicable value for UnderlyingMarketDisruptionFallbackType(41867).',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingAdditionalTermBondRefs',\n    id: 41340,\n    description: 'Number of bonds in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingAdditionalTermBondSecurityID',\n    id: 41341,\n    abbrName: 'ID',\n    discriminatorId: '41701',\n    description: 'Security identifier of the bond.',\n  },\n  {\n    type: 'SecurityIDSourceCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingAdditionalTermBondSecurityIDSource',\n    id: 41701,\n    abbrName: 'Src',\n    description:\n      'Identifies the source scheme of the UnderlyingAdditionalTermBondSecurityID(41341) value.',\n  },\n  {\n    type: 'String',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingAdditionalTermBondDesc',\n    id: 41709,\n    abbrName: 'Desc',\n    description: 'Description of the bond.',\n  },\n  {\n    type: 'Length',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedUnderlyingAdditionalTermBondDescLen',\n    id: 41710,\n    abbrName: 'EncDescLen',\n    description:\n      'Byte length of encoded (non-ASCII characters) EncodedUnderlyingAdditionalTermBondDesc(41711) field.',\n  },\n  {\n    type: 'data',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedUnderlyingAdditionalTermBondDesc',\n    id: 41711,\n    abbrName: 'EncDesc',\n    lengthId: '41710',\n    description:\n      'Encoded (non-ASCII characters) representation of the UnderlyingAdditionalTermBondDesc(41709) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the UnderlyingAdditionalTermBondDesc(41709) field.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingAdditionalTermBondCurrency',\n    id: 41712,\n    abbrName: 'Ccy',\n    description:\n      'Specifies the currency the bond value is denominated in. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'String',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingAdditionalTermBondIssuer',\n    id: 42017,\n    abbrName: 'Issr',\n    description: 'Issuer of the bond.',\n  },\n  {\n    type: 'Length',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedUnderlyingAdditionalTermBondIssuerLen',\n    id: 42025,\n    abbrName: 'EncIssrLen',\n    description:\n      'Byte length of encoded (non-ASCII characters) EncodedUnderlyingAdditionalTermBondIssuer(42026) field.',\n  },\n  {\n    type: 'data',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedUnderlyingAdditionalTermBondIssuer',\n    id: 42026,\n    abbrName: 'EncIssr',\n    lengthId: '42025',\n    description:\n      'Encoded (non-ASCII characters) representation of the UnderlyingAdditionalTermBondIssuer(42017) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the UnderlyingAdditionalTermBondIssuer(42017) field.',\n  },\n  {\n    type: 'SeniorityCodeSet',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingAdditionalTermBondSeniority',\n    id: 42027,\n    abbrName: 'Snrty',\n    description: \"Specifies the bond's payment priority in the event of a default.\",\n  },\n  {\n    type: 'CouponTypeCodeSet',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingAdditionalTermBondCouponType',\n    id: 42028,\n    abbrName: 'CpnTyp',\n    description: 'Coupon type of the bond.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingAdditionalTermBondCouponRate',\n    id: 42029,\n    abbrName: 'CpnRt',\n    description: 'Coupon rate of the bond. See also CouponRate(223).',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingAdditionalTermBondMaturityDate',\n    id: 42030,\n    abbrName: 'MatDt',\n    description: 'The maturity date of the bond.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingAdditionalTermBondParValue',\n    id: 42031,\n    abbrName: 'Par',\n    description: 'The par value of the bond.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingAdditionalTermBondCurrentTotalIssuedAmount',\n    id: 42032,\n    abbrName: 'CurTotAmt',\n    description: 'Total issued amount of the bond.',\n  },\n  {\n    type: 'int',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingAdditionalTermBondCouponFrequencyPeriod',\n    id: 42033,\n    abbrName: 'CpnPeriod',\n    description: \"Time unit multiplier for the frequency of the bond's coupon payment.\",\n  },\n  {\n    type: 'CouponFrequencyUnitCodeSet',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingAdditionalTermBondCouponFrequencyUnit',\n    id: 42034,\n    abbrName: 'CpnUnit',\n    description: \"Time unit associated with the frequency of the bond's coupon payment.\",\n  },\n  {\n    type: 'CouponDayCountCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingAdditionalTermBondDayCount',\n    id: 42035,\n    abbrName: 'DayCnt',\n    description:\n      'The day count convention used in interest calculations for a bond or an interest bearing security.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingAdditionalTerms',\n    id: 42036,\n    description: 'Number of additional terms in the repeating group.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingAdditionalTermConditionPrecedentBondIndicator',\n    id: 42037,\n    abbrName: 'PrcdntInd',\n    description:\n      'Indicates whether the condition precedent bond is applicable. The swap contract is only valid if the bond is issued and if there is any dispute over the terms of fixed stream then the bond terms would be used.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingAdditionalTermDiscrepancyClauseIndicator',\n    id: 42038,\n    abbrName: 'DscrpncyInd',\n    description: 'Indicates whether the discrepancy clause is applicable.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingCashSettlDealers',\n    id: 42039,\n    description: 'Number of dealers in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingCashSettlDealer',\n    id: 42040,\n    abbrName: 'Dlr',\n    description:\n      'Identifies the dealer from whom price quotations for the reference obligation are obtained for the purpose of cash settlement valuation calculation.\\n\\nISDA 2003 Term: Dealer',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingCashSettlTerms',\n    id: 42041,\n    description: 'Number of elements in the repeating group.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingCashSettlCurrency',\n    id: 42042,\n    abbrName: 'Ccy',\n    description:\n      'Specifies the currency the UnderlyingCashSettlAmount(42054) is denominated in. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'int',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingCashSettlValuationFirstBusinessDayOffset',\n    id: 42043,\n    abbrName: 'BizDayOfst',\n    description:\n      'The number of business days after settlement conditions have been satisfied, when the calculation agent is to obtain a price quotation on the reference obligation for purposes of cash settlement.\\n\\nAssociated with ISDA 2003 Term: Valuation Date.',\n  },\n  {\n    type: 'int',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingCashSettlValuationSubsequentBusinessDaysOffset',\n    id: 42044,\n    abbrName: 'SbsqntBizDayOfst',\n    description:\n      'The number of business days between successive valuation dates when multiple valuation dates are applicable for cash settlement.\\n\\nAssociated with ISDA 2003 Term: Valuation Date.',\n  },\n  {\n    type: 'int',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingCashSettlNumOfValuationDates',\n    id: 42045,\n    abbrName: 'NumValDts',\n    description:\n      'Where multiple valuation dates are specified as being applicable for cash settlement, this element specifies the number of applicable valuation dates.\\n\\nAssociated with ISDA 2003 Term: Valuation Date.',\n  },\n  {\n    type: 'LocalMktTime',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingCashSettlValuationTime',\n    id: 42046,\n    abbrName: 'ValTm',\n    description: 'Time of valuation.',\n  },\n  {\n    type: 'String',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingCashSettlBusinessCenter',\n    id: 42047,\n    abbrName: 'BizCtr',\n    description:\n      'Identifies the business center calendar used at valuation time for cash settlement purposes e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'CashSettlQuoteMethodCodeSet',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingCashSettlQuoteMethod',\n    id: 42048,\n    abbrName: 'QteMeth',\n    description: 'The type of quote used to determine the cash settlement price.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'Amt',\n    addedEP: '187',\n    updatedEP: '271',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingCashSettlQuoteAmount',\n    id: 42049,\n    abbrName: 'QteAmt',\n    description:\n      'When determining the cash settlement amount, if weighted average price quotes are to be obtained for the reference obligation, this is the upper limit to the outstanding principal balance of the reference obligation for which the quote should be obtained. If not specified, the ISDA definitions provide for a fallback amount equal to floating rate payer calculation amount.\\n\\nISDA 2003 Term: Quotation Amount.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingCashSettlQuoteCurrency',\n    id: 42050,\n    abbrName: 'QteCcy',\n    description:\n      'Specifies the currency the UnderlyingCashSettlQuoteAmount(42049) is denominated in. Uses ISO 4217 currency codes.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'Amt',\n    addedEP: '187',\n    updatedEP: '271',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingCashSettlMinimumQuoteAmount',\n    id: 42051,\n    abbrName: 'MinQteAmt',\n    description:\n      'When determining the cash settlement amount, if weighted average price quotes are to be obtained for the reference obligation, this is the minimum intended threshold amount of outstanding principal balance of the reference obligation for which the quote should be obtained. If not specified, the ISDA definitions provide for a fallback amount of the lower of either USD1,000,000 (or its equivalent in the relevant obligation currency) or the (minimum) quoted amount.\\n\\nISDA 2003 Term: Minimum Quotation Amount.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingCashSettlMinimumQuoteCurrency',\n    id: 42052,\n    abbrName: 'MinQteCcy',\n    description:\n      'Specifies the currency the UnderlyingCashSettlQuoteAmount(42049) is denominated in. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'int',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingCashSettlBusinessDays',\n    id: 42053,\n    abbrName: 'BizDays',\n    description:\n      'The number of business days used in the determination of the cash settlement payment date.\\n\\nIf a cash settlement amount is specified, the cash settlement payment date will be this number of business days following the calculation of the final price. If a cash settlement amount is not specified, the cash settlement payment date will be this number of business days after all conditions to settlement are satisfied.\\n\\nISDA 2003 Term: Cash Settlement Date.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingCashSettlAmount',\n    id: 42054,\n    abbrName: 'Amt',\n    description:\n      'The amount paid between the trade parties, seller to the buyer, for cash settlement on the cash settlement date.\\n\\nIf not specified this would typically be calculated as ((100 or the reference price) - reference obligation price) x floating rate payer calculation amount. Price values are all expressed as a percentage.\\n\\nISDA 2003 Term: Cash Settlement Amount.',\n  },\n  {\n    type: 'float',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingCashSettlRecoveryFactor',\n    id: 42055,\n    abbrName: 'RcvryFctr',\n    description:\n      'Used for fixed recovery, this specifies the recovery level as determined at contract inception, to be applied in the event of a default. The factor is used to calculate the amount paid by the seller to the buyer for cash settlement on the cash settlement date. The amount is calculated is (1 - UnderlyingCashSettlRecoveryFactor(42055)) x floating rate payer calculation amount. The currency is derived from the floating rate payer calculation amount.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingCashSettlFixedTermIndicator',\n    id: 42056,\n    abbrName: 'FixedInd',\n    description:\n      'Indicates whether fixed settlement is applicable or not applicable in a recovery lock.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingCashSettlAccruedInterestIndicator',\n    id: 42057,\n    abbrName: 'AcrdIntInd',\n    description:\n      'Indicates whether accrued interest is included or not in the value provided in UnderlyingCashSettlAmount(42054).\\n\\nFor cash settlement this specifies whether quotations should be obtained inclusive or not of accrued interest.\\n\\nFor physical settlement this specifies whether the buyer should deliver the obligation with an outstanding principal balance that includes or excludes accrued interest.\\n\\nISDA 2003 Term: Include/Exclude Accrued Interest.',\n  },\n  {\n    type: 'CashSettlValuationMethodCodeSet',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingCashSettlValuationMethod',\n    id: 42058,\n    abbrName: 'ValMeth',\n    description:\n      'The ISDA defined methodology for determining the final price of the reference obligation for purposes of cash settlement.\\n\\nISDA 2003 Term: Valuation Method',\n  },\n  {\n    type: 'XID',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingCashSettlTermXID',\n    id: 42059,\n    abbrName: 'XID',\n    description: 'Name referenced from UnderlyingSettlementTermXIDRef(41315).',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingPhysicalSettlTerms',\n    id: 42060,\n    description: 'Number of entries in the repeating group.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPhysicalSettlCurrency',\n    id: 42061,\n    abbrName: 'Ccy',\n    description: 'Currency of physical settlement. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'int',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPhysicalSettlBusinessDays',\n    id: 42062,\n    abbrName: 'BizDays',\n    description:\n      'A number of business days. Its precise meaning is dependent on the context in which this element is used.\\n\\nISDA 2003 Term: Business Day.',\n  },\n  {\n    type: 'int',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPhysicalSettlMaximumBusinessDays',\n    id: 42063,\n    abbrName: 'MaxBizDays',\n    description:\n      'A maximum number of business days. Its precise meaning is dependent on the context in which this element is used. Intended to be used to limit a particular ISDA fallback provision.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'XID',\n    addedEP: '187',\n    updatedEP: '271',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPhysicalSettlTermXID',\n    id: 42064,\n    abbrName: 'XID',\n    description: 'A named string value referenced by UnderlyingSettlTermXIDRef(41315).',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingPhysicalSettlDeliverableObligations',\n    id: 42065,\n    description: 'Number of entries in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPhysicalSettlDeliverableObligationType',\n    id: 42066,\n    abbrName: 'Typ',\n    description:\n      'Specifies the type of delivery obligation applicable for physical settlement.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Deliverable_Obligation_Types for code list for applicable deliverable obligation types.',\n  },\n  {\n    type: 'String',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPhysicalSettlDeliverableObligationValue',\n    id: 42067,\n    abbrName: 'Val',\n    description:\n      'Physical settlement delivery obligation value appropriate to UnderlyingPhysicalSettlDeliverableObligationType(42066).\\n\\nSee http://www.fixtradingcommunity.org/codelists#Deliverable_Obligation_Types for applicable obligation type values.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingProtectionTerms',\n    id: 42068,\n    description: 'Number of protection terms in the repeating group.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProtectionTermNotional',\n    id: 42069,\n    abbrName: 'Notl',\n    description:\n      'The notional amount of protection coverage for a floating rate.\\n\\nISDA 2003 Term: Floating Rate Payer Calculation Amount.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProtectionTermCurrency',\n    id: 42070,\n    abbrName: 'Ccy',\n    description:\n      'The currency of UnderlyingProtectionTermNotional(42069). Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProtectionTermSellerNotifies',\n    id: 42071,\n    abbrName: 'Seller',\n    description:\n      'The notifying party is the party that notifies the other party when a credit event has occurred by means of a credit event notice. If more than one party is referenced as being the notifying party then either party may notify the other of a credit event occurring.\\n\\nUnderlyingProtectionTermSellerNotifies(42071)=Y indicates that the seller notifies.\\n\\nISDA 2003 Term: Notifying Party.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProtectionTermBuyerNotifies',\n    id: 42072,\n    abbrName: 'Buyer',\n    description:\n      'The notifying party is the party that notifies the other party when a credit event has occurred by means of a credit event notice. If more than one party is referenced as being the notifying party then either party may notify the other of a credit event occurring.\\n\\nUnderlyingProtectionTermBuyerNotifies(42072)=Y indicates that the buyer notifies.\\n\\nISDA 2003 Term: Notifying Party.',\n  },\n  {\n    type: 'String',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProtectionTermEventBusinessCenter',\n    id: 42073,\n    abbrName: 'BizCtr',\n    description:\n      'When used, the business center indicates the local time of the business center that replaces the Greenwich Mean Time in Section 3.3 of the 2003 ISDA Credit Derivatives Definitions.\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProtectionTermStandardSources',\n    id: 42074,\n    abbrName: 'StdSrcs',\n    description:\n      'Indicates whether ISDA defined Standard Public Sources are applicable (UnderlyingProtectionTermStandardSources(42074)=Y) or not.',\n  },\n  {\n    type: 'int',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProtectionTermEventMinimumSources',\n    id: 42075,\n    abbrName: 'MinSrcs',\n    description:\n      'The minimum number of the specified public information sources that must publish information that reasonably confirms that a credit event has occurred. The market convention is two.\\n\\nISDA 2003 Term: Specified Number.',\n  },\n  {\n    type: 'XID',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProtectionTermXID',\n    id: 42076,\n    abbrName: 'XID',\n    description:\n      'A named string value referenced by UnderlyingProtectionTermXIDRef(41314).',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingProtectionTermEvents',\n    id: 42077,\n    description: 'Number of protection term events in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProtectionTermEventType',\n    id: 42078,\n    abbrName: 'Typ',\n    description:\n      'Specifies the type of credit event applicable to the protection terms.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Protection_Term_Event_Types for code list of applicable event types.',\n  },\n  {\n    type: 'String',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProtectionTermEventValue',\n    id: 42079,\n    abbrName: 'Val',\n    description:\n      'Protection term event value appropriate to UnderlyingProtectionTermEventType(42078).\\n\\nSee http://www.fixtradingcommunity.org/codelists#Protection_Term_Event_Types for applicable event type values.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProtectionTermEventCurrency',\n    id: 42080,\n    abbrName: 'Ccy',\n    description:\n      'Applicable currency if UnderlyingProtectionTermEventValue(42079) is an amount. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'int',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProtectionTermEventPeriod',\n    id: 42081,\n    abbrName: 'Period',\n    description: 'Time unit multiplier for protection term events.',\n  },\n  {\n    type: 'ProtectionTermEventUnitCodeSet',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProtectionTermEventUnit',\n    id: 42082,\n    abbrName: 'Unit',\n    description: 'Time unit associated with protection term events.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'ProtectionTermEventDayTypeCodeSet',\n    addedEP: '187',\n    updatedEP: '271',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProtectionTermEventDayType',\n    id: 42083,\n    abbrName: 'DayTyp',\n    description: 'Day type for events that specify a period and unit.',\n  },\n  {\n    type: 'String',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProtectionTermEventRateSource',\n    id: 42084,\n    abbrName: 'RtSrc',\n    description:\n      'Rate source for events that specify a rate source, e.g. Floating rate interest shortfall.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingProtectionTermEventQualifiers',\n    id: 42085,\n    description: 'Number of qualifiers in the repeating group.',\n  },\n  {\n    type: 'ProtectionTermEventQualifierCodeSet',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProtectionTermEventQualifier',\n    id: 42086,\n    abbrName: 'Qual',\n    description:\n      'Protection term event qualifier. Used to further qualify UnderlyingProtectionTermEventType(43078).',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingProtectionTermObligations',\n    id: 42087,\n    description: 'Number of obligations in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProtectionTermObligationType',\n    id: 42088,\n    abbrName: 'Typ',\n    description:\n      'Specifies the type of obligation applicable to the protection terms.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Protection_Term_Obligation_Types for code list of applicable obligation types.',\n  },\n  {\n    type: 'String',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProtectionTermObligationValue',\n    id: 42089,\n    abbrName: 'Val',\n    description:\n      'Protection term obligation value appropriate to UnderlyingProtectionTermObligationType(42088).\\n\\nSee http://www.fixtradingcommunity.org/codelists#Protection_Term_Obligation_Types for applicable obligation type values.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingProtectionTermEventNewsSources',\n    id: 42090,\n    description: 'Number of event news sources in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProtectionTermEventNewsSource',\n    id: 42091,\n    abbrName: 'Src',\n    description:\n      'Newspaper or electronic news service or source that may publish relevant information used in the determination of whether or not a credit event has occurred.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionCashSettlPaymentDateBusinessDayConvention',\n    id: 42092,\n    abbrName: 'BizDayCnvtn',\n    description:\n      \"The business day convention used to adjust the provisional cash settlement payment's termination, or relative termination, date. Used only to override the business day convention specified in the UnderlyingDateAdjustment component within the UnderlyingInstrument component.\",\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionCashSettlPaymentDateRelativeTo',\n    id: 42093,\n    abbrName: 'Reltv',\n    description:\n      'Specifies the anchor date when the cash settlement payment date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'int',\n    addedEP: '187',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionCashSettlPaymentDateOffsetPeriod',\n    id: 42094,\n    abbrName: 'OfstPeriod',\n    description:\n      'Time unit multiplier for the relative cash settlement payment date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '187',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionCashSettlPaymentDateOffsetUnit',\n    id: 42095,\n    abbrName: 'OfstUnit',\n    description:\n      'Time unit associated with the relative cash settlement payment date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '187',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionCashSettlPaymentDateOffsetDayType',\n    id: 42096,\n    abbrName: 'OfstDayTyp',\n    description:\n      \"Specifies the day type of the provision's relative cash settlement payment date offset.\",\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionCashSettlPaymentDateRangeFirst',\n    id: 42097,\n    abbrName: 'DtFirst',\n    description: 'First date in range when a settlement date range is provided.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionCashSettlPaymentDateRangeLast',\n    id: 42098,\n    abbrName: 'DtLast',\n    description: 'Last date in range when a settlement date range is provided.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingProvisionCashSettlPaymentDates',\n    id: 42099,\n    description:\n      'Number of UnderlyingProvision cash settlement payment dates in the repeating group.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionCashSettlPaymentDate',\n    id: 42100,\n    abbrName: 'Dt',\n    description:\n      'The cash settlement payment date, unadjusted or adjusted depending on UnderlyingProvisionCashSettlPaymentDateType(42101).',\n  },\n  {\n    type: 'ProvisionCashSettlPaymentDateTypeCodeSet',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionCashSettlPaymentDateType',\n    id: 42101,\n    abbrName: 'Typ',\n    description: 'Specifies the type of date (e.g. adjusted for holidays).',\n  },\n  {\n    type: 'PaymentStreamRateIndexSourceCodeSet',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionCashSettlQuoteSource',\n    id: 42102,\n    abbrName: 'SettlQteSrc',\n    description: 'Identifies the source of quote information.',\n  },\n  {\n    type: 'String',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionCashSettlQuoteReferencePage',\n    id: 42103,\n    abbrName: 'RefPg',\n    description: 'Identifies the reference \"page\" from the quote source.',\n  },\n  {\n    type: 'LocalMktTime',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionCashSettlValueTime',\n    id: 42104,\n    abbrName: 'Tm',\n    description:\n      'A time specified in 24-hour format, e.g. 11am would be represented as 11:00:00. The time of the cash settlement valuation date when the cash settlement amount will be determined according to the cash settlement method if the parties have not otherwise been able to agree to the cash settlement amount.',\n  },\n  {\n    type: 'String',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionCashSettlValueTimeBusinessCenter',\n    id: 42105,\n    abbrName: 'TmBizCtr',\n    description:\n      \"Identifies the business center calendar used with the provision's cash settlement valuation time.\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.\",\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionCashSettlValueDateBusinessDayConvention',\n    id: 42106,\n    abbrName: 'BizDayCnvtn',\n    description:\n      'The business day convention used to adjust the cash settlement valuation date. Used only to override the business day convention specified in the UnderlyingDateAdjustment component within the UnderlyingInstrument component.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionCashSettlValueDateRelativeTo',\n    id: 42107,\n    abbrName: 'Reltv',\n    description:\n      'Specifies the anchor date when the cash settlement value date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'int',\n    addedEP: '187',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionCashSettlValueDateOffsetPeriod',\n    id: 42108,\n    abbrName: 'OfstPeriod',\n    description:\n      'Time unit multiplier for the relative cash settlement value date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '187',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionCashSettlValueDateOffsetUnit',\n    id: 42109,\n    abbrName: 'OfstUnit',\n    description:\n      'Time unit associated with the relative cash settlement value date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '187',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionCashSettlValueDateOffsetDayType',\n    id: 42110,\n    abbrName: 'OfstDayTyp',\n    description:\n      \"Specifies the day type of the provision's relative cash settlement value date offset.\",\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionCashSettlValueDateAdjusted',\n    id: 42111,\n    abbrName: 'Dt',\n    description: 'The adjusted cash settlement value date.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingProvisionOptionExerciseFixedDates',\n    id: 42112,\n    description:\n      'Number of UnderlyingProvision option exercise fixed dates in the repeating group.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionOptionExerciseFixedDate',\n    id: 42113,\n    abbrName: 'Dt',\n    description:\n      'A predetermined option exercise date, unadjusted or adjusted depending on UnderlyingProvisionOptionExerciseFixedDateType(42114).',\n  },\n  {\n    type: 'ProvisionOptionExerciseFixedDateTypeCodeSet',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionOptionExerciseFixedDateType',\n    id: 42114,\n    abbrName: 'Typ',\n    description: 'Specifies the type of date (e.g. adjusted for holidays).',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionOptionExerciseBusinessDayConvention',\n    id: 42115,\n    abbrName: 'BizDayCnvtn',\n    description:\n      \"The business day convention used to adjust the underlying instrument's provision's option exercise date. Used only to override the business day convention specified in the UnderlyingDateAdjustment component within the UnderlyingInstrument component.\",\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'int',\n    addedEP: '187',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionOptionExerciseEarliestDateOffsetPeriod',\n    id: 42116,\n    abbrName: 'ErlstOfstPeriod',\n    description:\n      'Time unit multiplier for the interval to the first (and possibly only) exercise date in the exercise period.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'ProvisionOptionExerciseEarliestDateOffsetUnitCodeSet',\n    addedEP: '187',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionOptionExerciseEarliestDateOffsetUnit',\n    id: 42117,\n    abbrName: 'ErlstOfstUnit',\n    description:\n      'Time unit associated with the interval to the first (and possibly only) exercise date in the exercise period.',\n  },\n  {\n    type: 'int',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionOptionExerciseFrequencyPeriod',\n    id: 42118,\n    abbrName: 'FreqPeriod',\n    description:\n      'Time unit multiplier for the frequency of subsequent exercise dates in the exercise period following the earliest exercise date. An interval of 1 day should be used to indicate an American style exercise frequency.',\n  },\n  {\n    type: 'CouponFrequencyUnitCodeSet',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionOptionExerciseFrequencyUnit',\n    id: 42119,\n    abbrName: 'FreqUnit',\n    description:\n      'Time unit associated with the frequency of subsequent exercise dates in the exercise period following the earliest exercise date.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionOptionExerciseStartDateUnadjusted',\n    id: 42120,\n    abbrName: 'StartDtUnadj',\n    description:\n      'The unadjusted first day of the exercise period for an American style option.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionOptionExerciseStartDateRelativeTo',\n    id: 42121,\n    abbrName: 'StartDtReltv',\n    description:\n      'Specifies the anchor date when the option exercise start date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'int',\n    addedEP: '187',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionOptionExerciseStartDateOffsetPeriod',\n    id: 42122,\n    abbrName: 'StartDtOfstPeriod',\n    description:\n      'Time unit multiplier for the relative option exercise start date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '187',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionOptionExerciseStartDateOffsetUnit',\n    id: 42123,\n    abbrName: 'StartDtOfstUnit',\n    description:\n      'Time unit associated with the relative option exercise start date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '187',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionOptionExerciseStartDateOffsetDayType',\n    id: 42124,\n    abbrName: 'StartDtOfstDayTyp',\n    description:\n      \"Specifies the day type of the provision's relative option exercise start date offset.\",\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionOptionExerciseStartDateAdjusted',\n    id: 42125,\n    abbrName: 'StartDt',\n    description:\n      'The adjusted first day of the exercise period for an American style option.',\n  },\n  {\n    type: 'int',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionOptionExercisePeriodSkip',\n    id: 42126,\n    abbrName: 'Skip',\n    description:\n      'The number of periods in the referenced date schedule that are between each date in the relative date schedule. Thus a skip of 2 would mean that dates are relative to every second date in the referenced schedule. If present this should have a value greater than 1.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionOptionExerciseBoundsFirstDateUnadjusted',\n    id: 42127,\n    abbrName: 'FirstDtUnadj',\n    description:\n      'The unadjusted first date of a schedule. This can be used to restrict the range of exercise dates when they are relative.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionOptionExerciseBoundsLastDateUnadjusted',\n    id: 42128,\n    abbrName: 'LastDtUnadj',\n    description:\n      'The unadjusted last date of a schedule. This can be used to restrict the range of exercise dates when they are relative.',\n  },\n  {\n    type: 'LocalMktTime',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionOptionExerciseEarliestTime',\n    id: 42129,\n    abbrName: 'ErlstTm',\n    description:\n      \"The earliest time at which notice of exercise can be given by the buyer to the seller (or seller's agent) i) on the expriation date, in the case of a European style option, (ii) on each bermuda option exercise date and the expiration date, in the case of a Bermuda style option the commencement date to, and including, the expiration date, in the case of an American option.\",\n  },\n  {\n    type: 'String',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionOptionExerciseEarliestTimeBusinessCenter',\n    id: 42130,\n    abbrName: 'ErlstTmBizCtr',\n    description:\n      \"Identifies the business center calendar used with the provision's earliest time for notice of exercise.\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.\",\n  },\n  {\n    type: 'LocalMktTime',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionOptionExerciseLatestTime',\n    id: 42131,\n    abbrName: 'LtstTm',\n    description:\n      \"For a Bermuda or American style option, the latest time on an exercise business day (excluding the expiration date) within the exercise period that notice can be given by the buyer to the seller or seller's agent. Notice of exercise given after this time will be deemed to have been given on the next exercise business day.\",\n  },\n  {\n    type: 'String',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionOptionExerciseLatestTimeBusinessCenter',\n    id: 42132,\n    abbrName: 'LtstTmBizCtr',\n    description:\n      \"Identifies the business center calendar used with the provision's latest time for notice of exercise.\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.\",\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionOptionExpirationDateUnadjusted',\n    id: 42133,\n    abbrName: 'DtUnadj',\n    description:\n      'The unadjusted last day within an exercise period for an American style option. For a European style option it is the only day within the exercise period.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionOptionExpirationDateBusinessDayConvention',\n    id: 42134,\n    abbrName: 'BizDayCnvtn',\n    description:\n      \"The business day convention used to adjust the underlying instrument's provision's option expiration date. Used only to override the business day convention specified in the UnderlyingDateAdjustment component within the UnderlyingInstrument component.\",\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionOptionExpirationDateRelativeTo',\n    id: 42135,\n    abbrName: 'Reltv',\n    description:\n      'Specifies the anchor date when the option expiration date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'int',\n    addedEP: '187',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionOptionExpirationDateOffsetPeriod',\n    id: 42136,\n    abbrName: 'OfstPeriod',\n    description: 'Time unit multiplier for the relative option expiration date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '187',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionOptionExpirationDateOffsetUnit',\n    id: 42137,\n    abbrName: 'OfstUnit',\n    description: 'Time unit associated with the relative option expiration date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '187',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionOptionExpirationDateOffsetDayType',\n    id: 42138,\n    abbrName: 'OfstDayTyp',\n    description:\n      \"Specifies the day type of the provision's relative option expiration date offset.\",\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionOptionExpirationDateAdjusted',\n    id: 42139,\n    abbrName: 'Dt',\n    description:\n      'The adjusted last date within an exercise period for an American style option. For a European style option it is the only date within the exercise period.',\n  },\n  {\n    type: 'LocalMktTime',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionOptionExpirationTime',\n    id: 42140,\n    abbrName: 'ExpTm',\n    description: 'The latest time for exercise on the expiration date.',\n  },\n  {\n    type: 'String',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionOptionExpirationTimeBusinessCenter',\n    id: 42141,\n    abbrName: 'ExpTmBizCtr',\n    description:\n      \"Identifies the business center calendar used with the provision's latest exercise time on expiration date.\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.\",\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionOptionRelevantUnderlyingDateUnadjusted',\n    id: 42142,\n    abbrName: 'DtUnadj',\n    description:\n      'The unadjusted date on the underlying set by the exercise of an option. What this date is depends on the option (e.g. in a swaption it is the swap effective date, in an extendible/cancelable provision it is the swap termination date).',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '187',\n    updatedEP: '271',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionOptionRelevantUnderlyingDateBizDayConvention',\n    id: 42143,\n    abbrName: 'BizDayCnvtn',\n    description:\n      \"The business day convnetion used to adjust the underlying instrument provision's option underlying date. Used only to override the business day convention specified in the UnderlyingDateAdjustment component within the UnderlyingInstrument component.\",\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionOptionRelevantUnderlyingDateRelativeTo',\n    id: 42144,\n    abbrName: 'Reltv',\n    description:\n      'Specifies the anchor date when the date relevant to the underlying trade on exercise is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'int',\n    addedEP: '187',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionOptionRelevantUnderlyingDateOffsetPeriod',\n    id: 42145,\n    abbrName: 'OfstPeriod',\n    description:\n      'Time unit multiplier for the relative option relevant underlying date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '187',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionOptionRelevantUnderlyingDateOffsetUnit',\n    id: 42146,\n    abbrName: 'OfstUnit',\n    description:\n      'Time unit associated with the relative option relevant underlying date offset.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '187',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionOptionRelevantUnderlyingDateOffsetDayType',\n    id: 42147,\n    abbrName: 'OfstDayTyp',\n    description:\n      \"Specifies the day type of the provision's relative option relevant underlying date offset.\",\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionOptionRelevantUnderlyingDateAdjusted',\n    id: 42148,\n    abbrName: 'Dt',\n    description:\n      'The adjusted date on the underlying set by the exercise of an option. What this date is depends on the option (e.g. in a swaption it is the swap effective date, in an extendible/cancelable provision it is the swap termination date).',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingProvisions',\n    id: 42149,\n    description: 'Number of provisions in the repeating group.',\n  },\n  {\n    type: 'ProvisionTypeCodeSet',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionType',\n    id: 42150,\n    abbrName: 'Typ',\n    description: 'Type of provision.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionDateUnadjusted',\n    id: 42151,\n    abbrName: 'DtUnadj',\n    description: 'The unadjusted date of the provision.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionDateBusinessDayConvention',\n    id: 42152,\n    abbrName: 'BizDayCnvtn',\n    description:\n      \"The business day convention used to adjust the underlying instrument's provision's date. Used only to override the business day convention specified in the UnderlyingDateAdjustment component within the UnderlyingInstrument component.\",\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionDateAdjusted',\n    id: 42153,\n    abbrName: 'Dt',\n    description: 'The adjusted date of the provision.',\n  },\n  {\n    type: 'int',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionDateTenorPeriod',\n    id: 42154,\n    abbrName: 'TenorPeriod',\n    description: \"Time unit multiplier for the provision's tenor period.\",\n  },\n  {\n    type: 'ProvisionDateTenorUnitCodeSet',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionDateTenorUnit',\n    id: 42155,\n    abbrName: 'TenorUnit',\n    description: \"Time unit associated with the provision's tenor period.\",\n  },\n  {\n    type: 'ProvisionCalculationAgentCodeSet',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionCalculationAgent',\n    id: 42156,\n    abbrName: 'CalcAgent',\n    description:\n      'Used to identify the calculation agent. The calculation agent may be identified in UnderlyingProvisionCalculationAgent(42156) or in the underlying provision parties component.',\n  },\n  {\n    type: 'ProvisionOptionSinglePartyBuyerSideCodeSet',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionOptionSinglePartyBuyerSide',\n    id: 42157,\n    abbrName: 'BuyerSide',\n    description:\n      'If optional early termination is not available to both parties then this component identifies the buyer of the option through its side of the trade.',\n  },\n  {\n    type: 'ProvisionOptionSinglePartyBuyerSideCodeSet',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionOptionSinglePartySellerSide',\n    id: 42158,\n    abbrName: 'SellerSide',\n    description:\n      'If optional early termination is not available to both parties then this component identifies the seller of the option through its side of the trade.',\n  },\n  {\n    type: 'ExerciseStyleCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionOptionExerciseStyle',\n    id: 42159,\n    abbrName: 'ExerStyle',\n    description: \"The instrument provision's exercise style.\",\n  },\n  {\n    type: 'Amt',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionOptionExerciseMultipleNotional',\n    id: 42160,\n    abbrName: 'MultplNotl',\n    description:\n      'A notional amount which restricts the amount of notional that can be exercised when partial exercise or multiple exercise is applicable. The integral multiple amount defines a lower limit of notional that can be exercised and also defines a unit multiple of notional that can be exercised, i.e. only integer multiples of this amount can be exercised.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionOptionExerciseMinimumNotional',\n    id: 42161,\n    abbrName: 'MinNotl',\n    description:\n      'The minimum notional amount that can be exercised on a given exercise date.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionOptionExerciseMaximumNotional',\n    id: 42162,\n    abbrName: 'MaxNotl',\n    description:\n      'The maximum notional amount that can be exercised on a given exercise date.',\n  },\n  {\n    type: 'int',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionOptionMinimumNumber',\n    id: 42163,\n    abbrName: 'MinNum',\n    description:\n      'The minimum number of options that can be exercised on a given exercise date.',\n  },\n  {\n    type: 'int',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionOptionMaximumNumber',\n    id: 42164,\n    abbrName: 'MaxNum',\n    description:\n      'The maximum number of options that can be exercised on a given exercise date. If the number is not specified, it means that the maximum number of options corresponds to the remaining unexercised options.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionOptionExerciseConfirmation',\n    id: 42165,\n    abbrName: 'ExerCnfm',\n    description:\n      \"Used to indicate whether follow-up confirmation of exercise (written or electronic) is required following telephonic notice by the buyer to the seller or seller's agent.\",\n  },\n  {\n    type: 'ProvisionCashSettlMethodCodeSet',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionCashSettlMethod',\n    id: 42166,\n    abbrName: 'SettlMeth',\n    description:\n      'An ISDA defined cash settlement method used for the determination of the applicable cash settlement amount. The method is defined in the 2006 ISDA Definitions, Section 18.3. Cash Settlement Methods, paragraph (e).',\n  },\n  {\n    type: 'Currency',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionCashSettlCurrency',\n    id: 42167,\n    abbrName: 'SettlCcy',\n    description: 'Specifies the currency of settlement. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionCashSettlCurrency2',\n    id: 42168,\n    abbrName: 'SettlCcy2',\n    description:\n      'Specifies the currency of settlement for a cross-currency provision. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'ProvisionCashSettlQuoteTypeCodeSet',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionCashSettlQuoteType',\n    id: 42169,\n    abbrName: 'SettlQteTyp',\n    description: 'Identifies the type of quote to be used.',\n  },\n  {\n    type: 'String',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionText',\n    id: 42170,\n    abbrName: 'Txt',\n    description:\n      'Free form text to specify additional information or enumeration description when a standard value does not apply.',\n  },\n  {\n    type: 'Length',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedUnderlyingProvisionTextLen',\n    id: 42171,\n    abbrName: 'EncTxtLen',\n    description:\n      'Byte length of encoded (non-ASCII characters) EncodedUnderlyingProvisionText(42712) field.',\n  },\n  {\n    type: 'data',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedUnderlyingProvisionText',\n    id: 42172,\n    abbrName: 'EncTxt',\n    lengthId: '42171',\n    description:\n      'Encoded (non-ASCII characters) representation of the UnderlyingProvisionText(42170) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the UnderlyingProvisionText(42170) field.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingProvisionPartyIDs',\n    id: 42173,\n    description: 'Number of parties identified in the contract provision.',\n  },\n  {\n    type: 'String',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionPartyID',\n    id: 42174,\n    abbrName: 'ID',\n    discriminatorId: '42175',\n    description: 'The party identifier for the payment settlement party.',\n  },\n  {\n    type: 'PartyIDSourceCodeSet',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionPartyIDSource',\n    id: 42175,\n    abbrName: 'Src',\n    description:\n      'Identifies the class or source of the UnderlyingProvisionPartyID(42174) value.',\n  },\n  {\n    type: 'PartyRoleCodeSet',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionPartyRole',\n    id: 42176,\n    abbrName: 'R',\n    description:\n      'Identifies the type or role of UnderlyingProvisionPartyID(42174) specified.',\n  },\n  {\n    type: 'PartyDetailRoleQualifierCodeSet',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionPartyRoleQualifier',\n    id: 40918,\n    abbrName: 'Qual',\n    description:\n      'Used to further qualify the value of UnderlyingProvisionPartyRole(42176).',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingProvisionPartySubIDs',\n    id: 42177,\n    description: 'Number of sub-party IDs to be reported for the party.',\n  },\n  {\n    type: 'String',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionPartySubID',\n    id: 42178,\n    abbrName: 'ID',\n    description:\n      'Underlying provision party sub-identifier, if applicable for UnderlyingProvisionPartyID(42174).',\n  },\n  {\n    type: 'PartySubIDTypeCodeSet',\n    unionDataType: 'Reserved4000Plus',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionPartySubIDType',\n    id: 42179,\n    abbrName: 'Typ',\n    description: 'The type of UnderlyingProvisionPartySubID(42178).',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingProvisionCashSettlPaymentDateBusinessCenters',\n    id: 42180,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionCashSettlPaymentDateBusinessCenter',\n    id: 42181,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used to adjust the provision\\'s cash settlement payment\\'s termination, or relative termination, date, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingProvisionCashSettlValueDateBusinessCenters',\n    id: 42182,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionCashSettlValueDateBusinessCenter',\n    id: 42183,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used to adjust the cash settlement valuation date, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingProvisionOptionExerciseBusinessCenters',\n    id: 42184,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionOptionExerciseBusinessCenter',\n    id: 42185,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used to adjust the underlying instrument\\'s provision\\'s option exercise date, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingProvisionOptionExpirationDateBusinessCenters',\n    id: 42186,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionOptionExpirationDateBusinessCenter',\n    id: 42187,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used to adjust the underlying instrument\\'s provision\\'s option expiration date, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingProvisionOptionRelevantUnderlyingDateBusinessCenters',\n    id: 42188,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionOptionRelevantUnderlyingDateBusinessCenter',\n    id: 42189,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used to adjust the underlying instrument\\'s provision\\'s option underlying date, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingProvisionDateBusinessCenters',\n    id: 42190,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '187',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionDateBusinessCenter',\n    id: 42191,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used to adjust the underlying instrument\\'s provision\\'s date, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'String',\n    addedEP: '188',\n    added: 'FIX.5.0SP2',\n    name: 'FillRefID',\n    id: 2421,\n    abbrName: 'FillRefID',\n    description:\n      'A reference to either the value of the FillExecID(1363) or an implicit position of a fills instance in the FillsGrp component.',\n  },\n  {\n    type: 'int',\n    addedEP: '188',\n    added: 'FIX.5.0SP2',\n    name: 'OrderRequestID',\n    id: 2422,\n    abbrName: 'OrdReqID',\n    description:\n      'Unique message identifier for an order request as assigned by the submitter of the request.',\n  },\n  {\n    type: 'String',\n    addedEP: '188',\n    added: 'FIX.5.0SP2',\n    name: 'MassOrderRequestID',\n    id: 2423,\n    abbrName: 'MassOrdReqID',\n    description:\n      'Unique message identifier for a mass order request as assigned by the submitter of the orders.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'String',\n    addedEP: '188',\n    updatedEP: '271',\n    added: 'FIX.5.0SP2',\n    name: 'MassOrderReportID',\n    id: 2424,\n    abbrName: 'MassOrdRptID',\n    description:\n      'Unique message identifier for the response to a mass order request as assigned by the receiver of the orders.',\n  },\n  {\n    type: 'MassOrderRequestStatusCodeSet',\n    addedEP: '188',\n    added: 'FIX.5.0SP2',\n    name: 'MassOrderRequestStatus',\n    id: 2425,\n    abbrName: 'ReqStat',\n    description: 'Status of mass order request.',\n  },\n  {\n    type: 'MassOrderRequestResultCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '188',\n    added: 'FIX.5.0SP2',\n    name: 'MassOrderRequestResult',\n    id: 2426,\n    abbrName: 'ReqRslt',\n    description: 'Request result of mass order request.',\n  },\n  {\n    type: 'OrderResponseLevelCodeSet',\n    addedEP: '188',\n    added: 'FIX.5.0SP2',\n    name: 'OrderResponseLevel',\n    id: 2427,\n    abbrName: 'OrdRspLvl',\n    description:\n      'The level of response requested from receiver of mass order messages. A default value should be bilaterally agreed.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '188',\n    added: 'FIX.5.0SP2',\n    name: 'NoOrderEntries',\n    id: 2428,\n    description: 'Number of order entries.',\n  },\n  {\n    type: 'OrderEntryActionCodeSet',\n    addedEP: '188',\n    added: 'FIX.5.0SP2',\n    name: 'OrderEntryAction',\n    id: 2429,\n    abbrName: 'OrdEntryActn',\n    description: 'Specifies the action to be taken for the given order.',\n  },\n  {\n    type: 'int',\n    addedEP: '188',\n    added: 'FIX.5.0SP2',\n    name: 'OrderEntryID',\n    id: 2430,\n    abbrName: 'OrdEntryID',\n    description:\n      'Unique identifier for an order within a single MassOrder(35=DJ) message that can be used as a reference in the MassOrderAck(35=DK) message.',\n  },\n  {\n    type: 'ExecTypeReasonCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '188',\n    added: 'FIX.5.0SP2',\n    name: 'ExecTypeReason',\n    id: 2431,\n    abbrName: 'ExecTypRsn',\n    description: 'The initiating event when an ExecutionReport(35=8) is sent.',\n  },\n  {\n    type: 'int',\n    addedEP: '188',\n    added: 'FIX.5.0SP2',\n    name: 'TotNoOrderEntries',\n    id: 2432,\n    abbrName: 'TotNoOrdEntries',\n    description:\n      'Totals number of orders for a mass order or its acknowledgment being fragmented across multiple messages.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '189',\n    added: 'FIX.5.0SP2',\n    name: 'NoTargetPartySubIDs',\n    id: 2433,\n    description: 'Number of target party sub IDs in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '189',\n    added: 'FIX.5.0SP2',\n    name: 'TargetPartySubID',\n    id: 2434,\n    abbrName: 'ID',\n    description: 'Party sub-identifier value within a target party repeating group.',\n  },\n  {\n    type: 'PartySubIDTypeCodeSet',\n    unionDataType: 'Reserved4000Plus',\n    addedEP: '189',\n    added: 'FIX.5.0SP2',\n    name: 'TargetPartySubIDType',\n    id: 2435,\n    abbrName: 'Typ',\n    description: 'Type of TargetPartySubID(2434) value.',\n  },\n  {\n    type: 'String',\n    addedEP: '189',\n    added: 'FIX.5.0SP2',\n    name: 'TransferInstructionID',\n    id: 2436,\n    abbrName: 'InstID',\n    description:\n      'Unique identifier for the transfer instruction assigned by the submitter.',\n  },\n  {\n    type: 'String',\n    addedEP: '189',\n    added: 'FIX.5.0SP2',\n    name: 'TransferID',\n    id: 2437,\n    abbrName: 'XferID',\n    description:\n      'The unique identifier assigned to the transfer entity once it is received, for example, by the CCP or the party governing the transfer process. Generally this same identifier for the transfer is used by all parties involved.',\n  },\n  {\n    type: 'String',\n    addedEP: '189',\n    added: 'FIX.5.0SP2',\n    name: 'TransferReportID',\n    id: 2438,\n    abbrName: 'RptID',\n    description: 'Unique identifier for the transfer report message.',\n  },\n  {\n    type: 'TransferTransTypeCodeSet',\n    addedEP: '189',\n    added: 'FIX.5.0SP2',\n    name: 'TransferTransType',\n    id: 2439,\n    abbrName: 'TransTyp',\n    description: 'Indicates the type of transfer transaction.',\n  },\n  {\n    type: 'TransferTypeCodeSet',\n    addedEP: '189',\n    added: 'FIX.5.0SP2',\n    name: 'TransferType',\n    id: 2440,\n    abbrName: 'XferTyp',\n    description: 'Indicates the type of transfer request.',\n  },\n  {\n    type: 'TransferScopeCodeSet',\n    addedEP: '189',\n    added: 'FIX.5.0SP2',\n    name: 'TransferScope',\n    id: 2441,\n    abbrName: 'XferScope',\n    description: 'Indicates the type of transfer.',\n  },\n  {\n    type: 'TransferStatusCodeSet',\n    addedEP: '189',\n    added: 'FIX.5.0SP2',\n    name: 'TransferStatus',\n    id: 2442,\n    abbrName: 'XferStat',\n    description: 'Status of the transfer.',\n  },\n  {\n    type: 'TransferRejectReasonCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '189',\n    added: 'FIX.5.0SP2',\n    name: 'TransferRejectReason',\n    id: 2443,\n    abbrName: 'RejRsn',\n    description: 'Reason the transfer instruction was rejected.',\n  },\n  {\n    type: 'TransferReportTypeCodeSet',\n    addedEP: '189',\n    added: 'FIX.5.0SP2',\n    name: 'TransferReportType',\n    id: 2444,\n    abbrName: 'RptTyp',\n    description: 'Indicates the type of transfer report.',\n  },\n  {\n    type: 'UTCTimestamp',\n    addedEP: '190',\n    added: 'FIX.5.0SP2',\n    name: 'AggressorTime',\n    id: 2445,\n    abbrName: 'AgrsrTm',\n    description: 'Timestamp of aggressive order or quote resulting in match event.',\n  },\n  {\n    type: 'SideCodeSet',\n    addedEP: '190',\n    added: 'FIX.5.0SP2',\n    name: 'AggressorSide',\n    id: 2446,\n    abbrName: 'AgrsrSide',\n    description: 'Side of aggressive order or quote resulting in match event.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '190',\n    added: 'FIX.5.0SP2',\n    name: 'FastMarketIndicator',\n    id: 2447,\n    abbrName: 'FastMktInd',\n    description:\n      'Indicates if the instrument is in \"fast market\" state.\\n\\nA \"fast market\" is a state in which market rules are applied to instrument(s) or entire trading session when market events causes significant price movements due to public information.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '190',\n    added: 'FIX.5.0SP2',\n    name: 'LinkageHandlingIndicator',\n    id: 2448,\n    abbrName: 'LnkgHandlInd',\n    description:\n      'Indicate whether linkage handling is in effect for an instrument or not.',\n  },\n  {\n    type: 'int',\n    addedEP: '190',\n    added: 'FIX.5.0SP2',\n    name: 'NumberOfBuyOrders',\n    id: 2449,\n    abbrName: 'NumOfBuyOrds',\n    description: 'Number of buy orders involved in a trade.',\n  },\n  {\n    type: 'int',\n    addedEP: '190',\n    added: 'FIX.5.0SP2',\n    name: 'NumberOfSellOrders',\n    id: 2450,\n    abbrName: 'NumOfSellOrds',\n    description: 'Number of sell orders involved in a trade.',\n  },\n  {\n    type: 'SettlPriceDeterminationMethodCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '190',\n    added: 'FIX.5.0SP2',\n    name: 'SettlPriceDeterminationMethod',\n    id: 2451,\n    abbrName: 'SettlPxDtrmnMeth',\n    description: 'Calculation method used to determine settlement price.',\n  },\n  {\n    type: 'String',\n    addedEP: '191',\n    added: 'FIX.5.0SP2',\n    name: 'MDStatisticReqID',\n    id: 2452,\n    abbrName: 'ReqID',\n    description: 'Message identifier for a statistics request.',\n  },\n  {\n    type: 'String',\n    addedEP: '191',\n    added: 'FIX.5.0SP2',\n    name: 'MDStatisticRptID',\n    id: 2453,\n    abbrName: 'RptID',\n    description: 'Message identifier for a statistics report.',\n  },\n  {\n    type: 'String',\n    addedEP: '191',\n    added: 'FIX.5.0SP2',\n    name: 'MDStatisticName',\n    id: 2454,\n    abbrName: 'StatsNme',\n    description: 'The short name or acronym for a set of statistic parameters.',\n  },\n];\n\nconst batch7: ISpecFields[] = [\n  {\n    type: 'String',\n    addedEP: '191',\n    added: 'FIX.5.0SP2',\n    name: 'MDStatisticDesc',\n    id: 2455,\n    abbrName: 'Desc',\n    description:\n      'Can be used to provide an optional textual description for a statistic.',\n  },\n  {\n    type: 'MDStatisticTypeCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '191',\n    added: 'FIX.5.0SP2',\n    name: 'MDStatisticType',\n    id: 2456,\n    abbrName: 'Typ',\n    description: 'Type of statistic value.',\n  },\n  {\n    type: 'MDStatisticScopeCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '191',\n    added: 'FIX.5.0SP2',\n    name: 'MDStatisticScope',\n    id: 2457,\n    abbrName: 'Scope',\n    description: 'Entities used as basis for the statistics.',\n  },\n  {\n    type: 'MDStatisticSubScopeCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '191',\n    added: 'FIX.5.0SP2',\n    name: 'MDStatisticSubScope',\n    id: 2458,\n    abbrName: 'SubScope',\n    description:\n      'Sub-scope of the statistics to further reduce the entities used as basis for the statistics.',\n  },\n  {\n    type: 'MDStatisticScopeTypeCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '191',\n    added: 'FIX.5.0SP2',\n    name: 'MDStatisticScopeType',\n    id: 2459,\n    abbrName: 'ScopeTyp',\n    description:\n      'Scope details of the statistics to reduce the number of events being used as basis for the statistics.',\n  },\n  {\n    type: 'int',\n    addedEP: '191',\n    added: 'FIX.5.0SP2',\n    name: 'MDStatisticFrequencyPeriod',\n    id: 2460,\n    abbrName: 'FreqPeriod',\n    description:\n      'Dissemination frequency of statistics.\\n\\nSpecial meaning for a value of zero which represents an event-driven dissemination in real time (e.g. as soon as a new trade occurs).',\n  },\n  {\n    type: 'OrderDelayUnitCodeSet',\n    addedEP: '191',\n    added: 'FIX.5.0SP2',\n    name: 'MDStatisticFrequencyUnit',\n    id: 2461,\n    abbrName: 'FreqUnit',\n    description: 'Time unit for MDStatisticFrequencyPeriod(2460).',\n  },\n  {\n    type: 'int',\n    addedEP: '191',\n    added: 'FIX.5.0SP2',\n    name: 'MDStatisticDelayPeriod',\n    id: 2462,\n    abbrName: 'DelayPeriod',\n    description:\n      'Number of time units between the calculation of the statistic and its dissemination. Can be used to defer or delay publication.',\n  },\n  {\n    type: 'OrderDelayUnitCodeSet',\n    addedEP: '191',\n    added: 'FIX.5.0SP2',\n    name: 'MDStatisticDelayUnit',\n    id: 2463,\n    abbrName: 'DelayUnit',\n    description: 'Time unit for MDStatisticDelayPeriod(2462).',\n  },\n  {\n    type: 'MDStatisticIntervalTypeCodeSet',\n    addedEP: '191',\n    added: 'FIX.5.0SP2',\n    name: 'MDStatisticIntervalType',\n    id: 2464,\n    abbrName: 'IntvlTyp',\n    description: 'Type of interval over which statistic is calculated.',\n  },\n  {\n    type: 'TimeUnitCodeSet',\n    addedEP: '191',\n    added: 'FIX.5.0SP2',\n    name: 'MDStatisticIntervalTypeUnit',\n    id: 2465,\n    abbrName: 'IntvlTypUnit',\n    description: 'Time unit for MDStatisticIntervalType(2464).',\n  },\n  {\n    type: 'int',\n    addedEP: '191',\n    added: 'FIX.5.0SP2',\n    name: 'MDStatisticIntervalPeriod',\n    id: 2466,\n    abbrName: 'IntvlPeriod',\n    description:\n      'Length of time over which the statistic is calculated. Special meaning for a value of zero to express that there is no aggregation over time. Can be used with other interval types expressing relative date and time ranges to combine them with sliding window peaks, e.g. highest volume across 1 minute intervals of the previous day.',\n  },\n  {\n    type: 'OrderDelayUnitCodeSet',\n    addedEP: '191',\n    added: 'FIX.5.0SP2',\n    name: 'MDStatisticIntervalUnit',\n    id: 2467,\n    abbrName: 'IntvlUnit',\n    description: 'Time unit for MDStatisticIntervalPeriod(2466).',\n  },\n  {\n    type: 'UTCTimestamp',\n    addedEP: '191',\n    added: 'FIX.5.0SP2',\n    name: 'MDStatisticStartDate',\n    id: 2468,\n    abbrName: 'StartDt',\n    description: 'First day of range for which statistical data is collected.',\n  },\n  {\n    type: 'UTCTimestamp',\n    addedEP: '191',\n    added: 'FIX.5.0SP2',\n    name: 'MDStatisticEndDate',\n    id: 2469,\n    abbrName: 'EndDt',\n    description: 'Last day of range for which statistical data is collected.',\n  },\n  {\n    type: 'UTCTimeOnly',\n    addedEP: '191',\n    added: 'FIX.5.0SP2',\n    name: 'MDStatisticStartTime',\n    id: 2470,\n    abbrName: 'StartTm',\n    description: 'Start time of the time range for which statistical data is collected.',\n  },\n  {\n    type: 'UTCTimeOnly',\n    addedEP: '191',\n    added: 'FIX.5.0SP2',\n    name: 'MDStatisticEndTime',\n    id: 2471,\n    abbrName: 'EndTm',\n    description: 'End time of the time range for which statistical data is collected.',\n  },\n  {\n    type: 'MDStatisticRatioTypeCodeSet',\n    addedEP: '191',\n    added: 'FIX.5.0SP2',\n    name: 'MDStatisticRatioType',\n    id: 2472,\n    abbrName: 'RatioTyp',\n    description: 'Ratios between various entities.',\n  },\n  {\n    type: 'MDStatisticRequestResultCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '191',\n    added: 'FIX.5.0SP2',\n    name: 'MDStatisticRequestResult',\n    id: 2473,\n    abbrName: 'ReqRslt',\n    description: 'Result returned in response to MarketDataStatisticsRequest (35=DO).',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '191',\n    added: 'FIX.5.0SP2',\n    name: 'NoMDStatistics',\n    id: 2474,\n    description: 'Number of market data statistics.',\n  },\n  {\n    type: 'String',\n    addedEP: '191',\n    added: 'FIX.5.0SP2',\n    name: 'MDStatisticID',\n    id: 2475,\n    abbrName: 'StatsID',\n    description: 'Unique identifier for a statistic.',\n  },\n  {\n    type: 'UTCTimestamp',\n    addedEP: '191',\n    added: 'FIX.5.0SP2',\n    name: 'MDStatisticTime',\n    id: 2476,\n    abbrName: 'Tm',\n    description: 'Time of calculation of a statistic.',\n  },\n  {\n    type: 'MDStatisticStatusCodeSet',\n    addedEP: '191',\n    added: 'FIX.5.0SP2',\n    name: 'MDStatisticStatus',\n    id: 2477,\n    abbrName: 'Stat',\n    description: 'Status for a statistic to indicate its availability.',\n  },\n  {\n    type: 'float',\n    addedEP: '191',\n    added: 'FIX.5.0SP2',\n    name: 'MDStatisticValue',\n    id: 2478,\n    abbrName: 'Val',\n    description: 'Statistical value.',\n  },\n  {\n    type: 'MDStatisticValueTypeCodeSet',\n    addedEP: '191',\n    added: 'FIX.5.0SP2',\n    name: 'MDStatisticValueType',\n    id: 2479,\n    abbrName: 'Typ',\n    description: 'Type of statistical value.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'OrderDelayUnitCodeSet',\n    addedEP: '191',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'MDStatisticValueUnit',\n    id: 2480,\n    abbrName: 'ValUnit',\n    description: 'Unit of time for statistical value.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'Length',\n    addedEP: '191',\n    updatedEP: '229',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedMDStatisticDescLen',\n    id: 2481,\n    abbrName: 'EncDescLen',\n    description:\n      'Byte length of encoded (non-ASCII characters) EncodedMDStatisticDesc(2482) field.',\n  },\n  {\n    type: 'data',\n    addedEP: '191',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedMDStatisticDesc',\n    id: 2482,\n    abbrName: 'EncDesc',\n    lengthId: '2481',\n    description:\n      'Encoded (non-ASCII characters) representation of the MDStatisticDesc(2455) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the MDStatisticDesc(2455) field.',\n  },\n  {\n    type: 'RiskLimitCheckStatusCodeSet',\n    addedEP: '192',\n    added: 'FIX.5.0SP2',\n    name: 'AllocRiskLimitCheckStatus',\n    id: 2483,\n    abbrName: 'RiskLmtChkStat',\n    description:\n      'Indicates the status of the risk limit check performed on a trade for this allocation instance.',\n  },\n  {\n    type: 'AssetGroupCodeSet',\n    addedEP: '192',\n    added: 'FIX.5.0SP2',\n    name: 'AssetGroup',\n    id: 2210,\n    abbrName: 'AssetGrp',\n    description:\n      'Indicates the broad product or asset classification. May be used to provide grouping for the product taxonomy (Product(460), SecurityType(167), etc.) and/or the risk taxonomy (AssetClass(1938), AssetSubClass(1939), AssetType(1940), etc.).',\n  },\n  {\n    type: 'AssetGroupCodeSet',\n    addedEP: '192',\n    added: 'FIX.5.0SP2',\n    name: 'LegAssetGroup',\n    id: 2348,\n    abbrName: 'AssetGrp',\n    description:\n      'Indicates the broad product or asset classification. May be used to provide grouping for the product taxonomy (Product(460), SecurityType(167), etc.) and/or the risk taxonomy (AssetClass(1938), AssetSubClass(1939), AssetType(1940), etc.).',\n  },\n  {\n    type: 'String',\n    addedEP: '192',\n    added: 'FIX.5.0SP2',\n    name: 'LegContractualDefinition',\n    id: 42199,\n    abbrName: 'Def',\n    description:\n      'Specifies which contract definition, such as those published by ISDA, will apply for the terms of the trade. See http://www.fpml.org/coding-scheme/contractual-definitions for values.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '192',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegContractualDefinitions',\n    id: 42198,\n    description: 'Number of financing definitions in the repeating group.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '192',\n    added: 'FIX.5.0SP2',\n    name: 'LegContractualMatrixDate',\n    id: 42205,\n    abbrName: 'Dt',\n    description:\n      'Specifies the publication date of the applicable version of the contract matrix. If not specified, the ISDA Standard Terms Supplement defines rules for which version of the matrix is applicable.',\n  },\n  {\n    type: 'String',\n    addedEP: '192',\n    added: 'FIX.5.0SP2',\n    name: 'LegContractualMatrixSource',\n    id: 42204,\n    abbrName: 'Src',\n    description:\n      'Identifies the applicable contract matrix. See http://www.fpml.org/coding-scheme/matrix-type-1-0.xml for values.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'String',\n    addedEP: '192',\n    updatedEP: '271',\n    added: 'FIX.5.0SP2',\n    name: 'LegContractualMatrixTerm',\n    id: 42206,\n    abbrName: 'Trm',\n    description:\n      'Specifies the applicable key into the relevant contract matrix. In the case of 2000 ISDA Definitions Settlement Matrix for Early Termination and Swaptions, the LegContractualMatrixTerm(42206) is not applicable and is to be omitted. See http://www.fpml.org/coding-scheme/credit-matrix-transaction-type for values.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '192',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegContractualMatrices',\n    id: 42203,\n    description: 'Number of contractual matrices in the repeating group.',\n  },\n  {\n    type: 'data',\n    addedEP: '192',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedLegDocumentationText',\n    id: 2493,\n    abbrName: 'EncDcmntnTxt',\n    lengthId: '2494',\n    description:\n      'Encoded (non-ASCII characters) representation of the LegDocumentationText(2505) field in the encoded format specified via the MessageEncoding(347) field. If used, the ASCII (English) representation should also be specified in the LegDocumentationText(2505) field.',\n  },\n  {\n    type: 'Length',\n    addedEP: '192',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedLegDocumentationTextLen',\n    id: 2494,\n    abbrName: 'EncDcmntnTxtLen',\n    description:\n      'Byte length of encoded (non-ASCII characters) EncodedLegDocumentationText(2493) field.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '192',\n    added: 'FIX.5.0SP2',\n    name: 'LegAgreementCurrency',\n    id: 2495,\n    abbrName: 'AgmtCcy',\n    description:\n      'Contractual currency forming the basis of a financing agreement and associated transactions. Usually, but not always, the same as the trade currency.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '192',\n    added: 'FIX.5.0SP2',\n    name: 'LegAgreementDate',\n    id: 2496,\n    abbrName: 'AgmtDt',\n    description:\n      'A reference to the date the underlying agreement specified by LegAgreementID(2498) and LegAgreementDesc(2497) was executed.',\n  },\n  {\n    type: 'String',\n    addedEP: '192',\n    added: 'FIX.5.0SP2',\n    name: 'LegAgreementDesc',\n    id: 2497,\n    abbrName: 'AgmtDesc',\n    description:\n      'The full name of the base standard agreement, annexes and amendments in place between the principals applicable to a financing transaction. See http://www.fpml.org/coding-scheme/master-agreement-type for derivative values.',\n  },\n  {\n    type: 'String',\n    addedEP: '192',\n    added: 'FIX.5.0SP2',\n    name: 'LegAgreementID',\n    id: 2498,\n    abbrName: 'AgmtID',\n    description:\n      'A common reference to the applicable standing agreement between the counterparties to a financing transaction.',\n  },\n  {\n    type: 'String',\n    addedEP: '192',\n    added: 'FIX.5.0SP2',\n    name: 'LegAgreementVersion',\n    id: 2499,\n    abbrName: 'AgmtVer',\n    description: 'The version of the master agreement.',\n  },\n  {\n    type: 'String',\n    addedEP: '192',\n    added: 'FIX.5.0SP2',\n    name: 'LegBrokerConfirmationDesc',\n    id: 2500,\n    abbrName: 'BrkrCnfmDesc',\n    description:\n      'Describes the type of broker confirmation executed between the parties. Can be used as an alternative to MasterConfirmationDesc(1962). See http://www.fpml.org/coding-scheme/broker-confirmation-type for values.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '192',\n    added: 'FIX.5.0SP2',\n    name: 'LegCreditSupportAgreementDate',\n    id: 2501,\n    abbrName: 'CrdSuprtDt',\n    description:\n      'The date of the ISDA Credit Support Agreement executed between the parties and intended to govern collateral arrangements for all OTC derivatives transactions between those parties.',\n  },\n  {\n    type: 'String',\n    addedEP: '192',\n    added: 'FIX.5.0SP2',\n    name: 'LegCreditSupportAgreementDesc',\n    id: 2502,\n    abbrName: 'CrdSuprtDesc',\n    description:\n      'The type of ISDA Credit Support Agreement. See http://www.fpml.org/coding-scheme/credit-support-agreement-type for values.',\n  },\n  {\n    type: 'String',\n    addedEP: '192',\n    added: 'FIX.5.0SP2',\n    name: 'LegCreditSupportAgreementID',\n    id: 2503,\n    abbrName: 'CrdSuprtID',\n    description:\n      'A common reference or unique identifier to identify the ISDA Credit Support Agreement executed between the parties.',\n  },\n  {\n    type: 'DeliveryTypeCodeSet',\n    addedEP: '192',\n    added: 'FIX.5.0SP2',\n    name: 'LegDeliveryType',\n    id: 2504,\n    abbrName: 'DlvryTyp',\n    description: 'Identifies type of settlement.',\n  },\n  {\n    type: 'String',\n    addedEP: '192',\n    added: 'FIX.5.0SP2',\n    name: 'LegDocumentationText',\n    id: 2505,\n    abbrName: 'DcmntnTxt',\n    description:\n      'A sentence or phrase pertinent to the trade, not a reference to an external document. E.g. \"To be registered with the U.S. Environmental Protection Agency, Acid Rain Division, SO2 Allowance Tracking System\".',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '192',\n    added: 'FIX.5.0SP2',\n    name: 'LegEndDate',\n    id: 2506,\n    abbrName: 'EndDt',\n    description:\n      'End date of a financing deal, i.e. the date the seller reimburses the buyer and takes back control of the collateral.',\n  },\n  {\n    type: 'String',\n    addedEP: '192',\n    added: 'FIX.5.0SP2',\n    name: 'LegGoverningLaw',\n    id: 2507,\n    abbrName: 'Law',\n    description:\n      'Identification of the law governing the transaction. See http://www.fpml.org/coding-scheme/governing-law for values.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '192',\n    added: 'FIX.5.0SP2',\n    name: 'LegMarginRatio',\n    id: 2508,\n    abbrName: 'MgnRatio',\n    description:\n      'The fraction of the cash consideration that must be collateralized, expressed as a percent. A MarginRatio of 2% indicates that the value of the collateral (after deducting for \"haircut\") must exceed the cash consideration by 2%.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '192',\n    added: 'FIX.5.0SP2',\n    name: 'LegMasterConfirmationAnnexDate',\n    id: 2509,\n    abbrName: 'CnfmAnxDt',\n    description:\n      'The date that an annexation to the master confirmation was executed between the parties.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '192',\n    added: 'FIX.5.0SP2',\n    name: 'LegMasterConfirmationDate',\n    id: 2510,\n    abbrName: 'CnfmDt',\n    description:\n      'Alternative to broker confirmation. The date of the confirmation executed between the parties and intended to govern all relevant transactions between those parties.',\n  },\n  {\n    type: 'String',\n    addedEP: '192',\n    added: 'FIX.5.0SP2',\n    name: 'LegMasterConfirmationDesc',\n    id: 2511,\n    abbrName: 'CnfmDesc',\n    description:\n      'The type of master confirmation executed between the parties. See http://www.fpml.org/coding-scheme/master-confirmation-type for values.',\n  },\n  {\n    type: 'String',\n    addedEP: '192',\n    added: 'FIX.5.0SP2',\n    name: 'LegMasterConfirmationAnnexDesc',\n    id: 2512,\n    abbrName: 'CnfmAnxDesc',\n    description:\n      'The type of master confirmation annexation executed between the parties. See http://www.fpml.org/coding-scheme/master-confirmation-annex-type for values.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '192',\n    added: 'FIX.5.0SP2',\n    name: 'LegStartDate',\n    id: 2513,\n    abbrName: 'StartDt',\n    description:\n      'Start date of a financing deal, i.e. the date the buyer pays the seller cash and takes control of the collateral.',\n  },\n  {\n    type: 'TerminationTypeCodeSet',\n    addedEP: '192',\n    added: 'FIX.5.0SP2',\n    name: 'LegTerminationType',\n    id: 2514,\n    abbrName: 'TrmTyp',\n    description: 'Type of financing termination.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '192',\n    added: 'FIX.5.0SP2',\n    name: 'LegFinancingTermSupplementDate',\n    id: 42202,\n    abbrName: 'Dt',\n    description:\n      'Specifies the publication date of the applicable version of the contractual supplement.',\n  },\n  {\n    type: 'String',\n    addedEP: '192',\n    added: 'FIX.5.0SP2',\n    name: 'LegFinancingTermSupplementDesc',\n    id: 42201,\n    abbrName: 'Desc',\n    description:\n      'Identifies the applicable contractual supplement. See http://www.fpml.org/coding-scheme/contractual-supplement for values.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '192',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegFinancingTermSupplements',\n    id: 42200,\n    description: 'Number of financing terms supplements in the repeating group.',\n  },\n  {\n    type: 'AssetGroupCodeSet',\n    addedEP: '192',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingAssetGroup',\n    id: 2491,\n    abbrName: 'AssetGrp',\n    description:\n      'Indicates the broad product or asset classification. May be used to provide grouping for the product taxonomy (Product(460), SecurityType(167), etc.) and/or the risk taxonomy (AssetClass(1938), AssetSubClass(1939), AssetType(1940), etc.).',\n  },\n  {\n    type: 'String',\n    addedEP: '192',\n    added: 'FIX.5.0SP2',\n    name: 'FirmTransactionID',\n    id: 2484,\n    abbrName: 'FirmTxnID',\n    description: 'The unique transaction entity identifier assigned by the firm.',\n  },\n  {\n    type: 'String',\n    addedEP: '192',\n    added: 'FIX.5.0SP2',\n    name: 'TransactionID',\n    id: 2485,\n    abbrName: 'TxnID',\n    description: 'The unique transaction entity identifier.',\n  },\n  {\n    type: 'String',\n    addedEP: '192',\n    added: 'FIX.5.0SP2',\n    name: 'WireReference',\n    id: 2486,\n    abbrName: 'WreRef',\n    description:\n      'The reference to a wire transfer associated with the transaction. Wire references done via wire services such as Fedwire Output Message Accountabilitty Data \"OMAD\" or SWIFT Output Sequence Number \"OSN\".',\n  },\n  {\n    type: 'CollRptRejectReasonCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '192',\n    added: 'FIX.5.0SP2',\n    name: 'CollRptRejectReason',\n    id: 2487,\n    abbrName: 'RejRsn',\n    description: 'Reject reason code for rejecting the collateral report.',\n  },\n  {\n    type: 'CollRptStatusCodeSet',\n    addedEP: '192',\n    added: 'FIX.5.0SP2',\n    name: 'CollRptStatus',\n    id: 2488,\n    abbrName: 'RptStat',\n    description: 'The status of the collateral report.',\n  },\n  {\n    type: 'String',\n    addedEP: '192',\n    added: 'FIX.5.0SP2',\n    name: 'PackageID',\n    id: 2489,\n    abbrName: 'PackageID',\n    description:\n      'Identifier assigned to a collection of trades so that they can be analyzed as one atomic unit for risk assessment and clearing.',\n  },\n  {\n    type: 'int',\n    addedEP: '192',\n    added: 'FIX.5.0SP2',\n    name: 'TradeNumber',\n    id: 2490,\n    abbrName: 'TrdNum',\n    description: 'Ordinal number of the trade within a series of related trades.',\n  },\n  {\n    type: 'Qty',\n    addedEP: '193',\n    added: 'FIX.5.0SP2',\n    name: 'AllocCalculatedCcyQty',\n    id: 2515,\n    abbrName: 'CalcCcyQty',\n    description:\n      'Used for the calculated quantity of the other side of the currency trade applicable to the allocation instance.',\n  },\n  {\n    type: 'String',\n    addedEP: '193',\n    added: 'FIX.5.0SP2',\n    name: 'CollateralRequestInstruction',\n    id: 2516,\n    abbrName: 'CollReqInst',\n    description: 'An encoded collateral request processing instruction to the receiver.',\n  },\n  {\n    type: 'String',\n    addedEP: '193',\n    added: 'FIX.5.0SP2',\n    name: 'CollateralRequestLinkID',\n    id: 2517,\n    abbrName: 'CollReqLinkID',\n    description: 'A unique identifier to link together a set or group of requests.',\n  },\n  {\n    type: 'int',\n    addedEP: '193',\n    added: 'FIX.5.0SP2',\n    name: 'CollateralRequestNumber',\n    id: 2518,\n    abbrName: 'CollReqNum',\n    description: 'Ordinal number of the request within a set or group of requests.',\n  },\n  {\n    type: 'int',\n    addedEP: '193',\n    added: 'FIX.5.0SP2',\n    name: 'TotNumCollateralRequests',\n    id: 2519,\n    abbrName: 'TotNumCollReqs',\n    description: 'Total number of request messages within a set or group of requests.',\n  },\n  {\n    type: 'String',\n    addedEP: '193',\n    added: 'FIX.5.0SP2',\n    name: 'WarningText',\n    id: 2520,\n    abbrName: 'WarnTxt',\n    description:\n      'Communicates the underlying condition when the request response indicates \"warning\".',\n  },\n  {\n    type: 'data',\n    addedEP: '193',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedWarningText',\n    id: 2521,\n    abbrName: 'EncWarnTxt',\n    lengthId: '2522',\n    description:\n      'Encoded (non-ASCII characters) representation of the WarningText(2520) field in the encoded format specified via the MessageEncoding(347) field. If used, the ASCII (English) representation should also be specified in the WarningText(2520) field.',\n  },\n  {\n    type: 'Length',\n    addedEP: '193',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedWarningTextLen',\n    id: 2522,\n    abbrName: 'EncWarnTxtLen',\n    description:\n      'Byte length of encoded (non-ASCII characters) EncodedWarningtText(2521) field.',\n  },\n  {\n    type: 'String',\n    addedEP: '193',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamCommodityDeliveryPricingRegion',\n    id: 42588,\n    abbrName: 'DlvryPxngRgn',\n    description:\n      'The delivery or pricing region associated with the commodity swap. See http://www.ecfr.gov/cgi-bin/text-idx?SID=660d6a40f836aa6ddf213cba080c5b22&node=ap17.2.43_17.e&rgn=div9 for the external code list.\\n\\nIn the context of CFTC Part 43 Appendix E requirement this represents the specific delivery point or pricing point associated with publically reportable commodity swap transactions.',\n  },\n  {\n    type: 'String',\n    addedEP: '193',\n    added: 'FIX.5.0SP2',\n    name: 'StreamCommodityDeliveryPricingRegion',\n    id: 42587,\n    abbrName: 'DlvryPxngRgn',\n    description:\n      'The delivery or pricing region associated with the commodity swap. See http://www.ecfr.gov/cgi-bin/text-idx?SID=660d6a40f836aa6ddf213cba080c5b22&node=ap17.2.43_17.e&rgn=div9 for the external code list.\\n\\nIn the context of CFTC Part 43 Appendix E requirement this represents the specific delivery point or pricing point associated with publicly reportable commodity swap transactions.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '193',\n    added: 'FIX.5.0SP2',\n    name: 'AffiliatedFirmsTradeIndicator',\n    id: 2525,\n    abbrName: 'AffltdFirmsTrdInd',\n    description:\n      'Indicates whether the transaction or position was entered into between two affiliated firms. I.e. one counterparty has an ownership interest in the other counterparty but less than the majority interest.\\n\\nThis trade attribute was identified under and applies to the Canadian CSA trade reporting regulations.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '193',\n    added: 'FIX.5.0SP2',\n    name: 'InternationalSwapIndicator',\n    id: 2526,\n    abbrName: 'IntlSwapInd',\n    description:\n      'Identifies the swap trade as an \"international\" transaction.\\n\\nIn the context of CFTC Regulation 45.3(h), an international swap is required by U.S. law and the law of another jurisdiction to be reported both to a US Swaps Data Repository and to a different trade repository registered within the other jurisdiction. The additional SDRs must be identified in the appropriate Parties component with PartyRole(452) = 102 (Data repository), PartyRoleQualifier(2376) = 11 (Additional international trade repository) and PartySubIDType(803) = 70 (Location or jurisdiction).',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '193',\n    added: 'FIX.5.0SP2',\n    name: 'MultiAssetSwapIndicator',\n    id: 2527,\n    abbrName: 'MAsstSwapInd',\n    description:\n      \"Indicates a swap that does not have one easily identifiable primary underlying asset, but instead involves multiple underlying assets within one trade repository's jurisdiction that belong to different asset classes.\\n\\n\",\n  },\n  {\n    type: 'String',\n    addedEP: '193',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamCommodityDeliveryPricingRegion',\n    id: 42589,\n    abbrName: 'DlvryPxngRgn',\n    description:\n      'The delivery or pricing region associated with the commodity swap. See http://www.ecfr.gov/cgi-bin/text-idx?SID=660d6a40f836aa6ddf213cba080c5b22&node=ap17.2.43_17.e&rgn=div9 for the external code list.\\n\\nIn the context of CFTC Part 43 Appendix E requirement this represents the specific delivery point or pricing point associated with publically reportable commodity swap transactions.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '194',\n    added: 'FIX.5.0SP2',\n    name: 'NoRelativeValues',\n    id: 2529,\n    description: 'Number of relative value metrics entries in the repeating group.',\n  },\n  {\n    type: 'RelativeValueTypeCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '194',\n    added: 'FIX.5.0SP2',\n    name: 'RelativeValueType',\n    id: 2530,\n    abbrName: 'Typ',\n    description: 'Indicates the type of relative value measurement being specified.',\n  },\n  {\n    type: 'float',\n    addedEP: '194',\n    added: 'FIX.5.0SP2',\n    name: 'RelativeValue',\n    id: 2531,\n    abbrName: 'Val',\n    description:\n      'The valuation of an instrument relative to a base measurement specified in RelativeValueType(2530). This value can be negative.',\n  },\n  {\n    type: 'RelativeValueSideCodeSet',\n    addedEP: '194',\n    added: 'FIX.5.0SP2',\n    name: 'RelativeValueSide',\n    id: 2532,\n    abbrName: 'Side',\n    description: 'Specifies the side of the relative value.',\n  },\n  {\n    type: 'float',\n    addedEP: '194',\n    added: 'FIX.5.0SP2',\n    name: 'BidSpread',\n    id: 2533,\n    abbrName: 'BidSpread',\n    description:\n      'Basis points relative to a benchmark curve on the bid side, such as LIBOR, or a known security, such as 10Y US Treasury bond. The benchmark security or curve name is specified in the SpreadOrBenchmarkCurveData component.',\n  },\n  {\n    type: 'float',\n    addedEP: '194',\n    added: 'FIX.5.0SP2',\n    name: 'OfferSpread',\n    id: 2534,\n    abbrName: 'OfrSpread',\n    description:\n      'Basis points relative to a benchmark curve on the offer side, such as LIBOR, or a known security, such as 10Y US Treasury bond. The benchmark security or curve name is specified in the SpreadOrBenchmarkCurveData component.',\n  },\n  {\n    type: 'Price',\n    addedEP: '195',\n    added: 'FIX.5.0SP2',\n    name: 'ClearingSettlPrice',\n    id: 2528,\n    abbrName: 'SetPx',\n    description: 'Clearing settlement price.',\n  },\n  {\n    type: 'MDReportEventCodeSet',\n    addedEP: '195',\n    added: 'FIX.5.0SP2',\n    name: 'MDReportEvent',\n    id: 2535,\n    abbrName: 'MDRptEvent',\n    description: 'Technical event within market data feed.',\n  },\n  {\n    type: 'int',\n    addedEP: '195',\n    added: 'FIX.5.0SP2',\n    name: 'MDReportCount',\n    id: 2536,\n    abbrName: 'MDRptCnt',\n    description:\n      'Number of reference and market data messages in-between two MarketDataReport(35=DR) messages.',\n  },\n  {\n    type: 'int',\n    addedEP: '195',\n    added: 'FIX.5.0SP2',\n    name: 'TotNoMarketSegmentReports',\n    id: 2537,\n    abbrName: 'TotNoMktSegRpts',\n    description: 'Total number of reports related to market segments.',\n  },\n  {\n    type: 'int',\n    addedEP: '195',\n    added: 'FIX.5.0SP2',\n    name: 'TotNoInstrumentReports',\n    id: 2538,\n    abbrName: 'TotNoInstrmtRpts',\n    description: 'Total number of reports related to instruments.',\n  },\n  {\n    type: 'int',\n    addedEP: '195',\n    added: 'FIX.5.0SP2',\n    name: 'TotNoPartyDetailReports',\n    id: 2539,\n    abbrName: 'TotNoPtyDetlRpts',\n    description: 'Total number of reports related to party detail information.',\n  },\n  {\n    type: 'int',\n    addedEP: '195',\n    added: 'FIX.5.0SP2',\n    name: 'TotNoEntitlementReports',\n    id: 2540,\n    abbrName: 'TotNoEntlmntRpts',\n    description: 'Total number of reports related to party entitlement information.',\n  },\n  {\n    type: 'int',\n    addedEP: '195',\n    added: 'FIX.5.0SP2',\n    name: 'TotNoRiskLimitReports',\n    id: 2541,\n    abbrName: 'TotNoRiskLmtRpts',\n    description: 'Total number of reports related to party risk limit information.',\n  },\n  {\n    type: 'MarketSegmentStatusCodeSet',\n    addedEP: '195',\n    added: 'FIX.5.0SP2',\n    name: 'MarketSegmentStatus',\n    id: 2542,\n    abbrName: 'MktSegStat',\n    description: 'Status of market segment.',\n  },\n  {\n    type: 'MarketSegmentTypeCodeSet',\n    addedEP: '195',\n    added: 'FIX.5.0SP2',\n    name: 'MarketSegmentType',\n    id: 2543,\n    abbrName: 'MktSegTyp',\n    description: 'Used to classify the type of market segment.',\n  },\n  {\n    type: 'MarketSegmentSubTypeCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '195',\n    added: 'FIX.5.0SP2',\n    name: 'MarketSegmentSubType',\n    id: 2544,\n    abbrName: 'MktSegSubTyp',\n    description:\n      'Used to further categorize market segments within a MarketSegmentType(2543).',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '195',\n    added: 'FIX.5.0SP2',\n    name: 'NoRelatedMarketSegments',\n    id: 2545,\n    description: 'Number of related market segments.',\n  },\n  {\n    type: 'String',\n    addedEP: '195',\n    added: 'FIX.5.0SP2',\n    name: 'RelatedMarketSegmentID',\n    id: 2546,\n    abbrName: 'ReltdMktSegID',\n    description: 'Identifies a related market segment.',\n  },\n  {\n    type: 'MarketSegmentRelationshipCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '195',\n    added: 'FIX.5.0SP2',\n    name: 'MarketSegmentRelationship',\n    id: 2547,\n    abbrName: 'MktSegRltnshp',\n    description: 'Type of relationship between two or more market segments.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '195',\n    added: 'FIX.5.0SP2',\n    name: 'NoAuctionTypeRules',\n    id: 2548,\n    description: 'Number of auction order types.',\n  },\n  {\n    type: 'String',\n    addedEP: '195',\n    added: 'FIX.5.0SP2',\n    name: 'AuctionTypeProductComplex',\n    id: 2549,\n    abbrName: 'AuctTypProdCmplx',\n    description:\n      'Identifies an entire suite of products for which the auction order type rule applies.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '195',\n    added: 'FIX.5.0SP2',\n    name: 'NoPriceRangeRules',\n    id: 2550,\n    description: 'Number of rules related to price ranges.',\n  },\n  {\n    type: 'Price',\n    addedEP: '195',\n    added: 'FIX.5.0SP2',\n    name: 'StartPriceRange',\n    id: 2551,\n    abbrName: 'StartPxRng',\n    description: 'Lower boundary for price range.',\n  },\n  {\n    type: 'Price',\n    addedEP: '195',\n    added: 'FIX.5.0SP2',\n    name: 'EndPriceRange',\n    id: 2552,\n    abbrName: 'EndPxRng',\n    description: 'Upper boundary for price range.',\n  },\n  {\n    type: 'Price',\n    addedEP: '195',\n    added: 'FIX.5.0SP2',\n    name: 'PriceRangeValue',\n    id: 2553,\n    abbrName: 'PxRngValu',\n    description: 'Maximum range expressed as absolute value.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '195',\n    added: 'FIX.5.0SP2',\n    name: 'PriceRangePercentage',\n    id: 2554,\n    abbrName: 'PxRngPctage',\n    description: 'Maximum range expressed as percentage.',\n  },\n  {\n    type: 'String',\n    addedEP: '195',\n    added: 'FIX.5.0SP2',\n    name: 'PriceRangeProductComplex',\n    id: 2555,\n    abbrName: 'PxRngProdCmplx',\n    description:\n      'Identifies an entire suite of products in the context of trading rules related to price ranges.',\n  },\n  {\n    type: 'String',\n    addedEP: '195',\n    added: 'FIX.5.0SP2',\n    name: 'PriceRangeRuleID',\n    id: 2556,\n    abbrName: 'PxRngRuleID',\n    description: 'Identifier for a price range rule.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '195',\n    added: 'FIX.5.0SP2',\n    name: 'FastMarketPercentage',\n    id: 2557,\n    abbrName: 'FastMktPctage',\n    description:\n      'The percentage factor to be applied to trading rule parameters (e.g. price ranges, size ranges, etc.) when fast market conditions are applicable.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '195',\n    added: 'FIX.5.0SP2',\n    name: 'NoQuoteSizeRules',\n    id: 2558,\n    description: 'Number of rules related to quote sizes.',\n  },\n  {\n    type: 'QuoteSideIndicatorCodeSet',\n    addedEP: '195',\n    added: 'FIX.5.0SP2',\n    name: 'QuoteSideIndicator',\n    id: 2559,\n    abbrName: 'QuotSideInd',\n    description: 'Indicates whether single sided quotes are allowed.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '195',\n    added: 'FIX.5.0SP2',\n    name: 'NoFlexProductEligibilities',\n    id: 2560,\n    description:\n      'Number of eligibility indicators for the creation of flexible securities.',\n  },\n  {\n    type: 'String',\n    addedEP: '195',\n    added: 'FIX.5.0SP2',\n    name: 'FlexProductEligibilityComplex',\n    id: 2561,\n    abbrName: 'FlexProdEligCmplx',\n    description:\n      'Identifies an entire suite of products which are eligible for the creation of flexible securities.',\n  },\n  {\n    type: 'int',\n    addedEP: '195',\n    added: 'FIX.5.0SP2',\n    name: 'NumOfComplexInstruments',\n    id: 2562,\n    abbrName: 'NumCmplxInstrmt',\n    description:\n      'Represents the total number of multileg securities or user defined securities that make up the security.',\n  },\n  {\n    type: 'int',\n    addedEP: '195',\n    added: 'FIX.5.0SP2',\n    name: 'MarketDepthTimeInterval',\n    id: 2563,\n    abbrName: 'MktDepthTmIntvl',\n    description:\n      'Specifies the time interval used for netting market data in a price depth feed.',\n  },\n  {\n    type: 'OrderDelayUnitCodeSet',\n    addedEP: '195',\n    added: 'FIX.5.0SP2',\n    name: 'MarketDepthTimeIntervalUnit',\n    id: 2564,\n    abbrName: 'MktDepthTmIntvlUnit',\n    description:\n      'The time unit associated with the time interval of the netting of market data in a price depth feed.',\n  },\n  {\n    type: 'int',\n    addedEP: '195',\n    added: 'FIX.5.0SP2',\n    name: 'MDRecoveryTimeInterval',\n    id: 2565,\n    abbrName: 'MDRcvryTmIntvl',\n    description:\n      'Specifies the time interval between two repetitions of the same market data for cyclic recovery feeds.',\n  },\n  {\n    type: 'OrderDelayUnitCodeSet',\n    addedEP: '195',\n    added: 'FIX.5.0SP2',\n    name: 'MDRecoveryTimeIntervalUnit',\n    id: 2566,\n    abbrName: 'MDRcvryTmIntvlUnit',\n    description:\n      'The time unit associated with the time interval between two cycles of the same market data in cyclic data recovery feeds.',\n  },\n  {\n    type: 'String',\n    addedEP: '195',\n    added: 'FIX.5.0SP2',\n    name: 'PrimaryServiceLocationID',\n    id: 2567,\n    abbrName: 'SvcLctnID1',\n    description: 'Primary service location identifier.',\n  },\n  {\n    type: 'String',\n    addedEP: '195',\n    added: 'FIX.5.0SP2',\n    name: 'SecondaryServiceLocationID',\n    id: 2568,\n    abbrName: 'SvcLctnID2',\n    description: 'Secondary or alternate service location identifier.',\n  },\n  {\n    type: 'String',\n    addedEP: '195',\n    added: 'FIX.5.0SP2',\n    name: 'MatchRuleProductComplex',\n    id: 2569,\n    abbrName: 'MtchRuleProdCmplx',\n    description:\n      'Identifies an entire suite of products for which the matching rule applies.',\n  },\n  {\n    type: 'CustomerPriorityCodeSet',\n    addedEP: '195',\n    added: 'FIX.5.0SP2',\n    name: 'CustomerPriority',\n    id: 2570,\n    abbrName: 'CustPri',\n    description: 'Specifies the kind of priority given to customers.',\n  },\n  {\n    type: 'String',\n    addedEP: '195',\n    added: 'FIX.5.0SP2',\n    name: 'TickRuleProductComplex',\n    id: 2571,\n    abbrName: 'TickRuleProdCmplx',\n    description:\n      'Identifies an entire suite of products for which the price tick rule applies.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '195',\n    added: 'FIX.5.0SP2',\n    name: 'PreviousAdjustedOpenInterest',\n    id: 2572,\n    abbrName: 'PrevAdjOpenInt',\n    description: \"Previous day's adjusted open interest.\",\n  },\n  {\n    type: 'Amt',\n    addedEP: '195',\n    added: 'FIX.5.0SP2',\n    name: 'PreviousUnadjustedOpenInterest',\n    id: 2573,\n    abbrName: 'PrevUnadjOpenInt',\n    description: \"Previous day's unadjusted open interest.\",\n  },\n  {\n    type: 'Boolean',\n    addedEP: '195',\n    added: 'FIX.5.0SP2',\n    name: 'LowExercisePriceOptionIndicator',\n    id: 2574,\n    abbrName: 'LowExerPxOptInd',\n    description:\n      'Indicates if a given option instrument permits low exercise prices (LEPO).',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '195',\n    added: 'FIX.5.0SP2',\n    name: 'BlockTradeEligibilityIndicator',\n    id: 2575,\n    abbrName: 'BlckTrdEligInd',\n    description: 'Indicates if a given instrument is eligible for block trading.',\n  },\n  {\n    type: 'int',\n    addedEP: '195',\n    added: 'FIX.5.0SP2',\n    name: 'InstrumentPricePrecision',\n    id: 2576,\n    abbrName: 'PxPrcsn',\n    description: 'Specifies the number of decimal places for instrument prices.',\n  },\n  {\n    type: 'int',\n    addedEP: '195',\n    added: 'FIX.5.0SP2',\n    name: 'StrikePricePrecision',\n    id: 2577,\n    abbrName: 'StrkPxPrcsn',\n    description: 'Specifies the number of decimal places for exercise price.',\n  },\n  {\n    type: 'Price',\n    addedEP: '195',\n    added: 'FIX.5.0SP2',\n    name: 'OrigStrikePrice',\n    id: 2578,\n    abbrName: 'OrigStrkPx',\n    description:\n      'Original exercise price, e.g. after corporate action requiring changes.',\n  },\n  {\n    type: 'SettlSubMethodCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '195',\n    added: 'FIX.5.0SP2',\n    name: 'SettlSubMethod',\n    id: 2579,\n    abbrName: 'SettlSubMeth',\n    description:\n      'Specifies a suitable settlement sub-method for a given settlement method.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '195',\n    added: 'FIX.5.0SP2',\n    name: 'NoClearingPriceParameters',\n    id: 2580,\n    description: 'Number of parameter sets for clearing prices.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '195',\n    added: 'FIX.5.0SP2',\n    name: 'BusinessDayType',\n    id: 2581,\n    abbrName: 'BizDayTyp',\n    description: 'Relative identification of a business day.',\n  },\n  {\n    type: 'PriceOffset',\n    addedEP: '195',\n    added: 'FIX.5.0SP2',\n    name: 'ClearingPriceOffset',\n    id: 2582,\n    abbrName: 'ClrPxOfst',\n    description:\n      'Constant value required for the calculation of the clearing price, e.g. for variance futures.',\n  },\n  {\n    type: 'float',\n    addedEP: '195',\n    added: 'FIX.5.0SP2',\n    name: 'VegaMultiplier',\n    id: 2583,\n    abbrName: 'VegaMult',\n    description:\n      'Constant value required for the calculation of the clearing quantity, e.g. for variance futures.',\n  },\n  {\n    type: 'int',\n    addedEP: '195',\n    added: 'FIX.5.0SP2',\n    name: 'AnnualTradingBusinessDays',\n    id: 2584,\n    abbrName: 'AnnlTrdgBizDays',\n    description: 'Number of trading business days in a year.',\n  },\n  {\n    type: 'int',\n    addedEP: '195',\n    added: 'FIX.5.0SP2',\n    name: 'TotalTradingBusinessDays',\n    id: 2585,\n    abbrName: 'TotTrdgBizDays',\n    description: 'Number of trading business days over the lifetime of an instrument.',\n  },\n  {\n    type: 'int',\n    addedEP: '195',\n    added: 'FIX.5.0SP2',\n    name: 'TradingBusinessDays',\n    id: 2586,\n    abbrName: 'TrdgBizDays',\n    description: 'Number of actual trading business days of an instrument.',\n  },\n  {\n    type: 'float',\n    addedEP: '195',\n    added: 'FIX.5.0SP2',\n    name: 'RealizedVariance',\n    id: 2587,\n    abbrName: 'RlzdVarnc',\n    description:\n      'Actual or realized variance of an instrument used to calculate settlement prices, e.g. for variance futures.',\n  },\n  {\n    type: 'float',\n    addedEP: '195',\n    added: 'FIX.5.0SP2',\n    name: 'StandardVariance',\n    id: 2588,\n    abbrName: 'StdVarnc',\n    description:\n      'Standard variance (over the lifetime of an instrument) or initial variance used to calculate settlement prices, e.g. for variance futures.',\n  },\n  {\n    type: 'Price',\n    addedEP: '195',\n    added: 'FIX.5.0SP2',\n    name: 'RelatedClosePrice',\n    id: 2589,\n    abbrName: 'ReltdClsPx',\n    description:\n      'Closing price of the underlying required to calculate the RealizedVariance(2587).',\n  },\n  {\n    type: 'float',\n    addedEP: '195',\n    added: 'FIX.5.0SP2',\n    name: 'OvernightInterestRate',\n    id: 2590,\n    abbrName: 'OvrNiteIntRt',\n    description: 'Overnight interest rate.',\n  },\n  {\n    type: 'float',\n    addedEP: '195',\n    added: 'FIX.5.0SP2',\n    name: 'AccumulatedReturnModifiedVariationMargin',\n    id: 2591,\n    abbrName: 'ARMVM',\n    description:\n      'The economic cost of the variation margin from one trading day to the next.',\n  },\n  {\n    type: 'CalculationMethodCodeSet',\n    addedEP: '195',\n    added: 'FIX.5.0SP2',\n    name: 'CalculationMethod',\n    id: 2592,\n    abbrName: 'CalcMeth',\n    description: 'Specifies how the calculation will be made.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '196',\n    added: 'FIX.5.0SP2',\n    name: 'NoMiscFeeSubTypes',\n    id: 2633,\n    description: 'Specifies the number of miscellaneous fee sub-types.',\n  },\n  {\n    type: 'String',\n    addedEP: '196',\n    added: 'FIX.5.0SP2',\n    name: 'MiscFeeSubType',\n    id: 2634,\n    abbrName: 'Typ',\n    description:\n      'Used to provide more granular fee types related to a value of MiscFeeType(139).\\n\\nSee http://www.fixtradingcommunity.org/codelists#Misc_Fee_Sub_Types for code list of applicable fees. Other fee sub-types may be used by mutual agreement of the counterparties.\\n\\nFee sub-types may include market or country specific fee.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '196',\n    added: 'FIX.5.0SP2',\n    name: 'MiscFeeSubTypeAmt',\n    id: 2635,\n    abbrName: 'Amt',\n    description: 'The amount of the specified MiscFeeSubType(2634).',\n  },\n  {\n    type: 'String',\n    addedEP: '196',\n    added: 'FIX.5.0SP2',\n    name: 'MiscFeeSubTypeDesc',\n    id: 2636,\n    abbrName: 'Desc',\n    description:\n      'Can be used to provide an optional textual description of the fee sub-type.',\n  },\n  {\n    type: 'Length',\n    addedEP: '196',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedMiscFeeSubTypeDescLen',\n    id: 2637,\n    abbrName: 'EncDescLen',\n    description:\n      'Byte length of encoded (non-ASCII characters) EncodedMiscFeeSubTypeDesc(2638) field.',\n  },\n  {\n    type: 'data',\n    addedEP: '196',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedMiscFeeSubTypeDesc',\n    id: 2638,\n    abbrName: 'EncDesc',\n    lengthId: '2637',\n    description:\n      'Encoded (non-ASCII characters) representation of the MiscFeeSubTypeDesc(2636) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the MiscFeeSubTypeDesc(2636) field.',\n  },\n  {\n    type: 'CollateralAmountTypeCodeSet',\n    addedEP: '197',\n    added: 'FIX.5.0SP2',\n    name: 'CollateralAmountType',\n    id: 2632,\n    abbrName: 'AmtTyp',\n    description: 'The type of value in CurrentCollateralAmount(1704).',\n  },\n  {\n    type: 'String',\n    addedEP: '199',\n    added: 'FIX.5.0SP2',\n    name: 'PositionID',\n    id: 2618,\n    abbrName: 'PosID',\n    description:\n      'Unique identifier for a position entity. Refer to PosMaintRptID(721) for a unique identifier of a position report message.',\n  },\n  {\n    type: 'String',\n    addedEP: '203',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentDesc',\n    id: 43087,\n    abbrName: 'Desc',\n    description:\n      'A short descriptive name given to the payment, e.g. Premium, Upfront, etc. The description has no intrinsic meaning but should be arbitrarily chosen by the remitter as reference.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '204',\n    added: 'FIX.5.0SP2',\n    name: 'NoCommissions',\n    id: 2639,\n    description: 'Number of commissions in the repeating group.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'Amt',\n    addedEP: '204',\n    updatedEP: '223',\n    added: 'FIX.5.0SP2',\n    name: 'CommissionAmount',\n    id: 2640,\n    abbrName: 'Amt',\n    description: 'The commission amount.',\n  },\n  {\n    type: 'CommissionAmountTypeCodeSet',\n    addedEP: '204',\n    added: 'FIX.5.0SP2',\n    name: 'CommissionAmountType',\n    id: 2641,\n    abbrName: 'Typ',\n    description:\n      'Indicates what type of commission is being expressed in CommissionAmount(2640).',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'CommTypeCodeSet',\n    addedEP: '204',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'CommissionBasis',\n    id: 2642,\n    abbrName: 'Basis',\n    description: 'Specifies the basis or unit used to calculate the commission.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'Currency',\n    addedEP: '204',\n    updatedEP: '273',\n    added: 'FIX.5.0SP2',\n    name: 'CommissionCurrency',\n    id: 2643,\n    abbrName: 'Ccy',\n    description:\n      \"Specifies the currency denomination of the commission amount if different from the trade's currency.\\n\\nCommissionCurrencyCodeSource(2923) may be used to disambiguate the code source scheme used, and ISO 4217 is the default scheme if absent.\",\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'UnitOfMeasureCodeSet',\n    addedEP: '204',\n    updatedEP: '223',\n    added: 'FIX.5.0SP2',\n    name: 'CommissionUnitOfMeasure',\n    id: 2644,\n    abbrName: 'UOM',\n    description: 'The commission rate unit of measure.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '204',\n    added: 'FIX.5.0SP2',\n    name: 'CommissionUnitOfMeasureCurrency',\n    id: 2645,\n    abbrName: 'UOMCcy',\n    description:\n      'Indicates the currency of the unit of measure. Conditionally required when CommissionUnitOfMeasure(2644) = Ccy (Amount of currency).',\n  },\n  {\n    type: 'float',\n    addedEP: '204',\n    added: 'FIX.5.0SP2',\n    name: 'CommissionRate',\n    id: 2646,\n    abbrName: 'Rt',\n    description:\n      'The commission rate when CommissionAmount(2640) is based on a percentage of quantity, amount per unit or a factor of \"unit of measure\". If the rate is a percentage or expressed in basis points, use the decimalized form, e.g. \"0.05\" for a 5% commission or \"0.005\" for 50 basis points.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '204',\n    added: 'FIX.5.0SP2',\n    name: 'CommissionSharedIndicator',\n    id: 2647,\n    abbrName: 'SharedInd',\n    description:\n      'Indicates whether the amount in CommissionAmount(2640) is to be shared with a third party, e.g. as part of a directed brokerage commission sharing arrangement.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '204',\n    added: 'FIX.5.0SP2',\n    name: 'CommissionAmountShared',\n    id: 2648,\n    abbrName: 'AmtShared',\n    description:\n      'Commission amount to be shared with a third party, e.g. as part of a directed brokerage commission sharing arrangement. If specified, this amount should not exceed the amount in CommissionAmount(2640).',\n  },\n  {\n    type: 'String',\n    addedEP: '204',\n    added: 'FIX.5.0SP2',\n    name: 'CommissionLegRefID',\n    id: 2649,\n    abbrName: 'LegRefID',\n    description:\n      \"Identifies the leg of the trade the entry applies to by referencing the leg's LegID(1788).\",\n  },\n  {\n    type: 'String',\n    addedEP: '204',\n    added: 'FIX.5.0SP2',\n    name: 'CommissionDesc',\n    id: 2650,\n    abbrName: 'Desc',\n    description: 'Description of the commission.',\n  },\n  {\n    type: 'Length',\n    addedEP: '204',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedCommissionDescLen',\n    id: 2651,\n    abbrName: 'EncDescLen',\n    description:\n      'Byte length of the encoded (non-ASCII characters) EncodedCommissionDesc(2652) field.',\n  },\n  {\n    type: 'data',\n    addedEP: '204',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedCommissionDesc',\n    id: 2652,\n    abbrName: 'EncDesc',\n    lengthId: '2651',\n    description:\n      'Encoded (non-ASCII characters) representation of the CommissionDesc(2650) field in the encoded format specified via the MessageEncoding(347) field. If used, the ASCII (English) representation should also be specified in the CommissionDesc(2650) field.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '204',\n    added: 'FIX.5.0SP2',\n    name: 'NoAllocCommissions',\n    id: 2653,\n    description: 'Number of commissions in the repeating group.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '204',\n    added: 'FIX.5.0SP2',\n    name: 'AllocCommissionAmount',\n    id: 2654,\n    abbrName: 'Amt',\n    description: 'The commission amount.',\n  },\n  {\n    type: 'CommissionAmountTypeCodeSet',\n    addedEP: '204',\n    added: 'FIX.5.0SP2',\n    name: 'AllocCommissionAmountType',\n    id: 2655,\n    abbrName: 'Typ',\n    description:\n      'Indicates what type of commission is being expressed in AllocCommissionAmount(2654).',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'CommTypeCodeSet',\n    addedEP: '204',\n    updatedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'AllocCommissionBasis',\n    id: 2656,\n    abbrName: 'Basis',\n    description: 'Specifies the basis or unit used to calculate the commission.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'Currency',\n    addedEP: '204',\n    updatedEP: '273',\n    added: 'FIX.5.0SP2',\n    name: 'AllocCommissionCurrency',\n    id: 2657,\n    abbrName: 'Ccy',\n    description:\n      \"Specifies the currency denomination of the commission amount if different from the trade's currency.\\n\\nAllocCommissionCurrencyCodeSource(2925) may be used to disambiguate the code source scheme used, and ISO 4217 is the default scheme if absent.\",\n  },\n  {\n    type: 'UnitOfMeasureCodeSet',\n    addedEP: '204',\n    added: 'FIX.5.0SP2',\n    name: 'AllocCommissionUnitOfMeasure',\n    id: 2658,\n    abbrName: 'UOM',\n    description: 'The commission rate unit of measure.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '204',\n    added: 'FIX.5.0SP2',\n    name: 'AllocCommissionUnitOfMeasureCurrency',\n    id: 2659,\n    abbrName: 'UOMCcy',\n    description:\n      'Indicates the currency of the unit of measure. Conditionally required when AllocCommissionUnitOfMeasure(2658) = Ccy (Currency).',\n  },\n  {\n    type: 'float',\n    addedEP: '204',\n    added: 'FIX.5.0SP2',\n    name: 'AllocCommissionRate',\n    id: 2660,\n    abbrName: 'Rt',\n    description:\n      'The commission rate when AllocCommissionAmount(2654) is based on a percentage of quantity, amount per unit or a factor of \"unit of measure\". If the rate is a percentage or expressed in basis points, use the decimalized form, e.g. \"0.05\" for a 5% commission or \"0.005\" for 50 basis points.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '204',\n    added: 'FIX.5.0SP2',\n    name: 'AllocCommissionSharedIndicator',\n    id: 2661,\n    abbrName: 'SharedInd',\n    description:\n      'Indicates whether the amount in AllocCommissionAmount(2654) is to be shared with a third party, e.g. as part of a directed brokerage commission sharing arrangement.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '204',\n    added: 'FIX.5.0SP2',\n    name: 'AllocCommissionAmountShared',\n    id: 2662,\n    abbrName: 'AmtShared',\n    description:\n      'Commission amount to be shared with a third party, e.g. as part of a directed brokerage commission sharing arrangement. If specified, this amount should not exceed the amount in AllocCommissionAmount(2654).',\n  },\n  {\n    type: 'String',\n    addedEP: '204',\n    added: 'FIX.5.0SP2',\n    name: 'AllocCommissionLegRefID',\n    id: 2663,\n    abbrName: 'LegRefID',\n    description:\n      \"Identifies the leg of the trade the entry applies to by referencing the leg's LegID(1788).\",\n  },\n  {\n    type: 'String',\n    addedEP: '204',\n    added: 'FIX.5.0SP2',\n    name: 'AllocCommissionDesc',\n    id: 2664,\n    abbrName: 'Desc',\n    description: 'Description of the commission.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'Length',\n    addedEP: '204',\n    updatedEP: '229',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedAllocCommissionDescLen',\n    id: 2665,\n    abbrName: 'EncDescLen',\n    description:\n      'Byte length of the encoded (non-ASCII characters) EncodedAllocCommissionDesc(2666) field.',\n  },\n  {\n    type: 'data',\n    addedEP: '204',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedAllocCommissionDesc',\n    id: 2666,\n    abbrName: 'EncDesc',\n    lengthId: '2665',\n    description:\n      'Encoded (non-ASCII characters) representation of the AllocCommissionDesc(2664) field in the encoded format specified via the MessageEncoding(347) field. If used, the ASCII (English) representation should also be specified in the AllocCommissionDesc(2664) field.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'DeltaCrossed',\n    id: 2596,\n    abbrName: 'DeltaCrssd',\n    description:\n      'Indicates that the party has taken a position on both a put and a call on the same underlying asset.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'CashSettlDateUnadjusted',\n    id: 42207,\n    abbrName: 'DtUnadj',\n    description: 'The unadjusted cash settlement date.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'CashSettlDateBusinessDayConvention',\n    id: 42208,\n    abbrName: 'BizDayCnvtn',\n    description:\n      \"The business day convention used to adjust the cash settlement provision's date. Used only to override the business day convention defined in the Instrument component.\",\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'CashSettlDateRelativeTo',\n    id: 42209,\n    abbrName: 'Reltv',\n    description:\n      'Specifies the anchor date when the cash settlement date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'CashSettlDateOffsetPeriod',\n    id: 42210,\n    abbrName: 'OfstPeriod',\n    description: 'Time unit multiplier for the relative cash settlement date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'CashSettlDateOffsetUnit',\n    id: 42211,\n    abbrName: 'OfstUnit',\n    description: 'Time unit associated with the relative cash settlement date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'CashSettlDateOffsetDayType',\n    id: 42212,\n    abbrName: 'OfstDayTyp',\n    description: 'Specifies the day type of the relative cash settlement date offset.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'CashSettlDateAdjusted',\n    id: 42213,\n    abbrName: 'Dt',\n    description: 'The adjusted cash settlement date.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'NoCashSettlDateBusinessCenters',\n    id: 42214,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'CashSettlDateBusinessCenter',\n    id: 42215,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used for date adjustment of the cash settlement unadjusted or relative date, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'CashSettlPriceSource',\n    id: 42216,\n    abbrName: 'PxSrc',\n    description:\n      'The source from which the settlement price is to be obtained.\\n\\nSee http://www.fpml.org/coding-scheme/settlement-price-source for values.',\n  },\n  {\n    type: 'CashSettlPriceDefaultCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'CashSettlPriceDefault',\n    id: 42217,\n    abbrName: 'PxDflt',\n    description: 'The default election for determining settlement price.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ComplexEventFuturesPriceValuation',\n    id: 2597,\n    abbrName: 'FutPxVal',\n    description:\n      'Indicates whether the official settlement price as announced by the related exchange is applicable, in accordance with the ISDA 2002 definitions. Applicable only to futures contracts.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ComplexEventOptionsPriceValuation',\n    id: 2598,\n    abbrName: 'OptPxVal',\n    description:\n      'Indicates whether the official settlement price as announced by the related exchange is applicable, in accordance with the ISDA 2002 definitions. Applicable only to options contracts.',\n  },\n  {\n    type: 'ComplexEventPVFinalPriceElectionFallbackCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ComplexEventPVFinalPriceElectionFallback',\n    id: 2599,\n    abbrName: 'PVPxFallbck',\n    description:\n      'Specifies the fallback provisions for the hedging party in the determination of the final settlement price.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'DividendFloatingRateIndex',\n    id: 42218,\n    abbrName: 'Ndx',\n    description: 'The dividend accrual floating rate index.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'DividendFloatingRateIndexCurvePeriod',\n    id: 42219,\n    abbrName: 'NdxPeriod',\n    description:\n      'Time unit multiplier for the dividend accrual floating rate index curve.',\n  },\n  {\n    type: 'PaymentStreamRateIndexCurveUnitCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'DividendFloatingRateIndexCurveUnit',\n    id: 42220,\n    abbrName: 'NdxUnit',\n    description:\n      'Time unit associated with the dividend accrual floating rate index curve period.',\n  },\n  {\n    type: 'float',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'DividendFloatingRateMultiplier',\n    id: 42221,\n    abbrName: 'RtMult',\n    description:\n      'A rate multiplier to apply to the floating rate. The multiplier can be less than or greater than 1 (one). This should only be included if the multiplier is not equal to 1 (one) for the term of the contract.',\n  },\n  {\n    type: 'PriceOffset',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'DividendFloatingRateSpread',\n    id: 42222,\n    abbrName: 'Spread',\n    description:\n      'The basis points spread from the index specified in DividendFloatingRateIndex(42218).',\n  },\n  {\n    type: 'PaymentStreamRateSpreadPositionTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'DividendFloatingRateSpreadPositionType',\n    id: 42223,\n    abbrName: 'SpreadPosTyp',\n    description:\n      'Identifies whether the rate spread is applied to a long or short position.',\n  },\n  {\n    type: 'PaymentStreamRateTreatmentCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'DividendFloatingRateTreatment',\n    id: 42224,\n    abbrName: 'RtTrtmt',\n    description: 'Specifies the yield calculation treatment for the index.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'DividendCapRate',\n    id: 42225,\n    abbrName: 'CapRt',\n    description:\n      'The cap rate, if any, which applies to the floating rate. It is only required where the floating rate is capped at a certain level. The cap rate is assumed to be exclusive of any spread and is a per annum rate, expressed as a decimal. A cap rate of 5% would be represented as \"0.05\".',\n  },\n  {\n    type: 'PaymentStreamCapRateBuySideCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'DividendCapRateBuySide',\n    id: 42226,\n    abbrName: 'CapRtBuy',\n    description: 'Reference to the buyer of the cap rate option through its trade side.',\n  },\n  {\n    type: 'PaymentStreamCapRateBuySideCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'DividendCapRateSellSide',\n    id: 42227,\n    abbrName: 'CapRtSell',\n    description: 'Reference to the seller of the cap rate option through its trade side.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'DividendFloorRate',\n    id: 42228,\n    abbrName: 'FlrRt',\n    description:\n      'The floor rate, if any, which applies to the floating rate. The floor rate (strike) is only required where the floating rate is floored at a certain strike level. The floor rate is assumed to be exclusive of any spread and is a per annum rate. The rate is expressed as a decimal, e.g. 5% is represented as \"0.05\".',\n  },\n  {\n    type: 'PaymentStreamFloorRateBuySideCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'DividendFloorRateBuySide',\n    id: 42229,\n    abbrName: 'FlrRtBuy',\n    description:\n      'Reference to the buyer of the floor rate option through its trade side.',\n  },\n  {\n    type: 'PaymentStreamFloorRateBuySideCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'DividendFloorRateSellSide',\n    id: 42230,\n    abbrName: 'FlrRtSell',\n    description:\n      'Reference to the seller of the floor rate option through its trade side.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'DividendInitialRate',\n    id: 42231,\n    abbrName: 'InitRt',\n    description:\n      'The initial floating rate reset agreed between the principal parties involved in the trade. This is assumed to be the first required reset rate for the first regular calculation period. It should only be included when the rate is not equal to the rate published on the source implied by the floating rate index. The initial rate is expressed in decimal form, e.g. 5% is represented as \"0.05\".',\n  },\n  {\n    type: 'RoundingDirectionCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'DividendFinalRateRoundingDirection',\n    id: 42232,\n    abbrName: 'FnlRtRndDirctn',\n    description: 'Specifies the rounding direction of the final rate.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'DividendFinalRatePrecision',\n    id: 42233,\n    abbrName: 'FnlRtPrcsn',\n    description:\n      'Specifies the rounding precision of the final rate in terms of a number of decimal places. Note how a percentage rate rounding of 5 decimal places is expressed as a rounding precision of 7.',\n  },\n  {\n    type: 'PaymentStreamAveragingMethodCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'DividendAveragingMethod',\n    id: 42234,\n    abbrName: 'AvgngMeth',\n    description:\n      'When averaging is applicable, used to specify whether a weighted or unweighted average method of calculation is to be used.',\n  },\n  {\n    type: 'PaymentStreamNegativeRateTreatmentCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'DividendNegativeRateTreatment',\n    id: 42235,\n    abbrName: 'NegtvRtTrtmt',\n    description:\n      'The specification of any provisions for calculating payment obligations when a floating rate is negative (either due to a quoted negative floating rate or by operation of a spread that is subtracted from the floating rate).',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'NoDividendAccrualPaymentDateBusinessCenters',\n    id: 42236,\n    description: 'Number of entries in the DividendAccrualPaymentDateBusinessCenterGrp.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'DividendAccrualPaymentDateBusinessCenter',\n    id: 42237,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used for date adjustment of the instrument\\'s dividend accrual payment date, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'DividendAccrualPaymentDateRelativeTo',\n    id: 42238,\n    abbrName: 'Reltv',\n    description:\n      'Specifies the anchor date when the accrual payment date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'DividendAccrualPaymentDateOffsetPeriod',\n    id: 42239,\n    abbrName: 'OfstPeriod',\n    description: 'Time unit multiplier for the relative accrual payment date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'DividendAccrualPaymentDateOffsetUnit',\n    id: 42240,\n    abbrName: 'OfstUnit',\n    description: 'Time unit associated with the relative accrual payment date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'DividendAccrualPaymentDateOffsetDayType',\n    id: 42241,\n    abbrName: 'OfstDayTyp',\n    description: 'Specifies the day type of the relative accrual payment date offset.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'DividendAccrualPaymentDateUnadjusted',\n    id: 42242,\n    abbrName: 'DtUnadj',\n    description: 'The unadjusted accrual payment date.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'DividendAccrualPaymeentDateBusinessDayConvention',\n    id: 42243,\n    abbrName: 'BizDayCnvtn',\n    description: 'Accrual payment date adjustment business day convention.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'DividendAccrualPaymentDateAdjusted',\n    id: 42244,\n    abbrName: 'Dt',\n    description: 'The adjusted accrual payment date.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'DividendReinvestmentIndicator',\n    id: 42245,\n    abbrName: 'RnvstmntInd',\n    description: 'Indicates whether the dividend will be reinvested.',\n  },\n  {\n    type: 'DividendEntitlementEventCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'DividendEntitlementEvent',\n    id: 42246,\n    abbrName: 'EntlmntEvnt',\n    description:\n      'Defines the contract event which the receiver of the derivative is entitled to the dividend.',\n  },\n  {\n    type: 'DividendAmountTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'DividendAmountType',\n    id: 42247,\n    abbrName: 'AmtTyp',\n    description: 'Indicates how the gross cash dividend amount per share is determined.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'DividendUnderlierRefID',\n    id: 42248,\n    abbrName: 'UndlrRefID',\n    description:\n      \"References the dividend underlier through the instrument's UnderlyingSecurityID(309) which must be fully specified in an instance of the UnderlyingInstrument component.\",\n  },\n  {\n    type: 'PaymentStreamCapRateBuySideCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ExtraordinaryDividendPartySide',\n    id: 42249,\n    abbrName: 'ExtrordSide',\n    description:\n      'Reference to the party through its side in the trade who makes the determination whether dividends are extraordinary in relation to normal levels.',\n  },\n  {\n    type: 'DividendAmountTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ExtraordinaryDividendAmountType',\n    id: 42250,\n    abbrName: 'ExtrordAmtTyp',\n    description:\n      'Indicates how the extraordinary gross cash dividend per share is determined.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ExtraordinaryDividendCurrency',\n    id: 42251,\n    abbrName: 'ExtrordCcy',\n    description:\n      'The currency in which the excess dividend is denominated. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ExtraordinaryDividendDeterminationMethod',\n    id: 42252,\n    abbrName: 'ExtrordDtrmnMeth',\n    description:\n      'Specifies the method in which the excess amount is determined.\\n\\nSee http://www.fpml.org/coding-scheme/determination-method for values.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'DividendAccrualFixedRate',\n    id: 42253,\n    abbrName: 'AcrlFixedRt',\n    description:\n      'The dividend accrual fixed rate per annum expressed as a decimal.\\n\\nA value of 5% would be represented as \"0.05\".',\n  },\n  {\n    type: 'PaymentStreamCompoundingMethodCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'DividendCompoundingMethod',\n    id: 42254,\n    abbrName: 'CmpndgMeth',\n    description:\n      'The compounding method to be used when more than one dividend period contributes to a single payment.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'DividendNumOfIndexUnits',\n    id: 42255,\n    abbrName: 'NumNdxUnits',\n    description: 'The number of index units applicable to dividends.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'DividendCashPercentage',\n    id: 42256,\n    abbrName: 'CshPctage',\n    description:\n      'Declared cash dividend percentage.\\n\\nA value of 5% would be represented as \"0.05\".',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'DividendCashEquivalentPercentage',\n    id: 42257,\n    abbrName: 'CshEqvlntPctage',\n    description:\n      'Declared cash-equivalent dividend percentage.\\n\\nA value of 5% would be represented as \"0.05\".',\n  },\n  {\n    type: 'NonCashDividendTreatmentCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'NonCashDividendTreatment',\n    id: 42258,\n    abbrName: 'NonCshTrtmt',\n    description: 'Defines the treatment of non-cash dividends.',\n  },\n  {\n    type: 'DividendCompositionCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'DividendComposition',\n    id: 42259,\n    abbrName: 'Cmpstn',\n    description: 'Defines how the composition of dividends is to be determined.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'SpecialDividendsIndicator',\n    id: 42260,\n    abbrName: 'SpeclDividendInd',\n    description: 'Indicates whether special dividends are applicable.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'MaterialDividendsIndicator',\n    id: 42261,\n    abbrName: 'MtrlDividendInd',\n    description: 'Indicates whether material non-cash dividends are applicable.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'OptionsExchangeDividendsIndicator',\n    id: 42262,\n    abbrName: 'ExchDividendInd',\n    description: 'Indicates whether option exchange dividends are applicable.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'AdditionalDividendsIndicator',\n    id: 42263,\n    abbrName: 'AddtnlDividendInd',\n    description: 'Indicates whether additional dividends are applicable.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'AllDividendsIndicator',\n    id: 42264,\n    abbrName: 'AllDividendInd',\n    description:\n      \"Represents the European Master Confirmation value of 'All Dividends' which, when applicable, signifies that, for a given Ex-Date, the daily observed share price for that day is adjusted (reduced) by the cash dividend and/or the cash value of any non-cash dividend per share (including extraordinary dividends) declared by the issuer.\",\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'DividendFXTriggerDateRelativeTo',\n    id: 42265,\n    abbrName: 'Reltv',\n    description:\n      'Specifies the anchor date when the FX trigger date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'DividendFXTriggerDateOffsetPeriod',\n    id: 42266,\n    abbrName: 'OfstPeriod',\n    description: 'Time unit multiplier for the relative FX trigger date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'DividendFXTriggerDateOffsetUnit',\n    id: 42267,\n    abbrName: 'OfstUnit',\n    description: 'Time unit associated with the relative FX trigger date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'DividendFXTriggerDateOffsetDayType',\n    id: 42268,\n    abbrName: 'OfstDayTyp',\n    description: 'Specifies the day type of the relative FX trigger date offset.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'DividendFXTriggerDateUnadjusted',\n    id: 42269,\n    abbrName: 'DtUnadj',\n    description: 'The unadjusted FX trigger date.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'DividendFXTriggerDateBusinessDayConvention',\n    id: 42270,\n    abbrName: 'BizDayCnvtn',\n    description: 'The business day convention used for the FX trigger date adjustment.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'DividendFXTriggerDateAdjusted',\n    id: 42271,\n    abbrName: 'Dt',\n    description: 'The adjusted FX trigger date.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'NoDividendFXTriggerDateBusinessCenters',\n    id: 42272,\n    description: 'Number of entries in the DividendFXTriggerDateBusinessCenterGrp.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'DividendFXTriggerDateBusinessCenter',\n    id: 42273,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used for date adjustment of the instrument\\'s FX trigger date, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'NoDividendPeriods',\n    id: 42274,\n    description: 'Number of entries in the DividendPeriodGrp component.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'DividendPeriodSequence',\n    id: 42275,\n    abbrName: 'Seq',\n    description:\n      'Defines the ordinal dividend period. E.g. 1 = First period, 2 = Second period, etc.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'DividendPeriodStartDateUnadjusted',\n    id: 42276,\n    abbrName: 'StartDtUnadj',\n    description: 'The unadjusted date on which the dividend period will begin.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'DividendPeriodEndDateUnadjusted',\n    id: 42277,\n    abbrName: 'EndDtUnadj',\n    description: 'The unadjusted date on which the dividend period will end.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'DividendPeriodUnderlierRefID',\n    id: 42278,\n    abbrName: 'UndlrRefID',\n    description:\n      \"References the dividend underlier through the instrument's UnderlyingSecurityID(309) which must be fully specified in an instance of the UnderlyingInstrument component.\",\n  },\n  {\n    type: 'Price',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'DividendPeriodStrikePrice',\n    id: 42279,\n    abbrName: 'StrkPx',\n    description: 'Specifies the fixed strike price of the dividend period.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'DividendPeriodBusinessDayConvention',\n    id: 42280,\n    abbrName: 'BizDayCnvtn',\n    description: 'The dividend period dates business day convention.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'DividendPeriodValuationDateUnadjusted',\n    id: 42281,\n    abbrName: 'ValDtUnadj',\n    description: 'The unadjusted dividend period valuation date.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'DividendPeriodValuationDateRelativeTo',\n    id: 42282,\n    abbrName: 'ValDtReltv',\n    description:\n      'Specifies the anchor date when the dividend period valuation date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'DividendPeriodValuationDateOffsetPeriod',\n    id: 42283,\n    abbrName: 'ValDtOfstPeriod',\n    description:\n      'Time unit multiplier for the relative dividend period valuation date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'DividendPeriodValuationDateOffsetUnit',\n    id: 42284,\n    abbrName: 'ValDtOfstUnit',\n    description:\n      'Time unit associated with the relative dividend period valuation date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'DividendPeriodValuationDateOffsetDayType',\n    id: 42285,\n    abbrName: 'ValDtOfstDayTyp',\n    description:\n      'Specifies the day type of the relative dividend period valuation date offset.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'DividendPeriodValuationDateAdjusted',\n    id: 42286,\n    abbrName: 'ValDt',\n    description: 'The adjusted dividend period valuation date.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'DividendPeriodPaymentDateUnadjusted',\n    id: 42287,\n    abbrName: 'PmtDtUnadj',\n    description: 'The unadjusted dividend period payment date.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'DividendPeriodPaymentDateRelativeTo',\n    id: 42288,\n    abbrName: 'PmtDtReltv',\n    description:\n      'Specifies the anchor date when the dividend period payment date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'DividendPeriodPaymentDateOffsetPeriod',\n    id: 42289,\n    abbrName: 'PmtDtOfstPeriod',\n    description:\n      'Time unit multiplier for the relative dividend period payment date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'DividendPeriodPaymentDateOffsetUnit',\n    id: 42290,\n    abbrName: 'PmtDtOfstUnit',\n    description:\n      'Time unit associated with the relative dividend period payment date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'DividendPeriodPaymentDateOffsetDayType',\n    id: 42291,\n    abbrName: 'PmtDtOfstDayTyp',\n    description:\n      'Specifies the day type of the relative dividend period payment date offset.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'DividendPeriodPaymentDateAdjusted',\n    id: 42292,\n    abbrName: 'PmtDt',\n    description: 'The adjusted dividend period payment date.',\n  },\n  {\n    type: 'XID',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'DividendPeriodXID',\n    id: 42293,\n    abbrName: 'XID',\n    description:\n      'Identifier for linking this stream dividend period to an underlier through an instance of RelatedInstrumentGrp.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'NoDividendPeriodBusinessCenters',\n    id: 42294,\n    description: 'Number of entries in the DividendPeriodBusinessCenterGrp.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'DividendPeriodBusinessCenter',\n    id: 42295,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used for date adjustment of the instrument\\'s dividend period date, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'NoExtraordinaryEvents',\n    id: 42296,\n    description: 'Number of extraordinary events in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ExtraordinaryEventType',\n    id: 42297,\n    abbrName: 'Typ',\n    description:\n      'Identifies the type of extraordinary or disruptive event applicable to the reference entity.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Extraordinary_Event_Type for code list of extraordinary event types and values.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ExtraordinaryEventValue',\n    id: 42298,\n    abbrName: 'Val',\n    description:\n      'The extraordinary or disruptive event value appropriate to ExtraordinaryEventType(42297).\\n\\nSee http://www.fixtradingcommunity.org/codelists#Extraordinary_Event_Type for code list of extraordinary event types and values.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'StrikeIndexCurvePoint',\n    id: 2600,\n    abbrName: 'StrkNdxPnt',\n    description:\n      'The point on the floating rate index curve. Sample values:\\n\\nM = combination of a number between 1-12 and an \"M\" for month, e.g. 3M\\n\\nY = combination of number between 1-100 and a \"Y\" for year, e.g. 10Y\\n\\n10Y-OLD = see above, then add \"-OLD\" when appropriate\\n\\nINTERPOLATED = the point is mathematically derived\\n\\n2/2031 5 3/8 = the point is stated via a combination of maturity month / year and coupon.',\n  },\n  {\n    type: 'StrikeIndexQuoteCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'StrikeIndexQuote',\n    id: 2601,\n    abbrName: 'StrkNdxQte',\n    description: 'The quote side from which the index price is to be determined.',\n  },\n  {\n    type: 'ExtraordinaryEventAdjustmentMethodCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ExtraordinaryEventAdjustmentMethod',\n    id: 2602,\n    abbrName: 'ExtrordEvntAdjMeth',\n    description:\n      'Defines how adjustments will be made to the contract should one or more of the extraordinary events occur.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ExchangeLookAlike',\n    id: 2603,\n    abbrName: 'ExchLookAlike',\n    description:\n      \"For a share option trade, indicates whether the instrument is to be treated as an 'exchange look-alike'.\\n\\nThis designation has significance for how share adjustments (arising from corporate actions) will be determined for the instrument. For an 'exchange look-alike' instrument the relevant share adjustments will follow that for a corresponding designated contract listed on the related exchange (referred to as Options Exchange Adjustment (ISDA defined term)), otherwise the share adjustments will be determined by the calculation agent (referred to as Calculation Agent Adjustment (ISDA defined term)).\",\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegStrikeIndexCurvePoint',\n    id: 2604,\n    abbrName: 'StrkNdxPnt',\n    description:\n      'The point on the floating rate index curve. Sample values:\\n\\nM = combination of a number between 1-12 and an \"M\" for month, e.g. 3M\\n\\nY = combination of number between 1-100 and a \"Y\" for year, e.g. 10Y\\n\\n10Y-OLD = see above, then add \"-OLD\" when appropriate\\n\\nINTERPOLATED = the point is mathematically derived\\n\\n2/2031 5 3/8 = the point is stated via a combination of maturity month / year and coupon.',\n  },\n  {\n    type: 'StrikeIndexQuoteCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegStrikeIndexQuote',\n    id: 2605,\n    abbrName: 'StrkNdxQte',\n    description: 'The quote side from which the index price is to be determined.',\n  },\n  {\n    type: 'ExtraordinaryEventAdjustmentMethodCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegExtraordinaryEventAdjustmentMethod',\n    id: 2606,\n    abbrName: 'ExtrordEvntAdjMeth',\n    description:\n      'Defines how adjustments will be made to the contract should one or more of the extraordinary events occur.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegExchangeLookAlike',\n    id: 2607,\n    abbrName: 'ExchLookAlike',\n    description:\n      \"For a share option trade, indicates whether the instrument is to be treated as an 'exchange look-alike'.\\n\\nThis designation has significance for how share adjustments (arising from corporate actions) will be determined for the instrument. For an 'exchange look-alike' instrument the relevant share adjustments will follow that for a corresponding designated contract listed on the related exchange (referred to as Options Exchange Adjustment (ISDA defined term)), otherwise the share adjustments will be determined by the calculation agent (referred to as Calculation Agent Adjustment (ISDA defined term)).\",\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegCashSettlDateUnadjusted',\n    id: 42299,\n    abbrName: 'DtUnadj',\n    description: 'The unadjusted cash settlement date.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegCashSettlDateBusinessDayConvention',\n    id: 42300,\n    abbrName: 'BizDayCnvtn',\n    description:\n      \"The business day convention used to adjust the cash settlement provision's date. Used only to override the business day convention defined in the InstrumentLeg component.\",\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegCashSettlDateRelativeTo',\n    id: 42301,\n    abbrName: 'Reltv',\n    description:\n      'Specifies the anchor date when the cash settlement date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegCashSettlDateOffsetPeriod',\n    id: 42302,\n    abbrName: 'OfstPeriod',\n    description: 'Time unit multiplier for the relative cash settlement date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegCashSettlDateOffsetUnit',\n    id: 42303,\n    abbrName: 'OfstUnit',\n    description: 'Time unit associated with the relative cash settlement date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegCashSettlDateOffsetDayType',\n    id: 42304,\n    abbrName: 'OfstDayTyp',\n    description: 'Specifies the day type of the relative cash settlement date offset.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegCashSettlDateAdjusted',\n    id: 42305,\n    abbrName: 'Dt',\n    description: 'The adjusted cash settlement date.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegCashSettlDateBusinessCenters',\n    id: 42306,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegCashSettlDateBusinessCenter',\n    id: 42307,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used for date adjustment of the cash settlement unadjusted or relative date, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegCashSettlPriceSource',\n    id: 42308,\n    abbrName: 'PxSrc',\n    description:\n      'The source from which the settlement price is to be obtained.\\n\\nSee http://www.fpml.org/coding-scheme/settlement-price-source for values.',\n  },\n  {\n    type: 'CashSettlPriceDefaultCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegCashSettlPriceDefault',\n    id: 42309,\n    abbrName: 'PxDflt',\n    description: 'The default election for determining settlement price.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexEventFuturesPriceValuation',\n    id: 2608,\n    abbrName: 'FutPxVal',\n    description:\n      'Indicates whether the official settlement price as announced by the related exchange is applicable, in accordance with the ISDA 2002 definitions. Applicable only to futures contracts.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexEventOptionsPriceValuation',\n    id: 2609,\n    abbrName: 'OptPxVal',\n    description:\n      'Indicates whether the official settlement price as announced by the related exchange is applicable, in accordance with the ISDA 2002 definitions. Applicable only to options contracts.',\n  },\n  {\n    type: 'ComplexEventPVFinalPriceElectionFallbackCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexEventPVFinalPriceElectionFallback',\n    id: 2610,\n    abbrName: 'PVPxFallbck',\n    description:\n      'Specifies the fallback provisions for the hedging party in the determination of the final settlement price',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegDividendAccrualPaymentDateBusinessCenters',\n    id: 42310,\n    description:\n      'Number of entries in the LegDividendAccrualPaymentDateBusinessCenterGrp.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegDividendAccrualPaymentDateBusinessCenter',\n    id: 42311,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used for date adjustment of the instrument\\'s dividend accrual payment date, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegDividendFloatingRateIndex',\n    id: 42312,\n    abbrName: 'Ndx',\n    description: 'The dividend accrual floating rate index.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegDividendFloatingRateIndexCurvePeriod',\n    id: 42313,\n    abbrName: 'NdxPeriod',\n    description:\n      'Time unit multiplier for the dividend accrual floating rate index curve.',\n  },\n  {\n    type: 'PaymentStreamRateIndexCurveUnitCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegDividendFloatingRateIndexCurveUnit',\n    id: 42314,\n    abbrName: 'NdxUnit',\n    description:\n      'Time unit associated with the dividend accrual floating rate index curve period.',\n  },\n  {\n    type: 'float',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegDividendFloatingRateMultiplier',\n    id: 42315,\n    abbrName: 'RtMult',\n    description:\n      'A rate multiplier to apply to the floating rate. The multiplier can be less than or greater than 1 (one). This should only be included if the multiplier is not equal to 1 (one) for the term of the contract.',\n  },\n  {\n    type: 'PriceOffset',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegDividendFloatingRateSpread',\n    id: 42316,\n    abbrName: 'Spread',\n    description:\n      'The basis points spread from the index specified in LegDividendFloatingRateIndex(42312).',\n  },\n  {\n    type: 'PaymentStreamRateSpreadPositionTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegDividendFloatingRateSpreadPositionType',\n    id: 42317,\n    abbrName: 'SpreadPosTyp',\n    description:\n      'Identifies whether the rate spread is applied to a long or short position.',\n  },\n  {\n    type: 'PaymentStreamRateTreatmentCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegDividendFloatingRateTreatment',\n    id: 42318,\n    abbrName: 'RtTrtmt',\n    description: 'Specifies the yield calculation treatment for the index.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegDividendCapRate',\n    id: 42319,\n    abbrName: 'CapRt',\n    description:\n      'The cap rate, if any, which applies to the floating rate. It is only required where the floating rate is capped at a certain level. The cap rate is assumed to be exclusive of any spread and is a per annum rate, expressed as a decimal. A cap rate of 5% would be represented as \"0.05\".',\n  },\n  {\n    type: 'PaymentStreamCapRateBuySideCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegDividendCapRateBuySide',\n    id: 42320,\n    abbrName: 'CapRtBuy',\n    description: 'Reference to the buyer of the cap rate option through its trade side.',\n  },\n  {\n    type: 'PaymentStreamCapRateBuySideCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegDividendCapRateSellSide',\n    id: 42321,\n    abbrName: 'CapRtSell',\n    description: 'Reference to the seller of the cap rate option through its trade side.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegDividendFloorRate',\n    id: 42322,\n    abbrName: 'FlrRt',\n    description:\n      'The floor rate, if any, which applies to the floating rate. The floor rate (strike) is only required where the floating rate is floored at a certain strike level. The floor rate is assumed to be exclusive of any spread and is a per annum rate. The rate is expressed as a decimal, e.g. 5% is represented as \"0.05\".',\n  },\n  {\n    type: 'PaymentStreamFloorRateBuySideCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegDividendFloorRateBuySide',\n    id: 42323,\n    abbrName: 'FlrRtBuy',\n    description:\n      'Reference to the buyer of the floor rate option through its trade side.',\n  },\n  {\n    type: 'PaymentStreamFloorRateBuySideCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegDividendFloorRateSellSide',\n    id: 42324,\n    abbrName: 'FlrRtSell',\n    description:\n      'Reference to the seller of the floor rate option through its trade side.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegDividendInitialRate',\n    id: 42325,\n    abbrName: 'InitRt',\n    description:\n      'The initial floating rate reset agreed between the principal parties involved in the trade. This is assumed to be the first required reset rate for the first regular calculation period. It should only be included when the rate is not equal to the rate published on the source implied by the floating rate index. The initial rate is expressed in decimal form, e.g. 5% is represented as \"0.05\".',\n  },\n  {\n    type: 'RoundingDirectionCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegDividendFinalRateRoundingDirection',\n    id: 42326,\n    abbrName: 'FnlRtRndDirctn',\n    description: 'Specifies the rounding direction of the final rate.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegDividendFinalRatePrecision',\n    id: 42327,\n    abbrName: 'FnlRtPrcsn',\n    description:\n      'Specifies the rounding precision of the final rate in terms of a number of decimal places. Note how a percentage rate rounding of 5 decimal places is expressed as a rounding precision of 7.',\n  },\n  {\n    type: 'PaymentStreamAveragingMethodCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegDividendAveragingMethod',\n    id: 42328,\n    abbrName: 'AvgngMeth',\n    description:\n      'When averaging is applicable, used to specify whether a weighted or unweighted average method of calculation is to be used.',\n  },\n  {\n    type: 'PaymentStreamNegativeRateTreatmentCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegDividendNegativeRateTreatment',\n    id: 42329,\n    abbrName: 'NegtvRtTrtmt',\n    description:\n      'The specification of any provisions for calculating payment obligations when a floating rate is negative (either due to a quoted negative floating rate or by operation of a spread that is subtracted from the floating rate).',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegDividendAccrualPaymentDateRelativeTo',\n    id: 42330,\n    abbrName: 'Reltv',\n    description:\n      'Specifies the anchor date when the accrual payment date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegDividendAccrualPaymentDateOffsetPeriod',\n    id: 42331,\n    abbrName: 'OfstPeriod',\n    description: 'Time unit multiplier for the relative accrual payment date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegDividendAccrualPaymentDateOffsetUnit',\n    id: 42332,\n    abbrName: 'OfstUnit',\n    description: 'Time unit associated with the relative accrual payment date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegDividendAccrualPaymentDateOffsetDayType',\n    id: 42333,\n    abbrName: 'OfstDayTyp',\n    description: 'Specifies the day type of the relative accrual payment date offset.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegDividendAccrualPaymentDateUnadjusted',\n    id: 42334,\n    abbrName: 'DtUnadj',\n    description: 'The unadjusted accrual payment date.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegDividendAccrualPaymentDateBusinessDayConvention',\n    id: 42335,\n    abbrName: 'BizDayCnvtn',\n    description: 'Accrual payment date adjustment business day convention.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegDividendAccrualPaymentDateAdjusted',\n    id: 42336,\n    abbrName: 'Dt',\n    description: 'The adjusted accrual payment date.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegDividendReinvestmentIndicator',\n    id: 42337,\n    abbrName: 'RnvstmntInd',\n    description: 'Indicates whether the dividend will be reinvested.',\n  },\n  {\n    type: 'DividendEntitlementEventCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegDividendEntitlementEvent',\n    id: 42338,\n    abbrName: 'EntlmntEvnt',\n    description:\n      'Defines the contract event which the receiver of the derivative is entitled to the dividend.',\n  },\n  {\n    type: 'DividendAmountTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegDividendAmountType',\n    id: 42339,\n    abbrName: 'AmtTyp',\n    description: 'Indicates how the gross cash dividend amount per share is determined.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegDividendUnderlierRefID',\n    id: 42340,\n    abbrName: 'UndlrRefID',\n    description:\n      \"References the dividend underlier through the instrument's UnderlyingSecurityID(309) which must be fully specified in an instance of the UnderlyingInstrument component.\",\n  },\n  {\n    type: 'PaymentStreamCapRateBuySideCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegExtraordinaryDividendPartySide',\n    id: 42341,\n    abbrName: 'ExtrordSide',\n    description:\n      'Reference to the party through its side in the trade who makes the determination whether dividends are extraordinary in relation to normal levels.',\n  },\n  {\n    type: 'DividendAmountTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegExtraordinaryDividendAmountType',\n    id: 42342,\n    abbrName: 'ExtrordAmtTyp',\n    description:\n      'Indicates how the extraordinary gross cash dividend per share is determined.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegExtraordinaryDividendCurrency',\n    id: 42343,\n    abbrName: 'ExtrordCcy',\n    description:\n      'The currency in which the excess dividend is denominated. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegExtraordinaryDividendDeterminationMethod',\n    id: 42344,\n    abbrName: 'ExtrordDtrmnMeth',\n    description:\n      'Specifies the method in which the excess amount is determined.\\n\\nSee http://www.fpml.org/coding-scheme/determination-method for values.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegDividendAccrualFixedRate',\n    id: 42345,\n    abbrName: 'AcrlFixedRt',\n    description:\n      'The dividend accrual fixed rate per annum expressed as a decimal.\\n\\nA value of 5% would be represented as \"0.05\".',\n  },\n  {\n    type: 'PaymentStreamCompoundingMethodCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegDividendCompoundingMethod',\n    id: 42346,\n    abbrName: 'CmpndgMeth',\n    description:\n      'The compounding method to be used when more than one dividend period contributes to a single payment.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegDividendNumOfIndexUnits',\n    id: 42347,\n    abbrName: 'NumNdxUnits',\n    description: 'The number of index units applicable to dividends.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegDividendCashPercentage',\n    id: 42348,\n    abbrName: 'CshPctage',\n    description:\n      'Declared cash dividend percentage.\\n\\nA value of 5% would be represented as \"0.05\".',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegDividendCashEquivalentPercentage',\n    id: 42349,\n    abbrName: 'CshEqvlntPctage',\n    description:\n      'Declared cash-equivalent dividend percentage.\\n\\nA value of 5% would be represented as \"0.05\".',\n  },\n  {\n    type: 'NonCashDividendTreatmentCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegNonCashDividendTreatment',\n    id: 42350,\n    abbrName: 'NonCshTrtmt',\n    description: 'Defines the treatment of non-cash dividends.',\n  },\n  {\n    type: 'DividendCompositionCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegDividendComposition',\n    id: 42351,\n    abbrName: 'Cmpstn',\n    description: 'Defines how the composition of dividends is to be determined.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegSpecialDividendsIndicator',\n    id: 42352,\n    abbrName: 'SpeclDividendInd',\n    description: 'Indicates whether special dividends are applicable.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegMaterialDividendsIndicator',\n    id: 42353,\n    abbrName: 'MtrlDividendInd',\n    description: 'Indicates whether material non-cash dividends are applicable.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegOptionsExchangeDividendsIndicator',\n    id: 42354,\n    abbrName: 'ExchDividendInd',\n    description: 'Indicates whether option exchange dividends are applicable.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegAdditionalDividendsIndicator',\n    id: 42355,\n    abbrName: 'AddtnlDividendInd',\n    description: 'Indicates whether additional dividends are applicable.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegAllDividendsIndicator',\n    id: 42356,\n    abbrName: 'AllDividendInd',\n    description:\n      \"Represents the European Master Confirmation value of 'All Dividends' which, when applicable, signifies that, for a given Ex-Date, the daily observed share price for that day is adjusted (reduced) by the cash dividend and/or the cash value of any non-cash dividend per share (including extraordinary dividends) declared by the issuer.\",\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegDividendFXTriggerDateRelativeTo',\n    id: 42357,\n    abbrName: 'Reltv',\n    description:\n      'Specifies the anchor date when the FX trigger date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegDividendFXTriggerDateOffsetPeriod',\n    id: 42358,\n    abbrName: 'OfstPeriod',\n    description: 'Time unit multiplier for the relative FX trigger date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegDividendFXTriggerDateOffsetUnit',\n    id: 42359,\n    abbrName: 'OfstUnit',\n    description: 'Time unit associated with the relative FX trigger date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegDividendFXTriggerDateOffsetDayType',\n    id: 42360,\n    abbrName: 'OfstDayTyp',\n    description: 'Specifies the day type of the relative FX trigger date offset.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegDividendFXTriggerDateUnadjusted',\n    id: 42361,\n    abbrName: 'DtUnadj',\n    description: 'The unadjusted FX trigger date.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegDividendFXTriggerDateBusinessDayConvention',\n    id: 42362,\n    abbrName: 'BizDayCnvtn',\n    description: 'The business day convention used for the FX trigger date adjustment.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegDividendFXTriggerDateAdjusted',\n    id: 42363,\n    abbrName: 'Dt',\n    description: 'The adjusted FX trigger date.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegDividendFXTriggerDateBusinessCenters',\n    id: 42364,\n    description: 'Number of entries in the LegDividendFXTriggerDateBusinessCenterGrp.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegDividendFXTriggerDateBusinessCenter',\n    id: 42365,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used for date adjustment of the instrument\\'s FX trigger date, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegDividendPeriods',\n    id: 42366,\n    description: 'Number of entries in the LegDividendPeriodGrp component.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegDividendPeriodSequence',\n    id: 42367,\n    abbrName: 'Seq',\n    description:\n      'Defines the ordinal dividend period. E.g. 1 = First period, 2 = Second period, etc.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegDividendPeriodStartDateUnadjusted',\n    id: 42368,\n    abbrName: 'StartDtUnadj',\n    description: 'The unadjusted date on which the dividend period will begin.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegDividendPeriodEndDateUnadjusted',\n    id: 42369,\n    abbrName: 'EndDtUnadj',\n    description: 'The unadjusted date on which the dividend period will end.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegDividendPeriodUnderlierRefID',\n    id: 42370,\n    abbrName: 'UndlrRefID',\n    description:\n      \"References the dividend underlier through the instrument's UnderlyingSecurityID(309) which must be fully specified in an instance of the UnderlyingInstrument component.\",\n  },\n  {\n    type: 'Price',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegDividendPeriodStrikePrice',\n    id: 42371,\n    abbrName: 'StrkPx',\n    description: 'Specifies the fixed strike price of the dividend period.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegDividendPeriodBusinessDayConvention',\n    id: 42372,\n    abbrName: 'BizDayCnvtn',\n    description: 'The dividend period dates business day convention.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegDividendPeriodValuationDateUnadjusted',\n    id: 42373,\n    abbrName: 'ValDtUnadj',\n    description: 'The unadjusted dividend period valuation date.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegDividendPeriodValuationDateRelativeTo',\n    id: 42374,\n    abbrName: 'ValDtReltv',\n    description:\n      'Specifies the anchor date when the dividend period valuation date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegDividendPeriodValuationDateOffsetPeriod',\n    id: 42375,\n    abbrName: 'ValDtOfstPeriod',\n    description:\n      'Time unit multiplier for the relative dividend period valuation date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegDividendPeriodValuationDateOffsetUnit',\n    id: 42376,\n    abbrName: 'ValDtOfstUnit',\n    description:\n      'Time unit associated with the relative dividend period valuation date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegDividendPeriodValuationDateOffsetDayType',\n    id: 42377,\n    abbrName: 'ValDtOfstDayTyp',\n    description:\n      'Specifies the day type of the relative dividend period valuation date offset.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegDividendPeriodValuationDateAdjusted',\n    id: 42378,\n    abbrName: 'ValDt',\n    description: 'The adjusted dividend period valuation date.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegDividendPeriodPaymentDateUnadjusted',\n    id: 42379,\n    abbrName: 'PmtDtUnadj',\n    description: 'The unadjusted dividend period payment date.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegDividendPeriodPaymentDateRelativeTo',\n    id: 42380,\n    abbrName: 'PmtDtReltv',\n    description:\n      'Specifies the anchor date when the dividend period payment date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegDividendPeriodPaymentDateOffsetPeriod',\n    id: 42381,\n    abbrName: 'PmtDtOfstPeriod',\n    description:\n      'Time unit multiplier for the relative dividend period payment date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegDividendPeriodPaymentDateOffsetUnit',\n    id: 42382,\n    abbrName: 'PmtDtOfstUnit',\n    description:\n      'Time unit associated with the relative dividend period payment date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegDividendPeriodPaymentDateOffsetDayType',\n    id: 42383,\n    abbrName: 'PmtDtOfstDayTyp',\n    description:\n      'Specifies the day type of the relative dividend period payment date offset.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegDividendPeriodPaymentDateAdjusted',\n    id: 42384,\n    abbrName: 'PmtDt',\n    description: 'The adjusted dividend period payment date.',\n  },\n  {\n    type: 'XID',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegDividendPeriodXID',\n    id: 42385,\n    abbrName: 'XID',\n    description:\n      'Identifier for linking this stream dividend period to an underlier through an instance of RelatedInstrumentGrp.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegDividendPeriodBusinessCenters',\n    id: 42386,\n    description:\n      'The number of entries in the LegDividendPeriodBusinessCentersGrp component.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegDividendPeriodBusinessCenter',\n    id: 42387,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used for date adjustment of the instrument\\'s dividend period date, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegExtraordinaryEvents',\n    id: 42388,\n    description: 'Number of extraordinary events in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegExtraordinaryEventType',\n    id: 42389,\n    abbrName: 'Typ',\n    description:\n      'Identifies the type of extraordinary or disruptive event applicable to the reference entity.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Extraordinary_Event_Type for code list of extraordinary event types and values.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegExtraordinaryEventValue',\n    id: 42390,\n    abbrName: 'Val',\n    description:\n      'The extraordinary or disruptive event value appropriate to LegExtraordinaryEventType(42389).\\n\\nSee http://www.fixtradingcommunity.org/codelists#Extraordinary_Event_Type for code list of extraordinary event types and values.',\n  },\n  {\n    type: 'PaymentPaySideCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegSettlMethodElectingPartySide',\n    id: 42391,\n    abbrName: 'SettlMethElctngSide',\n    description: 'Side value of the party electing the settlement method.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegMakeWholeDate',\n    id: 42392,\n    abbrName: 'Dt',\n    description: 'The date through which option cannot be exercised without penalty.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegMakeWholeAmount',\n    id: 42393,\n    abbrName: 'Amt',\n    description:\n      'Amount to be paid by the buyer of the option if the option is exercised prior to the LegMakeWholeDate(42392).',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegMakeWholeBenchmarkCurveName',\n    id: 42394,\n    abbrName: 'Name',\n    description: 'Identifies the benchmark floating rate index.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegMakeWholeBenchmarkCurvePoint',\n    id: 42395,\n    abbrName: 'Point',\n    description:\n      'The point on the floating rate index curve.\\n\\nSample values:\\n\\nM = combination of a number between 1-12 and an \"M\" for month, e.g. 3M\\n\\nY = combination of number between 1-100 and a \"Y\" for year, e.g. 10Y\\n\\n10Y-OLD = see above, then add \"-OLD\" when appropriate\\n\\nINTERPOLATED = the point is mathematically derived\\n\\n2/2031 5 3/8 = the point is stated via a combination of maturity month / year and coupon.',\n  },\n  {\n    type: 'PriceOffset',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegMakeWholeRecallSpread',\n    id: 42396,\n    abbrName: 'Spread',\n    description: 'Spread over the floating rate index.',\n  },\n  {\n    type: 'StrikeIndexQuoteCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegMakeWholeBenchmarkQuote',\n    id: 42397,\n    abbrName: 'Qte',\n    description:\n      'The quote side of the benchmark to be used for calculating the \"make whole\" amount.',\n  },\n  {\n    type: 'PaymentStreamInflationInterpolationMethodCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegMakeWholeInterpolationMethod',\n    id: 42398,\n    abbrName: 'IntrpltnMeth',\n    description:\n      'The method used when calculating the \"make whole\" amount. The most common is linear method.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamCashSettlIndicator',\n    id: 42399,\n    abbrName: 'CshSettlInd',\n    description: 'Indicates whether cash settlement is applicable.',\n  },\n  {\n    type: 'XIDREF',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamCompoundingXIDRef',\n    id: 42400,\n    abbrName: 'CmpndgXIDRef',\n    description:\n      'Reference to the stream which details the compounding fixed or floating rate.',\n  },\n  {\n    type: 'PriceOffset',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamCompoundingSpread',\n    id: 42401,\n    abbrName: 'CmpndgSpread',\n    description:\n      'The spread to be used for compounding. Used in scenarios where the interest payment is based on a compounding formula that uses a compounding spread in addition to the regular spread.',\n  },\n  {\n    type: 'PaymentStreamInflationInterpolationMethodCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamInterpolationMethod',\n    id: 42402,\n    abbrName: 'IntrpltnMeth',\n    description:\n      'The method used when calculating the index rate from multiple points on the curve. The most common is linear method.',\n  },\n  {\n    type: 'PaymentStreamInterpolationPeriodCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamInterpolationPeriod',\n    id: 42403,\n    abbrName: 'IntrpltnPeriod',\n    description: 'Defines applicable periods for interpolation.',\n  },\n  {\n    type: 'float',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamCompoundingFixedRate',\n    id: 42404,\n    abbrName: 'CmpndgFixedRt',\n    description: 'The compounding fixed rate applicable to the payment stream.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegPaymentStreamCompoundingDates',\n    id: 42405,\n    description: 'Number of dates in the repeating group.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamCompoundingDate',\n    id: 42406,\n    abbrName: 'Dt',\n    description:\n      'The compounding date. Type of date is specified in LegPaymentStreamCompoundingDateType(42407).',\n  },\n  {\n    type: 'NonDeliverableFixingDateTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamCompoundingDateType',\n    id: 42407,\n    abbrName: 'Typ',\n    description:\n      'Specifies the type of payment compounding date (e.g. adjusted for holidays).',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamCompoundingDatesBusinessDayConvention',\n    id: 42408,\n    abbrName: 'BizDayCnvtn',\n    description: 'The compounding dates business day convention.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamCompoundingDatesRelativeTo',\n    id: 42409,\n    abbrName: 'Reltv',\n    description:\n      'Specifies the anchor date when the compounding dates are relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamCompoundingDatesOffsetPeriod',\n    id: 42410,\n    abbrName: 'OfstPeriod',\n    description: 'Time unit multiplier for the relative compounding date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamCompoundingDatesOffsetUnit',\n    id: 42411,\n    abbrName: 'OfstUnit',\n    description: 'Time unit associated with the relative compounding date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamCompoundingDatesOffsetDayType',\n    id: 42412,\n    abbrName: 'OfstDayTyp',\n    description: 'Specifies the day type of the relative compounding date offset.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamCompoundingPeriodSkip',\n    id: 42413,\n    abbrName: 'Skip',\n    description:\n      'The number of periods in the \"RelativeTo\" schedule that are between each date in the compounding schedule. A skip of 2 would mean that compounding dates are relative to every second date in the \"RelativeTo\" schedule. If present this should have a value greater than 1.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamCompoundingFrequencyPeriod',\n    id: 42414,\n    abbrName: 'FreqPeriod',\n    description:\n      'Time unit multiplier for the frequency at which compounding dates occur.',\n  },\n  {\n    type: 'CouponFrequencyUnitCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamCompoundingFrequencyUnit',\n    id: 42415,\n    abbrName: 'FreqUnit',\n    description:\n      'Time unit associated with the frequency at which compounding dates occur.',\n  },\n  {\n    type: 'DateRollConventionCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamCompoundingRollConvention',\n    id: 42416,\n    abbrName: 'Roll',\n    description:\n      'The convention for determining the sequence of compounding dates. It is used in conjunction with a specified frequency.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamBoundsFirstDateUnadjusted',\n    id: 42417,\n    abbrName: 'FirstDtUnadj',\n    description:\n      'The unadjusted first date of the compounding schedule. This can be used to restrict the range of dates when they are relative.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamBoundsLastDateUnadjusted',\n    id: 42418,\n    abbrName: 'LastDtUnadj',\n    description:\n      'The unadjusted last date of the compounding schedule. This can be used to restrict the range of dates when they are relative.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegPaymentStreamCompoundingDatesBusinessCenters',\n    id: 42419,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamCompoundingDatesBusinessCenter',\n    id: 42420,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used for date adjustment of the payment stream compounding dates, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamCompoundingEndDateUnadjusted',\n    id: 42421,\n    abbrName: 'DtUnadj',\n    description: 'The unadjusted compounding end date.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamCompoundingEndDateRelativeTo',\n    id: 42422,\n    abbrName: 'Reltv',\n    description:\n      'Specifies the anchor date when the compounding end date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamCompoundingEndDateOffsetPeriod',\n    id: 42423,\n    abbrName: 'OfstPeriod',\n    description: 'Time unit multiplier for the relative compounding end date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamCompoundingEndDateOffsetUnit',\n    id: 42424,\n    abbrName: 'OfstUnit',\n    description: 'Time unit associated with the relative compounding end date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamCompoundingEndDateOffsetDayType',\n    id: 42425,\n    abbrName: 'OfstDayTyp',\n    description: 'Specifies the day type of the relative compounding end date offset.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamCompoundingEndDateAdjusted',\n    id: 42426,\n    abbrName: 'Dt',\n    description: 'The adjusted compounding end date.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamCompoundingRateIndex',\n    id: 42427,\n    abbrName: 'Ndx',\n    description: \"The payment stream's compounding floating rate index.\",\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamCompoundingRateIndexCurvePeriod',\n    id: 42428,\n    abbrName: 'NdxPeriod',\n    description:\n      \"Time unit multiplier for the payment stream's compounding floating rate index curve period.\",\n  },\n  {\n    type: 'PaymentStreamRateIndexCurveUnitCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamCompoundingRateIndexCurveUnit',\n    id: 42429,\n    abbrName: 'NdxUnit',\n    description:\n      \"Time unit associated with the payment stream's compounding floating rate index curve period.\",\n  },\n  {\n    type: 'float',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamCompoundingRateMultiplier',\n    id: 42430,\n    abbrName: 'RtMult',\n    description:\n      'A rate multiplier to apply to the compounding floating rate. The multiplier can be less than or greater than 1 (one). This should only be included if the multiplier is not equal to 1 (one) for the term of the stream.',\n  },\n  {\n    type: 'PriceOffset',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamCompoundingRateSpread',\n    id: 42431,\n    abbrName: 'Spread',\n    description:\n      'The basis points spread from the index specified in LegPaymentStreamCompoundingRateIndex(42427).',\n  },\n  {\n    type: 'PaymentStreamRateSpreadPositionTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamCompoundingRateSpreadPositionType',\n    id: 42432,\n    abbrName: 'SpreadPosTyp',\n    description:\n      'Identifies whether the rate spread is applied to a long or short position.',\n  },\n  {\n    type: 'PaymentStreamRateTreatmentCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamCompoundingRateTreatment',\n    id: 42433,\n    abbrName: 'RtTrtmt',\n    description: 'Specifies the yield calculation treatment for the index.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamCompoundingCapRate',\n    id: 42434,\n    abbrName: 'CapRt',\n    description:\n      'The cap rate, if any, which applies to the compounding floating rate. It is only required where the compounding floating rate on a swap stream is capped at a certain level. The cap rate is assumed to be exclusive of any spread and is a per annum rate, expressed as a decimal. A cap rate of 5% would be represented as \"0.05\".',\n  },\n  {\n    type: 'PaymentStreamCapRateBuySideCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamCompoundingCapRateBuySide',\n    id: 42435,\n    abbrName: 'CapRtBuy',\n    description:\n      'Reference to the buyer of the compounding cap rate option through its trade side.',\n  },\n  {\n    type: 'PaymentStreamCapRateBuySideCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamCompoundingCapRateSellSide',\n    id: 42436,\n    abbrName: 'CapRtSell',\n    description:\n      'Reference to the seller of the compounding cap rate option through its trade side.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamCompoundingFloorRate',\n    id: 42437,\n    abbrName: 'FlrRt',\n    description:\n      'The floor rate, if any, which applies to the compounding floating rate. The floor rate (strike) is only required where the compounding floating rate on a swap stream is floored at a certain strike level. The floor rate is assumed to be exclusive of any spread and is a per annum rate. The rate is expressed as a decimal, e.g. 5% is represented as \"0.05\".',\n  },\n  {\n    type: 'PaymentStreamFloorRateBuySideCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamCompoundingFloorRateBuySide',\n    id: 42438,\n    abbrName: 'FlrRtBuy',\n    description:\n      'Reference to the buyer of the compounding floor rate option through its trade side.',\n  },\n  {\n    type: 'PaymentStreamFloorRateBuySideCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamCompoundingFloorRateSellSide',\n    id: 42439,\n    abbrName: 'FlrRtSell',\n    description:\n      'Reference to the seller of the floor rate option through its trade side.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamCompoundingInitialRate',\n    id: 42440,\n    abbrName: 'InitRt',\n    description:\n      'The initial compounding floating rate reset agreed between the principal parties involved in the trade. It should only be included when the rate is not equal to the rate published on the source implied by the floating rate index. The initial rate is expressed in decimal form, e.g. 5% is represented as \"0.05\".',\n  },\n  {\n    type: 'RoundingDirectionCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamCompoundingFinalRateRoundingDirection',\n    id: 42441,\n    abbrName: 'FnlRtRndDirctn',\n    description: 'Specifies the rounding direction for the compounding floating rate.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamCompoundingFinalRatePrecision',\n    id: 42442,\n    abbrName: 'FnlRtPrcsn',\n    description:\n      'Specifies the compounding floating rate rounding precision in terms of a number of decimal places. Note how a percentage rate rounding of 5 decimal places is expressed as a rounding precision of 7.',\n  },\n  {\n    type: 'PaymentStreamAveragingMethodCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamCompoundingAveragingMethod',\n    id: 42443,\n    abbrName: 'AvgngMeth',\n    description:\n      'Specifies the averaging method when compounding floating rate averaging is applicable (e.g. weighted or unweighted).',\n  },\n  {\n    type: 'PaymentStreamNegativeRateTreatmentCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamCompoundingNegativeRateTreatment',\n    id: 42444,\n    abbrName: 'NegtvRtTrtmt',\n    description:\n      'Specifies the method for calculating payment obligations when a compounding floating rate is negative (either due to a quoted negative floating rate or by operation of a spread that is subtracted from the floating rate).',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamCompoundingStartDateUnadjusted',\n    id: 42445,\n    abbrName: 'DtUnadj',\n    description: 'The unadjusted compounding start date.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamCompoundingStartDateRelativeTo',\n    id: 42446,\n    abbrName: 'Reltv',\n    description:\n      'Specifies the anchor date when the compounding start date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamCompoundingStartDateOffsetPeriod',\n    id: 42447,\n    abbrName: 'OfstPeriod',\n    description: 'Time unit multiplier for the relative compounding start date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamCompoundingStartDateOffsetUnit',\n    id: 42448,\n    abbrName: 'OfstUnit',\n    description: 'Time unit associated with the relative compounding start date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamCompoundingStartDateOffsetDayType',\n    id: 42449,\n    abbrName: 'OfstDayTyp',\n    description: 'Specifies the day type of the relative compounding start date offset.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamCompoundingStartDateAdjusted',\n    id: 42450,\n    abbrName: 'Dt',\n    description: 'The adjusted compounding start date.',\n  },\n  {\n    type: 'Length',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamFormulaImageLength',\n    id: 42451,\n    abbrName: 'FrmlaImgLen',\n    description: 'Length in bytes of the LegPaymentStreamFormulaImage(42452) field.',\n  },\n  {\n    type: 'data',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamFormulaImage',\n    id: 42452,\n    abbrName: 'FrmlaImg',\n    lengthId: '42451',\n    description:\n      'Image of the formula image when represented through an encoded clip in base64Binary.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamFinalPricePaymentDateUnadjusted',\n    id: 42453,\n    abbrName: 'DtUnadj',\n    description: 'The unadjusted final price payment date.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamFinalPricePaymentDateRelativeTo',\n    id: 42454,\n    abbrName: 'Reltv',\n    description:\n      'Specifies the anchor date when the final price payment date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamFinalPricePaymentDateOffsetPeriod',\n    id: 42455,\n    abbrName: 'OfstPeriod',\n    description: 'Time unit multiplier for the relative final price payment date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamFinalPricePaymentDateOffsetUnit',\n    id: 42456,\n    abbrName: 'OfstUnit',\n    description:\n      'Time unit associated with the relative final price payment date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamFinalPricePaymentDateOffsetDayType',\n    id: 42457,\n    abbrName: 'OfstDayTyp',\n    description:\n      'Specifies the day type of the relative final price payment date offset.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamFinalPricePaymentDateAdjusted',\n    id: 42458,\n    abbrName: 'Dt',\n    description: 'The adjusted final price payment date.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegPaymentStreamFixingDates',\n    id: 42459,\n    description: 'Number of fixing dates in the repeating group.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamFixingDate',\n    id: 42460,\n    abbrName: 'Dt',\n    description:\n      'The fixing date. Type of date is specified in LegPaymentStreamFixingDateType(42461).',\n  },\n  {\n    type: 'NonDeliverableFixingDateTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamFixingDateType',\n    id: 42461,\n    abbrName: 'Typ',\n    description: 'Specifies the type of fixing date (e.g. adjusted for holidays).',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamFirstObservationDateUnadjusted',\n    id: 42462,\n    abbrName: 'FirstObsvtnDtUnadj',\n    description: 'The unadjusted initial price observation date.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamFirstObservationDateRelativeTo',\n    id: 42463,\n    abbrName: 'FirstObsvtnReltv',\n    description:\n      'Specifies the anchor date when the initial price observation date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamFirstObservationDateOffsetDayType',\n    id: 42464,\n    abbrName: 'FirstObsvtnOfstDayTyp',\n    description: 'Specifies the day type of the initial price observation date offset.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamFirstObservationDateAdjusted',\n    id: 42465,\n    abbrName: 'FirstObsvtnDt',\n    description: 'The adjusted initial price observation date.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamUnderlierRefID',\n    id: 42466,\n    abbrName: 'UndlrRefID',\n    description:\n      \"References the dividend underlier through the instrument's UnderlyingSecurityID(309) which must be fully specified in an instance of the UnderlyingInstrument component.\",\n  },\n  {\n    type: 'Boolean',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegReturnRateNotionalReset',\n    id: 42467,\n    abbrName: 'RtnRtNotlReset',\n    description:\n      'Indicates whether the term \"Equity Notional Reset\" as defined in the ISDA 2002 Equity Derivatives Definitions is applicable (\"Y\") or not.',\n  },\n  {\n    type: 'Price',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamLinkInitialLevel',\n    id: 42468,\n    abbrName: 'LinkInitLvl',\n    description:\n      'Price level at which the correlation or variance swap contract will strike.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamLinkClosingLevelIndicator',\n    id: 42469,\n    abbrName: 'LinkFClsngLvl',\n    description:\n      'Indicates whether the correlation or variance swap contract will (\"Y\") strike off the closing level of the default exchange traded contract or not.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamLinkExpiringLevelIndicator',\n    id: 42470,\n    abbrName: 'LinkExpngLvl',\n    description:\n      'Indicates whether the correlation or variance swap contract will (\"Y\") strike off the expiring level of the default exchange traded contract or not.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamLinkEstimatedTradingDays',\n    id: 42471,\n    abbrName: 'LinkEstTrdgDays',\n    description:\n      'The expected number of trading days in the variance or correlation swap stream.',\n  },\n  {\n    type: 'Price',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamLinkStrikePrice',\n    id: 42472,\n    abbrName: 'LinkStrkPx',\n    description: 'The strike price of a correlation or variance swap stream.',\n  },\n  {\n    type: 'PaymentStreamLinkStrikePriceTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamLinkStrikePriceType',\n    id: 42473,\n    abbrName: 'LinkStrkPxTyp',\n    description:\n      'For a variance swap specifies how LegPaymentStreamLinkStrikePrice(42472) is expressed.',\n  },\n  {\n    type: 'float',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamLinkMaximumBoundary',\n    id: 42474,\n    abbrName: 'LinkMaxBndry',\n    description:\n      'Specifies the maximum or upper boundary for variance or strike determination.\\n\\nFor a variation swap stream all observations above this price level will be excluded from the variance calculation.\\n\\nFor a correlation swap stream the maximum boundary is a percentage of the strike price.',\n  },\n  {\n    type: 'float',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamLinkMinimumBoundary',\n    id: 42475,\n    abbrName: 'LinkMinBndry',\n    description:\n      'Specifies the minimum or lower boundary for variance or strike determination.\\n\\nFor a variation swap stream all observations below this price level will be excluded from the variance calculation.\\n\\nFor a correlation swap stream the minimum boundary is a percentage of the strike price.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamLinkNumberOfDataSeries',\n    id: 42476,\n    abbrName: 'LinkNumDataSeries',\n    description:\n      'Number of data series for a correlation swap. Normal market practice is that correlation data sets are drawn from geographic market areas, such as America, Europe and Asia Pacific. Each of these geographic areas will have its own data series to avoid contagion.',\n  },\n  {\n    type: 'float',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamVarianceUnadjustedCap',\n    id: 42477,\n    abbrName: 'VarncCap',\n    description:\n      'Indicates the scaling factor to be multiplied by the variance strike price thereby making variance cap applicable.',\n  },\n  {\n    type: 'PaymentStreamRealizedVarianceMethodCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamRealizedVarianceMethod',\n    id: 42478,\n    abbrName: 'RlzdVarncMeth',\n    description: 'Indicates which price to use to satisfy the boundary condition.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamDaysAdjustmentIndicator',\n    id: 42479,\n    abbrName: 'DaysAdjmt',\n    description:\n      'Indicates whether the contract specifies that the notional should be scaled by the number of days in range divided by the estimate trading days or not. The number of \"days in range\" refers to the number of returns that contribute to the realized volatility.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamNearestExchangeContractRefID',\n    id: 42480,\n    abbrName: 'ExchCtrctRefID',\n    description:\n      \"References a contract listed on an exchange through the instrument's UnderlyingSecurityID(309) which must be fully specified in an instance of the UnderlyingInstrument component.\",\n  },\n  {\n    type: 'float',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamVegaNotionalAmount',\n    id: 42481,\n    abbrName: 'VegaNotlAmt',\n    description:\n      'Vega Notional represents the approximate gain/loss at maturity for a 1% difference between RVol (realized volatility) and KVol (strike volatility). It does not necessarily represent the Vega risk of the trade.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamFormulaCurrency',\n    id: 42482,\n    abbrName: 'Ccy',\n    description:\n      'The currency in which the formula amount is denominated. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamFormulaCurrencyDeterminationMethod',\n    id: 42483,\n    abbrName: 'CcyDtrmnMeth',\n    description:\n      'Specifies the method according to which the formula amount currency is determined.\\n\\nSee http://www.fpml.org/coding-scheme/determination-method for values.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamFormulaReferenceAmount',\n    id: 42484,\n    abbrName: 'RefAmt',\n    description:\n      'Specifies the reference amount when this term either corresponds to the standard ISDA Definition (either the 2002 Equity Definition for the Equity Amount, or the 2000 Definition for the Interest Amount), or refers to a term defined elsewhere in the swap document.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Payment_Amount_Relative_To for code list of reference amounts.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegPaymentStreamFormulas',\n    id: 42485,\n    description: 'Number of formulas in the repeating group.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'XMLData',\n    addedEP: '208',\n    updatedEP: '259',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamFormula',\n    id: 42486,\n    abbrName: 'Frmla',\n    lengthId: '43110',\n    description:\n      'Contains an XML representation of the formula. Defined for flexibility in choice of language (MathML, OpenMath or text).',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamFormulaDesc',\n    id: 42487,\n    abbrName: 'Desc',\n    description: 'A description of the math formula in LegPaymentStreamFormula(42486).',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStubEndDateUnadjusted',\n    id: 42488,\n    abbrName: 'DtUnadj',\n    description: 'The unadjusted stub end date.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStubEndDateBusinessDayConvention',\n    id: 42489,\n    abbrName: 'BizDayCnvtn',\n    description: 'The stub end date business day convention.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStubEndDateRelativeTo',\n    id: 42490,\n    abbrName: 'Reltv',\n    description:\n      'Specifies the anchor date when the stub end date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStubEndDateOffsetPeriod',\n    id: 42491,\n    abbrName: 'OfstPeriod',\n    description: 'Time unit multiplier for the relative stub end date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStubEndDateOffsetUnit',\n    id: 42492,\n    abbrName: 'OfstUnit',\n    description: 'Time unit associated with the relative stub end date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStubEndDateOffsetDayType',\n    id: 42493,\n    abbrName: 'OfstDayTyp',\n    description: 'Specifies the day type of the relative stub end date offset.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStubEndDateAdjusted',\n    id: 42494,\n    abbrName: 'Dt',\n    description: 'The adjusted stub end date.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegPaymentStubEndDateBusinessCenters',\n    id: 42495,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStubEndDateBusinessCenter',\n    id: 42496,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used for date adjustment of the payment stub end date, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStubStartDateUnadjusted',\n    id: 42497,\n    abbrName: 'DtUnadj',\n    description: 'The unadjusted stub start date.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStubStartDateBusinessDayConvention',\n    id: 42498,\n    abbrName: 'BizDayCnvtn',\n    description: 'The stub start date business day convention.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStubStartDateRelativeTo',\n    id: 42499,\n    abbrName: 'Reltv',\n    description:\n      'Specifies the anchor date when the stub start date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStubStartDateOffsetPeriod',\n    id: 42500,\n    abbrName: 'OfstPeriod',\n    description: 'Time unit multiplier for the relative stub start date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStubStartDateOffsetUnit',\n    id: 42501,\n    abbrName: 'OfstUnit',\n    description: 'Time unit associated with the relative stub start date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStubStartDateOffsetDayType',\n    id: 42502,\n    abbrName: 'OfstDayTyp',\n    description: 'Specifies the day type of the relative stub start date offset.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStubStartDateAdjusted',\n    id: 42503,\n    abbrName: 'Dt',\n    description: 'The adjusted stub start date.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegPaymentStubStartDateBusinessCenters',\n    id: 42504,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStubStartDateBusinessCenter',\n    id: 42505,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used for date adjustment of the payment stub start date, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'ProvisionBreakFeeElectionCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionBreakFeeElection',\n    id: 42506,\n    abbrName: 'BrkFeeElctn',\n    description: 'Type of fee elected for the break provision.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionBreakFeeRate',\n    id: 42507,\n    abbrName: 'BrkFeeRt',\n    description:\n      'Break fee election rate when the break fee is proportional to the notional. A fee rate of 5% would be represented as \"0.05\".',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegReturnRateDates',\n    id: 42508,\n    description: 'Number of iterations in the return rate date repeating group.',\n  },\n  {\n    type: 'ReturnRateDateModeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegReturnRateDateMode',\n    id: 42509,\n    abbrName: 'Mode',\n    description: 'Specifies the valuation type applicable to the return rate date.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegReturnRateValuationDateRelativeTo',\n    id: 42510,\n    abbrName: 'Reltv',\n    description:\n      'Specifies the anchor date when the return rate valuation dates are relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegReturnRateValuationDateOffsetPeriod',\n    id: 42511,\n    abbrName: 'OfstPeriod',\n    description:\n      'Time unit multiplier for the relative return rate valuation date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegReturnRateValuationDateOffsetUnit',\n    id: 42512,\n    abbrName: 'OfstUnit',\n    description:\n      'Time unit associated with the relative return rate valuation date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegReturnRateValuationDateOffsetDayType',\n    id: 42513,\n    abbrName: 'OfstDayTyp',\n    description:\n      'Specifies the day type of the relative return rate valuation date offset.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegReturnRateValuationStartDateUnadjusted',\n    id: 42514,\n    abbrName: 'StartDtUnadj',\n    description:\n      'The unadjusted start date for return rate valuation. This can be used to restrict the range of dates when they are relative.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegReturnRateValuationStartDateRelativeTo',\n    id: 42515,\n    abbrName: 'StartDtReltv',\n    description:\n      'Specifies the anchor date when the return rate valuation start date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegReturnRateValuationStartDateOffsetPeriod',\n    id: 42516,\n    abbrName: 'StartDtOfstPeriod',\n    description:\n      'Time unit multiplier for the relative return rate valuation start date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegReturnRateValuationStartDateOffsetUnit',\n    id: 42517,\n    abbrName: 'StartDtOfstUnit',\n    description:\n      'Time unit associated with the relative return rate valuation start date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegReturnRateValuationStartDateOffsetDayType',\n    id: 42518,\n    abbrName: 'StartDtOfstDayTyp',\n    description:\n      'Specifies the day type of the relative return rate valuation start date offset.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegReturnRateValuationStartDateAdjusted',\n    id: 42519,\n    abbrName: 'StartDt',\n    description:\n      'The adjusted start date for return rate valuation. This can be used to restrict the range of dates when they are relative.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegReturnRateValuationEndDateUnadjusted',\n    id: 42520,\n    abbrName: 'EndDtUnadj',\n    description:\n      'The unadjusted end date for return rate valuation. This can be used to restrict the range of dates when they are relative.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegReturnRateValuationEndDateRelativeTo',\n    id: 42521,\n    abbrName: 'EndDtReltv',\n    description:\n      'Specifies the anchor date when the return rate valuation end date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegReturnRateValuationEndDateOffsetPeriod',\n    id: 42522,\n    abbrName: 'EndDtOfstPeriod',\n    description:\n      'Time unit multiplier for the relative return rate valuation end date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegReturnRateValuationEndDateOffsetUnit',\n    id: 42523,\n    abbrName: 'EndDtOfstUnit',\n    description:\n      'Time unit associated with the relative return rate valuation end date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegReturnRateValuationEndDateOffsetDayType',\n    id: 42524,\n    abbrName: 'EndDtOfstDayTyp',\n    description:\n      'Specifies the day type of the relative return rate valuation end date offset.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegReturnRateValuationEndDateAdjusted',\n    id: 42525,\n    abbrName: 'EndDt',\n    description:\n      'The adjusted end date for return rate valuation. This can be used to restrict the range of dates when they are relative.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegReturnRateValuationFrequencyPeriod',\n    id: 42526,\n    abbrName: 'FreqPeriod',\n    description:\n      'Time unit multiplier for the frequency at which return rate valuation dates occur.',\n  },\n  {\n    type: 'CouponFrequencyUnitCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegReturnRateValuationFrequencyUnit',\n    id: 42527,\n    abbrName: 'FreqUnit',\n    description:\n      'Time unit associated with the frequency at which return rate valuation dates occur.',\n  },\n  {\n    type: 'DateRollConventionCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegReturnRateValuationFrequencyRollConvention',\n    id: 42528,\n    abbrName: 'Roll',\n    description:\n      'The convention for determining the sequence of return rate valuation dates. It is used in conjunction with a specified frequency.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegReturnRateValuationDateBusinessDayConvention',\n    id: 42529,\n    abbrName: 'BizDayCnvtn',\n    description: 'The return rate valuation dates business day convention.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegReturnRateFXConversions',\n    id: 42530,\n    description: 'Number of iterations in the return rate FX conversion repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegReturnRateFXCurrencySymbol',\n    id: 42531,\n    abbrName: 'CcySym',\n    description:\n      'Specifies the currency pair for the FX conversion expressed using the CCY1/CCY2 convention. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'float',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegReturnRateFXRate',\n    id: 42532,\n    abbrName: 'FxRt',\n    description:\n      'The rate of exchange between the two currencies specified in LegReturnRateFXCurrencySymbol(42531).',\n  },\n  {\n    type: 'SettlCurrFxRateCalcCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegReturnRateFXRateCalc',\n    id: 42533,\n    abbrName: 'FxRtCalc',\n    description:\n      'The rate of exchange between the two currencies specified in LegReturnRateFXCurrencySymbol(42531).',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegReturnRates',\n    id: 42534,\n    description: 'Number of iterations in the return rate repeating group.',\n  },\n  {\n    type: 'ReturnRatePriceSequenceCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegReturnRatePriceSequence',\n    id: 42535,\n    abbrName: 'PxSeq',\n    description: 'Specifies the type of price sequence of the return rate.',\n  },\n  {\n    type: 'CommTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegReturnRateCommissionBasis',\n    id: 42536,\n    abbrName: 'CommBasis',\n    description: 'Specifies the basis or unit used to calculate the commission.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegReturnRateCommissionAmount',\n    id: 42537,\n    abbrName: 'CommAmt',\n    description: 'The commission amount.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegReturnRateCommissionCurrency',\n    id: 42538,\n    abbrName: 'CommCcy',\n    description:\n      'Specifies the currency the commission amount is denominated in. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegReturnRateTotalCommissionPerTrade',\n    id: 42539,\n    abbrName: 'TotCommPerTrd',\n    description: 'The total commission per trade.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegReturnRateDeterminationMethod',\n    id: 42540,\n    abbrName: 'DtrmnMeth',\n    description:\n      'Specifies the method by which the underlier prices are determined.\\n\\nSee http://www.fpml.org/coding-scheme/determination-method for values.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegReturnRateAmountRelativeTo',\n    id: 42541,\n    abbrName: 'AmtReltv',\n    description:\n      'Specifies the reference amount when the return rate amount is relative to another amount in the trade.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Amount_Relative_To for code list of relative amounts.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegReturnRateQuoteMeasureType',\n    id: 42542,\n    abbrName: 'QteTyp',\n    description:\n      \"Specifies the type of the measure applied to the return rate's asset, e.g. valuation, sensitivity risk. This could be an NPV, a cash flow, a clean price, etc.\\n\\nSee http://www.fpml.org/coding-scheme/asset-measure for values.\",\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegReturnRateQuoteUnits',\n    id: 42543,\n    abbrName: 'QteUnit',\n    description:\n      'Specifies the units that the measure is expressed in. If not specified, the default is a price/value in currency units.\\n\\nSee http://www.fpml.org/coding-scheme/price-quote-units for values.',\n  },\n  {\n    type: 'CashSettlQuoteMethodCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegReturnRateQuoteMethod',\n    id: 42544,\n    abbrName: 'QteMeth',\n    description:\n      'Specifies the type of quote used to determine the return rate of the swap.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegReturnRateQuoteCurrency',\n    id: 42545,\n    abbrName: 'QteCcy',\n    description:\n      'Specifies the currency the return rate quote is denominated in. Uses ISO 4217 Currency Code.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegReturnRateQuoteCurrencyType',\n    id: 42546,\n    abbrName: 'QteCcyTyp',\n    description:\n      'Specifies the type of currency, e.g. settlement currency, base currency, etc., that the quote is reported in.\\n\\nSee http://www.fpml.org/coding-scheme/reporting-currency-type for values.',\n  },\n  {\n    type: 'ReturnRateQuoteTimeTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegReturnRateQuoteTimeType',\n    id: 42547,\n    abbrName: 'QteTmTyp',\n    description: 'Specifies how or the timing when the quote is to be obtained.',\n  },\n  {\n    type: 'LocalMktTime',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegReturnRateQuoteTime',\n    id: 42548,\n    abbrName: 'QteTm',\n    description: 'The time when the quote is to be generated.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegReturnRateQuoteDate',\n    id: 42549,\n    abbrName: 'QteDt',\n    description: 'The date when the quote is to be generated.',\n  },\n  {\n    type: 'LocalMktTime',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegReturnRateQuoteExpirationTime',\n    id: 42550,\n    abbrName: 'QteExpTm',\n    description: 'The time when the quote ceases to be valid.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegReturnRateQuoteBusinessCenter',\n    id: 42551,\n    abbrName: 'QteBizCtr',\n    description:\n      'The business center calendar used for adjustments associated with LegReturnRateQuoteTimeType(42547) or LegReturnRateQuoteTime(42548) and LegReturnRateQuoteDate(42549), e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'Exchange',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegReturnRateQuoteExchange',\n    id: 42552,\n    abbrName: 'QteExch',\n    description:\n      'Specifies the exchange (e.g. stock or listed futures/options exchange) from which the quote is obtained.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegReturnRateQuotePricingModel',\n    id: 42553,\n    abbrName: 'QteModel',\n    description:\n      'Specifies the pricing model used to evaluate the underlying asset price.\\n\\nSee http://www.fpml.org/coding-scheme/pricing-model for values.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegReturnRateCashFlowType',\n    id: 42554,\n    abbrName: 'CshFlow',\n    description:\n      'Specifies the type of cash flows, e.g. coupon payment, premium fee, settlement fee, etc.\\n\\nSee http://www.fpml.org/coding-scheme/cashflow-type for values.',\n  },\n  {\n    type: 'ReturnRateQuoteTimeTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegReturnRateValuationTimeType',\n    id: 42555,\n    abbrName: 'ValTmTyp',\n    description:\n      'Specifies the timing at which the calculation agent values the underlying.',\n  },\n  {\n    type: 'LocalMktTime',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegReturnRateValuationTime',\n    id: 42556,\n    abbrName: 'ValTm',\n    description: 'The time at which the calculation agent values the underlying asset.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegReturnRateValuationTimeBusinessCenter',\n    id: 42557,\n    abbrName: 'ValTmBizCtr',\n    description:\n      'The business center calendar used for adjustments associated with LegReturnRateValuationTimeType(42555) or LegReturnRateValuationTime(42556), e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'ReturnRateValuationPriceOptionCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegReturnRateValuationPriceOption',\n    id: 42558,\n    abbrName: 'ValPxOpt',\n    description:\n      'Indicates whether an ISDA price option applies, and if applicable which type of price.',\n  },\n  {\n    type: 'ComplexEventPVFinalPriceElectionFallbackCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegReturnRateFinalPriceFallback',\n    id: 42559,\n    abbrName: 'FnlPxFallbck',\n    description:\n      'Specifies the fallback provision for the hedging party in the determination of the final price.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegReturnRateInformationSources',\n    id: 42560,\n    description:\n      'Number of iterations in the return rate information source repeating group.',\n  },\n  {\n    type: 'RateSourceCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegReturnRateInformationSource',\n    id: 42561,\n    abbrName: 'RtSrc',\n    description:\n      'Identifies the source of rate information. For FX the references source to be used for the FX spot rate.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegReturnRateReferencePage',\n    id: 42562,\n    abbrName: 'RefPg',\n    description:\n      'Identifies the reference \"page\" from the rate source.\\n\\nFor FX, the reference page to the spot rate to be used for the reference FX spot rate.\\n\\nWhen LegReturnRateInformationSource(42561) = 3 (ISDA Settlement Rate Option) this contains the value from the scheme that reflects the terms of the Annex A to the ISDA 1998 FX and Currency Option Definitions.\\n\\nSee: http://www.fpml.org/coding-scheme/settlement-rate-option.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegReturnRateReferencePageHeading',\n    id: 42563,\n    abbrName: 'RefHdng',\n    description: 'Identifies the page heading from the rate source.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegReturnRatePrices',\n    id: 42564,\n    description: 'Number of iterations in the return rate price repeating group.',\n  },\n  {\n    type: 'ReturnRatePriceBasisCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegReturnRatePriceBasis',\n    id: 42565,\n    abbrName: 'PxBasis',\n    description: 'The basis of the return price.',\n  },\n  {\n    type: 'Price',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegReturnRatePrice',\n    id: 42566,\n    abbrName: 'Px',\n    description: 'Specifies the price of the underlying swap asset.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegReturnRatePriceCurrency',\n    id: 42567,\n    abbrName: 'Ccy',\n    description:\n      'Specifies the currency of the price of the leg swap asset. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'ReturnRatePriceTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegReturnRatePriceType',\n    id: 42568,\n    abbrName: 'PxTyp',\n    description:\n      'Specifies whether the LegReturnRatePrice(42566) is expressed in absolute or relative terms.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegReturnRateValuationDateBusinessCenters',\n    id: 42569,\n    description:\n      'Number of iterations in the return rate valuation date business center repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegReturnRateValuationDateBusinessCenter',\n    id: 42570,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used for date adjustment of the return rate valuation unadjusted or relative dates, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegReturnRateValuationDates',\n    id: 42571,\n    description:\n      'Number of iterations in the return rate valuation date repeating group.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegReturnRateValuationDate',\n    id: 42572,\n    abbrName: 'Dt',\n    description:\n      'The return rate valuation date. The type of date is specified in LegReturnRateValuationDateType(42573).',\n  },\n  {\n    type: 'NonDeliverableFixingDateTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegReturnRateValuationDateType',\n    id: 42573,\n    abbrName: 'Typ',\n    description:\n      'Specifies the type of return rate valuation date (e.g. adjusted for holidays).',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegSettlMethodElectionDateUnadjusted',\n    id: 42574,\n    abbrName: 'DtUnadj',\n    description: 'The unadjusted settlement method election date.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegSettlMethodElectionDateBusinessDayConvention',\n    id: 42575,\n    abbrName: 'BizDayCnvtn',\n    description:\n      'The settlement method election date adjustment business day convention.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegSettlMethodElectionDateRelativeTo',\n    id: 42576,\n    abbrName: 'Reltv',\n    description:\n      'Specifies the anchor date when the settlement method election date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegSettlMethodElectionDateOffsetPeriod',\n    id: 42577,\n    abbrName: 'OfstPeriod',\n    description:\n      'Time unit multiplier for the relative settlement method election date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegSettlMethodElectionDateOffsetUnit',\n    id: 42578,\n    abbrName: 'OfstUnit',\n    description:\n      'Time unit associated with the relative settlement method election date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegSettlMethodElectionDateOffsetDayType',\n    id: 42579,\n    abbrName: 'OfstDayTyp',\n    description:\n      'Specifies the day type of the relative settlement method election date offset.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegSettlMethodElectionDateAdjusted',\n    id: 42580,\n    abbrName: 'Dt',\n    description: 'The adjusted settlement method election date.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'NoLegSettlMethodElectionDateBusinessCenters',\n    id: 42581,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegSettlMethodElectionDateBusinessCenter',\n    id: 42582,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used for date adjustment of the settlement method election unadjusted or relative date, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamVersion',\n    id: 42583,\n    abbrName: 'Ver',\n    description:\n      'The stream version identifier when there have been modifications to the contract over time. Helps signal when there are embedded changes.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamVersionEffectiveDate',\n    id: 42584,\n    abbrName: 'VerEfctvDt',\n    description: 'The effective date of the LegStreamVersion(42583).',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamNotionalDeterminationMethod',\n    id: 42585,\n    abbrName: 'NotlDtrmnMeth',\n    description:\n      'Specifies the method for determining the floating notional value for equity swaps.\\n\\nSee http://www.fpml.org/coding-scheme/determination-method for values.',\n  },\n  {\n    type: 'StreamNotionalAdjustmentsCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamNotionalAdjustments',\n    id: 42586,\n    abbrName: 'NotlAdjmts',\n    description:\n      'For equity swaps this specifies the conditions that govern the adjustment to the number of units of the swap.',\n  },\n  {\n    type: 'PaymentPaySideCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'SettlMethodElectingPartySide',\n    id: 42590,\n    abbrName: 'SettlMethElctngSide',\n    description: 'Side value of the party electing the settlement method.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'MakeWholeDate',\n    id: 42591,\n    abbrName: 'Dt',\n    description: 'The date through which option cannot be exercised without penalty.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'MakeWholeAmount',\n    id: 42592,\n    abbrName: 'Amt',\n    description:\n      'Amount to be paid by the buyer of the option if the option is exercised prior to the MakeWholeDate(42591).',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'MakeWholeBenchmarkCurveName',\n    id: 42593,\n    abbrName: 'Name',\n    description: 'Identifies the benchmark floating rate index.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'MakeWholeBenchmarkCurvePoint',\n    id: 42594,\n    abbrName: 'Point',\n    description:\n      'The point on the floating rate index curve.\\n\\nSample values:\\n\\nM = combination of a number between 1-12 and an \"M\" for month, e.g. 3M\\n\\nY = combination of number between 1-100 and a \"Y\" for year, e.g. 10Y\\n\\n10Y-OLD = see above, then add \"-OLD\" when appropriate\\n\\nINTERPOLATED = the point is mathematically derived\\n\\n2/2031 5 3/8 = the point is stated via a combination of maturity month / year and coupon.',\n  },\n  {\n    type: 'PriceOffset',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'MakeWholeRecallSpread',\n    id: 42595,\n    abbrName: 'Spread',\n    description: 'Spread over the floating rate index.',\n  },\n  {\n    type: 'StrikeIndexQuoteCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'MakeWholeBenchmarkQuote',\n    id: 42596,\n    abbrName: 'Qte',\n    description:\n      'The quote side of the benchmark to be used for calculating the \"make whole\" amount.',\n  },\n  {\n    type: 'PaymentStreamInflationInterpolationMethodCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'MakeWholeInterpolationMethod',\n    id: 42597,\n    abbrName: 'IntrpltnMeth',\n    description:\n      'The method used when calculating the \"make whole\" amount. The most common is linear method.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentAmountRelativeTo',\n    id: 42598,\n    abbrName: 'AmtReltv',\n    description:\n      'Specifies the reference amount when the payment amount is relative to another amount in the message.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Payment_Amount_Relative_To for code list of relative amounts.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentAmountDeterminationMethod',\n    id: 42599,\n    abbrName: 'AmtDtrmnMeth',\n    description:\n      'Specifies the method by which a payment amount is determined.\\n\\nSee http://www.fpml.org/coding-scheme/determination-method for values.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamCashSettlIndicator',\n    id: 42600,\n    abbrName: 'CshSettlInd',\n    description: 'Indicates whether cash settlement is applicable.',\n  },\n  {\n    type: 'XIDREF',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamCompoundingXIDRef',\n    id: 42601,\n    abbrName: 'CmpndgXIDRef',\n    description:\n      'Reference to the stream which details the compounding fixed or floating rate.',\n  },\n  {\n    type: 'PriceOffset',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamCompoundingSpread',\n    id: 42602,\n    abbrName: 'CmpndgSpread',\n    description:\n      'The spread to be used for compounding. Used in scenarios where the interest payment is based on a compounding formula that uses a compounding spread in addition to the regular spread.',\n  },\n  {\n    type: 'PaymentStreamInflationInterpolationMethodCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamInterpolationMethod',\n    id: 42603,\n    abbrName: 'IntrpltnMeth',\n    description:\n      'The method used when calculating the index rate from multiple points on the curve. The most common is linear method.',\n  },\n  {\n    type: 'PaymentStreamInterpolationPeriodCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamInterpolationPeriod',\n    id: 42604,\n    abbrName: 'IntrpltnPeriod',\n    description: 'Defines applicable periods for interpolation.',\n  },\n  {\n    type: 'float',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamCompoundingFixedRate',\n    id: 42605,\n    abbrName: 'CmpndgFixedRt',\n    description: 'The compounding fixed rate applicable to the payment stream.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'NoPaymentStreamCompoundingDates',\n    id: 42606,\n    description: 'Number of dates in the repeating group.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamCompoundingDate',\n    id: 42607,\n    abbrName: 'Dt',\n    description:\n      'The compounding date. The type of date is specified in PaymentStreamCompoundingDateType(42608).',\n  },\n  {\n    type: 'NonDeliverableFixingDateTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamCompoundingDateType',\n    id: 42608,\n    abbrName: 'Typ',\n    description:\n      'Specifies the type of payment compounding date (e.g. adjusted for holidays).',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamCompoundingDatesBusinessDayConvention',\n    id: 42609,\n    abbrName: 'BizDayCnvtn',\n    description: 'The compounding dates business day convention.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamCompoundingDatesRelativeTo',\n    id: 42610,\n    abbrName: 'Reltv',\n    description:\n      'Specifies the anchor date when the compounding dates are relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamCompoundingDatesOffsetPeriod',\n    id: 42611,\n    abbrName: 'OfstPeriod',\n    description: 'Time unit multiplier for the relative compounding date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamCompoundingDatesOffsetUnit',\n    id: 42612,\n    abbrName: 'OfstUnit',\n    description: 'Time unit associated with the relative compounding date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamCompoundingDatesOffsetDayType',\n    id: 42613,\n    abbrName: 'OfstDayTyp',\n    description: 'Specifies the day type of the relative compounding date offset.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamCompoundingPeriodSkip',\n    id: 42614,\n    abbrName: 'Skip',\n    description:\n      'The number of periods in the \"RelativeTo\" schedule that are between each date in the compounding schedule. A skip of 2 would mean that compounding dates are relative to every second date in the \"RelativeTo\" schedule. If present this should have a value greater than 1.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamCompoundingFrequencyPeriod',\n    id: 42615,\n    abbrName: 'FreqPeriod',\n    description:\n      'Time unit multiplier for the frequency at which compounding dates occur.',\n  },\n  {\n    type: 'CouponFrequencyUnitCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamCompoundingFrequencyUnit',\n    id: 42616,\n    abbrName: 'FreqUnit',\n    description:\n      'Time unit associated with the frequency at which compounding dates occur.',\n  },\n  {\n    type: 'DateRollConventionCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamCompoundingRollConvention',\n    id: 42617,\n    abbrName: 'Roll',\n    description:\n      'The convention for determining the sequence of compounding dates. It is used in conjunction with a specified frequency.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamBoundsFirstDateUnadjusted',\n    id: 42618,\n    abbrName: 'FirstDtUnadj',\n    description:\n      'The unadjusted first date of the compounding schedule. This can be used to restrict the range of dates when they are relative.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamBoundsLastDateUnadjusted',\n    id: 42619,\n    abbrName: 'LastDtUnadj',\n    description:\n      'The unadjusted last date of the compounding schedule. This can be used to restrict the range of dates when they are relative.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'NoPaymentStreamCompoundingDatesBusinessCenters',\n    id: 42620,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamCompoundingDatesBusinessCenter',\n    id: 42621,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used for date adjustment of the payment stream compounding dates, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamCompoundingEndDateUnadjusted',\n    id: 42622,\n    abbrName: 'DtUnadj',\n    description: 'The unadjusted compounding end date.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamCompoundingEndDateRelativeTo',\n    id: 42623,\n    abbrName: 'Reltv',\n    description:\n      'Specifies the anchor date when the compounding end date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamCompoundingEndDateOffsetPeriod',\n    id: 42624,\n    abbrName: 'OfstPeriod',\n    description: 'Time unit multiplier for the relative compounding end date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamCompoundingEndDateOffsetUnit',\n    id: 42625,\n    abbrName: 'OfstUnit',\n    description: 'Time unit associated with the relative compounding end date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamCompoundingEndDateOffsetDayType',\n    id: 42626,\n    abbrName: 'OfstDayTyp',\n    description: 'Specifies the day type of the relative compounding end date offset.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamCompoundingEndDateAdjusted',\n    id: 42627,\n    abbrName: 'Dt',\n    description: 'The adjusted compounding end date.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamCompoundingRateIndex',\n    id: 42628,\n    abbrName: 'Ndx',\n    description: \"The payment stream's compounding floating rate index.\",\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamCompoundingRateIndexCurvePeriod',\n    id: 42629,\n    abbrName: 'NdxPeriod',\n    description:\n      \"Time unit multiplier for the payment stream's compounding floating rate index curve period.\",\n  },\n  {\n    type: 'PaymentStreamRateIndexCurveUnitCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamCompoundingRateIndexCurveUnit',\n    id: 42630,\n    abbrName: 'NdxUnit',\n    description:\n      \"Time unit associated with the payment stream's compounding floating rate index curve period.\",\n  },\n  {\n    type: 'float',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamCompoundingRateMultiplier',\n    id: 42631,\n    abbrName: 'RtMult',\n    description:\n      'A rate multiplier to apply to the compounding floating rate. The multiplier can be less than or greater than 1 (one). This should only be included if the multiplier is not equal to 1 (one) for the term of the stream.',\n  },\n  {\n    type: 'PriceOffset',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamCompoundingRateSpread',\n    id: 42632,\n    abbrName: 'Spread',\n    description:\n      'The basis points spread from the index specified in PaymentStreamCompoundingRateIndex(42628).',\n  },\n  {\n    type: 'PaymentStreamRateSpreadPositionTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamCompoundingRateSpreadPositionType',\n    id: 42633,\n    abbrName: 'SpreadPosTyp',\n    description:\n      'Identifies whether the rate spread is applied to a long or short position.',\n  },\n  {\n    type: 'PaymentStreamRateTreatmentCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamCompoundingRateTreatment',\n    id: 42634,\n    abbrName: 'RtTrtmt',\n    description: 'Specifies the yield calculation treatment for the index.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamCompoundingCapRate',\n    id: 42635,\n    abbrName: 'CapRt',\n    description:\n      'The cap rate, if any, which applies to the compounding floating rate. It is only required where the compounding floating rate on a swap stream is capped at a certain level. The cap rate is assumed to be exclusive of any spread and is a per annum rate, expressed as a decimal. A cap rate of 5% would be represented as \"0.05\".',\n  },\n  {\n    type: 'PaymentStreamCapRateBuySideCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamCompoundingCapRateBuySide',\n    id: 42636,\n    abbrName: 'CapRtBuy',\n    description:\n      'Reference to the buyer of the compounding cap rate option through its trade side.',\n  },\n  {\n    type: 'PaymentStreamCapRateBuySideCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamCompoundingCapRateSellSide',\n    id: 42637,\n    abbrName: 'CapRtSell',\n    description:\n      'Reference to the seller of the compounding cap rate option through its trade side.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamCompoundingFloorRate',\n    id: 42638,\n    abbrName: 'FlrRt',\n    description:\n      'The floor rate, if any, which applies to the compounding floating rate. The floor rate (strike) is only required where the compounding floating rate on a swap stream is floored at a certain strike level. The floor rate is assumed to be exclusive of any spread and is a per annum rate. The rate is expressed as a decimal, e.g. 5% is represented as \"0.05\".',\n  },\n  {\n    type: 'PaymentStreamFloorRateBuySideCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamCompoundingFloorRateBuySide',\n    id: 42639,\n    abbrName: 'FlrRtBuy',\n    description:\n      'Reference to the buyer of the compounding floor rate option through its trade side.',\n  },\n  {\n    type: 'PaymentStreamFloorRateBuySideCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamCompoundingFloorRateSellSide',\n    id: 42640,\n    abbrName: 'FlrRtSell',\n    description:\n      'Reference to the seller of the floor rate option through its trade side.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamCompoundingInitialRate',\n    id: 42641,\n    abbrName: 'InitRt',\n    description:\n      'The initial compounding floating rate reset agreed between the principal parties involved in the trade. It should only be included when the rate is not equal to the rate published on the source implied by the floating rate index. The initial rate is expressed in decimal form, e.g. 5% is represented as \"0.05\".',\n  },\n  {\n    type: 'RoundingDirectionCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamCompoundingFinalRateRoundingDirection',\n    id: 42642,\n    abbrName: 'FnlRtRndDirctn',\n    description: 'Specifies the rounding direction for the compounding floating rate.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamCompoundingFinalRatePrecision',\n    id: 42643,\n    abbrName: 'FnlRtPrcsn',\n    description:\n      'Specifies the compounding floating rate rounding precision in terms of a number of decimal places. Note how a percentage rate rounding of 5 decimal places is expressed as a rounding precision of 7.',\n  },\n  {\n    type: 'PaymentStreamAveragingMethodCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamCompoundingAveragingMethod',\n    id: 42644,\n    abbrName: 'AvgngMeth',\n    description:\n      'Specifies the averaging method when compounding floating rate averaging is applicable (e.g. weighted or unweighted).',\n  },\n  {\n    type: 'PaymentStreamNegativeRateTreatmentCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamCompoundingNegativeRateTreatment',\n    id: 42645,\n    abbrName: 'NegtvRtTrtmt',\n    description:\n      'Specifies the method for calculating payment obligations when a compounding floating rate is negative (either due to a quoted negative floating rate or by operation of a spread that is subtracted from the floating rate).',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamCompoundingStartDateUnadjusted',\n    id: 42646,\n    abbrName: 'DtUnadj',\n    description: 'The unadjusted compounding start date.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamCompoundingStartDateRelativeTo',\n    id: 42647,\n    abbrName: 'Reltv',\n    description:\n      'Specifies the anchor date when the compounding start date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamCompoundingStartDateOffsetPeriod',\n    id: 42648,\n    abbrName: 'OfstPeriod',\n    description: 'Time unit multiplier for the relative compounding start date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamCompoundingStartDateOffsetUnit',\n    id: 42649,\n    abbrName: 'OfstUnit',\n    description: 'Time unit associated with the relative compounding start date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamCompoundingStartDateOffsetDayType',\n    id: 42650,\n    abbrName: 'OfstDayTyp',\n    description: 'Specifies the day type of the relative compounding start date offset.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamCompoundingStartDateAdjusted',\n    id: 42651,\n    abbrName: 'Dt',\n    description: 'The adjusted compounding start date.',\n  },\n  {\n    type: 'Length',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamFormulaImageLength',\n    id: 42652,\n    abbrName: 'FrmlaImgLen',\n    description: 'Length in bytes of the PaymentStreamFormulaImage(42563) field.',\n  },\n  {\n    type: 'data',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamFormulaImage',\n    id: 42653,\n    abbrName: 'FrmlaImg',\n    lengthId: '42652',\n    description:\n      'Image of the formula image when represented through an encoded clip in base64Binary.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamFinalPricePaymentDateUnadjusted',\n    id: 42654,\n    abbrName: 'DtUnadj',\n    description: 'The unadjusted final price payment date.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamFinalPricePaymentDateRelativeTo',\n    id: 42655,\n    abbrName: 'Reltv',\n    description:\n      'Specifies the anchor date when the final price payment date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamFinalPricePaymentDateOffsetfPeriod',\n    id: 42656,\n    abbrName: 'OfstPeriod',\n    description: 'Time unit multiplier for the relative final price payment date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamFinalPricePaymentDateOffsetUnit',\n    id: 42657,\n    abbrName: 'OfstUnit',\n    description:\n      'Time unit associated with the relative final price payment date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamFinalPricePaymentDateOffsetDayType',\n    id: 42658,\n    abbrName: 'OfstDayTyp',\n    description:\n      'Specifies the day type of the relative final price payment date offset.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamFinalPricePaymentDateAdjusted',\n    id: 42659,\n    abbrName: 'Dt',\n    description: 'The adjusted final price payment date.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'NoPaymentStreamFixingDates',\n    id: 42660,\n    description: 'Number of fixing dates in the repeating group.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamFixingDate',\n    id: 42661,\n    abbrName: 'Dt',\n    description:\n      'The fixing date. The type of date is specified in PaymentStreamFixingDateType(42662).',\n  },\n  {\n    type: 'NonDeliverableFixingDateTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamFixingDateType',\n    id: 42662,\n    abbrName: 'Typ',\n    description: 'Specifies the type of fixing date (e.g. adjusted for holidays).',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamFirstObservationDateUnadjusted',\n    id: 42663,\n    abbrName: 'FirstObsvtnDtUnadj',\n    description: 'The unadjusted initial price observation date.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamFirstObservationDateRelativeTo',\n    id: 42664,\n    abbrName: 'FirstObsvtnReltv',\n    description:\n      'Specifies the anchor date when the initial price observation date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamFirstObservationDateOffsetDayType',\n    id: 42665,\n    abbrName: 'FirstObsvtnOfstDayTyp',\n    description: 'Specifies the day type of the initial price observation date offset.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamFirstObservationDateAdjusted',\n    id: 42666,\n    abbrName: 'FirstObsvtnDt',\n    description: 'The adjusted initial price observation date.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamUnderlierRefID',\n    id: 42667,\n    abbrName: 'UndlrRefID',\n    description:\n      \"References the dividend underlier through the instrument's UnderlyingSecurityID(309) which must be fully specified in an instance of the UnderlyingInstrument component.\",\n  },\n  {\n    type: 'Boolean',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ReturnRateNotionalReset',\n    id: 42668,\n    abbrName: 'RtnRtNotlReset',\n    description:\n      'Indicates whether the term \"Equity Notional Reset\" as defined in the ISDA 2002 Equity Derivatives Definitions is applicable (\"Y\") or not.',\n  },\n  {\n    type: 'Price',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamLinkInitialLevel',\n    id: 42669,\n    abbrName: 'LinkInitLvl',\n    description:\n      'Price level at which the correlation or variance swap contract will strike.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamLinkClosingLevelIndicator',\n    id: 42670,\n    abbrName: 'LinkClsngLvl',\n    description:\n      'Indicates whether the correlation or variance swap contract will (\"Y\") strike off the closing level of the default exchange traded contract or not.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamLinkExpiringLevelIndicator',\n    id: 42671,\n    abbrName: 'LinkExpngLvl',\n    description:\n      'Indicates whether the correlation or variance swap contract will (\"Y\") strike off the expiring level of the default exchange traded contract or not.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamLinkEstimatedTradingDays',\n    id: 42672,\n    abbrName: 'LinkEstTrdgDays',\n    description:\n      'The expected number of trading days in the variance or correlation swap stream.',\n  },\n  {\n    type: 'Price',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamLinkStrikePrice',\n    id: 42673,\n    abbrName: 'LinkStrkPx',\n    description: 'The strike price of a correlation or variance swap stream.',\n  },\n  {\n    type: 'PaymentStreamLinkStrikePriceTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamLinkStrikePriceType',\n    id: 42674,\n    abbrName: 'LinkStrkPxTyp',\n    description:\n      'For a variance swap specifies how PaymentStreamLinkStrikePrice(42673) is expressed.',\n  },\n  {\n    type: 'float',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamLinkMaximumBoundary',\n    id: 42675,\n    abbrName: 'LinkMaxBndry',\n    description:\n      'Specifies the maximum or upper boundary for variance or strike determination.\\n\\nFor a variation swap stream all observations above this price level will be excluded from the variance calculation.\\n\\nFor a correlation swap stream the maximum boundary is a percentage of the strike price.',\n  },\n  {\n    type: 'float',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamLinkMinimumBoundary',\n    id: 42676,\n    abbrName: 'LinkMinBndry',\n    description:\n      'Specifies the minimum or lower boundary for variance or strike determination.\\n\\nFor a variation swap stream all observations below this price level will be excluded from the variance calculation.\\n\\nFor a correlation swap stream the minimum boundary is a percentage of the strike price.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamLinkNumberOfDataSeries',\n    id: 42677,\n    abbrName: 'LinkNumDataSeries',\n    description:\n      'Number of data series for a correlation swap. Normal market practice is that correlation data sets are drawn from geographic market areas, such as America, Europe and Asia Pacific. Each of these geographic areas will have its own data series to avoid contagion.',\n  },\n  {\n    type: 'float',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamVarianceUnadjustedCap',\n    id: 42678,\n    abbrName: 'VarncCap',\n    description:\n      'Indicates the scaling factor to be multiplied by the variance strike price thereby making variance cap applicable.',\n  },\n  {\n    type: 'PaymentStreamRealizedVarianceMethodCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamRealizedVarianceMethod',\n    id: 42679,\n    abbrName: 'RlzdVarncMeth',\n    description: 'Indicates which price to use to satisfy the boundary condition.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamDaysAdjustmentIndicator',\n    id: 42680,\n    abbrName: 'DaysAdjmt',\n    description:\n      'Indicates whether the contract specifies that the notional should be scaled by the number of days in range divided by the estimate trading days or not. The number of \"days in range\" refers to the number of returns that contribute to the realized volatility.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamNearestExchangeContractRefID',\n    id: 42681,\n    abbrName: 'ExchCtrctRefID',\n    description:\n      \"References a contract listed on an exchange through the instrument's UnderlyingSecurityID(309) which must be fully specified in an instance of the UnderlyingInstrument component.\",\n  },\n  {\n    type: 'float',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamVegaNotionalAmount',\n    id: 42682,\n    abbrName: 'VegaNotlAmt',\n    description:\n      '\"Vega Notional\" represents the approximate gain/loss at maturity for a 1% difference between RVol (realised volatility) and KVol (strike volatility). It does not necessarily represent the Vega risk of the trade.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'NoPaymentStreamFormulas',\n    id: 42683,\n    description: 'Number of formulas in the repeating group.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'XMLData',\n    addedEP: '208',\n    updatedEP: '259',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamFormula',\n    id: 42684,\n    abbrName: 'Frmla',\n    lengthId: '43109',\n    description:\n      'Contains an XML representation of the formula. Defined for flexibility in choice of language (MathML, OpenMath or text).',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamFormulaDesc',\n    id: 42685,\n    abbrName: 'Desc',\n    description: 'A description of the math formula in PaymentStreamFormula(42684).',\n  },\n  {\n    type: 'Currency',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamFormulaCurrency',\n    id: 42686,\n    abbrName: 'Ccy',\n    description:\n      'The currency in which the formula amount is denominated. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamFormulaCurrencyDeterminationMethod',\n    id: 42687,\n    abbrName: 'CcyDtrmnMeth',\n    description:\n      'Specifies the method according to which the formula amount currency is determined.\\n\\nSee http://www.fpml.org/coding-scheme/determination-method for values.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamFormulaReferenceAmount',\n    id: 42688,\n    abbrName: 'RefAmt',\n    description:\n      'Specifies the reference amount when this term either corresponds to the standard ISDA Definition (either the 2002 Equity Definition for the Equity Amount, or the 2000 Definition for the Interest Amount), or refers to a term defined elsewhere in the swap document.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Payment_Amount_Relative_To for code list of reference amounts.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStubEndDateUnadjusted',\n    id: 42689,\n    abbrName: 'DtUnadj',\n    description: 'The unadjusted stub end date.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStubEndDateBusinessDayConvention',\n    id: 42690,\n    abbrName: 'BizDayCnvtn',\n    description: 'The stub end date business day convention.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStubEndDateRelativeTo',\n    id: 42691,\n    abbrName: 'Reltv',\n    description:\n      'Specifies the anchor date when the stub end date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStubEndDateOffsetPeriod',\n    id: 42692,\n    abbrName: 'OfstPeriod',\n    description: 'Time unit multiplier for the relative stub end date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStubEndDateOffsetUnit',\n    id: 42693,\n    abbrName: 'OfstUnit',\n    description: 'Time unit associated with the relative stub end date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStubEndDateOffsetDayType',\n    id: 42694,\n    abbrName: 'OfstDayTyp',\n    description: 'Specifies the day type of the relative stub end date offset.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStubEndDateAdjusted',\n    id: 42695,\n    abbrName: 'Dt',\n    description: 'The adjusted stub end date.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'NoPaymentStubEndDateBusinessCenters',\n    id: 42696,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStubEndDateBusinessCenter',\n    id: 42697,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used for date adjustment of the payment stub end date, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStubStartDateUnadjusted',\n    id: 42698,\n    abbrName: 'DtUnadj',\n    description: 'The unadjusted stub start date.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStubStartDateBusinessDayConvention',\n    id: 42699,\n    abbrName: 'BizDayCnvtn',\n    description: 'The stub start date business day convention.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStubStartDateRelativeTo',\n    id: 42700,\n    abbrName: 'Reltv',\n    description:\n      'Specifies the anchor date when the stub start date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStubStartDateOffsetPeriod',\n    id: 42701,\n    abbrName: 'OfstPeriod',\n    description: 'Time unit multiplier for the relative stub start date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStubStartDateOffsetUnit',\n    id: 42702,\n    abbrName: 'OfstUnit',\n    description: 'Time unit associated with the relative stub start date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStubStartDateOffsetDayType',\n    id: 42703,\n    abbrName: 'OfstDayTyp',\n    description: 'Specifies the day type of the relative stub start date offset.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStubStartDateAdjusted',\n    id: 42704,\n    abbrName: 'Dt',\n    description: 'The adjusted stub start date.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'NoPaymentStubStartDateBusinessCenters',\n    id: 42705,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStubStartDateBusinessCenter',\n    id: 42706,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used for date adjustment of the payment stub start date, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'ProvisionBreakFeeElectionCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionBreakFeeElection',\n    id: 42707,\n    abbrName: 'BrkFeeElctn',\n    description: 'Type of fee elected for the break provision.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionBreakFeeRate',\n    id: 42708,\n    abbrName: 'BrkFeeRt',\n    description:\n      'Break fee election rate when the break fee is proportional to the notional. A fee rate of 5% would be represented as \"0.05\".',\n  },\n  {\n    type: 'XIDREF',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'RelatedToDividendPeriodXIDRef',\n    id: 2417,\n    abbrName: 'XIDRef',\n    description:\n      'The DividendPeriodXID(42293) of the stream dividend period with which the related instrument has correlation.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'NoReturnRateDates',\n    id: 42709,\n    description: 'Number of iterations in the return rate date repeating group.',\n  },\n  {\n    type: 'ReturnRateDateModeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ReturnRateDateMode',\n    id: 42710,\n    abbrName: 'Mode',\n    description: 'Specifies the valuation type applicable to the return rate date.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ReturnRateValuationDateRelativeTo',\n    id: 42711,\n    abbrName: 'Reltv',\n    description:\n      'Specifies the anchor date when the return rate valuation dates are relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ReturnRateValuationDateOffsetPeriod',\n    id: 42712,\n    abbrName: 'OfstPeriod',\n    description:\n      'Time unit multiplier for the relative return rate valuation date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ReturnRateValuationDateOffsetUnit',\n    id: 42713,\n    abbrName: 'OfstUnit',\n    description:\n      'Time unit associated with the relative return rate valuation date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ReturnRateValuationDateOffsetDayType',\n    id: 42714,\n    abbrName: 'OfstDayTyp',\n    description:\n      'Specifies the day type of the relative return rate valuation date offset.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ReturnRateValuationStartDateUnadjusted',\n    id: 42715,\n    abbrName: 'StartDtUnadj',\n    description:\n      'The unadjusted start date for return rate valuation. This can be used to restrict the range of dates when they are relative.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ReturnRateValuationStartDateRelativeTo',\n    id: 42716,\n    abbrName: 'StartDtReltv',\n    description:\n      'Specifies the anchor date when the return rate valuation start date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ReturnRateValuationStartDateOffsetPeriod',\n    id: 42717,\n    abbrName: 'StartDtOfstPeriod',\n    description:\n      'Time unit multiplier for the relative return rate valuation start date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ReturnRateValuationStartDateOffsetUnit',\n    id: 42718,\n    abbrName: 'StartDtOfstUnit',\n    description:\n      'Time unit associated with the relative return rate valuation start date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ReturnRateValuationStartDateOffsetDayType',\n    id: 42719,\n    abbrName: 'StartDtOfstDayTyp',\n    description:\n      'Specifies the day type of the relative return rate valuation start date offset.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ReturnRateValuationStartDateAdjusted',\n    id: 42720,\n    abbrName: 'StartDt',\n    description:\n      'The adjusted start date for return rate valuation. This can be used to restrict the range of dates when they are relative.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ReturnRateValuationEndDateUnadjusted',\n    id: 42721,\n    abbrName: 'EndDtUnadj',\n    description:\n      'The unadjusted end date for return rate valuation. This can be used to restrict the range of dates when they are relative.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ReturnRateValuationEndDateRelativeTo',\n    id: 42722,\n    abbrName: 'EndDtReltv',\n    description:\n      'Specifies the anchor date when the return rate valuation end date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ReturnRateValuationEndDateOffsetPeriod',\n    id: 42723,\n    abbrName: 'EndDtOfstPeriod',\n    description:\n      'Time unit multiplier for the relative return rate valuation end date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ReturnRateValuationEndDateOffsetUnit',\n    id: 42724,\n    abbrName: 'EndDtOfstUnit',\n    description:\n      'Time unit associated with the relative return rate valuation end date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ReturnRateValuationEndDateOffsetDayType',\n    id: 42725,\n    abbrName: 'EndDtOfstDayTyp',\n    description:\n      'Specifies the day type of the relative return rate valuation end date offset.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ReturnRateValuationEndDateAdjusted',\n    id: 42726,\n    abbrName: 'EndDt',\n    description:\n      'The adjusted end date for return rate valuation. This can be used to restrict the range of dates when they are relative.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ReturnRateValuationFrequencyPeriod',\n    id: 42727,\n    abbrName: 'FreqPeriod',\n    description:\n      'Time unit multiplier for the frequency at which return rate valuation dates occur.',\n  },\n  {\n    type: 'CouponFrequencyUnitCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ReturnRateValuationFrequencyUnit',\n    id: 42728,\n    abbrName: 'FreqUnit',\n    description:\n      'Time unit associated with the frequency at which return rate valuation dates occur.',\n  },\n  {\n    type: 'DateRollConventionCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ReturnRateValuationFrequencyRollConvention',\n    id: 42729,\n    abbrName: 'Roll',\n    description:\n      'The convention for determining the sequence of return rate valuation dates. It is used in conjunction with a specified frequency.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ReturnRateValuationDateBusinessDayConvention',\n    id: 42730,\n    abbrName: 'BizDayCnvtn',\n    description: 'The return rate valuation dates business day convention.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'NoReturnRateFXConversions',\n    id: 42731,\n    description: 'Number of iterations in the return rate FX conversion repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ReturnRateFXCurrencySymbol',\n    id: 42732,\n    abbrName: 'CcySym',\n    description:\n      'Specifies the currency pair for the FX conversion expressed using the CCY1/CCY2 convention. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'float',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ReturnRateFXRate',\n    id: 42733,\n    abbrName: 'FxRt',\n    description:\n      'The rate of exchange between the two currencies specified in ReturnRateFXCurrencySymbol(42732).',\n  },\n  {\n    type: 'SettlCurrFxRateCalcCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ReturnRateFXRateCalc',\n    id: 42734,\n    abbrName: 'FxRtCalc',\n    description:\n      'Specifies whether ReturnRateFXRate(42733) should be multiplied or divided.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'NoReturnRates',\n    id: 42735,\n    description: 'Number of iterations in the return rate repeating group.',\n  },\n  {\n    type: 'ReturnRatePriceSequenceCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ReturnRatePriceSequence',\n    id: 42736,\n    abbrName: 'PxSeq',\n    description: 'Specifies the type of price sequence of the return rate.',\n  },\n  {\n    type: 'CommTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ReturnRateCommissionBasis',\n    id: 42737,\n    abbrName: 'CommBasis',\n    description: 'Specifies the basis or unit used to calculate the commission.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ReturnRateCommissionAmount',\n    id: 42738,\n    abbrName: 'CommAmt',\n    description: 'The commission amount.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ReturnRateCommissionCurrency',\n    id: 42739,\n    abbrName: 'CommCcy',\n    description:\n      'Specifies the currency the commission amount is denominated in. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ReturnRateTotalCommissionPerTrade',\n    id: 42740,\n    abbrName: 'TotCommPerTrd',\n    description: 'The total commission per trade.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ReturnRateDeterminationMethod',\n    id: 42741,\n    abbrName: 'DtrmnMeth',\n    description:\n      'Specifies the method by which the underlier prices are determined.\\n\\nSee http://www.fpml.org/coding-scheme/determination-method for values.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ReturnRateAmountRelativeTo',\n    id: 42742,\n    abbrName: 'AmtReltv',\n    description:\n      'Specifies the reference amount when the return rate amount is relative to another amount in the trade.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Payment_Amount_Relative_To for code list of relative amounts.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ReturnRateQuoteMeasureType',\n    id: 42743,\n    abbrName: 'QteTyp',\n    description:\n      \"Specifies the type of the measure applied to the return rate's asset, e.g. valuation, sensitivity risk. This could be an NPV, a cash flow, a clean price, etc.\\n\\nSee http://www.fpml.org/coding-scheme/asset-measure for values.\",\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ReturnRateQuoteUnits',\n    id: 42744,\n    abbrName: 'QteUnit',\n    description:\n      'Specifies the units that the measure is expressed in. If not specified, the default is a price/value in currency units.\\n\\nSee http://www.fpml.org/coding-scheme/price-quote-units for values.',\n  },\n  {\n    type: 'CashSettlQuoteMethodCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ReturnRateQuoteMethod',\n    id: 42745,\n    abbrName: 'QteMeth',\n    description:\n      'Specifies the type of quote used to determine the return rate of the swap.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ReturnRateQuoteCurrency',\n    id: 42746,\n    abbrName: 'QteCcy',\n    description:\n      'Specifies the currency the return rate quote is denominated in. Uses ISO 4217 Currency Code.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ReturnRateQuoteCurrencyType',\n    id: 42747,\n    abbrName: 'QteCcyTyp',\n    description:\n      'Specifies the type of currency, e.g. settlement currency, base currency, etc., that the quote is reported in.\\n\\nSee http://www.fpml.org/coding-scheme/reporting-currency-type for values.',\n  },\n  {\n    type: 'ReturnRateQuoteTimeTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ReturnRateQuoteTimeType',\n    id: 42748,\n    abbrName: 'QteTmTyp',\n    description: 'Specifies how or the timing when the quote is to be obtained.',\n  },\n  {\n    type: 'LocalMktTime',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ReturnRateQuoteTime',\n    id: 42749,\n    abbrName: 'QteTm',\n    description: 'The time when the quote is to be generated.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ReturnRateQuoteDate',\n    id: 42750,\n    abbrName: 'QteDt',\n    description: 'The date when the quote is to be generated.',\n  },\n  {\n    type: 'LocalMktTime',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ReturnRateQuoteExpirationTime',\n    id: 42751,\n    abbrName: 'QteExpTm',\n    description: 'The time when the quote ceases to be valid.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ReturnRateQuoteBusinessCenter',\n    id: 42752,\n    abbrName: 'QteBizCtr',\n    description:\n      'The business center calendar used for adjustments associated with ReturnRateQuoteTimeType(42748) or ReturnRateQuoteTime(42749) and ReturnRateQuoteDate(42750), e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'Exchange',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ReturnRateQuoteExchange',\n    id: 42753,\n    abbrName: 'QteExch',\n    description:\n      'Specifies the exchange (e.g. stock or listed futures/options exchange) from which the quote is obtained.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ReturnRateQuotePricingModel',\n    id: 42754,\n    abbrName: 'QteModel',\n    description:\n      'Specifies the pricing model used to evaluate the underlying asset price.\\n\\nSee http://www.fpml.org/coding-scheme/pricing-model for values.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ReturnRateCashFlowType',\n    id: 42755,\n    abbrName: 'CshFlow',\n    description:\n      'Specifies the type of cash flows, e.g. coupon payment, premium fee, settlement fee, etc.\\n\\nSee http://www.fpml.org/coding-scheme/cashflow-type for values.',\n  },\n  {\n    type: 'ReturnRateQuoteTimeTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ReturnRateValuationTimeType',\n    id: 42756,\n    abbrName: 'ValTmTyp',\n    description:\n      'Specifies the timing at which the calculation agent values the underlying.',\n  },\n  {\n    type: 'LocalMktTime',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ReturnRateValuationTime',\n    id: 42757,\n    abbrName: 'ValTm',\n    description: 'The time at which the calculation agent values the underlying asset.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ReturnRateValuationTimeBusinessCenter',\n    id: 42758,\n    abbrName: 'ValTmBizCtr',\n    description:\n      'The business center calendar used for adjustments associated with ReturnRateValuationTimeType(42756) or ReturnRateValuationTime(42757), e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'ReturnRateValuationPriceOptionCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ReturnRateValuationPriceOption',\n    id: 42759,\n    abbrName: 'ValPxOpt',\n    description:\n      'Indicates whether an ISDA price option applies, and if applicable which type of price.',\n  },\n  {\n    type: 'ComplexEventPVFinalPriceElectionFallbackCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ReturnRateFinalPriceFallback',\n    id: 42760,\n    abbrName: 'FnlPxFallbck',\n    description:\n      'Specifies the fallback provision for the hedging party in the determination of the final price.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'NoReturnRateInformationSources',\n    id: 42761,\n    description:\n      'Number of iterations in the return rate information source repeating group.',\n  },\n  {\n    type: 'RateSourceCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ReturnRateInformationSource',\n    id: 42762,\n    abbrName: 'RtSrc',\n    description:\n      'Identifies the source of rate information. For FX the references source to be used for the FX spot rate.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ReturnRateReferencePage',\n    id: 42763,\n    abbrName: 'RefPg',\n    description:\n      'Identifies the reference \"page\" from the rate source.\\n\\nFor FX, the reference page to the spot rate to be used for the reference FX spot rate.\\n\\nWhen ReturnRateInformationSource(42762) = 3 (ISDA Settlement Rate Option) this contains the value from the scheme that reflects the terms of the Annex A to the ISDA 1998 FX and Currency Option Definitions.\\n\\nSee: http://www.fpml.org/coding-scheme/settlement-rate-option',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ReturnRateReferencePageHeading',\n    id: 42764,\n    abbrName: 'RefHdng',\n    description: 'Identifies the page heading from the rate source.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'NoReturnRatePrices',\n    id: 42765,\n    description: 'Number of iterations in the return rate price repeating group.',\n  },\n  {\n    type: 'ReturnRatePriceBasisCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ReturnRatePriceBasis',\n    id: 42766,\n    abbrName: 'PxBasis',\n    description: 'The basis of the return price.',\n  },\n  {\n    type: 'Price',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ReturnRatePrice',\n    id: 42767,\n    abbrName: 'Px',\n    description: 'Specifies the price of the underlying swap asset.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ReturnRatePriceCurrency',\n    id: 42768,\n    abbrName: 'Ccy',\n    description:\n      'Specifies the currency of the price of the underlying swap asset. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'ReturnRatePriceTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ReturnRatePriceType',\n    id: 42769,\n    abbrName: 'PxTyp',\n    description:\n      'Specifies whether the ReturnRatePrice(42767) is expressed in absolute or relative terms.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'NoReturnRateValuationDateBusinessCenters',\n    id: 42770,\n    description:\n      'Number of iterations in the return rate valuation date business center repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ReturnRateValuationDateBusinessCenter',\n    id: 42771,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used for date adjustment of the return rate valuation unadjusted or relative dates, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'NoReturnRateValuationDates',\n    id: 42772,\n    description:\n      'Number of iterations in the return rate valuation date repeating group.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ReturnRateValuationDate',\n    id: 42773,\n    abbrName: 'Dt',\n    description:\n      'The return rate valuation date. Type of date is specified in ReturnRateValuationDateType(42774).',\n  },\n];\n\nconst batch8: ISpecFields[] = [\n  {\n    type: 'NonDeliverableFixingDateTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'ReturnRateValuationDateType',\n    id: 42774,\n    abbrName: 'Typ',\n    description:\n      'Specifies the type of return rate valuation date (e.g. adjusted for holidays).',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'NoSettlMethodElectionDateBusinessCenters',\n    id: 42775,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'SettlMethodElectionDateBusinessCenter',\n    id: 42776,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used for date adjustment of the settlement method election unadjusted or relative date, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'SettlMethodElectionDateUnadjusted',\n    id: 42777,\n    abbrName: 'DtUnadj',\n    description: 'The unadjusted settlement method election date.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'SettlMethodElectionDateBusinessDayConvention',\n    id: 42778,\n    abbrName: 'BizDayCnvtn',\n    description:\n      'The settlement method election date adjustment business day convention.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'SettlMethodElectionDateRelativeTo',\n    id: 42779,\n    abbrName: 'Reltv',\n    description:\n      'Specifies the anchor date when the settlement method election date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'SettlMethodElectionDateOffsetPeriod',\n    id: 42780,\n    abbrName: 'OfstPeriod',\n    description:\n      'Time unit multiplier for the relative settlement method election date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'SettlMethodElectionDateOffsetUnit',\n    id: 42781,\n    abbrName: 'OfstUnit',\n    description:\n      'Time unit associated with the relative settlement method election date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'SettlMethodElectionDateOffsetDayType',\n    id: 42782,\n    abbrName: 'OfstDayTyp',\n    description:\n      'Specifies the day type of the relative settlement method election date offset.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'SettlMethodElectionDateAdjusted',\n    id: 42783,\n    abbrName: 'Dt',\n    description: 'The adjusted settlement method election date.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'StreamVersion',\n    id: 42784,\n    abbrName: 'Ver',\n    description:\n      'The stream version identifier when there have been modifications to the contract over time. Helps signal when there are embedded changes.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'StreamVersionEffectiveDate',\n    id: 42785,\n    abbrName: 'VerEfctvDt',\n    description: 'The effective date of the StreamVersion(42784).',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'StreamNotionalDeterminationMethod',\n    id: 42786,\n    abbrName: 'NotlDtrmnMeth',\n    description:\n      'Specifies the method for determining the floating notional value for equity swaps.\\n\\nSee http://www.fpml.org/coding-scheme/determination-method for values.',\n  },\n  {\n    type: 'StreamNotionalAdjustmentsCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'StreamNotionalAdjustments',\n    id: 42787,\n    abbrName: 'NotlAdjmts',\n    description:\n      'For equity swaps this specifies the conditions that govern the adjustment to the number of units of the swap.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingCashSettlDateBusinessCenters',\n    id: 42788,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingCashSettlDateBusinessCenter',\n    id: 42789,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used for date adjustment of the cash settlement unadjusted or relative date, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingCashSettlDateUnadjusted',\n    id: 42790,\n    abbrName: 'DtUnadj',\n    description: 'The unadjusted cash settlement date.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingCashSettlDateBusinessDayConvention',\n    id: 42791,\n    abbrName: 'BizDayCnvtn',\n    description:\n      \"The business day convention used to adjust the cash settlement provision's date. Used only to override the business day convention defined in the UnderlyingInstrument component.\",\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingCashSettlDateRelativeTo',\n    id: 42792,\n    abbrName: 'Reltv',\n    description:\n      'Specifies the anchor date when the cash settlement date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingCashSettlDateOffsetPeriod',\n    id: 42793,\n    abbrName: 'OfstPeriod',\n    description: 'Time unit multiplier for the relative cash settlement date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingCashSettlDateOffsetUnit',\n    id: 42794,\n    abbrName: 'OfstUnit',\n    description: 'Time unit associated with the relative cash settlement date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingCashSettlDateOffsetDayType',\n    id: 42795,\n    abbrName: 'OfstDayTyp',\n    description: 'Specifies the day type of the relative cash settlement date offset.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingCashSettlDateAdjusted',\n    id: 42796,\n    abbrName: 'Dt',\n    description: 'The adjusted cash settlement date.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingCashSettlPriceSource',\n    id: 42797,\n    abbrName: 'PxSrc',\n    description:\n      'The source from which the settlement price is to be obtained.\\n\\nSee http://www.fpml.org/coding-scheme/settlement-price-source for values.',\n  },\n  {\n    type: 'CashSettlPriceDefaultCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingCashSettlPriceDefault',\n    id: 42798,\n    abbrName: 'PxDflt',\n    description: 'The default election for determining settlement price.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexEventFuturesPriceValuation',\n    id: 2611,\n    abbrName: 'FutPxVal',\n    description:\n      'Indicates whether the official settlement price as announced by the related exchange is applicable, in accordance with the ISDA 2002 definitions. Applicable only to futures contracts.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexEventOptionsPriceValuation',\n    id: 2612,\n    abbrName: 'OptPxVal',\n    description:\n      'Indicates whether the official settlement price as announced by the related exchange is applicable, in accordance with the ISDA 2002 definitions. Applicable only to options contracts.',\n  },\n  {\n    type: 'ComplexEventPVFinalPriceElectionFallbackCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexEventPVFinalPriceElectionFallback',\n    id: 2613,\n    abbrName: 'PVPxFallbck',\n    description:\n      'Specifies the fallback provisions for the hedging party in the determination of the final settlement price',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingDividendAccrualPaymentDateBusinessCenters',\n    id: 42799,\n    description:\n      'Number of entries in the UnderlyingDividendAccrualPaymentDateBusinessCenterGrp.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendAccrualPaymentDateBusinessCenter',\n    id: 42800,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used for date adjustment of the instrument\\'s dividend accrual payment date, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendFloatingRateIndex',\n    id: 42801,\n    abbrName: 'Ndx',\n    description: 'The dividend accrual floating rate index.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendFloatingRateIndexCurvePeriod',\n    id: 42802,\n    abbrName: 'NdxPeriod',\n    description:\n      'Time unit multiplier for the dividend accrual floating rate index curve.',\n  },\n  {\n    type: 'PaymentStreamRateIndexCurveUnitCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendFloatingRateIndexCurveUnit',\n    id: 42803,\n    abbrName: 'NdxUnit',\n    description:\n      'Time unit associated with the dividend accrual floating rate index curve period.',\n  },\n  {\n    type: 'float',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendFloatingRateMultiplier',\n    id: 42804,\n    abbrName: 'RtMult',\n    description:\n      'A rate multiplier to apply to the floating rate. The multiplier can be less than or greater than 1 (one). This should only be included if the multiplier is not equal to 1 (one) for the term of the contract.',\n  },\n  {\n    type: 'PriceOffset',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendFloatingRateSpread',\n    id: 42805,\n    abbrName: 'Spread',\n    description:\n      'The basis points spread from the index specified in UnderlyingDividendFloatingRateIndex(42801).',\n  },\n  {\n    type: 'PaymentStreamRateSpreadPositionTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendFloatingRateSpreadPositionType',\n    id: 42806,\n    abbrName: 'SpreadPosTyp',\n    description:\n      'Identifies whether the rate spread is applied to a long or short position.',\n  },\n  {\n    type: 'PaymentStreamRateTreatmentCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendFloatingRateTreatment',\n    id: 42807,\n    abbrName: 'RtTrtmt',\n    description: 'Specifies the yield calculation treatment for the index.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendCapRate',\n    id: 42808,\n    abbrName: 'CapRt',\n    description:\n      'The cap rate, if any, which applies to the floating rate. It is only required where the floating rate is capped at a certain level. The cap rate is assumed to be exclusive of any spread and is a per annum rate, expressed as a decimal. A cap rate of 5% would be represented as \"0.05\".',\n  },\n  {\n    type: 'PaymentStreamCapRateBuySideCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendCapRateBuySide',\n    id: 42809,\n    abbrName: 'CapRtBuy',\n    description: 'Reference to the buyer of the cap rate option through its trade side.',\n  },\n  {\n    type: 'PaymentStreamCapRateBuySideCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendCapRateSellSide',\n    id: 42810,\n    abbrName: 'CapRtSell',\n    description: 'Reference to the seller of the cap rate option through its trade side.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendFloorRate',\n    id: 42811,\n    abbrName: 'FlrRt',\n    description:\n      'The floor rate, if any, which applies to the floating rate. The floor rate (strike) is only required where the floating rate is floored at a certain strike level. The floor rate is assumed to be exclusive of any spread and is a per annum rate. The rate is expressed as a decimal, e.g. 5% is represented as \"0.05\".',\n  },\n  {\n    type: 'PaymentStreamFloorRateBuySideCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendFloorRateBuySide',\n    id: 42812,\n    abbrName: 'FlrRtBuy',\n    description:\n      'Reference to the buyer of the floor rate option through its trade side.',\n  },\n  {\n    type: 'PaymentStreamFloorRateBuySideCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendFloorRateSellSide',\n    id: 42813,\n    abbrName: 'FlrRtSell',\n    description:\n      'Reference to the seller of the floor rate option through its trade side.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendInitialRate',\n    id: 42814,\n    abbrName: 'InitRt',\n    description:\n      'The initial floating rate reset agreed between the principal parties involved in the trade. This is assumed to be the first required reset rate for the first regular calculation period. It should only be included when the rate is not equal to the rate published on the source implied by the floating rate index. The initial rate is expressed in decimal form, e.g. 5% is represented as \"0.05\".',\n  },\n  {\n    type: 'RoundingDirectionCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendFinalRateRoundingDirection',\n    id: 42815,\n    abbrName: 'FnlRtRndDirctn',\n    description: 'Specifies the rounding direction of the final rate.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendFinalRatePrecision',\n    id: 42816,\n    abbrName: 'FnlRtPrcsn',\n    description:\n      'Specifies the rounding precision of the final rate in terms of a number of decimal places. Note how a percentage rate rounding of 5 decimal places is expressed as a rounding precision of 7.',\n  },\n  {\n    type: 'PaymentStreamAveragingMethodCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendAveragingMethod',\n    id: 42817,\n    abbrName: 'AvgngMeth',\n    description:\n      'When averaging is applicable, used to specify whether a weighted or unweighted average method of calculation is to be used.',\n  },\n  {\n    type: 'PaymentStreamNegativeRateTreatmentCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendNegativeRateTreatment',\n    id: 42818,\n    abbrName: 'NegtvRtTrtmt',\n    description:\n      'The specification of any provisions for calculating payment obligations when a floating rate is negative (either due to a quoted negative floating rate or by operation of a spread that is subtracted from the floating rate).',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendAccrualPaymentDateRelativeTo',\n    id: 42819,\n    abbrName: 'Reltv',\n    description:\n      'Specifies the anchor date when the accrual payment date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendAccrualPaymentDateOffsetPeriod',\n    id: 42820,\n    abbrName: 'OfstPeriod',\n    description: 'Time unit multiplier for the relative accrual payment date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendAccrualPaymentDateOffsetUnit',\n    id: 42821,\n    abbrName: 'OfstUnit',\n    description: 'Time unit associated with the relative accrual payment date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendAccrualPaymentDateOffsetDayType',\n    id: 42822,\n    abbrName: 'OfstDayTyp',\n    description: 'Specifies the day type of the relative accrual payment date offset.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendAccrualPaymentDateUnadjusted',\n    id: 42823,\n    abbrName: 'DtUnadj',\n    description: 'The unadjusted accrual payment date.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendAccrualPaymentDateBusinessDayConvention',\n    id: 42824,\n    abbrName: 'BizDayCnvtn',\n    description: 'Accrual payment date adjustment business day convention.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendAccrualPaymentDateAdjusted',\n    id: 42825,\n    abbrName: 'Dt',\n    description: 'The adjusted accrual payment date.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendReinvestmentIndicator',\n    id: 42826,\n    abbrName: 'RnvstmntInd',\n    description: 'Indicates whether the dividend will be reinvested.',\n  },\n  {\n    type: 'DividendEntitlementEventCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendEntitlementEvent',\n    id: 42827,\n    abbrName: 'EntlmntEvnt',\n    description:\n      'Defines the contract event which the receiver of the derivative is entitled to the dividend.',\n  },\n  {\n    type: 'DividendAmountTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendAmountType',\n    id: 42828,\n    abbrName: 'AmtTyp',\n    description: 'Indicates how the gross cash dividend amount per share is determined.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendUnderlierRefID',\n    id: 42829,\n    abbrName: 'UndlrRefID',\n    description:\n      \"References the dividend underlier through the instrument's UnderlyingSecurityID(309) which must be fully specified in a separate instance of the UnderlyingInstrument component.\",\n  },\n  {\n    type: 'PaymentStreamCapRateBuySideCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingExtraordinaryDividendPartySide',\n    id: 42830,\n    abbrName: 'ExtrordSide',\n    description:\n      'Reference to the party through its side in the trade who makes the determination whether dividends are extraordinary in relation to normal levels.',\n  },\n  {\n    type: 'DividendAmountTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingExtraordinaryDividendAmountType',\n    id: 42831,\n    abbrName: 'ExtrordAmtTyp',\n    description:\n      'Indicates how the extraordinary gross cash dividend per share is determined.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingExtraordinaryDividendCurrency',\n    id: 42832,\n    abbrName: 'ExtrordCcy',\n    description:\n      'The currency in which the excess dividend is denominated. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingExtraordinaryDividendDeterminationMethod',\n    id: 42833,\n    abbrName: 'ExtrordDtrmnMeth',\n    description:\n      'Specifies the method in which the excess amount is determined.\\n\\nSee http://www.fpml.org/coding-scheme/determination-method for values.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendAccrualFixedRate',\n    id: 42834,\n    abbrName: 'AcrlFixedRt',\n    description:\n      'The dividend accrual fixed rate per annum expressed as a decimal.\\n\\nA value of 5% would be represented as \"0.05\".',\n  },\n  {\n    type: 'PaymentStreamCompoundingMethodCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendCompoundingMethod',\n    id: 42835,\n    abbrName: 'CmpndgMeth',\n    description:\n      'The compounding method to be used when more than one dividend period contributes to a single payment.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendNumOfIndexUnits',\n    id: 42836,\n    abbrName: 'NumNdxUnits',\n    description: 'The number of index units applicable to dividends.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendCashPercentage',\n    id: 42837,\n    abbrName: 'CshPctage',\n    description:\n      'Declared cash dividend percentage.\\n\\nA value of 5% would be represented as \"0.05\".',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendCashEquivalentPercentage',\n    id: 42838,\n    abbrName: 'CshEqvlntPctage',\n    description:\n      'Declared cash-equivalent dividend percentage. A value of 5% would be represented as \"0.05\".',\n  },\n  {\n    type: 'NonCashDividendTreatmentCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingNonCashDividendTreatment',\n    id: 42839,\n    abbrName: 'NonCshTrtmt',\n    description: 'Defines the treatment of non-cash dividends.',\n  },\n  {\n    type: 'DividendCompositionCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendComposition',\n    id: 42840,\n    abbrName: 'Cmpstn',\n    description: 'Defines how the composition of dividends is to be determined.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingSpecialDividendsIndicator',\n    id: 42841,\n    abbrName: 'SpeclDividendInd',\n    description: 'Indicates whether special dividends are applicable.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingMaterialDividendsIndicator',\n    id: 42842,\n    abbrName: 'MtrlDividendInd',\n    description: 'Indicates whether material non-cash dividends are applicable.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingOptionsExchangeDividendsIndicator',\n    id: 42843,\n    abbrName: 'ExchDividendInd',\n    description: 'Indicates whether option exchange dividends are applicable.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingAdditionalDividendsIndicator',\n    id: 42844,\n    abbrName: 'AddtnlDividendInd',\n    description: 'Indicates whether additional dividends are applicable.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingAllDividendsIndicator',\n    id: 42845,\n    abbrName: 'AllDividendInd',\n    description:\n      \"Represents the European Master Confirmation value of 'All Dividends' which, when applicable, signifies that, for a given Ex-Date, the daily observed share price for that day is adjusted (reduced) by the cash dividend and/or the cash value of any non-cash dividend per share (including extraordinary dividends) declared by the issuer.\",\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendFXTriggerDateRelativeTo',\n    id: 42846,\n    abbrName: 'Reltv',\n    description:\n      'Specifies the anchor date when the FX trigger date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendFXTriggerDateOffsetPeriod',\n    id: 42847,\n    abbrName: 'OfstPeriod',\n    description: 'Time unit multiplier for the relative FX trigger date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendFXTriggerDateOffsetUnit',\n    id: 42848,\n    abbrName: 'OfstUnit',\n    description: 'Time unit associated with the relative FX trigger date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendFXTriggerDateOffsetDayType',\n    id: 42849,\n    abbrName: 'OfstDayTyp',\n    description: 'Specifies the day type of the relative FX trigger date offset.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendFXTriggerDateUnadjusted',\n    id: 42850,\n    abbrName: 'DtUnadj',\n    description: 'The unadjusted FX trigger date.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendFXTriggerDateBusinessDayConvention',\n    id: 42851,\n    abbrName: 'BizDayCnvtn',\n    description: 'The business day convention used for the FX trigger date adjustment.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendFXTriggerDateAdjusted',\n    id: 42852,\n    abbrName: 'Dt',\n    description: 'The adjusted FX trigger date.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingDividendFXTriggerDateBusinessCenters',\n    id: 42853,\n    description:\n      'Number of entries in the UnderlyingDividendFXTriggerDateBusinessCenterGrp.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendFXTriggerDateBusinessCenter',\n    id: 42854,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used for date adjustment of the instrument\\'s FX trigger date, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingDividendPayments',\n    id: 42855,\n    description: 'Number of entries in the repeating group.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendPaymentDate',\n    id: 42856,\n    abbrName: 'Dt',\n    description: 'Specifies the date that the dividend or coupon payment is due.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendPaymentAmount',\n    id: 42857,\n    abbrName: 'Amt',\n    description: 'The amount of the dividend or coupon payment.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendPaymentCurrency',\n    id: 42858,\n    abbrName: 'Ccy',\n    description:\n      'Specifies the currency the UnderlyingDividendPaymentAmount(42857) is denominated in. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendAccruedInterest',\n    id: 42859,\n    abbrName: 'AcrdInt',\n    description: 'Accrued interest on the dividend or coupon payment.',\n  },\n  {\n    type: 'float',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendPayoutRatio',\n    id: 42860,\n    abbrName: 'Ratio',\n    description:\n      'Specifies the actual dividend payout ratio associated with the equity or bond underlier.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendPayoutConditions',\n    id: 42861,\n    abbrName: 'Conds',\n    description:\n      'Specifies the dividend payout conditions that will be applied in the case where the actual ratio is not known, typically because of regulatory or legal uncertainties.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingDividendPeriods',\n    id: 42862,\n    description: 'Number of entries in the UnderlyingDividendPeriodGrp component.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendPeriodSequence',\n    id: 42863,\n    abbrName: 'Seq',\n    description:\n      'Defines the ordinal dividend period. E.g. 1 = First period, 2 = Second period, etc.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendPeriodStartDateUnadjusted',\n    id: 42864,\n    abbrName: 'StartDtUnadj',\n    description: 'The unadjusted date on which the dividend period will begin.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendPeriodEndDateUnadjusted',\n    id: 42865,\n    abbrName: 'EndDtUnadj',\n    description: 'The unadjusted date on which the dividend period will end.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendPeriodUnderlierRefID',\n    id: 42866,\n    abbrName: 'UndlrRefID',\n    description:\n      \"References the dividend underlier through the instrument's UnderlyingSecurityID(309) which must be fully specified in an instance of the UnderlyingInstrument component.\",\n  },\n  {\n    type: 'Price',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendPeriodStrikePrice',\n    id: 42867,\n    abbrName: 'StrkPx',\n    description: 'Specifies the fixed strike price of the dividend period.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendPeriodBusinessDayConvention',\n    id: 42868,\n    abbrName: 'BizDayCnvtn',\n    description: 'The dividend period dates business day convention.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendPeriodValuationDateUnadjusted',\n    id: 42869,\n    abbrName: 'ValDtUnadj',\n    description: 'The unadjusted dividend period valuation date.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendPeriodValuationDateRelativeTo',\n    id: 42870,\n    abbrName: 'ValDtReltv',\n    description:\n      'Specifies the anchor date when the dividend period valuation date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendPeriodValuationDateOffsetPeriod',\n    id: 42871,\n    abbrName: 'ValDtOfstPeriod',\n    description:\n      'Time unit multiplier for the relative dividend period valuation date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendPeriodValuationDateOffsetUnit',\n    id: 42872,\n    abbrName: 'ValDtOfstUnit',\n    description:\n      'Time unit associated with the relative dividend period valuation date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendPeriodValuationDateOffsetDayType',\n    id: 42873,\n    abbrName: 'ValDtOfstDayTyp',\n    description:\n      'Specifies the day type of the relative dividend period valuation date offset.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendPeriodValuationDateAdjusted',\n    id: 42874,\n    abbrName: 'ValDt',\n    description: 'The adjusted dividend period valuation date.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendPeriodPaymentDateUnadjusted',\n    id: 42875,\n    abbrName: 'PmtDtUnadj',\n    description: 'The unadjusted dividend period payment date.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendPeriodPaymentDateRelativeTo',\n    id: 42876,\n    abbrName: 'PmtDtReltv',\n    description:\n      'Specifies the anchor date when the dividend period payment date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendPeriodPaymentDateOffsetPeriod',\n    id: 42877,\n    abbrName: 'PmtDtOfstPeriod',\n    description:\n      'Time unit multiplier for the relative dividend period payment date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendPeriodPaymentDateOffsetUnit',\n    id: 42878,\n    abbrName: 'PmtDtOfstUnit',\n    description:\n      'Time unit associated with the relative dividend period payment date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendPeriodPaymentDateOffsetDayType',\n    id: 42879,\n    abbrName: 'PmtDtOfstDayTyp',\n    description:\n      'Specifies the day type of the relative dividend period payment date offset.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendPeriodPaymentDateAdjusted',\n    id: 42880,\n    abbrName: 'PmtDt',\n    description: 'The adjusted dividend period payment date.',\n  },\n  {\n    type: 'XID',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendPeriodXID',\n    id: 42881,\n    abbrName: 'XID',\n    description:\n      'Identifier for linking this stream dividend period to an underlier through an instance of RelatedInstrumentGrp.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingDividendPeriodBusinessCenters',\n    id: 42882,\n    description: 'Number of entries in UnderlyingDividendPeriodBusinessCenterGrp.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendPeriodBusinessCenter',\n    id: 42883,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used for date adjustment of the instrument\\'s dividend period date, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingExtraordinaryEvents',\n    id: 42884,\n    description: 'Number of extraordinary events in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingExtraordinaryEventType',\n    id: 42885,\n    abbrName: 'Typ',\n    description:\n      'Identifies the type of extraordinary or disruptive event applicable to UnderlyingExtraordinaryEventType(42885).\\n\\nSee http://www.fixtradingcommunity.org/codelists#Extraordinary_Event_Type for code list of extraordinary event types and values.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingExtraordinaryEventValue',\n    id: 42886,\n    abbrName: 'Val',\n    description:\n      'The extraordinary or disruptive event value appropriate to UnderlyingExtraordinaryEventType(42885).\\n\\nSee http://www.fixtradingcommunity.org/codelists#Extraordinary_Event_Type for code list of extraordinary event types and values.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingNotional',\n    id: 2614,\n    abbrName: 'Notl',\n    description: 'Notional value for the equity or bond underlier.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'Currency',\n    addedEP: '208',\n    updatedEP: '273',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingNotionalCurrency',\n    id: 2615,\n    abbrName: 'NotlCcy',\n    description:\n      'Specifies the currency denomination of the notional value.\\n\\nUnderlyingNotionalCurrencyCodeSource(2921) may be used to disambiguate the code source scheme used, and ISO 4217 is the default scheme if absent.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingNotionalDeterminationMethod',\n    id: 2616,\n    abbrName: 'NotlDtrmnMeth',\n    description:\n      'Specifies the method of determining the notional amount.\\n\\nSee: http://www.fpml.org/coding-scheme/determination-method for values.',\n  },\n  {\n    type: 'UnderlyingNotionalAdjustmentsCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingNotionalAdjustments',\n    id: 2617,\n    abbrName: 'NotlAdjmts',\n    description:\n      'Specifies the conditions that govern the adjustment to the number of units of the return swap.',\n  },\n  {\n    type: 'XIDREF',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingNotionalXIDRef',\n    id: 2619,\n    abbrName: 'NotlXIDRef',\n    description:\n      'Cross reference to another notional amount for duplicating its properties.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingFutureID',\n    id: 2620,\n    abbrName: 'FutID',\n    discriminatorId: '2621',\n    description:\n      'In the case of an index underlier specifies the unique identifier for the referenced futures contract.',\n  },\n  {\n    type: 'SecurityIDSourceCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingFutureIDSource',\n    id: 2621,\n    abbrName: 'FutIDSrc',\n    description: 'Identifies the source of the UnderlyingFutureID(2620).',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStrikeIndexCurvePoint',\n    id: 2622,\n    abbrName: 'StrkNdxPnt',\n    description:\n      'The point on the floating rate index curve. Sample values:\\n\\nM = combination of a number between 1-12 and an \"M\" for month, e.g. 3M\\n\\nY = combination of number between 1-100 and a \"Y\" for year, e.g. 10Y\\n\\n10Y-OLD = see above, then add \"-OLD\" when appropriate\\n\\nINTERPOLATED = the point is mathematically derived\\n\\n2/2031 5 3/8 = the point is stated via a combination of maturity month / year and coupon.',\n  },\n  {\n    type: 'StrikeIndexQuoteCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStrikeIndexQuote',\n    id: 2623,\n    abbrName: 'StrkNdxQte',\n    description: 'The quote side from which the index price is to be determined.',\n  },\n  {\n    type: 'ExtraordinaryEventAdjustmentMethodCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingExtraordinaryEventAdjustmentMethod',\n    id: 2624,\n    abbrName: 'ExtrordEvntAdjMeth',\n    description:\n      'Defines how adjustments will be made to the contract should one or more of the extraordinary events occur.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingExchangeLookAlike',\n    id: 2625,\n    abbrName: 'ExchLookAlike',\n    description:\n      \"For a share option trade, indicates whether the instrument is to be treated as an 'exchange look-alike'.\\n\\nThis designation has significance for how share adjustments (arising from corporate actions) will be determined for the instrument. For an 'exchange look-alike' instrument the relevant share adjustments will follow that for a corresponding designated contract listed on the related exchange (referred to as Options Exchange Adjustment (ISDA defined term)), otherwise the share adjustments will be determined by the calculation agent (referred to as Calculation Agent Adjustment (ISDA defined term)).\",\n  },\n  {\n    type: 'Amt',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingAverageVolumeLimitationPercentage',\n    id: 2626,\n    abbrName: 'AvgLmtPctg',\n    description:\n      'The limit of average percentage of individual securities traded in a day or a number of days.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingAverageVolumeLimitationPeriodDays',\n    id: 2627,\n    abbrName: 'AvgLmtDys',\n    description:\n      'Specifies the limitation period for average daily trading volume in number of days.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDepositoryReceiptIndicator',\n    id: 2628,\n    abbrName: 'DpstryRcptInd',\n    description:\n      'Indicates whether the underlier is a depository receipt.\\n\\nA depository receipt is a negotiable certificate issued by a trust company or security depository.',\n  },\n  {\n    type: 'Qty',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingOpenUnits',\n    id: 2629,\n    abbrName: 'OpnUnits',\n    description:\n      'The number of units (units of the index or number of securities, par amount of a bond) that constitute the underlier. In the case of a basket swap, this is used to reference both the number of basket units, and the number of each asset components of the basket when these are expressed in absolute terms.',\n  },\n  {\n    type: 'float',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingBasketDivisor',\n    id: 2630,\n    abbrName: 'BsktDvsr',\n    description:\n      'Specifies the basket divisor amount. This value is normally used to adjust the constituent weight for pricing or to adjust for dividends, or other corporate actions.',\n  },\n  {\n    type: 'XID',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingInstrumentXID',\n    id: 2631,\n    abbrName: 'XID',\n    description:\n      'Identifier for referencing this UnderlyingInstrument from a parent instrument or a convertible instrument.',\n  },\n  {\n    type: 'PaymentPaySideCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingSettlMethodElectingPartySide',\n    id: 42887,\n    abbrName: 'SettlMethElctngSide',\n    description: 'Side value of the party electing the settlement method.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingMakeWholeDate',\n    id: 42888,\n    abbrName: 'Dt',\n    description: 'The date through which the option cannot be exercised without penalty.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingMakeWholeAmount',\n    id: 42889,\n    abbrName: 'Amt',\n    description:\n      'Amount to be paid by the buyer of the option if the option is exercised prior to the UnderlyingMakeWholeDate(42888).',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingMakeWholeBenchmarkCurveName',\n    id: 42890,\n    abbrName: 'Name',\n    description: 'Identifies the benchmark floating rate index.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingMakeWholeBenchmarkCurvePoint',\n    id: 42891,\n    abbrName: 'Point',\n    description:\n      'The point on the floating rate index curve.\\n\\nSample values:\\n\\nM = combination of a number between 1-12 and an \"M\" for month, e.g. 3M\\n\\nY = combination of number between 1-100 and a \"Y\" for year, e.g. 10Y\\n\\n10Y-OLD = see above, then add \"-OLD\" when appropriate\\n\\nINTERPOLATED = the point is mathematically derived\\n\\n2/2031 5 3/8 = the point is stated via a combination of maturity month / year and coupon.',\n  },\n  {\n    type: 'PriceOffset',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingMakeWholeRecallSpread',\n    id: 42892,\n    abbrName: 'Spread',\n    description: 'Spread over the floating rate index.',\n  },\n  {\n    type: 'StrikeIndexQuoteCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingMakeWholeBenchmarkQuote',\n    id: 42893,\n    abbrName: 'Qte',\n    description:\n      'The quote side of the benchmark to be used for calculating the \"make whole\" amount.',\n  },\n  {\n    type: 'PaymentStreamInflationInterpolationMethodCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingMakeWholeInterpolationMethod',\n    id: 42894,\n    abbrName: 'IntrpltnMeth',\n    description:\n      'The method used when calculating the \"make whole\" amount. The most common is linear method.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamCashSettlIndicator',\n    id: 42895,\n    abbrName: 'CshSettlInd',\n    description: 'Indicates whether cash settlement is applicable.',\n  },\n  {\n    type: 'XIDREF',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamCompoundingXIDRef',\n    id: 42896,\n    abbrName: 'CmpndgXIDRef',\n    description:\n      'Reference to the stream which details the compounding fixed or floating rate.',\n  },\n  {\n    type: 'PriceOffset',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamCompoundingSpread',\n    id: 42897,\n    abbrName: 'CmpndgSpread',\n    description:\n      'The spread to be used for compounding. Used in scenarios where the interest payment is based on a compounding formula that uses a compounding spread in addition to the regular spread.',\n  },\n  {\n    type: 'PaymentStreamInflationInterpolationMethodCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamInterpolationMethod',\n    id: 42898,\n    abbrName: 'IntrpltnMeth',\n    description:\n      'The method used when calculating the index rate from multiple points on the curve. The most common is linear method.',\n  },\n  {\n    type: 'PaymentStreamInterpolationPeriodCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamInterpolationPeriod',\n    id: 42899,\n    abbrName: 'IntrpltnPeriod',\n    description: 'Defines applicable periods for interpolation.',\n  },\n  {\n    type: 'float',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamCompoundingFixedRate',\n    id: 42900,\n    abbrName: 'CmpndgFixedRt',\n    description: 'The compounding fixed rate applicable to the payment stream.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingPaymentStreamCompoundingDates',\n    id: 42901,\n    description: 'Number of dates in the repeating group.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamCompoundingDate',\n    id: 42902,\n    abbrName: 'Dt',\n    description:\n      'The compounding date. Type of date is specified in UnderlyingPaymentStreamCompoundingDateType(42903).',\n  },\n  {\n    type: 'NonDeliverableFixingDateTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamCompoundingDateType',\n    id: 42903,\n    abbrName: 'Typ',\n    description:\n      'Specifies the type of payment compounding date (e.g. adjusted for holidays).',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamCompoundingDatesBusinessDayConvention',\n    id: 42904,\n    abbrName: 'BizDayCnvtn',\n    description: 'The compounding dates business day convention.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamCompoundingDatesRelativeTo',\n    id: 42905,\n    abbrName: 'Reltv',\n    description:\n      'Specifies the anchor date when the compounding dates are relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamCompoundingDatesOffsetPeriod',\n    id: 42906,\n    abbrName: 'OfstPeriod',\n    description: 'Time unit multiplier for the relative compounding date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamCompoundingDatesOffsetUnit',\n    id: 42907,\n    abbrName: 'OfstUnit',\n    description: 'Time unit associated with the relative compounding date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamCompoundingDatesOffsetDayType',\n    id: 42908,\n    abbrName: 'OfstDayTyp',\n    description: 'Specifies the day type of the relative compounding date offset.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamCompoundingPeriodSkip',\n    id: 42909,\n    abbrName: 'Skip',\n    description:\n      'The number of periods in the \"RelativeTo\" schedule that are between each date in the compounding schedule. A skip of 2 would mean that compounding dates are relative to every second date in the \"RelativeTo\" schedule. If present this should have a value greater than 1.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamCompoundingFrequencyPeriod',\n    id: 42910,\n    abbrName: 'FreqPeriod',\n    description:\n      'Time unit multiplier for the frequency at which compounding dates occur.',\n  },\n  {\n    type: 'CouponFrequencyUnitCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamCompoundingFrequencyUnit',\n    id: 42911,\n    abbrName: 'FreqUnit',\n    description:\n      'Time unit associated with the frequency at which compounding dates occur.',\n  },\n  {\n    type: 'DateRollConventionCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamCompoundingRollConvention',\n    id: 42912,\n    abbrName: 'Roll',\n    description:\n      'The convention for determining the sequence of compounding dates. It is used in conjunction with a specified frequency.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamBoundsFirstDateUnadjusted',\n    id: 42913,\n    abbrName: 'FirstDtUnadj',\n    description:\n      'The unadjusted first date of the compounding schedule. This can be used to restrict the range of dates when they are relative.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamBoundsLastDateUnadjusted',\n    id: 42914,\n    abbrName: 'LastDtUnadj',\n    description:\n      'The unadjusted last date of the compounding schedule. This can be used to restrict the range of dates when they are relative.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingPaymentStreamCompoundingDatesBusinessCenters',\n    id: 42915,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamCompoundingDatesBusinessCenter',\n    id: 42916,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used for date adjustment of the payment stream compounding dates, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamCompoundingEndDateUnadjusted',\n    id: 42917,\n    abbrName: 'DtUnadj',\n    description: 'The unadjusted compounding end date.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamCompoundingEndDateRelativeTo',\n    id: 42918,\n    abbrName: 'Reltv',\n    description:\n      'Specifies the anchor date when the compounding end date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamCompoundingEndDateOffsetPeriod',\n    id: 42919,\n    abbrName: 'OfstPeriod',\n    description: 'Time unit multiplier for the relative compounding end date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamCompoundingEndDateOffsetUnit',\n    id: 42920,\n    abbrName: 'OfstUnit',\n    description: 'Time unit associated with the relative compounding end date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamCompoundingEndDateOffsetDayType',\n    id: 42921,\n    abbrName: 'OfstDayTyp',\n    description: 'Specifies the day type of the relative compounding end date offset.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamCompoundingEndDateAdjusted',\n    id: 42922,\n    abbrName: 'Dt',\n    description: 'The adjusted compounding end date.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamCompoundingRateIndex',\n    id: 42923,\n    abbrName: 'Ndx',\n    description: \"The payment stream's compounding floating rate index.\",\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamCompoundingRateIndexCurvePeriod',\n    id: 42924,\n    abbrName: 'NdxPeriod',\n    description:\n      \"Time unit multiplier for the payment stream's compounding floating rate index curve period.\",\n  },\n  {\n    type: 'PaymentStreamRateIndexCurveUnitCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamCompoundingRateIndexCurveUnit',\n    id: 42925,\n    abbrName: 'NdxUnit',\n    description:\n      \"Time unit associated with the payment stream's compounding floating rate index curve period.\",\n  },\n  {\n    type: 'float',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamCompoundingRateMultiplier',\n    id: 42926,\n    abbrName: 'RtMult',\n    description:\n      'A rate multiplier to apply to the compounding floating rate. The multiplier can be less than or greater than 1 (one). This should only be included if the multiplier is not equal to 1 (one) for the term of the stream.',\n  },\n  {\n    type: 'PriceOffset',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamCompoundingRateSpread',\n    id: 42927,\n    abbrName: 'Spread',\n    description:\n      'The basis points spread from the index specified in UnderlyingPaymentStreamCompoundingRateIndex(42923).',\n  },\n  {\n    type: 'PaymentStreamRateSpreadPositionTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamCompoundingRateSpreadPositionType',\n    id: 42928,\n    abbrName: 'SpreadPosTyp',\n    description:\n      'Identifies whether the rate spread is applied to a long or short position.',\n  },\n  {\n    type: 'PaymentStreamRateTreatmentCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamCompoundingRateTreatment',\n    id: 42929,\n    abbrName: 'RtTrtmt',\n    description: 'Specifies the yield calculation treatment for the index.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamCompoundingCapRate',\n    id: 42930,\n    abbrName: 'CapRt',\n    description:\n      'The cap rate, if any, which applies to the compounding floating rate. It is only required where the compounding floating rate on a swap stream is capped at a certain level. The cap rate is assumed to be exclusive of any spread and is a per annum rate, expressed as a decimal. A cap rate of 5% would be represented as \"0.05\".',\n  },\n  {\n    type: 'PaymentStreamCapRateBuySideCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamCompoundingCapRateBuySide',\n    id: 42931,\n    abbrName: 'CapRtBuy',\n    description:\n      'Reference to the buyer of the compounding cap rate option through its trade side.',\n  },\n  {\n    type: 'PaymentStreamCapRateBuySideCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamCompoundingCapRateSellSide',\n    id: 42932,\n    abbrName: 'CapRtSell',\n    description:\n      'Reference to the seller of the compounding cap rate option through its trade side.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamCompoundingFloorRate',\n    id: 42933,\n    abbrName: 'FlrRt',\n    description:\n      'The floor rate, if any, which applies to the compounding floating rate. The floor rate (strike) is only required where the compounding floating rate on a swap stream is floored at a certain strike level. The floor rate is assumed to be exclusive of any spread and is a per annum rate. The rate is expressed as a decimal, e.g. 5% is represented as \"0.05\".',\n  },\n  {\n    type: 'PaymentStreamFloorRateBuySideCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamCompoundingFloorRateBuySide',\n    id: 42934,\n    abbrName: 'FlrRtBuy',\n    description:\n      'Reference to the buyer of the compounding floor rate option through its trade side.',\n  },\n  {\n    type: 'PaymentStreamFloorRateBuySideCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamCompoundingFloorRateSellSide',\n    id: 42935,\n    abbrName: 'FlrRtSell',\n    description:\n      'Reference to the seller of the floor rate option through its trade side.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamCompoundingInitialRate',\n    id: 42936,\n    abbrName: 'InitRt',\n    description:\n      'The initial compounding floating rate reset agreed between the principal parties involved in the trade. It should only be included when the rate is not equal to the rate published on the source implied by the floating rate index. The initial rate is expressed in decimal form, e.g. 5% is represented as \"0.05\".',\n  },\n  {\n    type: 'RoundingDirectionCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamCompoundingFinalRateRoundingDirection',\n    id: 42937,\n    abbrName: 'FnlRtRndDirctn',\n    description: 'Specifies the rounding direction for the compounding floating rate.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamCompoundingFinalRatePrecision',\n    id: 42938,\n    abbrName: 'FnlRtPrcsn',\n    description:\n      'Specifies the compounding floating rate rounding precision in terms of a number of decimal places. Note how a percentage rate rounding of 5 decimal places is expressed as a rounding precision of 7.',\n  },\n  {\n    type: 'PaymentStreamAveragingMethodCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamCompoundingAveragingMethod',\n    id: 42939,\n    abbrName: 'AvgngMeth',\n    description:\n      'Specifies the averaging method when compounding floating rate averaging is applicable (e.g. weighted or unweighted).',\n  },\n  {\n    type: 'PaymentStreamNegativeRateTreatmentCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamCompoundingNegativeRateTreatment',\n    id: 42940,\n    abbrName: 'NegtvRtTrtmt',\n    description:\n      'Specifies the method for calculating payment obligations when a compounding floating rate is negative (either due to a quoted negative floating rate or by operation of a spread that is subtracted from the floating rate).',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamCompoundingStartDateUnadjusted',\n    id: 42941,\n    abbrName: 'DtUnadj',\n    description: 'The unadjusted compounding start date.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamCompoundingStartDateRelativeTo',\n    id: 42942,\n    abbrName: 'Reltv',\n    description:\n      'Specifies the anchor date when the compounding start date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamCompoundingStartDateOffsetPeriod',\n    id: 42943,\n    abbrName: 'OfstPeriod',\n    description: 'Time unit multiplier for the relative compounding start date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamCompoundingStartDateOffsetUnit',\n    id: 42944,\n    abbrName: 'OfstUnit',\n    description: 'Time unit associated with the relative compounding start date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamCompoundingStartDateOffsetDayType',\n    id: 42945,\n    abbrName: 'OfstDayTyp',\n    description: 'Specifies the day type of the relative compounding start date offset.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamCompoundingStartDateAdjusted',\n    id: 42946,\n    abbrName: 'Dt',\n    description: 'The adjusted compounding start date.',\n  },\n  {\n    type: 'Length',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamFormulaImageLength',\n    id: 42947,\n    abbrName: 'FrmlaImgLen',\n    description:\n      'Length in bytes of the UnderlyingPaymentStreamFormulaImage(42948) field.',\n  },\n  {\n    type: 'data',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamFormulaImage',\n    id: 42948,\n    abbrName: 'FrmlaImg',\n    lengthId: '42947',\n    description:\n      'Image of the formula image when represented through an encoded clip in base64Binary.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamFinalPricePaymentDateUnadjusted',\n    id: 42949,\n    abbrName: 'DtUnadj',\n    description: 'The unadjusted final price payment date.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamFinalPricePaymentDateRelativeTo',\n    id: 42950,\n    abbrName: 'Reltv',\n    description:\n      'Specifies the anchor date when the final price payment date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamFinalPricePaymentDateOffsetPeriod',\n    id: 42951,\n    abbrName: 'OfstPeriod',\n    description: 'Time unit multiplier for the relative final price payment date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamFinalPricePaymentDateOffsetUnit',\n    id: 42952,\n    abbrName: 'OfstUnit',\n    description:\n      'Time unit associated with the relative final price payment date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamFinalPricePaymentDateOffsetDayType',\n    id: 42953,\n    abbrName: 'OfstDayTyp',\n    description:\n      'Specifies the day type of the relative final price payment date offset.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamFinalPricePaymentDateAdjusted',\n    id: 42954,\n    abbrName: 'Dt',\n    description: 'The adjusted final price payment date.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingPaymentStreamFixingDates',\n    id: 42955,\n    description: 'Number of fixing dates in the repeating group.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamFixingDate',\n    id: 42956,\n    abbrName: 'Dt',\n    description:\n      'The fixing date. Type of date is specified in UnderlyingPaymentStreamFixingDateType(42957).',\n  },\n  {\n    type: 'NonDeliverableFixingDateTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamFixingDateType',\n    id: 42957,\n    abbrName: 'Typ',\n    description: 'Specifies the type of fixing date (e.g. adjusted for holidays).',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamFirstObservationDateUnadjusted',\n    id: 42958,\n    abbrName: 'FirstObsvtnDtUnadj',\n    description: 'The unadjusted initial price observation date.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamFirstObservationDateRelativeTo',\n    id: 42959,\n    abbrName: 'FirstObsvtnReltv',\n    description:\n      'Specifies the anchor date when the initial price observation date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamFirstObservationDateOffsetDayType',\n    id: 42960,\n    abbrName: 'FirstObsvtnOfstDayTyp',\n    description: 'Specifies the day type of the initial price observation date offset.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamFirstObservationDateAdjusted',\n    id: 42961,\n    abbrName: 'FirstObsvtnDt',\n    description: 'The adjusted initial price observation date.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamUnderlierRefID',\n    id: 42962,\n    abbrName: 'UndlrRefID',\n    description:\n      \"References the dividend underlier through the instrument's UnderlyingSecurityID(309) which must be fully specified in an instance of the UnderlyingInstrument component.\",\n  },\n  {\n    type: 'Boolean',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingReturnRateNotionalReset',\n    id: 42963,\n    abbrName: 'RtnRtNotlReset',\n    description:\n      'Indicates whether the term \"Equity Notional Reset\" as defined in the ISDA 2002 Equity Derivatives Definitions is applicable (\"Y\") or not.',\n  },\n  {\n    type: 'Price',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamLinkInitialLevel',\n    id: 42964,\n    abbrName: 'LinkInitLvl',\n    description:\n      'Price level at which the correlation or variance swap contract will strike.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamLinkClosingLevelIndicator',\n    id: 42965,\n    abbrName: 'LinkClsngLvl',\n    description:\n      'Indicates whether the correlation or variance swap contract will (\"Y\") strike off the closing level of the default exchange traded contract or not.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamLinkExpiringLevelIndicator',\n    id: 42966,\n    abbrName: 'LinkExpngLvl',\n    description:\n      'Indicates whether the correlation or variance swap contract will (\"Y\") strike off the expiring level of the default exchange traded contract or not.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamLinkEstimatedTradingDays',\n    id: 42967,\n    abbrName: 'LinkEstTrdgDays',\n    description:\n      'The expected number of trading days in the variance or correlation swap stream.',\n  },\n  {\n    type: 'Price',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamLinkStrikePrice',\n    id: 42968,\n    abbrName: 'LinkStrkPx',\n    description: 'The strike price of a correlation or variance swap stream.',\n  },\n  {\n    type: 'PaymentStreamLinkStrikePriceTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamLinkStrikePriceType',\n    id: 42969,\n    abbrName: 'LinkStrkPxTyp',\n    description:\n      'For a variance swap specifies how UnderlyingPaymentStreamLinkStrikePrice(42968) is expressed.',\n  },\n  {\n    type: 'float',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamLinkMaximumBoundary',\n    id: 42970,\n    abbrName: 'LinkMaxBndry',\n    description:\n      'Specifies the maximum or upper boundary for variance or strike determination.\\n\\nFor a variation swap stream all observations above this price level will be excluded from the variance calculation.\\n\\nFor a correlation swap stream the maximum boundary is a percentage of the strike price.',\n  },\n  {\n    type: 'float',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamLinkMinimumBoundary',\n    id: 42971,\n    abbrName: 'LinkMinBndry',\n    description:\n      'Specifies the minimum or lower boundary for variance or strike determination.\\n\\nFor a variation swap stream all observations below this price level will be excluded from the variance calculation.\\n\\nFor a correlation swap stream the minimum boundary is a percentage of the strike price.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamLinkNumberOfDataSeries',\n    id: 42972,\n    abbrName: 'LinkNumDataSeries',\n    description:\n      'Number of data series for a correlation swap. Normal market practice is that correlation data sets are drawn from geographic market areas, such as America, Europe and Asia Pacific. Each of these geographic areas will have its own data series to avoid contagion.',\n  },\n  {\n    type: 'float',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamVarianceUnadjustedCap',\n    id: 42973,\n    abbrName: 'VarncCap',\n    description:\n      'Indicates the scaling factor to be multiplied by the variance strike price thereby making variance cap applicable.',\n  },\n  {\n    type: 'PaymentStreamRealizedVarianceMethodCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamRealizedVarianceMethod',\n    id: 42974,\n    abbrName: 'RlzdVarncMeth',\n    description: 'Indicates which price to use to satisfy the boundary condition.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamDaysAdjustmentIndicator',\n    id: 42975,\n    abbrName: 'DaysAdjmt',\n    description:\n      'Indicates whether the contract specifies that the notional should be scaled by the number of days in range divided by the estimate trading days or not. The number of \"days in range\" refers to the number of returns that contribute to the realized volatility.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamNearestExchangeContractRefID',\n    id: 42976,\n    abbrName: 'ExchCtrctRefID',\n    description:\n      \"References a contract listed on an exchange through the instrument's UnderlyingSecurityID(309) which must be fully specified in an instance of the UnderlyingInstrument component.\",\n  },\n  {\n    type: 'float',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamVegaNotionalAmount',\n    id: 42977,\n    abbrName: 'VegaNotlAmt',\n    description:\n      'Vega Notional represents the approximate gain/loss at maturity for a 1% difference between RVol (realised volatility) and KVol (strike volatility). It does not necessarily represent the Vega risk of the trade.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamFormulaCurrency',\n    id: 42978,\n    abbrName: 'Ccy',\n    description:\n      'The currency in which the formula amount is denominated. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamFormulaCurrencyDeterminationMethod',\n    id: 42979,\n    abbrName: 'CcyDtrmnMeth',\n    description:\n      'Specifies the method according to which the formula amount currency is determined.\\n\\nSee http://www.fpml.org/coding-scheme/determination-method for values.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamFormulaReferenceAmount',\n    id: 42980,\n    abbrName: 'RefAmt',\n    description:\n      'Specifies the reference amount when this term either corresponds to the standard ISDA Definition (either the 2002 Equity Definition for the Equity Amount, or the 2000 Definition for the Interest Amount), or refers to a term defined elsewhere in the swap document.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Payment_Amount_Relative_To for code list of reference amounts.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingPaymentStreamFormulas',\n    id: 42981,\n    description: 'Number of formulas in the repeating group.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'XMLData',\n    addedEP: '208',\n    updatedEP: '259',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamFormula',\n    id: 42982,\n    abbrName: 'Frmla',\n    lengthId: '43111',\n    description:\n      'Contains an XML representation of the formula. Defined for flexibility in choice of language (MathML, OpenMath or text).',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamFormulaDesc',\n    id: 42983,\n    abbrName: 'Desc',\n    description:\n      'A description of the math formula in UnderlyingPaymentStreamFormula(42982).',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStubEndDateUnadjusted',\n    id: 42984,\n    abbrName: 'DtUnadj',\n    description: 'The unadjusted stub end date.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStubEndDateBusinessDayConvention',\n    id: 42985,\n    abbrName: 'BizDayCnvtn',\n    description: 'The stub end date business day convention.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStubEndDateRelativeTo',\n    id: 42986,\n    abbrName: 'Reltv',\n    description:\n      'Specifies the anchor date when the stub end date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStubEndDateOffsetPeriod',\n    id: 42987,\n    abbrName: 'OfstPeriod',\n    description: 'Time unit multiplier for the relative stub end date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStubEndDateOffsetUnit',\n    id: 42988,\n    abbrName: 'OfstUnit',\n    description: 'Time unit associated with the relative stub end date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStubEndDateOffsetDayType',\n    id: 42989,\n    abbrName: 'OfstDayTyp',\n    description: 'Specifies the day type of the relative stub end date offset.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStubEndDateAdjusted',\n    id: 42990,\n    abbrName: 'Dt',\n    description: 'The adjusted stub end date.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingPaymentStubEndDateBusinessCenters',\n    id: 42991,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStubEndDateBusinessCenter',\n    id: 42992,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used for date adjustment of the payment stub end date, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStubStartDateUnadjusted',\n    id: 42993,\n    abbrName: 'DtUnadj',\n    description: 'The unadjusted stub start date.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStubStartDateBusinessDayConvention',\n    id: 42994,\n    abbrName: 'BizDayCnvtn',\n    description: 'The stub start date business day convention.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStubStartDateRelativeTo',\n    id: 42995,\n    abbrName: 'Reltv',\n    description:\n      'Specifies the anchor date when the stub start date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStubStartDateOffsetPeriod',\n    id: 42996,\n    abbrName: 'OfstPeriod',\n    description: 'Time unit multiplier for the relative stub start date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStubStartDateOffsetUnit',\n    id: 42997,\n    abbrName: 'OfstUnit',\n    description: 'Time unit associated with the relative stub start date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStubStartDateOffsetDayType',\n    id: 42998,\n    abbrName: 'OfstDayTyp',\n    description: 'Specifies the day type of the relative stub start date offset.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStubStartDateAdjusted',\n    id: 42999,\n    abbrName: 'Dt',\n    description: 'The adjusted stub start date.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingPaymentStubStartDateBusinessCenters',\n    id: 43000,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStubStartDateBusinessCenter',\n    id: 43001,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used for date adjustment of the payment stub start date, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'ProvisionBreakFeeElectionCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionBreakFeeElection',\n    id: 43002,\n    abbrName: 'BrkFeeElctn',\n    description: 'Type of fee elected for the break provision.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionBreakFeeRate',\n    id: 43003,\n    abbrName: 'BrkFeeRt',\n    description:\n      'Break fee election rate when the break fee is proportional to the notional. A fee rate of 5% would be represented as \"0.05\".',\n  },\n  {\n    type: 'float',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingRateSpreadInitialValue',\n    id: 43004,\n    abbrName: 'InitVal',\n    description: 'Specifies the initial rate spread for a basket underlier.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingRateSpreadSteps',\n    id: 43005,\n    description: 'Number of entries in the repeating group.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingRateSpreadStepDate',\n    id: 43006,\n    abbrName: 'Dt',\n    description: 'The date that the rate spread step takes affect.',\n  },\n  {\n    type: 'float',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingRateSpreadStepValue',\n    id: 43007,\n    abbrName: 'Val',\n    description:\n      'The the value of the new rate spread as of the UnderlyingRateSpreadStepDate(43006).',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingReturnRateDates',\n    id: 43008,\n    description: 'Number of iterations in the return rate date repeating group.',\n  },\n  {\n    type: 'ReturnRateDateModeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingReturnRateDateMode',\n    id: 43009,\n    abbrName: 'Mode',\n    description: 'Specifies the valuation type applicable to the return rate date.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingReturnRateValuationDateRelativeTo',\n    id: 43010,\n    abbrName: 'Reltv',\n    description:\n      'Specifies the anchor date when the return rate valuation dates are relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingReturnRateValuationDateOffsetPeriod',\n    id: 43011,\n    abbrName: 'OfstPeriod',\n    description:\n      'Time unit multiplier for the relative return rate valuation date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingReturnRateValuationDateOffsetUnit',\n    id: 43012,\n    abbrName: 'OfstUnit',\n    description:\n      'Time unit associated with the relative return rate valuation date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingReturnRateValuationDateOffsetDayType',\n    id: 43013,\n    abbrName: 'OfstDayTyp',\n    description:\n      'Specifies the day type of the relative return rate valuation date offset.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingReturnRateValuationStartDateUnadjusted',\n    id: 43014,\n    abbrName: 'StartDtUnadj',\n    description:\n      'The unadjusted start date for return rate valuation. This can be used to restrict the range of dates when they are relative.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingReturnRateValuationStartDateRelativeTo',\n    id: 43015,\n    abbrName: 'StartDtReltv',\n    description:\n      'Specifies the anchor date when the return rate valuation start date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingReturnRateValuationStartDateOffsetPeriod',\n    id: 43016,\n    abbrName: 'StartDtOfstPeriod',\n    description:\n      'Time unit multiplier for the relative return rate valuation start date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingReturnRateValuationStartDateOffsetUnit',\n    id: 43017,\n    abbrName: 'StartDtOfstUnit',\n    description:\n      'Time unit associated with the relative return rate valuation start date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingReturnRateValuationStartDateOffsetDayType',\n    id: 43018,\n    abbrName: 'StartDtOfstDayTyp',\n    description:\n      'Specifies the day type of the relative return rate valuation start date offset.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingReturnRateValuationStartDateAdjusted',\n    id: 43019,\n    abbrName: 'StartDt',\n    description:\n      'The adjusted start date for return rate valuation. This can be used to restrict the range of dates when they are relative.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingReturnRateValuationEndDateUnadjusted',\n    id: 43020,\n    abbrName: 'EndDtUnadj',\n    description:\n      'The unadjusted end date for return rate valuation. This can be used to restrict the range of dates when they are relative.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingReturnRateValuationEndDateRelativeTo',\n    id: 43021,\n    abbrName: 'EndDtReltv',\n    description:\n      'Specifies the anchor date when the return rate valuation end date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingReturnRateValuationEndDateOffsetPeriod',\n    id: 43022,\n    abbrName: 'EndDtOfstPeriod',\n    description:\n      'Time unit multiplier for the relative return rate valuation end date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingReturnRateValuationEndDateOffsetUnit',\n    id: 43023,\n    abbrName: 'EndDtOfstUnit',\n    description:\n      'Time unit associated with the relative return rate valuation end date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingReturnRateValuationEndDateOffsetDayType',\n    id: 43024,\n    abbrName: 'EndDtOfstDayTyp',\n    description:\n      'Specifies the day type of the relative return rate valuation end date offset.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingReturnRateValuationEndDateAdjusted',\n    id: 43025,\n    abbrName: 'EndDt',\n    description:\n      'The adjusted end date for return rate valuation. This can be used to restrict the range of dates when they are relative.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingReturnRateValuationFrequencyPeriod',\n    id: 43026,\n    abbrName: 'FreqPeriod',\n    description:\n      'Time unit multiplier for the frequency at which return rate valuation dates occur.',\n  },\n  {\n    type: 'CouponFrequencyUnitCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingReturnRateValuationFrequencyUnit',\n    id: 43027,\n    abbrName: 'FreqUnit',\n    description:\n      'Time unit associated with the frequency at which return rate valuation dates occur.',\n  },\n  {\n    type: 'DateRollConventionCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingReturnRateValuationFrequencyRollConvention',\n    id: 43028,\n    abbrName: 'Roll',\n    description:\n      'The convention for determining the sequence of return rate valuation dates. It is used in conjunction with a specified frequency.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingReturnRateValuationDateBusinessDayConvention',\n    id: 43029,\n    abbrName: 'BizDayCnvtn',\n    description: 'The return rate valuation dates business day convention.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingReturnRateFXConversions',\n    id: 43030,\n    description: 'Number of iterations in the return rate FX conversion repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingReturnRateFXCurrencySymbol',\n    id: 43031,\n    abbrName: 'CcySym',\n    description:\n      'Specifies the currency pair for the FX conversion expressed using the CCY1/CCY2 convention. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'float',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingReturnRateFXRate',\n    id: 43032,\n    abbrName: 'FxRt',\n    description:\n      'The rate of exchange between the two currencies specified in UnderlyingReturnRateFXCurrencySymbol(43031).',\n  },\n  {\n    type: 'SettlCurrFxRateCalcCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingReturnRateFXRateCalc',\n    id: 43033,\n    abbrName: 'FxRtCalc',\n    description:\n      'Specifies whether UnderlyingReturnRateFXRate(43032) should be multiplied or divided.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingReturnRates',\n    id: 43034,\n    description: 'Number of iterations in the return rate repeating group.',\n  },\n  {\n    type: 'ReturnRatePriceSequenceCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingReturnRatePriceSequence',\n    id: 43035,\n    abbrName: 'PxSeq',\n    description: 'Specifies the type of price sequence of the return rate.',\n  },\n  {\n    type: 'CommTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingReturnRateCommissionBasis',\n    id: 43036,\n    abbrName: 'CommBasis',\n    description: 'Specifies the basis or unit used to calculate the commission.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingReturnRateCommissionAmount',\n    id: 43037,\n    abbrName: 'CommAmt',\n    description: 'The commission amount.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingReturnRateCommissionCurrency',\n    id: 43038,\n    abbrName: 'CommCcy',\n    description:\n      'Specifies the currency the commission amount is denominated in. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingReturnRateTotalCommissionPerTrade',\n    id: 43039,\n    abbrName: 'TotCommPerTrd',\n    description: 'The total commission per trade.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingReturnRateDeterminationMethod',\n    id: 43040,\n    abbrName: 'DtrmnMeth',\n    description:\n      'Specifies the method by which the underlier prices are determined.\\n\\nSee http://www.fpml.org/coding-scheme/determination-method for values.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingReturnRateAmountRelativeTo',\n    id: 43041,\n    abbrName: 'AmtReltv',\n    description:\n      'Specifies the reference amount when the return rate amount is relative to another amount in the trade.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Payment_Amount_Relative_To for code list of relative amounts.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingReturnRateQuoteMeasureType',\n    id: 43042,\n    abbrName: 'QteTyp',\n    description:\n      \"Specifies the type of the measure applied to the return rate's asset, e.g. valuation, sensitivity risk. This could be an NPV, a cash flow, a clean price, etc.\\n\\nSee http://www.fpml.org/coding-scheme/asset-measure for values.\",\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingReturnRateQuoteUnits',\n    id: 43043,\n    abbrName: 'QteUnit',\n    description:\n      'Specifies the units that the measure is expressed in. If not specified, the default is a price/value in currency units.\\n\\nSee http://www.fpml.org/coding-scheme/price-quote-units for values.',\n  },\n  {\n    type: 'CashSettlQuoteMethodCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingReturnRateQuoteMethod',\n    id: 43044,\n    abbrName: 'QteMeth',\n    description:\n      'Specifies the type of quote used to determine the return rate of the swap.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingReturnRateQuoteCurrency',\n    id: 43045,\n    abbrName: 'QteCcy',\n    description:\n      'Specifies the currency the return rate quote is denominated in. Uses ISO 4217 Currency Code.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingReturnRateQuoteCurrencyType',\n    id: 43046,\n    abbrName: 'QteCcyTyp',\n    description:\n      'Specifies the type of currency, e.g. settlement currency, base currency, etc., that the quote is reported in.\\n\\nSee http://www.fpml.org/coding-scheme/reporting-currency-type for values.',\n  },\n  {\n    type: 'ReturnRateQuoteTimeTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingReturnRateQuoteTimeType',\n    id: 43047,\n    abbrName: 'QteTmTyp',\n    description: 'Specifies how or the timing when the quote is to be obtained.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingReturnRateQuoteTime',\n    id: 43048,\n    abbrName: 'QteTm',\n    description: 'The time when the quote is to be generated.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingReturnRateQuoteDate',\n    id: 43049,\n    abbrName: 'QteDt',\n    description: 'The date when the quote is to be generated.',\n  },\n  {\n    type: 'LocalMktTime',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingReturnRateQuoteExpirationTime',\n    id: 43050,\n    abbrName: 'QteExpTm',\n    description: 'The time when the quote ceases to be valid.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingReturnRateQuoteBusinessCenter',\n    id: 43051,\n    abbrName: 'QteBizCtr',\n    description:\n      'The business center calendar used for adjustments associated with UnderlyingReturnRateQuoteTimeType(43047) or UnderlyingReturnRateQuoteTime(43048) and UnderlyingReturnRateQuoteDate(43049), e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'Exchange',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingReturnRateQuoteExchange',\n    id: 43052,\n    abbrName: 'QteExch',\n    description:\n      'Specifies the exchange (e.g. stock or listed futures/options exchange) from which the quote is obtained.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingReturnRateQuotePricingModel',\n    id: 43053,\n    abbrName: 'QteModel',\n    description:\n      'Specifies the pricing model used to evaluate the underlying asset price.\\n\\nSee http://www.fpml.org/coding-scheme/pricing-model for values.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingReturnRateCashFlowType',\n    id: 43054,\n    abbrName: 'CshFlow',\n    description:\n      'Specifies the type of cash flows, e.g. coupon payment, premium fee, settlement fee, etc.\\n\\nSee http://www.fpml.org/coding-scheme/cashflow-type for values.',\n  },\n  {\n    type: 'ReturnRateQuoteTimeTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingReturnRateValuationTimeType',\n    id: 43055,\n    abbrName: 'ValTmTyp',\n    description:\n      'Specifies the timing at which the calculation agent values the underlying.',\n  },\n  {\n    type: 'LocalMktTime',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingReturnRateValuationTime',\n    id: 43056,\n    abbrName: 'ValTm',\n    description: 'The time at which the calculation agent values the underlying asset.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingReturnRateValuationTimeBusinessCenter',\n    id: 43057,\n    abbrName: 'ValTmBizCtr',\n    description:\n      'The business center calendar used for adjustments associated with UnderlyingReturnRateValuationTimeType(43055) or UnderlyingReturnRateValuationTime(43056) , e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'ReturnRateValuationPriceOptionCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingReturnRateValuationPriceOption',\n    id: 43058,\n    abbrName: 'ValPxOpt',\n    description:\n      'Indicates whether an ISDA price option applies, and if applicable which type of price.',\n  },\n  {\n    type: 'ComplexEventPVFinalPriceElectionFallbackCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingReturnRateFinalPriceFallback',\n    id: 43059,\n    abbrName: 'FnlPxFallbck',\n    description:\n      'Specifies the fallback provision for the hedging party in the determination of the final price.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingReturnRateInformationSources',\n    id: 43060,\n    description:\n      'Number of iterations in the return rate information source repeating group.',\n  },\n  {\n    type: 'RateSourceCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingReturnRateInformationSource',\n    id: 43061,\n    abbrName: 'RtSrc',\n    description:\n      'Identifies the source of rate information. For FX the references source to be used for the FX spot rate.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingReturnRateReferencePage',\n    id: 43062,\n    abbrName: 'RefPg',\n    description:\n      'Identifies the reference \"page\" from the rate source.\\n\\nFor FX, the reference page to the spot rate to be used for the reference FX spot rate.\\n\\nWhen UnderlyingReturnRateInformationSource(43061) = 3 (ISDA Settlement Rate Option) this contains the value from the scheme that reflects the terms of the Annex A to the ISDA 1998 FX and Currency Option Definitions.\\n\\nSee: http://www.fpml.org/coding-scheme/settlement-rate-option',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingReturnRateReferencePageHeading',\n    id: 43063,\n    abbrName: 'RefHdng',\n    description: 'Identifies the page heading from the rate source.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingReturnRatePrices',\n    id: 43064,\n    description: 'Number of iterations in the return rate price repeating group.',\n  },\n  {\n    type: 'ReturnRatePriceBasisCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingReturnRatePriceBasis',\n    id: 43065,\n    abbrName: 'PxBasis',\n    description: 'The basis of the return price.',\n  },\n  {\n    type: 'Price',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingReturnRatePrice',\n    id: 43066,\n    abbrName: 'Px',\n    description: 'Specifies the price of the underlying swap asset.',\n  },\n  {\n    type: 'Currency',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingReturnRatePriceCurrency',\n    id: 43067,\n    abbrName: 'Ccy',\n    description:\n      'Specifies the currency of the price of the underlying swap asset. Uses ISO 4217 currency codes.',\n  },\n  {\n    type: 'ReturnRatePriceTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingReturnRatePriceType',\n    id: 43068,\n    abbrName: 'PxTyp',\n    description:\n      'Specifies whether the UnderlyingReturnRatePrice(43066) is expressed in absolute or relative terms.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingReturnRateValuationDateBusinessCenters',\n    id: 43069,\n    description:\n      'Number of iterations in the return rate valuation date business center repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingReturnRateValuationDateBusinessCenter',\n    id: 43070,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used for date adjustment of the return rate valuation unadjusted or relative dates, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingReturnRateValuationDates',\n    id: 43071,\n    description:\n      'Number of iterations in the return rate valuation date repeating group.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingReturnRateValuationDate',\n    id: 43072,\n    abbrName: 'Dt',\n    description:\n      'The return rate valuation date. Type of date is specified in UnderlyingReturnRateValuationDateType(43073).',\n  },\n  {\n    type: 'NonDeliverableFixingDateTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingReturnRateValuationDateType',\n    id: 43073,\n    abbrName: 'Typ',\n    description:\n      'Specifies the type of return rate valuation date (e.g. adjusted for holidays).',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'NoUnderlyingSettlMethodElectionDateBusinessCenters',\n    id: 43074,\n    description: 'Number of business centers in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingSettlMethodElectionDateBusinessCenter',\n    id: 43075,\n    abbrName: 'Ctr',\n    description:\n      'The business center calendar used for date adjustment of the settlement method election unadjusted or relative date, e.g. \"GBLO\".\\n\\nSee http://www.fpml.org/coding-scheme/business-center for standard 4-character code values.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingSettlMethodElectionDateUnadjusted',\n    id: 43076,\n    abbrName: 'DtUnadj',\n    description: 'The unadjusted settlement method election date.',\n  },\n  {\n    type: 'BusinessDayConventionCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingSettlMethodElectionDateBusinessDayConvention',\n    id: 43077,\n    abbrName: 'BizDayCnvtn',\n    description:\n      'The settlement method election date adjustment business day convention.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingSettlMethodElectionDateRelativeTo',\n    id: 43078,\n    abbrName: 'Reltv',\n    description:\n      'Specifies the anchor date when the settlement method election date is relative to an anchor date.\\n\\nSee http://www.fixtradingcommunity.org/codelists#Relative_To_Date for values.',\n  },\n  {\n    type: 'int',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingSettlMethodElectionDateOffsetPeriod',\n    id: 43079,\n    abbrName: 'OfstPeriod',\n    description:\n      'Time unit multiplier for the relative settlement method election date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetUnitCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingSettlMethodElectionDateOffsetUnit',\n    id: 43080,\n    abbrName: 'OfstUnit',\n    description:\n      'Time unit associated with the relative settlement method election date offset.',\n  },\n  {\n    type: 'PaymentStreamPaymentDateOffsetDayTypeCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingSettlMethodElectionDateOffsetDayType',\n    id: 43081,\n    abbrName: 'OfstDayTyp',\n    description:\n      'Specifies the day type of the relative settlement method election date offset.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingSettlMethodElectionDateAdjusted',\n    id: 43082,\n    abbrName: 'Dt',\n    description: 'The adjusted settlement method election date.',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamVersion',\n    id: 43083,\n    abbrName: 'Ver',\n    description:\n      'The stream version identifier when there have been modifications to the contract over time. Helps signal when there are embedded changes.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamVersionEffectiveDate',\n    id: 43084,\n    abbrName: 'VerEfctvDt',\n    description: 'The effective date of the UnderlyingStreamVersion(43083).',\n  },\n  {\n    type: 'String',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamNotionalDeterminationMethod',\n    id: 43085,\n    abbrName: 'NotlDtrmnMeth',\n    description:\n      'Specifies the method for determining the floating notional value for equity swaps.\\n\\nSee http://www.fpml.org/coding-scheme/determination-method for values.',\n  },\n  {\n    type: 'StreamNotionalAdjustmentsCodeSet',\n    addedEP: '208',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamNotionalAdjustments',\n    id: 43086,\n    abbrName: 'NotlAdjmts',\n    description:\n      'For equity swaps this specifies the conditions that govern the adjustment to the number of units of the swap.',\n  },\n  {\n    type: 'RemunerationIndicatorCodeSet',\n    addedEP: '209',\n    added: 'FIX.5.0SP2',\n    name: 'RemunerationIndicator',\n    id: 2356,\n    abbrName: 'RmntnInd',\n    description:\n      'Indicates whether the trade price was adjusted for compensation (i.e. includes a mark-up, mark-down or commission) in the price paid.\\n\\nIn the context of MSRB and FINRA TRACE reporting requirements, this is used among firms to indicate trade remuneration.',\n  },\n  {\n    type: 'String',\n    addedEP: '211',\n    added: 'FIX.5.0SP2',\n    name: 'CompressionGroupID',\n    id: 2361,\n    abbrName: 'CmprsnGrpID',\n    description:\n      'Use to identify a netting or compression group where trades in the group were netted or compressed. This includes both terminating trades and any remnant trades that result from the operation.',\n  },\n  {\n    type: 'String',\n    addedEP: '211',\n    added: 'FIX.5.0SP2',\n    name: 'SelfMatchPreventionID',\n    id: 2362,\n    abbrName: 'SlfMtchPrvntnID',\n    description:\n      'Identifies an order or trade that should not be matched to an opposite order or trade if both buy and sell orders for the same asset contain the same SelfMatchPreventionID(2362) and submitted by the same firm.',\n  },\n  {\n    type: 'PartyRiskLimitStatusCodeSet',\n    addedEP: '214',\n    added: 'FIX.5.0SP2',\n    name: 'PartyRiskLimitStatus',\n    id: 2355,\n    abbrName: 'PtyRiskLmtStat',\n    description: 'The status of risk limits for a party.',\n  },\n  {\n    type: 'String',\n    addedEP: '215',\n    added: 'FIX.5.0SP2',\n    name: 'TradeConfirmationReferenceID',\n    id: 2390,\n    abbrName: 'TrdCnfmRefID',\n    description:\n      'A reference or control identifier or number used as a trade confirmation key.\\n\\nAn example of a control identifier is the DTC ID Control Number.',\n  },\n  {\n    type: 'AlgorithmicTradeIndicatorCodeSet',\n    addedEP: '216',\n    added: 'FIX.5.0SP2',\n    name: 'AlgorithmicTradeIndicator',\n    id: 2667,\n    abbrName: 'AlgoTrdInd',\n    description:\n      'Indicates that the order or trade originates from a computer program or algorithm requiring little-to-no human intervention.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '216',\n    added: 'FIX.5.0SP2',\n    name: 'NoTrdRegPublications',\n    id: 2668,\n    description: 'Number of regulatory publication rules in repeating group.',\n  },\n  {\n    type: 'TrdRegPublicationTypeCodeSet',\n    addedEP: '216',\n    added: 'FIX.5.0SP2',\n    name: 'TrdRegPublicationType',\n    id: 2669,\n    abbrName: 'Typ',\n    description:\n      'Specifies the type of regulatory trade publication.\\n\\nAdditional reasons for the publication type may be specified in TrdRegPublicationReason(2670).',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'TrdRegPublicationReasonCodeSet',\n    addedEP: '216',\n    updatedEP: '283',\n    added: 'FIX.5.0SP2',\n    name: 'TrdRegPublicationReason',\n    id: 2670,\n    abbrName: 'Rsn',\n    description:\n      'Additional reason for trade publication type specified in TrdRegPublicationType(2669).\\n\\nReasons may be specific to regulatory trade publication rules.\\n\\nFor ESMA RTS 1, RTS 6 and RTS 22 this is the OILQ flag.',\n  },\n  {\n    type: 'PriceOffset',\n    addedEP: '217',\n    added: 'FIX.5.0SP2',\n    name: 'LegDifferentialPrice',\n    id: 2492,\n    abbrName: 'DiffPx',\n    description:\n      'Used in pricing a group of individual Trade at Settlement (TAS) and Trade At Marker (TAM) contracts as an atomic unit. The value is the negotiated currency offset either at settlement (TAS) or at the time specified in the product definition (TAM). The final contract price is reported in LegLastPx(637).',\n  },\n  {\n    type: 'CrossedIndicatorCodeSet',\n    addedEP: '218',\n    added: 'FIX.5.0SP2',\n    name: 'CrossedIndicator',\n    id: 2523,\n    abbrName: 'CrssdInd',\n    description:\n      'Indicates whether the order or quote was crossed with another order or quote having the same context, e.g. having accounts with a common ownership.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '222',\n    added: 'FIX.5.0SP2',\n    name: 'NoOrderAttributes',\n    id: 2593,\n    description: 'Number of order attribute entries.',\n  },\n  {\n    type: 'OrderAttributeTypeCodeSet',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '222',\n    added: 'FIX.5.0SP2',\n    name: 'OrderAttributeType',\n    id: 2594,\n    abbrName: 'Typ',\n    description: 'The type of order attribute.',\n  },\n  {\n    type: 'String',\n    addedEP: '222',\n    added: 'FIX.5.0SP2',\n    name: 'OrderAttributeValue',\n    id: 2595,\n    abbrName: 'Val',\n    description:\n      'The value associated with the order attribute type specified in OrderAttributeType(2594).',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'TradeReportingIndicatorCodeSet',\n    addedEP: '222',\n    updatedEP: '283',\n    added: 'FIX.5.0SP2',\n    name: 'TradeReportingIndicator',\n    id: 2524,\n    abbrName: 'TrdRptngInd',\n    description:\n      'Used between parties to convey trade reporting status.\\n\\nIn the context of regulatory reporting, this field may be used by the reporting party (e.g. party obligated to report to regulators) to inform their trading counterparty or other interested parties the trade reporting status.\\n\\nThe term \u201Cauthorised reporter\u201D represents the appropriate reporting firm under applicable regulation. In the context of ESMA reporting, this is the \"Systematic Internaliser\". In the context of FCA reporting, this is the \"Designated Reporter\".',\n  },\n  {\n    type: 'TradeReportingIndicatorCodeSet',\n    addedEP: '222',\n    added: 'FIX.5.0SP2',\n    name: 'SideTradeReportingIndicator',\n    id: 2671,\n    abbrName: 'TrdRptngInd',\n    description:\n      'Used between parties to convey trade reporting status.\\n\\nIn the context of regulatory reporting, this field may be used by the reporting party (e.g. party obligated to report to regulators) to inform their trading counterparty or other interested parties the trade reporting status.',\n  },\n  {\n    type: 'String',\n    addedEP: '223',\n    added: 'FIX.5.0SP2',\n    name: 'CrossRequestID',\n    id: 2672,\n    abbrName: 'CrssReqID',\n    description:\n      'Unique message identifier for a cross request as assigned by the submitter of the request.',\n  },\n  {\n    type: 'String',\n    addedEP: '223',\n    added: 'FIX.5.0SP2',\n    name: 'FillMatchID',\n    id: 2673,\n    abbrName: 'MtchID',\n    description:\n      'Identifier assigned by a matching system to a match event containing multiple executions.',\n  },\n  {\n    type: 'String',\n    addedEP: '223',\n    added: 'FIX.5.0SP2',\n    name: 'FillMatchSubID',\n    id: 2674,\n    abbrName: 'MtchSubID',\n    description:\n      'Identifier assigned by a matching system to a price level (e.g. match step, clip) within a match event containing multiple executions.',\n  },\n  {\n    type: 'MassActionReasonCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '223',\n    added: 'FIX.5.0SP2',\n    name: 'MassActionReason',\n    id: 2675,\n    abbrName: 'MassActnRsn',\n    description: 'Reason for submission of mass action.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'Percentage',\n    addedEP: '223',\n    updatedEP: '271',\n    added: 'FIX.5.0SP2',\n    name: 'MaximumPriceDeviation',\n    id: 2676,\n    abbrName: 'MaxPxDeviatn',\n    description:\n      'Maximum deviation, in percentage terms, of an execution price from a reference price, e.g. the initial price of a match event.',\n  },\n  {\n    type: 'NotAffectedReasonCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '223',\n    added: 'FIX.5.0SP2',\n    name: 'NotAffectedReason',\n    id: 2677,\n    abbrName: 'Rsn',\n    description:\n      'Reason for order being unaffected by mass action even though it belongs to the orders covered by MassActionScope(1374).',\n  },\n  {\n    type: 'int',\n    addedEP: '223',\n    added: 'FIX.5.0SP2',\n    name: 'TotalNotAffectedOrders',\n    id: 2678,\n    abbrName: 'TotNotAffctdOrds',\n    description:\n      'Total number of orders unaffected by either the OrderMassActionRequest(35=CA) or OrderMassCancelRequest(35=Q).',\n  },\n  {\n    type: 'OrderOwnershipIndicatorCodeSet',\n    addedEP: '223',\n    added: 'FIX.5.0SP2',\n    name: 'OrderOwnershipIndicator',\n    id: 2679,\n    abbrName: 'OrdOwnershipInd',\n    description: 'Change of ownership of an order to a specific party.',\n  },\n  {\n    type: 'String',\n    addedEP: '223',\n    added: 'FIX.5.0SP2',\n    name: 'LegAccount',\n    id: 2680,\n    abbrName: 'Acct',\n    description:\n      'Account mnemonic as agreed between buy and sell sides, e.g. broker and institution or investor/intermediary and fund manager.',\n  },\n  {\n    type: 'InTheMoneyConditionCodeSet',\n    addedEP: '224',\n    added: 'FIX.5.0SP2',\n    name: 'InTheMoneyCondition',\n    id: 2681,\n    abbrName: 'ITMCond',\n    description: 'Specifies an option instrument\\'s \"in the money\" condition.',\n  },\n  {\n    type: 'InTheMoneyConditionCodeSet',\n    addedEP: '224',\n    added: 'FIX.5.0SP2',\n    name: 'LegInTheMoneyCondition',\n    id: 2682,\n    abbrName: 'ITMCond',\n    description:\n      'Specifies an option instrument\\'s \"in the money\" condition in general terms.',\n  },\n  {\n    type: 'InTheMoneyConditionCodeSet',\n    addedEP: '224',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingInTheMoneyCondition',\n    id: 2683,\n    abbrName: 'ITMCond',\n    description:\n      'Specifies an option instrument\\'s \"in the money\" condition in general terms.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'InTheMoneyConditionCodeSet',\n    addedEP: '224',\n    updatedEP: '271',\n    added: 'FIX.5.0SP2',\n    name: 'DerivativeInTheMoneyCondition',\n    id: 2684,\n    abbrName: 'ITMCond',\n    description:\n      'Specifies an option instrument\\'s \"in the money\" condition in general terms.\\n\\nSee InTheMoneyCondition(2681) for complete definition.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '224',\n    added: 'FIX.5.0SP2',\n    name: 'ContraryInstructionEligibilityIndicator',\n    id: 2685,\n    abbrName: 'CntraryInstEligInd',\n    description:\n      'Identifies whether the option instrument is eligible for contrary instructions at the time of exercise. The contrariness of an instruction will be determined in the context of InTheMoneyCondition(2681). When not specified, the eligibility is undefined or not applicable.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '224',\n    added: 'FIX.5.0SP2',\n    name: 'LegContraryInstructionEligibilityIndicator',\n    id: 2686,\n    abbrName: 'CntraryInstEligInd',\n    description:\n      'Identifies whether the option instrument is eligible for contrary instructions at the time of exercise. The contrariness of an instruction will be determined in the context of LegInTheMoneyCondition(2682). When not specified, the eligibility is undefined or not applicable.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '224',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingContraryInstructionEligibilityIndicator',\n    id: 2687,\n    abbrName: 'CntraryInstEligInd',\n    description:\n      'Identifies whether the option instrument is eligible for contrary instructions at the time of exercise. The contrariness of an instruction will be determined in the context of UnderlyingInTheMoneyCondition(2683). When not specified, the eligibility is undefined or not applicable.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'Boolean',\n    addedEP: '224',\n    updatedEP: '271',\n    added: 'FIX.5.0SP2',\n    name: 'DerivativeContraryInstructionEligibilityIndicator',\n    id: 2688,\n    abbrName: 'CntraryInstEligInd',\n    description:\n      'Identifies whether the option instrument is eligible for contrary instructions at the time of exercise. The contrariness of an instruction will be determined in the context of DerivativeInTheMoneyCondition(2684). When not specified, the eligibility is undefined or not applicable.\\n\\nSee ContraryInstructionEligibilityIndicator(2685) for complete definition.',\n  },\n  {\n    type: 'Price',\n    addedEP: '227',\n    added: 'FIX.5.0SP2',\n    name: 'CollateralMarketPrice',\n    id: 2689,\n    abbrName: 'MktPx',\n    description:\n      'Market price of the collateral, either from market sources or pre-agreed by the counterparties.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '227',\n    added: 'FIX.5.0SP2',\n    name: 'CollateralPercentOverage',\n    id: 2690,\n    abbrName: 'PctOvrg',\n    description:\n      'Percentage of over-collateralization particularly when CollateralAmountType(2632) = 4 (Additional collateral value)',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '227',\n    added: 'FIX.5.0SP2',\n    name: 'NoSideCollateralAmounts',\n    id: 2691,\n    description: 'Number of side collateral amount entries.',\n  },\n  {\n    type: 'String',\n    addedEP: '227',\n    added: 'FIX.5.0SP2',\n    name: 'SideCollateralAmountMarketID',\n    id: 2692,\n    abbrName: 'MktID',\n    description: 'Market associated with the collateral amount.',\n  },\n  {\n    type: 'String',\n    addedEP: '227',\n    added: 'FIX.5.0SP2',\n    name: 'SideCollateralAmountMarketSegmentID',\n    id: 2693,\n    abbrName: 'MktSegID',\n    description: 'Market segment associated with the collateral amount.',\n  },\n  {\n    type: 'CollateralAmountTypeCodeSet',\n    addedEP: '227',\n    added: 'FIX.5.0SP2',\n    name: 'SideCollateralAmountType',\n    id: 2694,\n    abbrName: 'AmtTyp',\n    description: 'The type of value in CurrentCollateralAmount(1704).',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'Currency',\n    addedEP: '227',\n    updatedEP: '273',\n    added: 'FIX.5.0SP2',\n    name: 'SideCollateralCurrency',\n    id: 2695,\n    abbrName: 'Ccy',\n    description:\n      'Specifies the currency of the collateral; optional, defaults to settlement currency if not specified.\\n\\nSideCollateralCurrencyCodeSource(2930) may be used to disambiguate the code source scheme used, and ISO 4217 is the default scheme if absent.',\n  },\n  {\n    type: 'float',\n    addedEP: '227',\n    added: 'FIX.5.0SP2',\n    name: 'SideCollateralFXRate',\n    id: 2696,\n    abbrName: 'FxRt',\n    description:\n      'Foreign exchange rate used to compute the SideCurrentCollateralAmount(2702) from the SideCollateralCurrency(2695) and the Currency(15).',\n  },\n  {\n    type: 'UnderlyingFXRateCalcCodeSet',\n    addedEP: '227',\n    added: 'FIX.5.0SP2',\n    name: 'SideCollateralFXRateCalc',\n    id: 2697,\n    abbrName: 'FxRtCalc',\n    description:\n      'Specifies whether or not SideCollateralFXRate(2696) should be multiplied or divided.',\n  },\n  {\n    type: 'Price',\n    addedEP: '227',\n    added: 'FIX.5.0SP2',\n    name: 'SideCollateralMarketPrice',\n    id: 2698,\n    abbrName: 'MktPx',\n    description:\n      'Market price of the collateral, either from market sources or pre-agreed by the counterparties.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '227',\n    added: 'FIX.5.0SP2',\n    name: 'SideCollateralPercentOverage',\n    id: 2699,\n    abbrName: 'PctOvrg',\n    description:\n      'Percentage of over-collateralization particularly when SideCollateralAmountType(2694) = 4 (Additional collateral value).',\n  },\n  {\n    type: 'String',\n    addedEP: '227',\n    added: 'FIX.5.0SP2',\n    name: 'SideCollateralPortfolioID',\n    id: 2700,\n    abbrName: 'PrtflioID',\n    description:\n      'Identifier of the collateral portfolio when reporting on a portfolio basis.',\n  },\n  {\n    type: 'String',\n    addedEP: '227',\n    added: 'FIX.5.0SP2',\n    name: 'SideCollateralType',\n    id: 2701,\n    abbrName: 'Typ',\n    description: 'Type of collateral on deposit being reported.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '227',\n    added: 'FIX.5.0SP2',\n    name: 'SideCurrentCollateralAmount',\n    id: 2702,\n    abbrName: 'Amt',\n    description: 'Currency value currently attributed to the collateral.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '227',\n    added: 'FIX.5.0SP2',\n    name: 'SideHaircutIndicator',\n    id: 2703,\n    abbrName: 'HrctInd',\n    description:\n      'Indicates, if \"Y\", that a stated valuation includes a haircut, e.g. that the stated value reflects the subtraction of the haircut. Note that a value of \"N\" does not imply a haircut is not applicable, only that the haircut (if any) is not reflected in the stated valuation.',\n  },\n  {\n    type: 'ExDestinationTypeCodeSet',\n    addedEP: '228',\n    added: 'FIX.5.0SP2',\n    name: 'ExDestinationType',\n    id: 2704,\n    abbrName: 'ExDestTyp',\n    description: 'Identifies the type of execution destination for the order.',\n  },\n  {\n    type: 'MarketConditionCodeSet',\n    addedEP: '229',\n    added: 'FIX.5.0SP2',\n    name: 'MarketCondition',\n    id: 2705,\n    abbrName: 'MktCond',\n    description:\n      'Market condition. In the context of ESMA RTS 8 it is important that trading venues communicate the condition of the market, particularly \"stressed\" and \"exceptional\", in order to provide incentives for firms contributing to liquidity.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '229',\n    added: 'FIX.5.0SP2',\n    name: 'NoQuoteAttributes',\n    id: 2706,\n    description: 'Number of quote attributes entries.',\n  },\n  {\n    type: 'QuoteAttributeTypeCodeSet',\n    addedEP: '229',\n    added: 'FIX.5.0SP2',\n    name: 'QuoteAttributeType',\n    id: 2707,\n    abbrName: 'Typ',\n    description: 'The type of attribute for the quote.',\n  },\n  {\n    type: 'String',\n    addedEP: '229',\n    added: 'FIX.5.0SP2',\n    name: 'QuoteAttributeValue',\n    id: 2708,\n    abbrName: 'Val',\n    description:\n      'The value associated with the quote attribute type specified in QuoteAttributeType(2707).',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '230',\n    added: 'FIX.5.0SP2',\n    name: 'NoPriceQualifiers',\n    id: 2709,\n    description: 'Number of price qualifiers in the repeating group.',\n  },\n  {\n    type: 'PriceQualifierCodeSet',\n    addedEP: '230',\n    added: 'FIX.5.0SP2',\n    name: 'PriceQualifier',\n    id: 2710,\n    abbrName: 'Qual',\n    description:\n      'Qualifier for price. May be used when the price needs to be explicitly qualified.',\n  },\n  {\n    type: 'MDValueTierCodeSet',\n    addedEP: '231',\n    added: 'FIX.5.0SP2',\n    name: 'MDValueTier',\n    id: 2711,\n    abbrName: 'Tier',\n    description:\n      'Describes the reporting ranges for executed transactions.\\n\\nIn context of ESMA RTS 27 Article 9, the execution venue is required to report on transactions within several size ranges (in terms of a value and currency). The thresholds for these ranges are dependent on the type of financial instrument.',\n  },\n  {\n    type: 'MiscFeeQualifierCodeSet',\n    addedEP: '231',\n    added: 'FIX.5.0SP2',\n    name: 'MiscFeeQualifier',\n    id: 2712,\n    abbrName: 'Qual',\n    description:\n      'Identifies whether the current entry contributes to the trade or transaction economics, i.e. affects NetMoney(118).',\n  },\n  {\n    type: 'String',\n    addedEP: '231',\n    added: 'FIX.5.0SP2',\n    name: 'MiscFeeDesc',\n    id: 2713,\n    abbrName: 'Desc',\n    description: 'Can be used to provide a textual description of the fee type.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'String',\n    addedEP: '232',\n    updatedEP: '236',\n    added: 'FIX.5.0SP2',\n    name: 'FinancialInstrumentFullName',\n    id: 2714,\n    abbrName: 'FullName',\n    description:\n      'The full normative name of the financial instrument.\\n\\nIn the context of ESMA reference data, this is used to provide the full name of the instrument as defined by the Derivatives Service Bureau (DSB).',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'Length',\n    addedEP: '232',\n    updatedEP: '236',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedFinancialInstrumentFullNameLen',\n    id: 2715,\n    abbrName: 'EncFullNameLen',\n    description:\n      'Byte length of encoded (non-ASCII characters) EncodedFinancialInstrumentFullName(2716) field.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'data',\n    addedEP: '232',\n    updatedEP: '236',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedFinancialInstrumentFullName',\n    id: 2716,\n    abbrName: 'EncFullName',\n    lengthId: '2715',\n    description:\n      'Encoded (non-ASCII characters) representation of the FinancialInstrumentFullName(2714) field in the encoded format specified via the MessageEncoding(347) field. If used, the ASCII (English) representation should also be specified in the FinancialInstrumentFullName(2714) field.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'String',\n    addedEP: '232',\n    updatedEP: '236',\n    added: 'FIX.5.0SP2',\n    name: 'LegFinancialInstrumentFullName',\n    id: 2717,\n    abbrName: 'FullName',\n    description:\n      \"The full normative name of the multileg's financial instrument.\\n\\nIn the context of ESMA reference data, this is used to provide the full name of the instrument as defined by the Derivatives Service Bureau (DSB).\",\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'Length',\n    addedEP: '232',\n    updatedEP: '236',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedLegFinancialInstrumentFullNameLen',\n    id: 2718,\n    abbrName: 'EncFullNameLen',\n    description:\n      \"Byte length of encoded (non-ASCII characters) individual multileg instrument's EncodedLegFinancialInstrumentFullName(2719).\",\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'data',\n    addedEP: '232',\n    updatedEP: '236',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedLegFinancialInstrumentFullName',\n    id: 2719,\n    abbrName: 'EncFullName',\n    lengthId: '2718',\n    description:\n      'Encoded (non-ASCII characters) representation of the LegFinancialInstrumentFullName(2717) field in the encoded format specified via the MessageEncoding(347) field. If used, the ASCII (English) representation should also be specified in the LegFinancialInstrumentFullName(2717) field.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'String',\n    addedEP: '232',\n    updatedEP: '236',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingFinancialInstrumentFullName',\n    id: 2720,\n    abbrName: 'FullName',\n    description:\n      'The full normative name of the underlying financial instrument.\\n\\nIn the context of ESMA reference data, this is used to provide the full name of the instrument as defined by the Derivatives Service Bureau (DSB).',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'Length',\n    addedEP: '232',\n    updatedEP: '236',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedUnderlyingFinancialInstrumentFullNameLen',\n    id: 2721,\n    abbrName: 'EncFullNameLen',\n    description:\n      \"Byte length of encoded (non-ASCII characters) underlying instrument's EncodedUnderlyingFinancialInstrumentFullName(2722).\",\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'data',\n    addedEP: '232',\n    updatedEP: '236',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedUnderlyingFinancialInstrumentFullName',\n    id: 2722,\n    abbrName: 'EncFullName',\n    lengthId: '2721',\n    description:\n      'Encoded (non-ASCII characters) representation of the UnderlyingFinancialInstrumentFullName(2720) field in the encoded format specified via the MessageEncoding(347) field. If used, the ASCII (English) representation should also be specified in the UnderlyingFinancialInstrumentFullName(2720) field.',\n  },\n  {\n    type: 'PaymentStreamRateIndexCurveUnitCodeSet',\n    addedEP: '232',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingIndexCurveUnit',\n    id: 2723,\n    abbrName: 'NdxUnit',\n    description: 'Curve time unit associated with the underlying index.',\n  },\n  {\n    type: 'int',\n    addedEP: '232',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingIndexCurvePeriod',\n    id: 2724,\n    abbrName: 'NdxPeriod',\n    description: 'Curve time multiplier for the underlying index.',\n  },\n  {\n    type: 'CommissionAmountSubTypeCodeSet',\n    addedEP: '233',\n    added: 'FIX.5.0SP2',\n    name: 'CommissionAmountSubType',\n    id: 2725,\n    abbrName: 'SubTyp',\n    description: 'Further sub classification of the CommissionAmountType(2641).',\n  },\n  {\n    type: 'CommissionAmountSubTypeCodeSet',\n    addedEP: '233',\n    added: 'FIX.5.0SP2',\n    name: 'AllocCommissionAmountSubType',\n    id: 2726,\n    abbrName: 'SubTyp',\n    description: 'Further sub classification of the AllocCommissionAmountType(2655).',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'String',\n    addedEP: '234',\n    updatedEP: '259',\n    added: 'FIX.5.0SP2',\n    name: 'AllocLegRefID',\n    id: 2727,\n    abbrName: 'LegRefID',\n    description:\n      'Unique identifier for a specific leg (uniqueness not defined as part of the FIX specification). AllocLegRefID(2727) references the value from LegID(1788) in the current multileg order or trade message specifying to which leg the allocation instance applies.',\n  },\n  {\n    type: 'int',\n    addedEP: '235',\n    added: 'FIX.5.0SP2',\n    name: 'FloatingRateIndexCurvePeriod',\n    id: 2728,\n    abbrName: 'Period',\n    description:\n      'Time unit multiplier for the floating rate index identified in FloatingRateIndexID(2731).',\n  },\n  {\n    type: 'PriceOffset',\n    addedEP: '235',\n    added: 'FIX.5.0SP2',\n    name: 'FloatingRateIndexCurveSpread',\n    id: 2729,\n    abbrName: 'Spread',\n    description: 'Spread from the floating rate index.',\n  },\n  {\n    type: 'PaymentStreamRateIndexCurveUnitCodeSet',\n    addedEP: '235',\n    added: 'FIX.5.0SP2',\n    name: 'FloatingRateIndexCurveUnit',\n    id: 2730,\n    abbrName: 'Unit',\n    description:\n      'Time unit associated with the floating rate index identified in FloatingRateIndexID(2731).',\n  },\n  {\n    type: 'String',\n    addedEP: '235',\n    added: 'FIX.5.0SP2',\n    name: 'FloatingRateIndexID',\n    id: 2731,\n    abbrName: 'ID',\n    discriminatorId: '2732',\n    description: 'Security identifier of the floating rate index.',\n  },\n  {\n    type: 'SecurityIDSourceCodeSet',\n    addedEP: '235',\n    added: 'FIX.5.0SP2',\n    name: 'FloatingRateIndexIDSource',\n    id: 2732,\n    abbrName: 'Src',\n    description:\n      'Source for the floating rate index identified in FloatingRateIndexID(2731).',\n  },\n  {\n    type: 'String',\n    addedEP: '235',\n    added: 'FIX.5.0SP2',\n    name: 'IndexRollMonth',\n    id: 2733,\n    abbrName: 'Mo',\n    description:\n      'Month identified in the index roll.\\n\\nUse \"1\" for January, \"2\" for February, etc.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '235',\n    added: 'FIX.5.0SP2',\n    name: 'NoIndexRollMonths',\n    id: 2734,\n    description: 'Number of instances of the index roll month.',\n  },\n  {\n    type: 'String',\n    addedEP: '235',\n    added: 'FIX.5.0SP2',\n    name: 'AssetSubType',\n    id: 2735,\n    abbrName: 'AsstSubTyp',\n    description:\n      \"Used to provide a more specific description of the asset specified in AssetType(1940).\\n\\nSee https://www.fixtrading.org/codelists/AssetSubType for code list of applicable values.\\n\\nIn the context of MiFID II, ESMA RTS 23 Annex I Table 2, this may indicate the 'Further sub product' or equity 'Parameter' fields.\",\n  },\n  {\n    type: 'CommodityFinalPriceTypeCodeSet',\n    addedEP: '235',\n    added: 'FIX.5.0SP2',\n    name: 'CommodityFinalPriceType',\n    id: 2736,\n    abbrName: 'CmdtyFnlPxTyp',\n    description: 'Final price type of the commodity as specified by the trading venue.',\n  },\n  {\n    type: 'String',\n    addedEP: '235',\n    added: 'FIX.5.0SP2',\n    name: 'FinancialInstrumentShortName',\n    id: 2737,\n    abbrName: 'ShrtName',\n    description:\n      'Short name of the financial instrument. Uses ISO 18774 (FINS) values.\\n\\nIn the context of MiFID II this maps to ESMA RTS 23 Annex I Table 3 Field 7 and may be used in other RTS that requires a similar field.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '235',\n    added: 'FIX.5.0SP2',\n    name: 'NextIndexRollDate',\n    id: 2738,\n    abbrName: 'NxtNdxRollDt',\n    description: 'Next index roll date.',\n  },\n  {\n    type: 'String',\n    addedEP: '235',\n    added: 'FIX.5.0SP2',\n    name: 'LegAssetSubType',\n    id: 2739,\n    abbrName: 'AsstSubTyp',\n    description:\n      \"Used to provide a more specific description of the asset specified in LegAssetType(2069).\\n\\nSee https://www.fixtrading.org/codelists/AssetSubType for code list of applicable values.\\n\\nIn the context of MiFID II, ESMA RTS 23 Annex I Table 2, this may indicate the 'Further sub product' or equity 'Parameter' fields.\",\n  },\n  {\n    type: 'String',\n    addedEP: '235',\n    added: 'FIX.5.0SP2',\n    name: 'LegFinancialInstrumentShortName',\n    id: 2740,\n    abbrName: 'ShrtName',\n    description:\n      'Short name of the financial instrument. Uses ISO 18774 (FISN) values.\\n\\nIn the context of MiFID II this maps to ESMA RTS 23 Annex I Table 3 Field 7 and may be used in other RTS that requires a similar field.',\n  },\n  {\n    type: 'String',\n    addedEP: '235',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamRateIndexID',\n    id: 43088,\n    abbrName: 'NdxID',\n    discriminatorId: '43089',\n    description: 'Security identifier of the floating rate index.',\n  },\n  {\n    type: 'SecurityIDSourceCodeSet',\n    addedEP: '235',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamRateIndexIDSource',\n    id: 43089,\n    abbrName: 'NdxIDSrc',\n    description:\n      'Source for the floating rate index identified in LegPaymentStreamRateIndexID(43088).',\n  },\n  {\n    type: 'String',\n    addedEP: '235',\n    added: 'FIX.5.0SP2',\n    name: 'LegSecondaryAssetSubType',\n    id: 2743,\n    abbrName: 'SubTyp',\n    description:\n      \"Used to provide a more specific description of the asset specified in LegSecondaryAssetType(2079).\\n\\nSee https://www.fixtrading.org/codelists/AssetSubType for code list of applicable values.\\n\\nIn the context of MiFID II RTS 23 Annex I Table 2, this may indicate the 'Further sub product' or equity 'Parameter' fields.\",\n  },\n  {\n    type: 'String',\n    addedEP: '235',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamRateIndexID',\n    id: 43090,\n    abbrName: 'NdxID',\n    discriminatorId: '43091',\n    description: 'Security identifier of the floating rate index.',\n  },\n  {\n    type: 'SecurityIDSourceCodeSet',\n    addedEP: '235',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamRateIndexIDSource',\n    id: 43091,\n    abbrName: 'NdxIDSrc',\n    description:\n      'Source for the floating rate index identified in PaymentStreamRateIndexID(43090).',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '235',\n    added: 'FIX.5.0SP2',\n    name: 'NoReferenceDataDates',\n    id: 2746,\n    description: 'Number of instances of reference data dates.',\n  },\n  {\n    type: 'UTCTimestamp',\n    addedEP: '235',\n    added: 'FIX.5.0SP2',\n    name: 'ReferenceDataDate',\n    id: 2747,\n    abbrName: 'Dt',\n    description:\n      \"Reference data entry's date-time of the type specified in ReferenceDataDateType(2748).\",\n  },\n  {\n    type: 'ReferenceDataDateTypeCodeSet',\n    addedEP: '235',\n    added: 'FIX.5.0SP2',\n    name: 'ReferenceDataDateType',\n    id: 2748,\n    abbrName: 'Typ',\n    description: \"Reference data entry's date-time type.\",\n  },\n  {\n    type: 'String',\n    addedEP: '235',\n    added: 'FIX.5.0SP2',\n    name: 'SecondaryAssetSubType',\n    id: 2741,\n    abbrName: 'SubTyp',\n    description:\n      \"Used to provide a more specific description of the asset specified in SecondaryAssetType(1979).\\n\\nSee https://www.fixtrading.org/codelists/AssetSubType for code list of applicable values.\\n\\nIn the context of MiFID II, ESMA RTS 23 Annex I Table 2, this may indicate the 'Further sub product' or equity 'Parameter' fields.\",\n  },\n  {\n    type: 'String',\n    addedEP: '235',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingFinancialInstrumentShortName',\n    id: 2742,\n    abbrName: 'ShrtName',\n    description:\n      'Short name of the financial instrument. Uses ISO 18774 (FINS) values.\\n\\nIn the context of MiFID II this maps to ESMA RTS 23 Annex I Table 3 Field 7 and may be used in other RTS that requires a similar field.',\n  },\n  {\n    type: 'String',\n    addedEP: '235',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingAssetSubType',\n    id: 2744,\n    abbrName: 'AsstSubTyp',\n    description:\n      \"Used to provide a more specific description of the asset specified in UnderlyingAssetType(2015).\\n\\nSee https://www.fixtrading.org/codelists/AssetSubType for code list of applicable values.\\n\\nIn the context of MiFID II, ESMA RTS 23 Annex I Table 2, this may indicate the 'Further sub product' or equity 'Parameter' fields.\",\n  },\n  {\n    type: 'String',\n    addedEP: '235',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamRateIndexID',\n    id: 43092,\n    abbrName: 'NdxID',\n    discriminatorId: '43093',\n    description: 'Security identifier of the floating rate index.',\n  },\n  {\n    type: 'SecurityIDSourceCodeSet',\n    addedEP: '235',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamRateIndexIDSource',\n    id: 43093,\n    abbrName: 'NdxIDSrc',\n    description:\n      'Source for the floating rate index identified in UnderlyingPaymentStreamRateIndexID(43092).',\n  },\n  {\n    type: 'String',\n    addedEP: '235',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingSecondaryAssetSubType',\n    id: 2745,\n    abbrName: 'SubTyp',\n    description:\n      \"May be used to provide a more specific description of the asset specified in UnderlyingSecondaryAssetType(2083).\\n\\nSee https://www.fixtrading.org/codelists/AssetSubType for code list of applicable values.\\n\\nIn the context of MiFID II, ESMA RTS 23 Annex I Table 2, this may indicate the 'Further sub product' or equity 'Parameter' fields.\",\n  },\n  {\n    type: 'String',\n    addedEP: '235',\n    added: 'FIX.5.0SP2',\n    name: 'DeliveryStreamRouteOrCharter',\n    id: 43094,\n    abbrName: 'RteChrtr',\n    description:\n      'Specific delivery route or time charter average. Applicable to commodity freight swaps.',\n  },\n  {\n    type: 'String',\n    addedEP: '235',\n    added: 'FIX.5.0SP2',\n    name: 'LegDeliveryStreamRouteOrCharter',\n    id: 43095,\n    abbrName: 'RteChrtr',\n    description:\n      'Specific delivery route or time charter average. Applicable to commodity freight swaps.',\n  },\n  {\n    type: 'String',\n    addedEP: '235',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDeliveryStreamRouteOrCharter',\n    id: 43096,\n    abbrName: 'RteChrtr',\n    description:\n      'Specific delivery route or time charter average. Applicable to commodity freight swaps.',\n  },\n  {\n    type: 'UTCTimestamp',\n    addedEP: '237',\n    added: 'FIX.5.0SP2',\n    name: 'ExecutionTimestamp',\n    id: 2749,\n    abbrName: 'ExecTS',\n    description: 'Time of the individual execution.',\n  },\n  {\n    type: 'Price',\n    addedEP: '237',\n    added: 'FIX.5.0SP2',\n    name: 'ReportingPx',\n    id: 2750,\n    abbrName: 'RptngPx',\n    description:\n      'Represents the reportable price on fill when an instance of the Parties component with PartyRole(452) = 73 (Execution Venue) is present to prevent having to compute running totals.',\n  },\n  {\n    type: 'Qty',\n    addedEP: '237',\n    added: 'FIX.5.0SP2',\n    name: 'ReportingQty',\n    id: 2751,\n    abbrName: 'RptngQty',\n    description:\n      'Represents the reportable quantity on fill when an instance of the Parties component with PartyRole(452) = 73 (Execution Venue) is present to prevent having to compute running totals.',\n  },\n  {\n    type: 'String',\n    addedEP: '238',\n    added: 'FIX.5.0SP2',\n    name: 'DeliveryRouteOrCharter',\n    id: 2752,\n    abbrName: 'RteChrtr',\n    description:\n      'Specific delivery route or time charter average. Applicable to commodity freight contracts.',\n  },\n  {\n    type: 'ReturnTriggerCodeSet',\n    addedEP: '238',\n    added: 'FIX.5.0SP2',\n    name: 'ReturnTrigger',\n    id: 2753,\n    abbrName: 'RtnTrgr',\n    description:\n      'Indicates the type of return or payout trigger for the swap or forward.',\n  },\n  {\n    type: 'String',\n    addedEP: '238',\n    added: 'FIX.5.0SP2',\n    name: 'LegDeliveryRouteOrCharter',\n    id: 2754,\n    abbrName: 'RteChrtr',\n    description:\n      'Specific delivery route or time charter average. Applicable to commodity freight contracts.',\n  },\n  {\n    type: 'ReturnTriggerCodeSet',\n    addedEP: '238',\n    added: 'FIX.5.0SP2',\n    name: 'LegReturnTrigger',\n    id: 2755,\n    abbrName: 'RtnTrgr',\n    description:\n      'Indicates the type of return or payout trigger for the swap or forward.',\n  },\n  {\n    type: 'String',\n    addedEP: '238',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDeliveryRouteOrCharter',\n    id: 2756,\n    abbrName: 'RteChrtr',\n    description:\n      'Specific delivery route or time charter average. Applicable to commodity freight contracts.',\n  },\n  {\n    type: 'ReturnTriggerCodeSet',\n    addedEP: '238',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingReturnTrigger',\n    id: 2757,\n    abbrName: 'RtnTrgr',\n    description:\n      'Indicates the type of return or payout trigger for the swap or forward.',\n  },\n  {\n    type: 'String',\n    addedEP: '239',\n    added: 'FIX.5.0SP2',\n    name: 'AllocRequestID',\n    id: 2758,\n    abbrName: 'ReqID',\n    description: 'Unique identifier for the request message.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '239',\n    added: 'FIX.5.0SP2',\n    name: 'GroupAmount',\n    id: 2759,\n    abbrName: 'GrpAmt',\n    description:\n      \"Indicates the total notional units or amount of an allocation group. Includes any allocated units or amount.\\n\\nWhether notional units or amount is used depends on the type of listed derivative contract and the clearinghouse. A notional unit is (price x quantity) without the derivative's contract value factor.\",\n  },\n  {\n    type: 'Amt',\n    addedEP: '239',\n    added: 'FIX.5.0SP2',\n    name: 'GroupRemainingAmount',\n    id: 2760,\n    abbrName: 'GrpRemAmt',\n    description:\n      \"Indicates the remaining notional units or amount of an allocation group that has not yet been allocated.\\n\\nWhether notional units or amount is used depends on the type of listed derivative contract and the clearinghouse. A notional unit is (price x quantity) without the derivative's contract value factor.\",\n  },\n  {\n    type: 'Amt',\n    addedEP: '239',\n    added: 'FIX.5.0SP2',\n    name: 'AllocGroupAmount',\n    id: 2761,\n    abbrName: 'GrpAmt',\n    description:\n      \"Indicates the notional units or amount being allocated.\\n\\nWhether notional units or amount is used depends on the type of listed derivative contract and the clearinghouse. A notional unit is (price x quantity) without the derivative's contract value factor.\",\n  },\n  {\n    type: 'PriceOffset',\n    addedEP: '240',\n    added: 'FIX.5.0SP2',\n    name: 'PriceMarkup',\n    id: 2762,\n    abbrName: 'PxMrkup',\n    description:\n      'Price offset of the markup denominated in the price type of the trade.\\n\\nThe field is expressed in a value that can simply be added to or subtracted from the (clean) price to reach the marked- up price. E.g., a percent of par price of 98 marked up to 98.5 should be 0.5, an FX rate of 1.17936 marked up to 1.19 should be 0.01064, a stock price of 22.75 marked up to 22.9 should be 0.15, etc.',\n  },\n  {\n    type: 'AveragePriceTypeCodeSet',\n    addedEP: '240',\n    added: 'FIX.5.0SP2',\n    name: 'AveragePriceType',\n    id: 2763,\n    abbrName: 'Typ',\n    description: 'The average pricing model used for block trades.',\n  },\n  {\n    type: 'UTCTimestamp',\n    addedEP: '240',\n    added: 'FIX.5.0SP2',\n    name: 'AveragePriceStartTime',\n    id: 2764,\n    abbrName: 'StartTm',\n    description: 'Start of the time period during which price averaging occurred.',\n  },\n  {\n    type: 'UTCTimestamp',\n    addedEP: '240',\n    added: 'FIX.5.0SP2',\n    name: 'AveragePriceEndTime',\n    id: 2765,\n    abbrName: 'EndTm',\n    description: 'End of the time period during which price averaging occurred.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '240',\n    added: 'FIX.5.0SP2',\n    name: 'OrderPercentOfTotalVolume',\n    id: 2766,\n    abbrName: 'TotVolPct',\n    description:\n      'For Percent-of-volume (POV) average pricing this is the target percentage this order quantity represents of the total trading volume of an instrument during the specified time period. This provides the data needed to ensure that the average price is fair based on the total sum of grouped POV trades.\\n\\nFor example, if during the POV time period there are 5 trades including this one with a total volume of 5000 and this trade has a quantity of 1000 then the OrderPercentOfTotalVolume(2766) of this trade is 20 percent expressed as \"0.20\".',\n  },\n  {\n    type: 'AllocGroupStatusCodeSet',\n    addedEP: '240',\n    added: 'FIX.5.0SP2',\n    name: 'AllocGroupStatus',\n    id: 2767,\n    abbrName: 'GrpStat',\n    description:\n      'Status of the trade give-up relative to the group identified in AllocGroupID(1730).',\n  },\n  {\n    type: 'AllocRequestStatusCodeSet',\n    addedEP: '241',\n    added: 'FIX.5.0SP2',\n    name: 'AllocRequestStatus',\n    id: 2768,\n    abbrName: 'ReqStat',\n    description: 'Status of the AllocationInstructionAlertRequest(35=DU).',\n  },\n  {\n    type: 'AvgPxIndicatorCodeSet',\n    addedEP: '241',\n    added: 'FIX.5.0SP2',\n    name: 'AllocAvgPxIndicator',\n    id: 2769,\n    abbrName: 'AvgPxInd',\n    description: 'Average pricing indicator at the allocation level.',\n  },\n  {\n    type: 'String',\n    addedEP: '241',\n    added: 'FIX.5.0SP2',\n    name: 'AllocAvgPxGroupID',\n    id: 2770,\n    abbrName: 'AvgPxGrpID',\n    description:\n      'Used by submitting firm to group trades being sub-allocated into an average price group. The trades in the average price group will be used to calculate an average price for the group.',\n  },\n  {\n    type: 'String',\n    addedEP: '241',\n    added: 'FIX.5.0SP2',\n    name: 'PreviousAllocGroupID',\n    id: 2771,\n    abbrName: 'PrevGrpID',\n    description:\n      'When reporting a group change by the central counterparty to allocations of trades for the same instrument traded at the same price this identifies the previous group identifier.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '246',\n    added: 'FIX.5.0SP2',\n    name: 'NoMatchExceptions',\n    id: 2772,\n    description: 'Number of match exceptions in the repeating group.',\n  },\n  {\n    type: 'MatchExceptionTypeCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '246',\n    added: 'FIX.5.0SP2',\n    name: 'MatchExceptionType',\n    id: 2773,\n    abbrName: 'Typ',\n    description: 'Type of matching exception.',\n  },\n  {\n    type: 'MatchExceptionElementTypeCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '246',\n    added: 'FIX.5.0SP2',\n    name: 'MatchExceptionElementType',\n    id: 2774,\n    abbrName: 'ID',\n    description:\n      'Identifies the data point used in the matching operation which resulted in an exception.',\n  },\n  {\n    type: 'String',\n    addedEP: '246',\n    added: 'FIX.5.0SP2',\n    name: 'MatchExceptionElementName',\n    id: 2775,\n    abbrName: 'Name',\n    description:\n      'The matching exception data point name, for example: \"Trade currency\". This may be used for display purposes, providing a corresponding description for the value in MatchExceptionElementType(2774).',\n  },\n  {\n    type: 'String',\n    addedEP: '246',\n    added: 'FIX.5.0SP2',\n    name: 'MatchExceptionAllocValue',\n    id: 2776,\n    abbrName: 'AllocVal',\n    description: \"The allocating party's data value used in the match operation.\",\n  },\n  {\n    type: 'String',\n    addedEP: '246',\n    added: 'FIX.5.0SP2',\n    name: 'MatchExceptionConfirmValue',\n    id: 2777,\n    abbrName: 'CnfmVal',\n    description: \"The confirming party's data value used in the match operation.\",\n  },\n  {\n    type: 'float',\n    addedEP: '246',\n    added: 'FIX.5.0SP2',\n    name: 'MatchExceptionToleranceValue',\n    id: 2778,\n    abbrName: 'TlrncVal',\n    description:\n      \"The data element's tolerance value. Omitted if no tolerance is allowed or not applicable.\",\n  },\n  {\n    type: 'MatchExceptionToleranceValueTypeCodeSet',\n    addedEP: '246',\n    added: 'FIX.5.0SP2',\n    name: 'MatchExceptionToleranceValueType',\n    id: 2779,\n    abbrName: 'TlrncValTyp',\n    description:\n      'The type of value in MatchExceptionToleranceValue(2778). Omitted if no tolerance is allowed or not applicable.\\n\\nFor example, if the tolerance for accrued interest is 0.01% of total accrued interest then MatchExceptionElementType(2774)=1 (Accrued interest), MatchExceptionToleranceValueType(2779)=2 (Percentage) and MatchExcecptionToleranceValue(2778)=0.0001. If tolerance for the exchange rate of an FX trade is \"0.001\" then MatchExceptionElementType(2774)=2 (Deal pPrice), MatchExceptionToleranceValueType(2779)=1 (Fixed amount) and MatchExcecptionToleranceValue(2778)=0.001.',\n  },\n  {\n    type: 'String',\n    addedEP: '246',\n    added: 'FIX.5.0SP2',\n    name: 'MatchExceptionText',\n    id: 2780,\n    abbrName: 'Txt',\n    description: 'Description of the exception.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '246',\n    added: 'FIX.5.0SP2',\n    name: 'NoMatchingDataPoints',\n    id: 2781,\n    description: 'Number of matching data points in the repeating group.',\n  },\n  {\n    type: 'MatchingDataPointIndicatorCodeSet',\n    addedEP: '246',\n    added: 'FIX.5.0SP2',\n    name: 'MatchingDataPointIndicator',\n    id: 2782,\n    abbrName: 'Typ',\n    description: \"Data point's matching type.\",\n  },\n  {\n    type: 'String',\n    addedEP: '246',\n    added: 'FIX.5.0SP2',\n    name: 'MatchingDataPointValue',\n    id: 2783,\n    abbrName: 'Val',\n    description: 'Value of the matching data point.',\n  },\n  {\n    type: 'MatchExceptionElementTypeCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '246',\n    added: 'FIX.5.0SP2',\n    name: 'MatchingDataPointType',\n    id: 2784,\n    abbrName: 'ID',\n    description:\n      'Identifies the data point used in the matching operation.\\n\\nValues may not have applicable tolerance values, in this case this means the data point was used for matching but did not match.',\n  },\n  {\n    type: 'String',\n    addedEP: '246',\n    added: 'FIX.5.0SP2',\n    name: 'MatchingDataPointName',\n    id: 2785,\n    abbrName: 'Name',\n    description:\n      'The matching data point name, for example: \"Trade currency\". This may be used for display purposes, providing a corresponding description for the value in MatchingDataPointType(2784).',\n  },\n  {\n    type: 'Length',\n    addedEP: '246',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedMatchExceptionTextLen',\n    id: 2797,\n    abbrName: 'EncTxtLen',\n    description:\n      'Byte length of encoded (non-ASCII characters) EncodedMatchExceptionText(2798) field.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'data',\n    addedEP: '246',\n    updatedEP: '271',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedMatchExceptionText',\n    id: 2798,\n    abbrName: 'EncTxt',\n    lengthId: '2797',\n    description:\n      'Encoded (non-ASCII characters) representation of the MatchExceptionText(2780) field in the encoded format specified via the MessageEncoding(347) field.\\n\\nIf used, the ASCII (English) representation should also be specified in the MatchExceptionText(2780) field.',\n  },\n  {\n    type: 'String',\n    addedEP: '247',\n    added: 'FIX.5.0SP2',\n    name: 'TradeAggregationRequestID',\n    id: 2786,\n    abbrName: 'ReqID',\n    description: 'The message identifier for the trade aggregation request.',\n  },\n  {\n    type: 'String',\n    addedEP: '247',\n    added: 'FIX.5.0SP2',\n    name: 'TradeAggregationRequestRefID',\n    id: 2787,\n    abbrName: 'RefID',\n    description:\n      'Reference identifier to a previously sent trade aggregation message being cancelled or replaced.',\n  },\n  {\n    type: 'TradeAggregationTransTypeCodeSet',\n    addedEP: '247',\n    added: 'FIX.5.0SP2',\n    name: 'TradeAggregationTransType',\n    id: 2788,\n    abbrName: 'TransTyp',\n    description: 'Identifies the trade aggregation transaction type.',\n  },\n  {\n    type: 'Qty',\n    addedEP: '247',\n    added: 'FIX.5.0SP2',\n    name: 'AggregatedQty',\n    id: 2789,\n    abbrName: 'AggQty',\n    description: 'Total quantity of orders or fills quantity aggregated.',\n  },\n  {\n    type: 'TradeAggregationRequestStatusCodeSet',\n    addedEP: '247',\n    added: 'FIX.5.0SP2',\n    name: 'TradeAggregationRequestStatus',\n    id: 2790,\n    abbrName: 'ReqStat',\n    description: 'Status of the trade aggregation request.',\n  },\n  {\n    type: 'TradeAggregationRejectReasonCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '247',\n    added: 'FIX.5.0SP2',\n    name: 'TradeAggregationRejectReason',\n    id: 2791,\n    abbrName: 'RejRsn',\n    description: 'Reason for trade aggregation request being rejected.',\n  },\n  {\n    type: 'String',\n    addedEP: '247',\n    added: 'FIX.5.0SP2',\n    name: 'TradeAggregationReportID',\n    id: 2792,\n    abbrName: 'RptID',\n    description: 'Unique identifier for the TradeAggregationReport(35=DX).',\n  },\n  {\n    type: 'Price',\n    addedEP: '247',\n    added: 'FIX.5.0SP2',\n    name: 'AvgSpotRate',\n    id: 2793,\n    abbrName: 'AvgSpotRt',\n    description: 'The average FX spot rate.',\n  },\n  {\n    type: 'PriceOffset',\n    addedEP: '247',\n    added: 'FIX.5.0SP2',\n    name: 'AvgForwardPoints',\n    id: 2794,\n    abbrName: 'AvgFwdPnts',\n    description: 'The average forward points. May be a negative value.',\n  },\n  {\n    type: 'OffshoreIndicatorCodeSet',\n    addedEP: '247',\n    added: 'FIX.5.0SP2',\n    name: 'OffshoreIndicator',\n    id: 2795,\n    abbrName: 'OffshrInd',\n    description:\n      'Indicates the type of the currency rate being used. This is relevant for currencies that have offshore rate that different from onshore rate.',\n  },\n  {\n    type: 'String',\n    addedEP: '247',\n    added: 'FIX.5.0SP2',\n    name: 'FXBenchmarkRateFix',\n    id: 2796,\n    abbrName: 'BnchmkRtFix',\n    description:\n      'Specifies the foreign exchange benchmark rate fixing to be used in valuing the transaction. For example \"London 4 p.m.\" or \"Tokyo 3 p.m.\"',\n  },\n  {\n    type: 'String',\n    addedEP: '249',\n    added: 'FIX.5.0SP2',\n    name: 'PayReportID',\n    id: 2799,\n    abbrName: 'RptID',\n    description: 'Unique ID of the PayManagementReport(35=EA) message.',\n  },\n  {\n    type: 'int',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '249',\n    added: 'FIX.5.0SP2',\n    name: 'PayDisputeReason',\n    id: 2800,\n    abbrName: 'DsptRsn',\n    description:\n      'Used to provide the reason for disputing a request or report.\\n\\nSee https://www.fixtrading.org/packages/PayDisputeReason for the list of applicable values.',\n  },\n  {\n    type: 'data',\n    addedEP: '249',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedReplaceText',\n    id: 2801,\n    abbrName: 'EncRplcTxt',\n    lengthId: '2802',\n    description:\n      'Encoded (non-ASCII characters) representation of the ReplaceText(2805) field in the encoded format specified via the MessageEncoding(347) field. If used, the ASCII (English) representation should also be specified in the ReplaceText(2805) field.',\n  },\n  {\n    type: 'Length',\n    addedEP: '249',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedReplaceTextLen',\n    id: 2802,\n    abbrName: 'EncRplcTxtLen',\n    description:\n      'Byte length of encoded (non-ASCII characters) EncodedReplaceText(2801) field.',\n  },\n  {\n    type: 'String',\n    addedEP: '249',\n    added: 'FIX.5.0SP2',\n    name: 'PayReportRefID',\n    id: 2803,\n    abbrName: 'RptRefID',\n    description:\n      'Reference identifier of the PayManagementReport(35=EA). To be used with PayReportTransType(2804)=1 (Replace).',\n  },\n  {\n    type: 'PayReportTransTypeCodeSet',\n    addedEP: '249',\n    added: 'FIX.5.0SP2',\n    name: 'PayReportTransType',\n    id: 2804,\n    abbrName: 'TxnTyp',\n    description: 'Identifies the message transaction type.',\n  },\n  {\n    type: 'String',\n    addedEP: '249',\n    added: 'FIX.5.0SP2',\n    name: 'ReplaceText',\n    id: 2805,\n    abbrName: 'RplcTxt',\n    description: 'Identifies the reason for amendment.',\n  },\n  {\n    type: 'PayReportStatusCodeSet',\n    addedEP: '249',\n    added: 'FIX.5.0SP2',\n    name: 'PayReportStatus',\n    id: 2806,\n    abbrName: 'RptStat',\n    description: 'Identifies status of the payment report.',\n  },\n  {\n    type: 'String',\n    addedEP: '249',\n    added: 'FIX.5.0SP2',\n    name: 'CancelText',\n    id: 2807,\n    abbrName: 'CxlTxt',\n    description: 'Identifies the reason for cancelation.',\n  },\n  {\n    type: 'data',\n    addedEP: '249',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedCancelText',\n    id: 2808,\n    abbrName: 'EncCxlTxt',\n    lengthId: '2809',\n    description:\n      'Encoded (non-ASCII characters) representation of the CancelText(2807) field in the encoded format specified via the MessageEncoding(347) field. If used, the ASCII (English) representation should also be specified in the CancelText(2807) field.',\n  },\n  {\n    type: 'Length',\n    addedEP: '249',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedCancelTextLen',\n    id: 2809,\n    abbrName: 'EncCxlTxtLen',\n    description:\n      'Byte length of encoded (non-ASCII characters) EncodedCancelText(2808) field.',\n  },\n  {\n    type: 'String',\n    addedEP: '249',\n    added: 'FIX.5.0SP2',\n    name: 'PayRequestRefID',\n    id: 2810,\n    abbrName: 'ReqRefID',\n    description:\n      'Reference identifier of the PayManagementRequest(35=DY). To be used with PayRequestTransType(2811)=1 (Cancel).',\n  },\n  {\n    type: 'PayRequestTransTypeCodeSet',\n    addedEP: '249',\n    added: 'FIX.5.0SP2',\n    name: 'PayRequestTransType',\n    id: 2811,\n    abbrName: 'TxnTyp',\n    description: 'Identifies the message transaction type.',\n  },\n  {\n    type: 'String',\n    addedEP: '249',\n    added: 'FIX.5.0SP2',\n    name: 'PayRequestID',\n    id: 2812,\n    abbrName: 'ReqID',\n    description: 'Unique ID of the PayManagementRequest(35=DY) message.',\n  },\n  {\n    type: 'PayRequestStatusCodeSet',\n    addedEP: '249',\n    added: 'FIX.5.0SP2',\n    name: 'PayRequestStatus',\n    id: 2813,\n    abbrName: 'ReqStat',\n    description: 'Identifies status of the request being responded to.',\n  },\n  {\n    type: 'data',\n    addedEP: '249',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedPostTradePaymentDesc',\n    id: 2814,\n    abbrName: 'EncDesc',\n    lengthId: '2815',\n    description:\n      'Encoded (non-ASCII characters) representation of the PostTradePaymentDesc(2820) field in the encoded format specified via the MessageEncoding(347) field. If used, the ASCII (English) representation should also be specified in the PostTradePaymentDesc(2820) field.',\n  },\n  {\n    type: 'Length',\n    addedEP: '249',\n    added: 'FIX.5.0SP2',\n    name: 'EncodedPostTradePaymentDescLen',\n    id: 2815,\n    abbrName: 'EncDescLen',\n    description:\n      'Byte length of encoded (non-ASCII characters) EncodedPostTradePaymentDesc(2814) field.',\n  },\n  {\n    type: 'String',\n    addedEP: '249',\n    added: 'FIX.5.0SP2',\n    name: 'PostTradePaymentAccount',\n    id: 2816,\n    abbrName: 'Acct',\n    description:\n      'The cash account on the books of the receiver of the request or the sender of the report to be debited or credited.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '249',\n    added: 'FIX.5.0SP2',\n    name: 'PostTradePaymentAmount',\n    id: 2817,\n    abbrName: 'Amt',\n    description: 'The payment amount for the specified PostTradePaymentType(2824).',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'Currency',\n    addedEP: '249',\n    updatedEP: '273',\n    added: 'FIX.5.0SP2',\n    name: 'PostTradePaymentCurrency',\n    id: 2818,\n    abbrName: 'Ccy',\n    description:\n      'Specifies the currency in which PostTradePaymentAmount(2817) is denominated.\\n\\nPostTradePaymentCurrencyCodeSource(2956) may be used to disambiguate the code source scheme used, and ISO 4217 is the default scheme if absent.',\n  },\n  {\n    type: 'PostTradePaymentDebitOrCreditCodeSet',\n    addedEP: '249',\n    added: 'FIX.5.0SP2',\n    name: 'PostTradePaymentDebitOrCredit',\n    id: 2819,\n    abbrName: 'DbtCrd',\n    description:\n      \"Payment side of this individual payment from the requesting firm's perspective.\",\n  },\n  {\n    type: 'String',\n    addedEP: '249',\n    added: 'FIX.5.0SP2',\n    name: 'PostTradePaymentDesc',\n    id: 2820,\n    abbrName: 'Desc',\n    description:\n      'A short descriptive name given to the payment, e.g. Premium, Upfront, etc. The description may be used as reference.',\n  },\n  {\n    type: 'String',\n    addedEP: '249',\n    added: 'FIX.5.0SP2',\n    name: 'PostTradePaymentID',\n    id: 2821,\n    abbrName: 'ID',\n    description: 'The identifier for the individual payment.',\n  },\n  {\n    type: 'String',\n    addedEP: '249',\n    added: 'FIX.5.0SP2',\n    name: 'PostTradePaymentLinkID',\n    id: 2822,\n    abbrName: 'LinkID',\n    description:\n      'Used to link a group of payments together, e.g. cross-currency payments associated with a swap.',\n  },\n  {\n    type: 'PostTradePaymentStatusCodeSet',\n    addedEP: '249',\n    added: 'FIX.5.0SP2',\n    name: 'PostTradePaymentStatus',\n    id: 2823,\n    abbrName: 'Stat',\n    description: 'Used to indicate the status of a post-trade payment.',\n  },\n  {\n    type: 'String',\n    addedEP: '249',\n    added: 'FIX.5.0SP2',\n    name: 'PostTradePaymentType',\n    id: 2824,\n    abbrName: 'Typ',\n    description:\n      'Type of post-trade payment.\\n\\nSee ISITC \"Payments Cash Purpose Codes\" for list of payment type codes to use available at https://isitc.org/market-practices/reference-data-and-standards-market-practice and select \"ISITC Classification Code List\".',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '249',\n    added: 'FIX.5.0SP2',\n    name: 'PostTradePaymentCalculationDate',\n    id: 2825,\n    abbrName: 'CalcDt',\n    description: 'The (actual) date the periodic payments calculations are made.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '249',\n    added: 'FIX.5.0SP2',\n    name: 'PostTradePaymentValueDate',\n    id: 2826,\n    abbrName: 'ValuDt',\n    description:\n      'The adjusted (for holidays and other non-business days) payment date on which the payment is expected to settle.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '249',\n    added: 'FIX.5.0SP2',\n    name: 'PostTradePaymentFinalValueDate',\n    id: 2827,\n    abbrName: 'FnlValuDt',\n    description: 'The actual or final payment date on which the payment was made.',\n  },\n  {\n    type: 'Price',\n    addedEP: '253',\n    added: 'FIX.5.0SP2',\n    name: 'CurrentDisplayPrice',\n    id: 2828,\n    abbrName: 'CurDspPx',\n    description:\n      'Price at which the order is currently displayed to the market. Can be used on order messages, e.g. NewOrderSingle(35=D), to provide the current displayed price of a parent order when splitting it into smaller child orders.\\n\\nIn the context of US CAT this is used when reporting new child orders.',\n  },\n  {\n    type: 'DuplicateClOrdIDIndicatorCodeSet',\n    addedEP: '253',\n    added: 'FIX.5.0SP2',\n    name: 'DuplicateClOrdIDIndicator',\n    id: 2829,\n    abbrName: 'DupClOrdIDInd',\n    description:\n      'Used to indicate that a ClOrdID(11) value is an intentional duplicate of a previously sent value. Allows to avoid the rejection of an order with OrdRejReason(103) = 6 (Duplicate Order).\\n\\nIn the context of US CAT this can be used when the recipient of a previously routed order requires the same identifier to be re-used for a new route.',\n  },\n  {\n    type: 'EventInitiatorTypeCodeSet',\n    addedEP: '253',\n    added: 'FIX.5.0SP2',\n    name: 'EventInitiatorType',\n    id: 2830,\n    abbrName: 'EvntInitrTyp',\n    description:\n      'Indicates the type of entity who initiated an event, e.g. modification or cancellation of an order or quote.',\n  },\n  {\n    type: 'NBBOEntryTypeCodeSet',\n    addedEP: '253',\n    added: 'FIX.5.0SP2',\n    name: 'NBBOEntryType',\n    id: 2831,\n    abbrName: 'NBBOTyp',\n    description: 'Type of NBBO information.',\n  },\n  {\n    type: 'Price',\n    addedEP: '253',\n    added: 'FIX.5.0SP2',\n    name: 'NBBOPrice',\n    id: 2832,\n    abbrName: 'NBBOPx',\n    description:\n      'Price related to NBBO. NBBOEntryType(2831) may be used to indicate entry type, e.g. bid or offer.',\n  },\n  {\n    type: 'Qty',\n    addedEP: '253',\n    added: 'FIX.5.0SP2',\n    name: 'NBBOQty',\n    id: 2833,\n    abbrName: 'NBBOQty',\n    description:\n      'Quantity related to NBBO. NBBOEntryType(2831) may be used to indicte entry type, e.g. bid or offer.',\n  },\n  {\n    type: 'NBBOSourceCodeSet',\n    addedEP: '253',\n    added: 'FIX.5.0SP2',\n    name: 'NBBOSource',\n    id: 2834,\n    abbrName: 'NBBOSrc',\n    description: 'Source of NBBO information.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'String',\n    addedEP: '253',\n    updatedEP: '259',\n    added: 'FIX.5.0SP2',\n    name: 'OrderOriginationFirmID',\n    id: 2835,\n    abbrName: 'OrigntnFirmID',\n    description:\n      'Identifier for the original owner of an order as part of the RelatedOrderGrp component. Use the Parties component with PartyRole(452) = 13 (Order Origination Firm) to identify the original owner of an individual order.',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    type: 'UTCTimestamp',\n    addedEP: '253',\n    updatedEP: '259',\n    added: 'FIX.5.0SP2',\n    name: 'RelatedOrderTime',\n    id: 2836,\n    abbrName: 'Tm',\n    description: 'Timestamp for the assignment of a (unique) identifier to an order.',\n  },\n  {\n    type: 'SingleQuoteIndicatorCodeSet',\n    addedEP: '253',\n    added: 'FIX.5.0SP2',\n    name: 'SingleQuoteIndicator',\n    id: 2837,\n    abbrName: 'SnglQteInd',\n    description:\n      'Used to indicate whether the quoting system allows only one quote to be active at a time for the quote issuer or market maker.',\n  },\n  {\n    type: 'Price',\n    addedEP: '253',\n    added: 'FIX.5.0SP2',\n    name: 'CurrentWorkingPrice',\n    id: 2838,\n    abbrName: 'CurWrkngPx',\n    description:\n      'Current working price of the order relative to the state of the order.\\n\\nIn the context of US CAT this can be used for the current price of the parent order when reporting a split into new (child) orders.',\n  },\n  {\n    type: 'TrdRegTimestampManualIndicatorCodeSet',\n    addedEP: '253',\n    added: 'FIX.5.0SP2',\n    name: 'TrdRegTimestampManualIndicator',\n    id: 2839,\n    abbrName: 'ManInd',\n    description: 'Indicates whether a given timestamp was manually captured.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '254',\n    added: 'FIX.5.0SP2',\n    name: 'CollateralReinvestmentRate',\n    id: 2840,\n    abbrName: 'RnvstmntRt',\n    description:\n      'Interest rate received for collateral reinvestment.\\n\\nIn the context of EU SFTR this is the reinvestment interest rate received from cash collateral made by the lender. If there are multiple reinvestment types, this is an average rate.',\n  },\n  {\n    type: 'String',\n    addedEP: '254',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingRefID',\n    id: 2841,\n    abbrName: 'UndlyRefID',\n    description:\n      \"Identifies the underlying instrument the entity applies to by referencing the underlying instrument's UnderlyingID(2874).\",\n  },\n  {\n    type: 'Amt',\n    addedEP: '254',\n    added: 'FIX.5.0SP2',\n    name: 'CollateralReinvestmentAmount',\n    id: 2842,\n    abbrName: 'Amt',\n    description: 'The cash amount of the specified re-investment type.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'Currency',\n    addedEP: '254',\n    updatedEP: '273',\n    added: 'FIX.5.0SP2',\n    name: 'CollateralReinvestmentCurrency',\n    id: 2843,\n    abbrName: 'Ccy',\n    description:\n      'The currency denomination of the re-invested cash amount.\\n\\nCollateralReinvestmentCurrencyCodeSource(2931) may be used to disambiguate the code source scheme used, and ISO 4217 is the default scheme if absent.',\n  },\n  {\n    type: 'CollateralReinvestmentTypeCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '254',\n    added: 'FIX.5.0SP2',\n    name: 'CollateralReinvestmentType',\n    id: 2844,\n    abbrName: 'Typ',\n    description:\n      'Indicates the type of investment the cash collateral is re-invested in.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '254',\n    added: 'FIX.5.0SP2',\n    name: 'NoCollateralReinvestments',\n    id: 2845,\n    description:\n      'Number of instances of CollateralReinvestmentType(2844) in the repeating group.',\n  },\n  {\n    type: 'FundingSourceCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '254',\n    added: 'FIX.5.0SP2',\n    name: 'FundingSource',\n    id: 2846,\n    abbrName: 'Src',\n    description:\n      'Specifies the funding source used to finance margin or collateralized loan.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'Currency',\n    addedEP: '254',\n    updatedEP: '273',\n    added: 'FIX.5.0SP2',\n    name: 'FundingSourceCurrency',\n    id: 2847,\n    abbrName: 'Ccy',\n    description:\n      'Currency denomination of the market value of the funding source.\\n\\nFundingSourceCurrencyCodeSource(2954) may be used to disambiguate the code source scheme used, and ISO 4217 is the default scheme if absent.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '254',\n    added: 'FIX.5.0SP2',\n    name: 'FundingSourceMarketValue',\n    id: 2848,\n    abbrName: 'MktValu',\n    description: 'Market value of the funding source.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '254',\n    added: 'FIX.5.0SP2',\n    name: 'NoFundingSources',\n    id: 2849,\n    description: 'Number of instances of FundingSource(2846) in the repeating group.',\n  },\n  {\n    type: 'String',\n    addedEP: '254',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamOtherDayCount',\n    id: 43108,\n    abbrName: 'OtherDayCnt',\n    description:\n      'The industry name of the day count convention not listed in LegPaymentStreamDayCount(40283).',\n  },\n  {\n    type: 'MarginDirectionCodeSet',\n    addedEP: '254',\n    added: 'FIX.5.0SP2',\n    name: 'MarginDirection',\n    id: 2851,\n    abbrName: 'Dirctn',\n    description: 'Indicates whether the margin described is posted or received.',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '254',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentFixedRate',\n    id: 43097,\n    abbrName: 'Rt',\n    description: 'The rate applicable to the fixed rate payment.',\n  },\n  {\n    type: 'String',\n    addedEP: '254',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentFloatingRateIndex',\n    id: 43098,\n    abbrName: 'Ndx',\n    description:\n      'The payment floating rate index. See SpreadOrBenchmarkCurveData(221) for suggested values.',\n  },\n  {\n    type: 'int',\n    addedEP: '254',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentFloatingRateIndexCurvePeriod',\n    id: 43099,\n    abbrName: 'NdxPeriod',\n    description: 'Time unit multiplier for the floating rate index.',\n  },\n  {\n    type: 'PaymentStreamRateIndexCurveUnitCodeSet',\n    addedEP: '254',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentFloatingRateIndexCurveUnit',\n    id: 43100,\n    abbrName: 'NdxUnit',\n    description: 'Time unit associated with the floating rate index.',\n  },\n  {\n    type: 'PriceOffset',\n    addedEP: '254',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentFloatingRateSpread',\n    id: 43101,\n    abbrName: 'Spread',\n    description: 'Spread from floating rate index.',\n  },\n  {\n    type: 'int',\n    addedEP: '254',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentFrequencyPeriod',\n    id: 43102,\n    abbrName: 'FreqPeriod',\n    description: 'Time unit multiplier for the payment frequency.',\n  },\n  {\n    type: 'PaymentStreamRateIndexCurveUnitCodeSet',\n    addedEP: '254',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentFrequencyUnit',\n    id: 43103,\n    abbrName: 'FreqUnit',\n    description: 'Time unit associated with the payment frequency.',\n  },\n  {\n    type: 'int',\n    addedEP: '254',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentRateResetFrequencyPeriod',\n    id: 43104,\n    abbrName: 'ResetFreqPeriod',\n    description: 'Time unit multiplier for the floating rate reset frequency.',\n  },\n  {\n    type: 'PaymentStreamRateIndexCurveUnitCodeSet',\n    addedEP: '254',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentRateResetFrequencyUnit',\n    id: 43105,\n    abbrName: 'ResetFreqUnit',\n    description: 'Time unit associated with the floating rate reset frequency.',\n  },\n  {\n    type: 'String',\n    addedEP: '254',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamOtherDayCount',\n    id: 43106,\n    abbrName: 'OtherDayCnt',\n    description:\n      'The industry name of the day count convention not listed in PaymentStreamDayCount(40742).',\n  },\n  {\n    type: 'Percentage',\n    addedEP: '254',\n    added: 'FIX.5.0SP2',\n    name: 'SideCollateralReinvestmentRate',\n    id: 2862,\n    abbrName: 'RnvstmntRt',\n    description:\n      'Interest rate received for collateral reinvestment.\\n\\nIn the context of EU SFTR this is the reinvestment interest rate received from cash collateral made by the lender. If there are multiple reinvestment types, this is an average rate.',\n  },\n  {\n    type: 'String',\n    addedEP: '254',\n    added: 'FIX.5.0SP2',\n    name: 'SideUnderlyingRefID',\n    id: 2863,\n    abbrName: 'UndlyRefID',\n    description:\n      \"Identifies the underlying instrument the entity applies to by referencing the underlying instrument's UnderlyingID(2874).\",\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '254',\n    added: 'FIX.5.0SP2',\n    name: 'NoSideCollateralReinvestments',\n    id: 2864,\n    description:\n      'Number of instances of SideCollateralReinvestmentType(2867) in the repeating group.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '254',\n    added: 'FIX.5.0SP2',\n    name: 'SideCollateralReinvestmentAmount',\n    id: 2865,\n    abbrName: 'Amt',\n    description: 'The cash amount of the specified re-investment type.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'Currency',\n    addedEP: '254',\n    updatedEP: '273',\n    added: 'FIX.5.0SP2',\n    name: 'SideCollateralReinvestmentCurrency',\n    id: 2866,\n    abbrName: 'Ccy',\n    description:\n      'The currency denomination of the re-invested cash amount.\\n\\nSideCollateralReinvestmentCurrencyCodeSource(2932) may be used to disambiguate the code source scheme used, and ISO 4217 is the default scheme if absent.',\n  },\n  {\n    type: 'CollateralReinvestmentTypeCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '254',\n    added: 'FIX.5.0SP2',\n    name: 'SideCollateralReinvestmentType',\n    id: 2867,\n    abbrName: 'Typ',\n    description:\n      'Indicates the type of investment the cash collateral is re-invested in.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '254',\n    added: 'FIX.5.0SP2',\n    name: 'CollateralizationValueDate',\n    id: 2868,\n    abbrName: 'CollztnValuDt',\n    description: 'Date when the collateral is to be assessed or assigned.',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '254',\n    added: 'FIX.5.0SP2',\n    name: 'RegulatoryReportTypeBusinessDate',\n    id: 2869,\n    abbrName: 'RegRptTypBizDt',\n    description:\n      'The business date on which the event identified in RegulatoryReportType(1934) took place.\\n\\nIn the context of EU SFTR reports with a RegulatoryReportType(1934) value 7 (Post-trade valuation), 31 (Collateral update) or 32 (Margin update), the business date on which the business event took place, which results in the information contained in the report.',\n  },\n  {\n    type: 'String',\n    addedEP: '254',\n    added: 'FIX.5.0SP2',\n    name: 'ClearingPortfolioID',\n    id: 2870,\n    abbrName: 'ClrPrtflioID',\n    description:\n      'When the transaction is cleared and included in a portfolio of transactions this identifies the portfolio by its unique identifier.\\n\\nIn the context of EU SFTR reporting this applies to cleared transactions grouped in a portfolio for which margins are exchanged.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '254',\n    added: 'FIX.5.0SP2',\n    name: 'NoTransactionAttributes',\n    id: 2871,\n    description:\n      'Number of instances of TransactionAttributeType(2872) in the repeating group.',\n  },\n  {\n    type: 'TransactionAttributeTypeCodeSet',\n    addedEP: '254',\n    added: 'FIX.5.0SP2',\n    name: 'TransactionAttributeType',\n    id: 2872,\n    abbrName: 'Typ',\n    description:\n      'Type of attribute(s) or characteristic(s) associated with the transaction.',\n  },\n  {\n    type: 'String',\n    addedEP: '254',\n    added: 'FIX.5.0SP2',\n    name: 'TransactionAttributeValue',\n    id: 2873,\n    abbrName: 'Valu',\n    description: 'Value associated with the specificed TransactionAttributeType(2872).',\n  },\n  {\n    type: 'String',\n    addedEP: '254',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingID',\n    id: 2874,\n    abbrName: 'UdlyID',\n    description:\n      'Unique identifier for the underlying instrument within the context of a message.\\n\\nThe UnderlyingID(2874) can be referenced by other fields, for example UnderlyingRefID(tbd2841) and SideUnderlyingRefID(2863), from other components . The scope of uniqueness is agreed upon between counterparties.',\n  },\n  {\n    type: 'String',\n    addedEP: '254',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamOtherDayCount',\n    id: 43107,\n    abbrName: 'OtherDayCnt',\n    description:\n      'The industry name of the day count convention not listed in UnderlyingPaymentStreamDayCount(40572).',\n  },\n  {\n    type: 'Price',\n    addedEP: '254',\n    added: 'FIX.5.0SP2',\n    name: 'PosAmtPrice',\n    id: 2876,\n    abbrName: 'Px',\n    description:\n      \"The price used to calculate the PosAmt(708).\\n\\nThis may be used for certain PosAmtType(707) values where the PosAmt(708) is based on the current price of the position's security. In the context of EU SFTR reporting, this is the price used to calculate the loan value for securities loan and borrowing, and buy-sell back. The price may be expressed in units or percentage of the underlying security, yield or an absolute amount that ignores netting. For Buy/Sellback it expresses the initial spot price.\",\n  },\n  {\n    type: 'PriceTypeCodeSet',\n    addedEP: '254',\n    added: 'FIX.5.0SP2',\n    name: 'PosAmtPriceType',\n    id: 2877,\n    abbrName: 'PxTyp',\n    description: 'Specifies the type of price for PosAmtPrice(2876).',\n  },\n  {\n    type: 'LocalMktDate',\n    addedEP: '254',\n    added: 'FIX.5.0SP2',\n    name: 'TerminationDate',\n    id: 2878,\n    abbrName: 'TmntnDt',\n    description:\n      \"The date of a contract's early termination or other post-trade event when the event is prior to the contract natural end or maturity not defined as part of the security's reference data or contractual terms/agreement.\",\n  },\n  {\n    type: 'String',\n    addedEP: '254',\n    added: 'FIX.5.0SP2',\n    name: 'CouponOtherDayCount',\n    id: 2879,\n    abbrName: 'CpnOtherDayCnt',\n    description:\n      'The industry name of the day count convention not listed in CouponDayCount(1950).',\n  },\n  {\n    type: 'String',\n    addedEP: '254',\n    added: 'FIX.5.0SP2',\n    name: 'LegCouponOtherDayCount',\n    id: 2880,\n    abbrName: 'CpnOtherDayCnt',\n    description:\n      'The industry name of the day count convention not listed in LegCouponDayCount(2165).',\n  },\n  {\n    type: 'String',\n    addedEP: '254',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingCouponOtherDayCount',\n    id: 2881,\n    abbrName: 'CpnOtherDayCnt',\n    description:\n      'The industry name of the day count convention not listed in UnderlyingCouponDayCount(1993).',\n  },\n  {\n    type: 'OrderOriginationCodeSet',\n    addedEP: '256',\n    added: 'FIX.5.0SP2',\n    name: 'ContraOrderOrigination',\n    id: 2882,\n    abbrName: 'CntraOrdOrigntn',\n    description:\n      'Identifies the origin of the order from the counterparty of the execution or trade.',\n  },\n  {\n    type: 'RoutingArrangmentIndicatorCodeSet',\n    addedEP: '256',\n    added: 'FIX.5.0SP2',\n    name: 'RoutingArrangmentIndicator',\n    id: 2883,\n    abbrName: 'RtgArngmntInd',\n    description:\n      'Indicates whether a routing arrangement is in place, e.g. between two brokers. May be used together with OrderOrigination(1724) to further describe the origin of an order.\\n\\nAn arrangement under which a participant of a marketplace permits a broker to electronically transmit orders containing the identifier of the participant. This can be either through the systems of the participant for automatic onward transmission to a marketplace or directly to a marketplace without being electronically transmitted through the systems of the participant.',\n  },\n  {\n    type: 'RoutingArrangmentIndicatorCodeSet',\n    addedEP: '256',\n    added: 'FIX.5.0SP2',\n    name: 'ContraRoutingArrangmentIndicator',\n    id: 2884,\n    abbrName: 'CntraRtgArngmntInd',\n    description:\n      'Indicates whether a routing arrangement is in place, e.g. between two brokers. May be used together with ContraOrderOrigination(2882) to further describe the origin of an order.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'Length',\n    addedEP: '257',\n    updatedEP: '275',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamFormulaLength',\n    id: 43109,\n    abbrName: 'FrmlaLen',\n    description:\n      'Byte length of encoded (non-ASCII characters) PaymentStreamFormula(42648) field.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'Length',\n    addedEP: '257',\n    updatedEP: '275',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamFormulaLength',\n    id: 43110,\n    abbrName: 'FrmlaLen',\n    description:\n      'Byte length of encoded (non-ASCII characters) LegPaymentStreamFormula(42486) field.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'Length',\n    addedEP: '257',\n    updatedEP: '275',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamFormulaLength',\n    id: 43111,\n    abbrName: 'FrmlaLen',\n    description:\n      'Byte length of encoded (non-ASCII characters) UnderlyingPaymentStreamFormula(42982) field.',\n  },\n  {\n    type: 'Amt',\n    addedEP: '258',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingAccruedInterestAmt',\n    id: 2885,\n    abbrName: 'AcrdIntAmt',\n    description: 'Amount of accrued interest of underlying security.',\n  },\n  {\n    type: 'int',\n    addedEP: '258',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingNumDaysInterest',\n    id: 2886,\n    abbrName: 'NumDaysInt',\n    description: 'Number of days of interest for underlying security.',\n  },\n  {\n    type: 'String',\n    addedEP: '259',\n    added: 'FIX.5.0SP2',\n    name: 'RelatedOrderID',\n    id: 2887,\n    abbrName: 'ID',\n    discriminatorId: '2888',\n    description: 'Identifier of a related order.',\n  },\n  {\n    type: 'RelatedOrderIDSourceCodeSet',\n    addedEP: '259',\n    added: 'FIX.5.0SP2',\n    name: 'RelatedOrderIDSource',\n    id: 2888,\n    abbrName: 'Src',\n    description:\n      'Describes the source of the identifier that RelatedOrderID(2887) represents.',\n  },\n  {\n    type: 'Qty',\n    addedEP: '259',\n    added: 'FIX.5.0SP2',\n    name: 'RelatedOrderQty',\n    id: 2889,\n    abbrName: 'Qty',\n    description:\n      'Quantity of the related order which can be less than its total quantity. For example, when only parts of an order contribute to an aggregated order.',\n  },\n  {\n    type: 'OrderRelationshipCodeSet',\n    addedEP: '259',\n    added: 'FIX.5.0SP2',\n    name: 'OrderRelationship',\n    id: 2890,\n    abbrName: 'Rltnshp',\n    description:\n      'Describes the type of relationship between the order identified by RelatedOrderID(2887) and the order outside of the RelatedOrderGrp component.',\n  },\n  {\n    type: 'String',\n    addedEP: '266',\n    added: 'FIX.Latest',\n    name: 'UPICode',\n    id: 2891,\n    abbrName: 'UPI',\n    description:\n      'Uniquely identifies the product of a security using ISO 4914 standard, Unique Product Identifier (UPI). The DSB (Derivative Service Bureau Ltd) is acting as designated service provider for UPI System.',\n  },\n  {\n    updated: 'FIX.Latest',\n    type: 'String',\n    addedEP: '266',\n    updatedEP: '271',\n    added: 'FIX.Latest',\n    name: 'DerivativeUPICode',\n    id: 2892,\n    abbrName: 'UPI',\n    description:\n      'Uniquely identifies the product of a derivative instrument using ISO 4914. See UPICode(2891) for complete definition.',\n  },\n  {\n    type: 'String',\n    addedEP: '266',\n    added: 'FIX.Latest',\n    name: 'LegUPICode',\n    id: 2893,\n    abbrName: 'UPI',\n    description:\n      'Uniquely identifies the product of a leg instrument using ISO 4914. See UPICode(2891) for further detail.',\n  },\n  {\n    type: 'String',\n    addedEP: '266',\n    added: 'FIX.Latest',\n    name: 'UnderlyingUPICode',\n    id: 2894,\n    abbrName: 'UPI',\n    description:\n      'Uniquely identifies the product of an underlying instrument using ISO 4914. See UPICode(2891) for further detail.',\n  },\n  {\n    type: 'String',\n    addedEP: '266',\n    added: 'FIX.Latest',\n    name: 'InstrumentScopeUPICode',\n    id: 2895,\n    abbrName: 'UPI',\n    description:\n      'Uniquely identifies the product of a security using ISO 4914 as filter criteria. See UPICode(2891) for further detail.',\n  },\n  {\n    type: 'TrdTypeCodeSet',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '268',\n    added: 'FIX.Latest',\n    name: 'TertiaryTrdType',\n    id: 2896,\n    abbrName: 'TrdTyp3',\n    description:\n      'Type of trade assigned to a trade. Used in addition to TrdType(828) and SecondaryTrdType(855). Must not be used when only one additional trade type needs to be assigned.',\n  },\n  {\n    type: 'String',\n    addedEP: '271',\n    added: 'FIX.Latest',\n    name: 'PaymentStreamRateIndex2',\n    id: 43112,\n    abbrName: 'Ndx2',\n    discriminatorId: '43113',\n    description: \"The payment stream's second floating rate index.\",\n  },\n  {\n    type: 'PaymentStreamRateIndexSourceCodeSet',\n    addedEP: '271',\n    added: 'FIX.Latest',\n    name: 'PaymentStreamRateIndex2Source',\n    id: 43113,\n    abbrName: 'Ndx2Src',\n    description: \"The source of the payment stream's second floating rate index.\",\n  },\n  {\n    type: 'String',\n    addedEP: '271',\n    added: 'FIX.Latest',\n    name: 'PaymentStreamRateIndex2ID',\n    id: 43114,\n    abbrName: 'Ndx2ID',\n    discriminatorId: '43115',\n    description: 'Security identifier of the second floating rate index.',\n  },\n  {\n    type: 'SecurityIDSourceCodeSet',\n    addedEP: '271',\n    added: 'FIX.Latest',\n    name: 'PaymentStreamRateIndex2IDSource',\n    id: 43115,\n    abbrName: 'Ndx2IDSrc',\n    description:\n      'Source for the second floating rate index identified in PaymentStreamRateIndex2ID(43114).',\n  },\n  {\n    type: 'String',\n    addedEP: '271',\n    added: 'FIX.Latest',\n    name: 'LegPaymentStreamRateIndex2',\n    id: 43116,\n    abbrName: 'Ndx2',\n    discriminatorId: '43117',\n    description: \"The payment stream's second floating rate index.\",\n  },\n  {\n    type: 'PaymentStreamRateIndexSourceCodeSet',\n    addedEP: '271',\n    added: 'FIX.Latest',\n    name: 'LegPaymentStreamRateIndex2Source',\n    id: 43117,\n    abbrName: 'Ndx2Src',\n    description: \"The source of the payment stream's second floating rate index.\",\n  },\n  {\n    type: 'String',\n    addedEP: '271',\n    added: 'FIX.Latest',\n    name: 'LegPaymentStreamRateIndex2ID',\n    id: 43118,\n    abbrName: 'Ndx2ID',\n    discriminatorId: '43119',\n    description: 'Security identifier of the second floating rate index.',\n  },\n  {\n    type: 'SecurityIDSourceCodeSet',\n    addedEP: '271',\n    added: 'FIX.Latest',\n    name: 'LegPaymentStreamRateIndex2IDSource',\n    id: 43119,\n    abbrName: 'Ndx2IDSrc',\n    description:\n      'Source for the second floating rate index identified in LegPaymentStreamRateIndex2ID(43118).',\n  },\n  {\n    type: 'String',\n    addedEP: '271',\n    added: 'FIX.Latest',\n    name: 'UnderlyingPaymentStreamRateIndex2',\n    id: 43120,\n    abbrName: 'Ndx2',\n    discriminatorId: '43121',\n    description: \"The payment stream's second floating rate index.\",\n  },\n  {\n    type: 'PaymentStreamRateIndexSourceCodeSet',\n    addedEP: '271',\n    added: 'FIX.Latest',\n    name: 'UnderlyingPaymentStreamRateIndex2Source',\n    id: 43121,\n    abbrName: 'Ndx2Src',\n    description: \"The source of the payment stream's second floating rate index.\",\n  },\n  {\n    type: 'String',\n    addedEP: '271',\n    added: 'FIX.Latest',\n    name: 'UnderlyingPaymentStreamRateIndex2ID',\n    id: 43122,\n    abbrName: 'Ndx2ID',\n    discriminatorId: '43123',\n    description: 'Security identifier of the second floating rate index.',\n  },\n  {\n    type: 'SecurityIDSourceCodeSet',\n    addedEP: '271',\n    added: 'FIX.Latest',\n    name: 'UnderlyingPaymentStreamRateIndex2IDSource',\n    id: 43123,\n    abbrName: 'Ndx2IDSrc',\n    description:\n      'Source for the second floating rate index identified in UnderlyingPaymentStreamRateIndex2ID(43122).',\n  },\n  {\n    type: 'CurrencyCodeSourceCodeSet',\n    addedEP: '273',\n    added: 'FIX.Latest',\n    name: 'CurrencyCodeSource',\n    id: 2897,\n    abbrName: 'CcySrc',\n    description: 'Identifies class or source of the Currency(15) value.',\n  },\n  {\n    type: 'CurrencyCodeSourceCodeSet',\n    addedEP: '273',\n    added: 'FIX.Latest',\n    name: 'LegCurrencyCodeSource',\n    id: 2898,\n    abbrName: 'CcySrc',\n    description: 'Identifies class or source of the LegCurrency(556) value.',\n  },\n  {\n    type: 'CurrencyCodeSourceCodeSet',\n    addedEP: '273',\n    added: 'FIX.Latest',\n    name: 'SettlCurrencyCodeSource',\n    id: 2899,\n    abbrName: 'SettlCcySrc',\n    description: 'Identifies class or source of the SettlCurrency(120) value.',\n  },\n  {\n    type: 'CurrencyCodeSourceCodeSet',\n    addedEP: '273',\n    added: 'FIX.Latest',\n    name: 'LegSettlCurrencyCodeSource',\n    id: 2900,\n    abbrName: 'SettlCcySrc',\n    description: 'Identifies class or source of the LegSettlCurrency(675) value.',\n  },\n  {\n    type: 'CurrencyCodeSourceCodeSet',\n    addedEP: '273',\n    added: 'FIX.Latest',\n    name: 'SideCurrencyCodeSource',\n    id: 2901,\n    abbrName: 'CcySrc',\n    description: 'Identifies class or source of the SideCurrency(1154) value.',\n  },\n  {\n    type: 'CurrencyCodeSourceCodeSet',\n    addedEP: '273',\n    added: 'FIX.Latest',\n    name: 'SideSettlCurrencyCodeSource',\n    id: 2902,\n    abbrName: 'SettlCcySrc',\n    description: 'Identifies class or source of the SideSettlCurrency(1155) value.',\n  },\n  {\n    type: 'CurrencyCodeSourceCodeSet',\n    addedEP: '273',\n    added: 'FIX.Latest',\n    name: 'SettlementAmountCurrencyCodeSource',\n    id: 2903,\n    abbrName: 'CcySrc',\n    description:\n      'Identifies class or source of the SettlementAmountCurrency(1702) value.',\n  },\n  {\n    type: 'CurrencyCodeSourceCodeSet',\n    addedEP: '273',\n    added: 'FIX.Latest',\n    name: 'StrikeCurrencyCodeSource',\n    id: 2904,\n    abbrName: 'StrkCcySrc',\n    description: 'Identifies class or source of the StrikeCurrency(947) value.',\n  },\n  {\n    type: 'CurrencyCodeSourceCodeSet',\n    addedEP: '273',\n    added: 'FIX.Latest',\n    name: 'UnitOfMeasureCurrencyCodeSource',\n    id: 2905,\n    abbrName: 'UOMCcySrc',\n    description: 'Identifies class or source of the UnitOfMeasureCurrency(1716) value.',\n  },\n  {\n    type: 'CurrencyCodeSourceCodeSet',\n    addedEP: '273',\n    added: 'FIX.Latest',\n    name: 'PriceUnitOfMeasureCurrencyCodeSource',\n    id: 2906,\n    abbrName: 'PxUOMCcySrc',\n    description:\n      'Identifies class or source of the PriceUnitOfMeasureCurrency(1717) value.',\n  },\n  {\n    type: 'CurrencyCodeSourceCodeSet',\n    addedEP: '273',\n    added: 'FIX.Latest',\n    name: 'PriceQuoteCurrencyCodeSource',\n    id: 2907,\n    abbrName: 'PxQteCcySrc',\n    description: 'Identifies class or source of the PriceQuoteCurrency(1524) value.',\n  },\n  {\n    type: 'CurrencyCodeSourceCodeSet',\n    addedEP: '273',\n    added: 'FIX.Latest',\n    name: 'LegStrikeCurrencyCodeSource',\n    id: 2908,\n    abbrName: 'StrkCcySrc',\n    description: 'Identifies class or source of the LegStrikeCurrency(942) value.',\n  },\n  {\n    type: 'CurrencyCodeSourceCodeSet',\n    addedEP: '273',\n    added: 'FIX.Latest',\n    name: 'LegUnitOfMeasureCurrencyCodeSource',\n    id: 2909,\n    abbrName: 'UOMCcySrc',\n    description:\n      'Identifies class or source of the LegUnitOfMeasureCurrency(1720) value.',\n  },\n  {\n    type: 'CurrencyCodeSourceCodeSet',\n    addedEP: '273',\n    added: 'FIX.Latest',\n    name: 'LegPriceUnitOfMeasureCurrencyCodeSource',\n    id: 2910,\n    abbrName: 'PxUOMCcySrc',\n    description:\n      'Identifies class or source of the LegPriceUnitOfMeasureCurrency(1721) value.',\n  },\n  {\n    type: 'CurrencyCodeSourceCodeSet',\n    addedEP: '273',\n    added: 'FIX.Latest',\n    name: 'LegPriceQuoteCurrencyCodeSource',\n    id: 2911,\n    abbrName: 'PxQteCcySrc',\n    description: 'Identifies class or source of the LegPriceQuoteCurrency(1528) value.',\n  },\n  {\n    type: 'CurrencyCodeSourceCodeSet',\n    addedEP: '273',\n    added: 'FIX.Latest',\n    name: 'DerivativeStrikeCurrencyCodeSource',\n    id: 2912,\n    abbrName: 'StrkCcySrc',\n    description:\n      'Identifies class or source of the DerivativeStrikeCurrency(1262) value.',\n  },\n  {\n    type: 'CurrencyCodeSourceCodeSet',\n    addedEP: '273',\n    added: 'FIX.Latest',\n    name: 'DerivativeUnitOfMeasureCurrencyCodeSource',\n    id: 2913,\n    abbrName: 'UOMCcySrc',\n    description:\n      'Identifies class or source of the DerivativeUnitOfMeasureCurrency(1722) value.',\n  },\n  {\n    type: 'CurrencyCodeSourceCodeSet',\n    addedEP: '273',\n    added: 'FIX.Latest',\n    name: 'DerivativePriceUnitOfMeasureCurrencyCodeSource',\n    id: 2914,\n    abbrName: 'PxUOMCcySrc',\n    description:\n      'Identifies class or source of the DerivativePriceUnitOfMeasureCurrency(1723) value.',\n  },\n  {\n    type: 'CurrencyCodeSourceCodeSet',\n    addedEP: '273',\n    added: 'FIX.Latest',\n    name: 'DerivativePriceQuoteCurrencyCodeSource',\n    id: 2915,\n    abbrName: 'PxQteCcySrc',\n    description:\n      'Identifies class or source of the DerivativePriceQuoteCurrency(1576) value.',\n  },\n  {\n    type: 'CurrencyCodeSourceCodeSet',\n    addedEP: '273',\n    added: 'FIX.Latest',\n    name: 'UnderlyingCurrencyCodeSource',\n    id: 2916,\n    abbrName: 'CcySrc',\n    description: 'Identifies class or source of the UnderlyingCurrency(318) value.',\n  },\n  {\n    type: 'CurrencyCodeSourceCodeSet',\n    addedEP: '273',\n    added: 'FIX.Latest',\n    name: 'UnderlyingStrikeCurrencyCodeSource',\n    id: 2917,\n    abbrName: 'StrkCcySrc',\n    description: 'Identifies class or source of the UnderlyingStrikeCurrency(941) value.',\n  },\n  {\n    type: 'CurrencyCodeSourceCodeSet',\n    addedEP: '273',\n    added: 'FIX.Latest',\n    name: 'UnderlyingUnitOfMeasureCurrencyCodeSource',\n    id: 2918,\n    abbrName: 'UOMCcySrc',\n    description:\n      'Identifies class or source of the UnderlyingUnitOfMeasureCurrency(1718) value.',\n  },\n  {\n    type: 'CurrencyCodeSourceCodeSet',\n    addedEP: '273',\n    added: 'FIX.Latest',\n    name: 'UnderlyingPriceUnitOfMeasureCurrencyCodeSource',\n    id: 2919,\n    abbrName: 'PxUOMCcySrc',\n    description:\n      'Identifies class or source of the UnderlyingPriceUnitOfMeasureCurrency(1719) value.',\n  },\n  {\n    type: 'CurrencyCodeSourceCodeSet',\n    addedEP: '273',\n    added: 'FIX.Latest',\n    name: 'UnderlyingPriceQuoteCurrencyCodeSource',\n    id: 2920,\n    abbrName: 'PxQteCcySrc',\n    description:\n      'Identifies class or source of the UnderlyingPriceQuoteCurrency(1526) value.',\n  },\n  {\n    type: 'CurrencyCodeSourceCodeSet',\n    addedEP: '273',\n    added: 'FIX.Latest',\n    name: 'UnderlyingNotionalCurrencyCodeSource',\n    id: 2921,\n    abbrName: 'NotlCcySrc',\n    description:\n      'Identifies class or source of the UnderlyingNotionalCurrency(2615) value.',\n  },\n  {\n    type: 'CurrencyCodeSourceCodeSet',\n    addedEP: '273',\n    added: 'FIX.Latest',\n    name: 'CommCurrencyCodeSource',\n    id: 2922,\n    abbrName: 'CcySrc',\n    description: 'Identifies class or source of the CommCurrency(479) value.',\n  },\n  {\n    type: 'CurrencyCodeSourceCodeSet',\n    addedEP: '273',\n    added: 'FIX.Latest',\n    name: 'CommissionCurrencyCodeSource',\n    id: 2923,\n    abbrName: 'CcySrc',\n    description: 'Identifies class or source of the CommissionCurrency(2643) value.',\n  },\n  {\n    type: 'CurrencyCodeSourceCodeSet',\n    addedEP: '273',\n    added: 'FIX.Latest',\n    name: 'CommissionUnitOfMeasureCurrencyCodeSource',\n    id: 2924,\n    abbrName: 'UOMCcySrc',\n    description:\n      'Identifies class or source of the CommissionUnitOfMeasureCurrency(2645) value.',\n  },\n  {\n    type: 'CurrencyCodeSourceCodeSet',\n    addedEP: '273',\n    added: 'FIX.Latest',\n    name: 'AllocCommissionCurrencyCodeSource',\n    id: 2925,\n    abbrName: 'CcySrc',\n    description: 'Identifies class or source of the AllocCommissionCurrency(2657) value.',\n  },\n  {\n    type: 'CurrencyCodeSourceCodeSet',\n    addedEP: '273',\n    added: 'FIX.Latest',\n    name: 'AllocCommissionUnitOfMeasureCurrencyCodeSource',\n    id: 2926,\n    abbrName: 'UOMCcySrc',\n    description:\n      'Identifies class or source of the AllocCommissionUnitOfMeasureCurrency(2659) value.',\n  },\n  {\n    type: 'CurrencyCodeSourceCodeSet',\n    addedEP: '273',\n    added: 'FIX.Latest',\n    name: 'AllocSettlCurrencyCodeSource',\n    id: 2927,\n    abbrName: 'AllocSettlCcySrc',\n    description: 'Identifies class or source of the AllocSettlCurrency(736) value.',\n  },\n  {\n    type: 'CurrencyCodeSourceCodeSet',\n    addedEP: '273',\n    added: 'FIX.Latest',\n    name: 'LegAllocSettlCurrencyCodeSource',\n    id: 2928,\n    abbrName: 'AllocSettlCcySrc',\n    description: 'Identifies class or source of the LegAllocSettlCurrency(1367) value.',\n  },\n  {\n    type: 'CurrencyCodeSourceCodeSet',\n    addedEP: '273',\n    added: 'FIX.Latest',\n    name: 'CollateralCurrencyCodeSource',\n    id: 2929,\n    abbrName: 'CcySrc',\n    description: 'Identifies class or source of the CollateralCurrency(1705) value.',\n  },\n  {\n    type: 'CurrencyCodeSourceCodeSet',\n    addedEP: '273',\n    added: 'FIX.Latest',\n    name: 'SideCollateralCurrencyCodeSource',\n    id: 2930,\n    abbrName: 'CcySrc',\n    description: 'Identifies class or source of the SideCollateralCurrency(2695) value.',\n  },\n  {\n    type: 'CurrencyCodeSourceCodeSet',\n    addedEP: '273',\n    added: 'FIX.Latest',\n    name: 'CollateralReinvestmentCurrencyCodeSource',\n    id: 2931,\n    abbrName: 'CcySrc',\n    description:\n      'Identifies class or source of the CollateralReinvestmentCurrency(2843) value.',\n  },\n  {\n    type: 'CurrencyCodeSourceCodeSet',\n    addedEP: '273',\n    added: 'FIX.Latest',\n    name: 'SideCollateralReinvestmentCurrencyCodeSource',\n    id: 2932,\n    abbrName: 'CcySrc',\n    description:\n      'Identifies class or source of the SideCollateralReinvestmentCurrency(2866) value.',\n  },\n  {\n    type: 'CurrencyCodeSourceCodeSet',\n    addedEP: '273',\n    added: 'FIX.Latest',\n    name: 'TradeAllocCurrencyCodeSource',\n    id: 2933,\n    abbrName: 'CcySrc',\n    description: 'Identifies class or source of the TradeAllocCurrency(1847) value.',\n  },\n  {\n    type: 'CurrencyCodeSourceCodeSet',\n    addedEP: '273',\n    added: 'FIX.Latest',\n    name: 'TradingCurrencyCodeSource',\n    id: 2934,\n    abbrName: 'TrdCcySrc',\n    description: 'Identifies class or source of the TradingCurrency(1245) value.',\n  },\n  {\n    type: 'CurrencyCodeSourceCodeSet',\n    addedEP: '273',\n    added: 'FIX.Latest',\n    name: 'LimitAmtCurrencyCodeSource',\n    id: 2935,\n    abbrName: 'LmtAmtCcySrc',\n    description: 'Identifies class or source of the LimitAmtCurrency(1634) value.',\n  },\n  {\n    type: 'CurrencyCodeSourceCodeSet',\n    addedEP: '273',\n    added: 'FIX.Latest',\n    name: 'PosQtyUnitOfMeasureCurrencyCodeSource',\n    id: 2936,\n    abbrName: 'UOMCcySrc',\n    description:\n      'Identifies class or source of the PosQtyUnitOfMeasureCurrency(1835) value.',\n  },\n  {\n    type: 'CurrencyCodeSourceCodeSet',\n    addedEP: '273',\n    added: 'FIX.Latest',\n    name: 'PositionCurrencyCodeSource',\n    id: 2937,\n    abbrName: 'CcySrc',\n    description: 'Identifies class or source of the PositionCurrency(1055) value.',\n  },\n  {\n    type: 'CurrencyCodeSourceCodeSet',\n    addedEP: '273',\n    added: 'FIX.Latest',\n    name: 'LegPosCurrencyCodeSource',\n    id: 2938,\n    abbrName: 'CcySrc',\n    description: 'Identifies class or source of the LegPosCurrency(1589) value.',\n  },\n  {\n    type: 'CurrencyCodeSourceCodeSet',\n    addedEP: '273',\n    added: 'FIX.Latest',\n    name: 'RiskLimitCurrencyCodeSource',\n    id: 2939,\n    abbrName: 'CcySrc',\n    description: 'Identifies class or source of the RiskLimitCurrency(1532) value.',\n  },\n  {\n    type: 'CurrencyCodeSourceCodeSet',\n    addedEP: '273',\n    added: 'FIX.Latest',\n    name: 'EntitlementAttribCurrencyCodeSource',\n    id: 2940,\n    abbrName: 'CcySrc',\n    description:\n      'Identifies class or source of the EntitlementAttribCurrency(1781) value.',\n  },\n  {\n    type: 'CurrencyCodeSourceCodeSet',\n    addedEP: '273',\n    added: 'FIX.Latest',\n    name: 'ComplexOptPayoutCurrencyCodeSource',\n    id: 2941,\n    abbrName: 'OptCcySrc',\n    description:\n      'Identifies class or source of the ComplexOptPayoutCurrency(2122) value.',\n  },\n  {\n    type: 'CurrencyCodeSourceCodeSet',\n    addedEP: '273',\n    added: 'FIX.Latest',\n    name: 'ComplexEventCurrencyOneCodeSource',\n    id: 2942,\n    abbrName: 'Ccy1Src',\n    description: 'Identifies class or source of the ComplexEventCurrencyOne(2124) value.',\n  },\n  {\n    type: 'CurrencyCodeSourceCodeSet',\n    addedEP: '273',\n    added: 'FIX.Latest',\n    name: 'ComplexEventCurrencyTwoCodeSource',\n    id: 2943,\n    abbrName: 'Ccy2Src',\n    description: 'Identifies class or source of the ComplexEventCurrencyTwo(2125) value.',\n  },\n  {\n    type: 'CurrencyCodeSourceCodeSet',\n    addedEP: '273',\n    added: 'FIX.Latest',\n    name: 'LegComplexOptPayoutCurrencyCodeSource',\n    id: 2944,\n    abbrName: 'OptCcySrc',\n    description:\n      'Identifies class or source of the LegComplexOptPayoutCurrency(2226) value.',\n  },\n  {\n    type: 'CurrencyCodeSourceCodeSet',\n    addedEP: '273',\n    added: 'FIX.Latest',\n    name: 'LegComplexEventCurrencyOneCodeSource',\n    id: 2945,\n    abbrName: 'Ccy1Src',\n    description:\n      'Identifies class or source of the LegComplexEventCurrencyOne(2233) value.',\n  },\n  {\n    type: 'CurrencyCodeSourceCodeSet',\n    addedEP: '273',\n    added: 'FIX.Latest',\n    name: 'LegComplexEventCurrencyTwoCodeSource',\n    id: 2946,\n    abbrName: 'Ccy2Src',\n    description:\n      'Identifies class or source of the LegComplexEventCurrencyTwo(2234) value.',\n  },\n  {\n    type: 'CurrencyCodeSourceCodeSet',\n    addedEP: '273',\n    added: 'FIX.Latest',\n    name: 'UnderlyingComplexOptPayoutCurrencyCodeSource',\n    id: 2947,\n    abbrName: 'OptCcySrc',\n    description:\n      'Identifies class or source of the UnderlyingComplexOptPayoutCurrency(2266) value.',\n  },\n  {\n    type: 'CurrencyCodeSourceCodeSet',\n    addedEP: '273',\n    added: 'FIX.Latest',\n    name: 'UnderlyingComplexEventCurrencyOneCodeSource',\n    id: 2948,\n    abbrName: 'Ccy1Src',\n    description:\n      'Identifies class or source of the UnderlyingComplexEventCurrencyOne(2268) value.',\n  },\n  {\n    type: 'CurrencyCodeSourceCodeSet',\n    addedEP: '273',\n    added: 'FIX.Latest',\n    name: 'UnderlyingComplexEventCurrencyTwoCodeSource',\n    id: 2949,\n    abbrName: 'Ccy2Src',\n    description:\n      'Identifies class or source of the UnderlyingComplexEventCurrencyTwo(2269) value.',\n  },\n  {\n    type: 'CurrencyCodeSourceCodeSet',\n    addedEP: '273',\n    added: 'FIX.Latest',\n    name: 'BenchmarkCurveCurrencyCodeSource',\n    id: 2950,\n    abbrName: 'CcySrc',\n    description: 'Identifies class or source of the BenchmarkCurveCurrency(220) value.',\n  },\n  {\n    type: 'CurrencyCodeSourceCodeSet',\n    addedEP: '273',\n    added: 'FIX.Latest',\n    name: 'LegBenchmarkCurveCurrencyCodeSource',\n    id: 2951,\n    abbrName: 'CcySrc',\n    description:\n      'Identifies class or source of the LegBenchmarkCurveCurrency(676) value.',\n  },\n  {\n    type: 'CurrencyCodeSourceCodeSet',\n    addedEP: '273',\n    added: 'FIX.Latest',\n    name: 'AgreementCurrencyCodeSource',\n    id: 2952,\n    abbrName: 'AgmtCcySrc',\n    description: 'Identifies class or source of the AgreementCurrency(918) value.',\n  },\n  {\n    type: 'CurrencyCodeSourceCodeSet',\n    addedEP: '273',\n    added: 'FIX.Latest',\n    name: 'LegAgreementCurrencyCodeSource',\n    id: 2953,\n    abbrName: 'AgmtCcySrc',\n    description: 'Identifies class or source of the LegAgreementCurrency(2495) value.',\n  },\n  {\n    type: 'CurrencyCodeSourceCodeSet',\n    addedEP: '273',\n    added: 'FIX.Latest',\n    name: 'FundingSourceCurrencyCodeSource',\n    id: 2954,\n    abbrName: 'CcySrc',\n    description: 'Identifies class or source of the FundingSourceCurrency(2847) value.',\n  },\n  {\n    type: 'CurrencyCodeSourceCodeSet',\n    addedEP: '273',\n    added: 'FIX.Latest',\n    name: 'PayCollectCurrencyCodeSource',\n    id: 2955,\n    abbrName: 'CcySrc',\n    description: 'Identifies class or source of the PayCollectCurrency(1709) value.',\n  },\n  {\n    type: 'CurrencyCodeSourceCodeSet',\n    addedEP: '273',\n    added: 'FIX.Latest',\n    name: 'PostTradePaymentCurrencyCodeSource',\n    id: 2956,\n    abbrName: 'CcySrc',\n    description:\n      'Identifies class or source of the PostTradePaymentCurrency(2818) value.',\n  },\n  {\n    type: 'int',\n    addedEP: '273',\n    added: 'FIX.Latest',\n    name: 'SymbolPositionNumber',\n    id: 2957,\n    abbrName: 'SymPosNum',\n    description:\n      'Reference to the first or second currency or digital asset in Symbol(55) for FX-style trading.\\n\\nConditionally required when one or both symbols in Symbol(55) represent a digital asset.',\n  },\n  {\n    type: 'int',\n    addedEP: '273',\n    added: 'FIX.Latest',\n    name: 'LegSymbolPositionNumber',\n    id: 2958,\n    abbrName: 'SymPosNum',\n    description:\n      'Reference to the first or second currency or digital asset in LegSymbol(600) for FX-style trading.\\n\\nConditionally required when one or both symbols in LegSymbol(600) represent a digital asset.',\n  },\n  {\n    type: 'int',\n    addedEP: '273',\n    added: 'FIX.Latest',\n    name: 'UnderlyingSymbolPositionNumber',\n    id: 2959,\n    abbrName: 'SymPosNum',\n    description:\n      'Reference to the first or second currency or digital asset in UnderlyingSymbol(311) for FX-style trading.\\n\\nConditionally required when one or both symbols in UnderlyingSymbol(311) represent a digital asset.',\n  },\n  {\n    type: 'CurrencyCodeSourceCodeSet',\n    addedEP: '273',\n    added: 'FIX.Latest',\n    name: 'SettlPriceUnitOfMeasureCurrencyCodeSource',\n    id: 2960,\n    abbrName: 'SetPxUOMCcySrc',\n    description:\n      'Identifies the class or source of the SettlPriceUnitOfMeasureCurrency(1887) value.',\n  },\n  {\n    type: 'Boolean',\n    addedEP: '274',\n    added: 'FIX.Latest',\n    name: 'AnonymousTradeIndicator',\n    id: 2961,\n    abbrName: 'AnonymsTrdInd',\n    description: 'Indicates whether the trade or transaction was executed anonymously.',\n  },\n  {\n    type: 'String',\n    addedEP: '276',\n    added: 'FIX.Latest',\n    name: 'SecurityReferenceDataSupplement',\n    id: 2962,\n    abbrName: 'SecRefDataSupplmnt',\n    description:\n      'May be used to generically assist in disambiguating an instrument where the security identifier and core reference data attributes are not sufficient to uniquely identify the instrument. The values used are bilaterally agreed.\\n\\nThe data used for disambiguation can be of synthetic nature (e.g. 1, 2, 3,... or A, B, C,...) or based on other characteristic of the instrument. An example of the latter is an energy futures or options contract which may have the same expiration date with different delivery dates that fall on a non-business day; in such a use case the first day of delivery date may be used to disambiguate such contract (date expression used should be bilaterally agreed).',\n  },\n  {\n    type: 'MultiJurisdictionReportingIndicatorCodeSet',\n    addedEP: '277',\n    added: 'FIX.Latest',\n    name: 'MultiJurisdictionReportingIndicator',\n    id: 2963,\n    abbrName: 'MultiJrsdctnRptInd',\n    description:\n      'Indicate whether a trade is eligible to be reported to more than one regulatory jurisdictions, e.g. due to overlapping reporting rules that require reporting to different jurisdictions.',\n  },\n  {\n    type: 'SelfMatchPreventionInstructionCodeSet',\n    addedEP: '280',\n    added: 'FIX.Latest',\n    name: 'SelfMatchPreventionInstruction',\n    id: 2964,\n    abbrName: 'SlfMtchPrvntnInst',\n    description:\n      'Indicate the instruction for self-match prevention when the incoming (aggressive) order has the same SelfMatchPreventionID(2362) as a resting (passive) order.',\n  },\n  {\n    type: 'String',\n    addedEP: '281',\n    added: 'FIX.Latest',\n    name: 'SettlStatusRequestID',\n    id: 2965,\n    abbrName: 'ReqID',\n    description: 'Unique identifier of the SettlementStatusRequest(35=EC).',\n  },\n  {\n    type: 'SettlStatusRequestStatusCodeSet',\n    addedEP: '281',\n    added: 'FIX.Latest',\n    name: 'SettlStatusRequestStatus',\n    id: 2966,\n    abbrName: 'ReqStat',\n    description:\n      'Status of the SettlementStatusRequest(35=EC) message being responded to.',\n  },\n  {\n    type: 'String',\n    addedEP: '281',\n    added: 'FIX.Latest',\n    name: 'SettlStatusReportID',\n    id: 2967,\n    abbrName: 'RptID',\n    description: 'Unique identifier of the SettlementStatusReport(35=EE).',\n  },\n  {\n    type: 'String',\n    addedEP: '281',\n    added: 'FIX.Latest',\n    name: 'SettlStatus',\n    id: 2968,\n    abbrName: 'SettlStat',\n    description:\n      'The settlement status of the identified trade.\\n\\nThis field mirrors MT548 subsequence A2 field 25D Status Code. See https://www.iso20022.org/15022/uhb/mt548-10-field-25d.htm for MT548 code values.',\n  },\n  {\n    type: 'String',\n    addedEP: '281',\n    added: 'FIX.Latest',\n    name: 'SettlStatusReason',\n    id: 2969,\n    abbrName: 'SettlStatRsn',\n    description:\n      'Used to provide additional reason or qualify the reason for the settlement status specified in SettlStatus(2968).\\n\\nThis field mirrors MT548 subsequence A2a field 24B Reason Code. See https://www.iso20022.org/15022/uhb/mt548-12-field-24b.htm for MT548 code values.',\n  },\n  {\n    type: 'String',\n    addedEP: '281',\n    added: 'FIX.Latest',\n    name: 'SettlStatusReasonText',\n    id: 2970,\n    abbrName: 'SettlStatRsnTxt',\n    description:\n      'Text description associated with SettlStatusReason(2969).\\n\\nThis field mirrors MT548 subsequence A2a field 70D Narrative.',\n  },\n  {\n    type: 'Length',\n    addedEP: '281',\n    added: 'FIX.Latest',\n    name: 'EncodedSettlStatusReasonTextLen',\n    id: 2971,\n    abbrName: 'EncSettlStatRsnTxtLen',\n    description:\n      'Byte length of encoded (non-ASCII characters) EncodedSettlStatusReasonText(2972) field.',\n  },\n  {\n    type: 'data',\n    addedEP: '281',\n    added: 'FIX.Latest',\n    name: 'EncodedSettlStatusReasonText',\n    id: 2972,\n    abbrName: 'EncSettlStatRsnTxt',\n    lengthId: '2971',\n    description:\n      'Encoded (non-ASCII characters) representation of the SettlStatusReasonText(2970) field in the encoded format specified via the MessageEncoding(347) field. If used, the ASCII (English) representation should also be specified in the SettlStatusReasonText(2970) field.',\n  },\n  {\n    type: 'SettlStatusReportStatusCodeSet',\n    addedEP: '281',\n    added: 'FIX.Latest',\n    name: 'SettlStatusReportStatus',\n    id: 2973,\n    abbrName: 'Stat',\n    description: 'Status of the report being responded to.',\n  },\n  {\n    type: 'String',\n    addedEP: '285',\n    added: 'FIX.Latest',\n    name: 'AllocGroupSubQtyID',\n    id: 2974,\n    abbrName: 'GrpSubQtyID',\n    description: 'Identifier for quantity subgroup assigned by the clearinghouse.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '285',\n    added: 'FIX.Latest',\n    name: 'NoAllocGroupSubQtys',\n    id: 2975,\n    description: 'Indicates number of subgroups in an allocation group.',\n  },\n  {\n    type: 'Qty',\n    addedEP: '285',\n    added: 'FIX.Latest',\n    name: 'AllocGroupSubQty',\n    id: 2976,\n    abbrName: 'Qty',\n    description: 'Total quantity in the subgroup of an allocation group.',\n  },\n  {\n    type: 'Qty',\n    addedEP: '285',\n    added: 'FIX.Latest',\n    name: 'AllocGroupSubQtyOffset',\n    id: 2977,\n    abbrName: 'QtyOfst',\n    description: 'Change in quantity in the subgroup of an allocation group.',\n  },\n  {\n    type: 'Qty',\n    addedEP: '285',\n    added: 'FIX.Latest',\n    name: 'AllocGroupRemainingSubQty',\n    id: 2978,\n    abbrName: 'RemQty',\n    description: 'Remaining quantity in the subgroup of an allocation group.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '285',\n    added: 'FIX.Latest',\n    name: 'NoAllocGroupSubQtyAttributes',\n    id: 2979,\n    description:\n      'Indicates number of trade attributes used to define a subgroup in an allocation group.',\n  },\n  {\n    type: 'AllocGroupSubQtyTypeCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '285',\n    added: 'FIX.Latest',\n    name: 'AllocGroupSubQtyType',\n    id: 2980,\n    abbrName: 'Typ',\n    description: 'Type of trade attribute defining a subgroup in an allocation group.',\n  },\n  {\n    type: 'String',\n    addedEP: '285',\n    added: 'FIX.Latest',\n    name: 'AllocGroupSubQtyValue',\n    id: 2981,\n    abbrName: 'Val',\n    description:\n      'Value of the trade attribute defining a subgroup in an allocation group.',\n  },\n  {\n    type: 'TimeUnitCodeSet',\n    addedEP: '287',\n    added: 'FIX.Latest',\n    name: 'MaturityFrequencyUnit',\n    id: 2982,\n    abbrName: 'MatFreqUnit',\n    description:\n      'Time unit associated with the minimum frequency of the instrument maturity intervals.\\n\\nUsage note: When FlexibleIndicator(1244)=Y and the maturity date is user-defined, set MaturityFrequencyUnit(2982)=F (Flexible).',\n  },\n  {\n    type: 'int',\n    addedEP: '287',\n    added: 'FIX.Latest',\n    name: 'MaturityFrequencyPeriod',\n    id: 2983,\n    abbrName: 'MatFreqPeriod',\n    description:\n      'Time unit multiplier for the minimum frequency of the instrument maturity intervals.',\n  },\n  {\n    type: 'TimeUnitCodeSet',\n    addedEP: '287',\n    added: 'FIX.Latest',\n    name: 'UnderlyingMaturityFrequencyUnit',\n    id: 2984,\n    abbrName: 'MatFreqUnit',\n    description:\n      'Time unit associated with the minimum frequency of the instrument maturity intervals.\\n\\nUsage note: When UnderlyingFlexibleIndicator(2035)=Y and the underlying maturity is user-defined, set UnderlyingMaturityFrequencyUnit(2984)=F (Flexible).',\n  },\n  {\n    type: 'int',\n    addedEP: '287',\n    added: 'FIX.Latest',\n    name: 'UnderlyingMaturityFrequencyPeriod',\n    id: 2985,\n    abbrName: 'MatFreqPeriod',\n    description:\n      'Time unit multiplier for the minimum frequency of the instrument maturity intervals.',\n  },\n  {\n    type: 'TimeUnitCodeSet',\n    addedEP: '287',\n    added: 'FIX.Latest',\n    name: 'LegMaturityFrequencyUnit',\n    id: 2986,\n    abbrName: 'MatFreqUnit',\n    description:\n      'Time unit associated with the minimum frequency of the instrument maturity intervals.\\n\\nUsage note: When LegFlexibleIndicator(2202)=Y and the leg maturity is user-defined, set LegMaturityFrequencyUnit(2986)=F (Flexible).',\n  },\n  {\n    type: 'int',\n    addedEP: '287',\n    added: 'FIX.Latest',\n    name: 'LegMaturityFrequencyPeriod',\n    id: 2987,\n    abbrName: 'MatFreqPeriod',\n    description:\n      'Time unit multiplier for the minimum frequency of the instrument maturity intervals.',\n  },\n  {\n    type: 'String',\n    addedEP: '288',\n    added: 'FIX.Latest',\n    name: 'SecurityRiskMetricsReportID',\n    id: 2988,\n    abbrName: 'RptID',\n    description: 'Unique identifier for the SecurityRiskMetricsReport(35=EG) message.',\n  },\n  {\n    type: 'String',\n    addedEP: '288',\n    added: 'FIX.Latest',\n    name: 'RiskMetricsSecurityGroup',\n    id: 2989,\n    abbrName: 'MtrcsSecGrp',\n    description:\n      'Describes a group of related instruments for which risk metrics are provided.',\n  },\n  {\n    type: 'String',\n    addedEP: '288',\n    added: 'FIX.Latest',\n    name: 'RiskMetricsSecuritySubGroup',\n    id: 2990,\n    abbrName: 'MtrcsSecSubGrp',\n    description:\n      'Describes a sub-group of a group identified by RiskMetricsSecurityGroup(2989).',\n  },\n  {\n    type: 'MetricsCalculationPriceSourceCodeSet',\n    addedEP: '288',\n    added: 'FIX.Latest',\n    name: 'MetricsCalculationPriceSource',\n    id: 2993,\n    abbrName: 'MtrcsCalcPxSrc',\n    description:\n      'Specifies the source of the price(s) of the security used in the calculation of the metrics or analytics data.',\n  },\n  {\n    type: 'AssetValuationModelCodeSet',\n    addedEP: '288',\n    added: 'FIX.Latest',\n    name: 'AssetValuationModel',\n    id: 2994,\n    abbrName: 'AssetValModel',\n    description: 'Identifies the model used for asset valuation or pricing calculations.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '288',\n    added: 'FIX.Latest',\n    name: 'NoSecurityRiskMetrics',\n    id: 2995,\n    description: 'Number of instruments with security risk metrics data.',\n  },\n  {\n    type: 'float',\n    addedEP: '288',\n    added: 'FIX.Latest',\n    name: 'Gamma',\n    id: 2996,\n    abbrName: 'Gamma',\n    description: 'The rate of change of Delta over time.',\n  },\n  {\n    type: 'float',\n    addedEP: '288',\n    added: 'FIX.Latest',\n    name: 'Rho',\n    id: 2997,\n    abbrName: 'Rho',\n    description:\n      \"The security's value rate of change in response to a 1% change in (risk-free) interest rate. Measures the security's sensitivity to interest rate change.\",\n  },\n  {\n    type: 'float',\n    addedEP: '288',\n    added: 'FIX.Latest',\n    name: 'Theta',\n    id: 2998,\n    abbrName: 'Theta',\n    description:\n      'The security\\'s price rate of change in relation to passage of time. Also known as \"time decay\".',\n  },\n  {\n    type: 'float',\n    addedEP: '288',\n    added: 'FIX.Latest',\n    name: 'Vega',\n    id: 2999,\n    abbrName: 'Vega',\n    description:\n      \"The security's price sensitivity to change in volatility of the underlying asset price.\",\n  },\n  {\n    type: 'Price',\n    addedEP: '288',\n    added: 'FIX.Latest',\n    name: 'UnderlyingBidPx',\n    id: 2991,\n    abbrName: 'UndBidPx',\n    description: 'Bid price of the underlying instrument.',\n  },\n  {\n    type: 'Price',\n    addedEP: '288',\n    added: 'FIX.Latest',\n    name: 'UnderlyingOfferPx',\n    id: 2992,\n    abbrName: 'UndOfrPx',\n    description: 'Offer price of the underlying instrument.',\n  },\n  {\n    type: 'UTCTimestamp',\n    addedEP: '288',\n    added: 'FIX.Latest',\n    name: 'VolatilityTime',\n    id: 3000,\n    abbrName: 'VolTS',\n    description: 'Time at which volatility was computed.',\n  },\n  {\n    type: 'float',\n    addedEP: '288',\n    added: 'FIX.Latest',\n    name: 'BidVolatility',\n    id: 3001,\n    abbrName: 'BidVol',\n    description: 'Volatility based on bid prices.',\n  },\n  {\n    type: 'float',\n    addedEP: '288',\n    added: 'FIX.Latest',\n    name: 'OfferVolatility',\n    id: 3002,\n    abbrName: 'OfrVol',\n    description: 'Volatility based on offer prices.',\n  },\n  {\n    type: 'float',\n    addedEP: '288',\n    added: 'FIX.Latest',\n    name: 'MidVolatility',\n    id: 3003,\n    abbrName: 'MidVol',\n    description: 'Volatility based on mid prices.',\n  },\n  {\n    type: 'UTCTimestamp',\n    addedEP: '288',\n    added: 'FIX.Latest',\n    name: 'RelativeValueTimestamp',\n    id: 3004,\n    abbrName: 'TS',\n    description:\n      'Timestamp at which the relative valuation metric or analytic is calculated or captured.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '289',\n    added: 'FIX.Latest',\n    name: 'NoTradeTypes',\n    id: 3005,\n    description: 'Number of trade types in repeating group.',\n  },\n  {\n    type: 'TrdTypeCodeSet',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '289',\n    added: 'FIX.Latest',\n    name: 'TradeType',\n    id: 3006,\n    abbrName: 'TrdTyp',\n    description:\n      'Type of trade assigned to a trade.\\n\\nNote: several enumerations of this field duplicate the enumerations in TradePriceCondition(1839) field. These may be deprecated from TradeType(3006) in the future. TradePriceCondition(1839) is preferred in messages that support it.',\n  },\n  {\n    type: 'TrdSubTypeCodeSet',\n    unionDataType: 'Reserved1000Plus',\n    addedEP: '289',\n    added: 'FIX.Latest',\n    name: 'TradeSubType',\n    id: 3007,\n    abbrName: 'TrdSubTyp',\n    description: 'Further qualification to the trade type defined in TradeType(3006).',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '291',\n    added: 'FIX.Latest',\n    name: 'NoAllocTrdRegTimestamps',\n    id: 3008,\n    description: 'Number of allocation timestamps.',\n  },\n  {\n    type: 'UTCTimestamp',\n    addedEP: '291',\n    added: 'FIX.Latest',\n    name: 'AllocTrdRegTimestamp',\n    id: 3009,\n    abbrName: 'TS',\n    description:\n      'Same as TrdRegTimestamp(769). Used to provide relevant timestamp for the allocation account.',\n  },\n  {\n    type: 'TrdRegTimestampTypeCodeSet',\n    addedEP: '291',\n    added: 'FIX.Latest',\n    name: 'AllocTrdRegTimestampType',\n    id: 3010,\n    abbrName: 'Typ',\n    description:\n      'Same as TrdRegTimestampType(770). Used to indicate the timestamp type relevant for the allocation account.',\n  },\n  {\n    type: 'String',\n    addedEP: '291',\n    added: 'FIX.Latest',\n    name: 'AllocTrdRegTimestampSrc',\n    id: 3011,\n    abbrName: 'Src',\n    description:\n      'Same as TrdRegTimestampOrigin(771). Used to indicate the \"origin\" or source of the timestamp relevant for the allocation account.',\n  },\n  {\n    type: 'String',\n    addedEP: '292',\n    added: 'FIX.Latest',\n    name: 'AlgoCertificateID',\n    id: 3012,\n    abbrName: 'CertID',\n    description:\n      'Unique identifier for a certificate issued by an algorithmic trading firm.',\n  },\n  {\n    type: 'String',\n    addedEP: '292',\n    added: 'FIX.Latest',\n    name: 'AlgoCertificateDesc',\n    id: 3013,\n    abbrName: 'CertDesc',\n    description: 'Description of a certificate issued by an algorithmic trading firm.',\n  },\n  {\n    type: 'String',\n    addedEP: '292',\n    added: 'FIX.Latest',\n    name: 'AlgoCertificateRequestID',\n    id: 3014,\n    abbrName: 'CertReqID',\n    description: 'Unique identifier of the AlgoCertificateRequest(35=EH).',\n  },\n  {\n    type: 'String',\n    addedEP: '292',\n    added: 'FIX.Latest',\n    name: 'AlgoCertificateRequestRefID',\n    id: 3015,\n    abbrName: 'CertReqRefID',\n    description: 'Reference identifier of the AlgoCertificateRequest(35=EH).',\n  },\n  {\n    type: 'AlgoCertificateRequestTransTypeCodeSet',\n    addedEP: '292',\n    added: 'FIX.Latest',\n    name: 'AlgoCertificateRequestTransType',\n    id: 3016,\n    abbrName: 'TxnTyp',\n    description: 'Identifies the message transaction type.',\n  },\n  {\n    type: 'AlgoCertificateRequestStatusCodeSet',\n    addedEP: '292',\n    added: 'FIX.Latest',\n    name: 'AlgoCertificateRequestStatus',\n    id: 3017,\n    abbrName: 'ReqStat',\n    description:\n      'Status of the AlgoCertificateRequest(35=EH) message being responded to.',\n  },\n  {\n    type: 'String',\n    addedEP: '292',\n    added: 'FIX.Latest',\n    name: 'AlgoCertificateReportID',\n    id: 3018,\n    abbrName: 'CertRptID',\n    description: 'Unique identifier of the AlgoCertificateReport(35=EJ).',\n  },\n  {\n    type: 'String',\n    addedEP: '292',\n    added: 'FIX.Latest',\n    name: 'AlgoCertificateReportRefID',\n    id: 3019,\n    abbrName: 'CertRptRefID',\n    description: 'Reference identifier of the AlgoCertificateReport(35=EJ).',\n  },\n  {\n    type: 'AlgoCertificateReportTransTypeCodeSet',\n    addedEP: '292',\n    added: 'FIX.Latest',\n    name: 'AlgoCertificateReportTransType',\n    id: 3020,\n    abbrName: 'TxnTyp',\n    description: 'Identifies the message transaction type.',\n  },\n  {\n    type: 'AlgoCertificateReportStatusCodeSet',\n    addedEP: '292',\n    added: 'FIX.Latest',\n    name: 'AlgoCertificateReportStatus',\n    id: 3021,\n    abbrName: 'RptStat',\n    description: 'Status of the report being responded to.',\n  },\n  {\n    type: 'AlgoCertificateStatusCodeSet',\n    addedEP: '292',\n    added: 'FIX.Latest',\n    name: 'AlgoCertificateStatus',\n    id: 3022,\n    abbrName: 'CertStat',\n    description: 'Status of the certification as provided by the regulatory authority.',\n  },\n  {\n    type: 'UTCTimestamp',\n    addedEP: '292',\n    added: 'FIX.Latest',\n    name: 'ApprovalTime',\n    id: 3023,\n    abbrName: 'AprvlTm',\n    description: 'Date and time the details within the message have been approved.',\n  },\n  {\n    type: 'String',\n    addedEP: '292',\n    added: 'FIX.Latest',\n    name: 'AlgoTestDesc',\n    id: 3024,\n    abbrName: 'TstDesc',\n    description: 'Description of means of testing for an algorithm.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '292',\n    added: 'FIX.Latest',\n    name: 'NoAlgoSystemModules',\n    id: 3025,\n    description: 'Number of components making up a system for algorithmic trading.',\n  },\n  {\n    type: 'String',\n    addedEP: '292',\n    added: 'FIX.Latest',\n    name: 'AlgoSystemModuleName',\n    id: 3026,\n    abbrName: 'Name',\n    description: 'Name of the component of a system for algorithmic trading.',\n  },\n  {\n    type: 'String',\n    addedEP: '292',\n    added: 'FIX.Latest',\n    name: 'AlgoSystemModuleVersion',\n    id: 3027,\n    abbrName: 'Ver',\n    description:\n      'Version (e.g. build or commit number) of the component of a system for algorithmic trading.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '292',\n    added: 'FIX.Latest',\n    name: 'NoTestScenarios',\n    id: 3028,\n    description: 'Number of test scenarios for an algorithmic trading system.',\n  },\n  {\n    type: 'String',\n    addedEP: '292',\n    added: 'FIX.Latest',\n    name: 'TestScenarioID',\n    id: 3029,\n    abbrName: 'ID',\n    description: 'Unique identifier of a test scenario for a software system.',\n  },\n  {\n    type: 'TestSuiteStatusCodeSet',\n    addedEP: '292',\n    added: 'FIX.Latest',\n    name: 'TestScenarioStatus',\n    id: 3030,\n    abbrName: 'Stat',\n    description:\n      'Identifies the overall result of a test scenario identified by TestScenarioID(3029).',\n  },\n  {\n    type: 'UTCTimestamp',\n    addedEP: '292',\n    added: 'FIX.Latest',\n    name: 'TestScenarioStartTime',\n    id: 3031,\n    abbrName: 'StartTm',\n    description:\n      'Starting date and time of test scenario execution for a software system.',\n  },\n  {\n    type: 'UTCTimestamp',\n    addedEP: '292',\n    added: 'FIX.Latest',\n    name: 'TestScenarioEndTime',\n    id: 3032,\n    abbrName: 'EndTm',\n    description: 'Ending date and time of test scenario execution for a software system.',\n  },\n  {\n    type: 'String',\n    addedEP: '292',\n    added: 'FIX.Latest',\n    name: 'MDOriginDesc',\n    id: 3033,\n    abbrName: 'MDOrigDesc',\n    description: 'Description of the origin of the market data.',\n  },\n  {\n    type: 'UTCDateOnly',\n    addedEP: '292',\n    added: 'FIX.Latest',\n    name: 'MDOriginDate',\n    id: 3034,\n    abbrName: 'MDOrigDt',\n    description: 'Date of the market data.',\n  },\n  {\n    type: 'String',\n    addedEP: '292',\n    added: 'FIX.Latest',\n    name: 'TestStepGroupID',\n    id: 3035,\n    abbrName: 'StepGrpID',\n    description:\n      'Unique identifier for the group of test steps constituting a test scenario.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '292',\n    added: 'FIX.Latest',\n    name: 'NoTestSteps',\n    id: 3036,\n    description: 'Number of test steps.',\n  },\n  {\n    type: 'String',\n    addedEP: '292',\n    added: 'FIX.Latest',\n    name: 'TestStepID',\n    id: 3037,\n    abbrName: 'ID',\n    description: 'Unique identifier of a test step.',\n  },\n  {\n    type: 'String',\n    addedEP: '292',\n    added: 'FIX.Latest',\n    name: 'TestStepDesc',\n    id: 3038,\n    abbrName: 'Desc',\n    description: 'Description of a test step.',\n  },\n  {\n    type: 'UTCTimestamp',\n    addedEP: '292',\n    added: 'FIX.Latest',\n    name: 'TestStepStartTime',\n    id: 3039,\n    abbrName: 'StartTm',\n    description: 'Starting time of a test step.',\n  },\n  {\n    type: 'int',\n    addedEP: '292',\n    added: 'FIX.Latest',\n    name: 'TestStepStartOffsetPeriod',\n    id: 3040,\n    abbrName: 'StartOfstPeriod',\n    description:\n      'Use for a starting time relative to TestScenarioStartTime(3031), i.e. the starting time of the test scenario. Required when TestStepStartOffsetUnit(3041) is specified.',\n  },\n  {\n    type: 'OrderDelayUnitCodeSet',\n    addedEP: '292',\n    added: 'FIX.Latest',\n    name: 'TestStepStartOffsetUnit',\n    id: 3041,\n    abbrName: 'StartOfstUnit',\n    description:\n      'Use for a starting time relative to TestScenarioStartTime(3031), i.e. the starting time of the test scenario. Required when TestStepStartOffsetPeriod(3040) is specified.',\n  },\n  {\n    type: 'UTCTimestamp',\n    addedEP: '292',\n    added: 'FIX.Latest',\n    name: 'TestStepEndTime',\n    id: 3042,\n    abbrName: 'EndTm',\n    description: 'Ending time of a test step.',\n  },\n  {\n    type: 'int',\n    addedEP: '292',\n    added: 'FIX.Latest',\n    name: 'TestStepEndOffsetPeriod',\n    id: 3043,\n    abbrName: 'EndOfstPeriod',\n    description:\n      'Use for an ending time relative to TestStepStartTime(3039), i.e. the starting time of this test step. Required when TestStepEndOffsetUnit(3044) is specified.',\n  },\n  {\n    type: 'OrderDelayUnitCodeSet',\n    addedEP: '292',\n    added: 'FIX.Latest',\n    name: 'TestStepEndOffsetUnit',\n    id: 3044,\n    abbrName: 'EndOfstUnit',\n    description:\n      'Use for an ending time relative to TestStepStartTime(3039), i.e. the starting time of this test step. Required when TestStepEndOffsetPeriod(3043) is specified.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '292',\n    added: 'FIX.Latest',\n    name: 'NoTestStepParameters',\n    id: 3045,\n    description: 'Number of test step parameters.',\n  },\n  {\n    type: 'String',\n    addedEP: '292',\n    added: 'FIX.Latest',\n    name: 'TestStepParameterName',\n    id: 3046,\n    abbrName: 'PrmName',\n    description: 'Name of the test step parameter.',\n  },\n  {\n    type: 'StrategyParameterTypeCodeSet',\n    addedEP: '292',\n    added: 'FIX.Latest',\n    name: 'TestStepParameterType',\n    id: 3047,\n    abbrName: 'PrmTyp',\n    description: 'Datatype of the test step parameter.',\n  },\n  {\n    type: 'String',\n    addedEP: '292',\n    added: 'FIX.Latest',\n    name: 'TestStepParameterValue',\n    id: 3048,\n    abbrName: 'PrmVal',\n    description: 'Value of the test step parameter.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '292',\n    added: 'FIX.Latest',\n    name: 'NoTestSystemModules',\n    id: 3049,\n    description: 'Number of components making up a testing system.',\n  },\n  {\n    type: 'String',\n    addedEP: '292',\n    added: 'FIX.Latest',\n    name: 'TestSystemModuleName',\n    id: 3050,\n    abbrName: 'Name',\n    description: 'Name of the component of a testing system.',\n  },\n  {\n    type: 'String',\n    addedEP: '292',\n    added: 'FIX.Latest',\n    name: 'TestSystemModuleVersion',\n    id: 3051,\n    abbrName: 'Ver',\n    description:\n      'Version (e.g. build or commit number) of the component of a testing system.',\n  },\n  {\n    type: 'NumInGroup',\n    addedEP: '292',\n    added: 'FIX.Latest',\n    name: 'NoTestMeasures',\n    id: 3052,\n    description: 'Number of results for a test scenario.',\n  },\n  {\n    type: 'String',\n    addedEP: '292',\n    added: 'FIX.Latest',\n    name: 'TestMeasureName',\n    id: 3053,\n    abbrName: 'Name',\n    description: 'Name of a test measure.',\n  },\n  {\n    type: 'String',\n    addedEP: '292',\n    added: 'FIX.Latest',\n    name: 'TestMeasureDesc',\n    id: 3054,\n    abbrName: 'Desc',\n    description: 'Description of a test measure.',\n  },\n  {\n    type: 'StrategyParameterTypeCodeSet',\n    unionDataType: 'Reserved100Plus',\n    addedEP: '292',\n    added: 'FIX.Latest',\n    name: 'TestMeasureType',\n    id: 3055,\n    abbrName: 'Typ',\n    description: 'Datatype of the metric being used for a test.',\n  },\n  {\n    type: 'int',\n    addedEP: '292',\n    added: 'FIX.Latest',\n    name: 'TestMeasurePrecision',\n    id: 3056,\n    abbrName: 'Prcsn',\n    description: 'Number of decimal places for TestMeasureType(3055).',\n  },\n  {\n    type: 'TestSuiteStatusCodeSet',\n    addedEP: '292',\n    added: 'FIX.Latest',\n    name: 'TestMeasureResult',\n    id: 3057,\n    abbrName: 'Rslt',\n    description: 'Identifies the result of an individual test based on a measure.',\n  },\n  {\n    type: 'TestThresholdTypeCodeSet',\n    addedEP: '292',\n    added: 'FIX.Latest',\n    name: 'TestThresholdType',\n    id: 3058,\n    abbrName: 'ThresholdTyp',\n    description:\n      'Identifies whether the value of a measure needs to be over or under a specific threshold to be successful.',\n  },\n  {\n    type: 'float',\n    addedEP: '292',\n    added: 'FIX.Latest',\n    name: 'TestWarningLevelValue',\n    id: 3059,\n    abbrName: 'WarnLvlVal',\n    description: 'Value of the measure upon which a warning is issued for the test.',\n  },\n  {\n    type: 'float',\n    addedEP: '292',\n    added: 'FIX.Latest',\n    name: 'TestFailLevelValue',\n    id: 3060,\n    abbrName: 'FailLvlVal',\n    description: 'Value of the measure upon which the test is considered to have failed.',\n  },\n  {\n    type: 'float',\n    addedEP: '292',\n    added: 'FIX.Latest',\n    name: 'TestPeakLevelValue',\n    id: 3061,\n    abbrName: 'PeakLvlVal',\n    description: 'Peak value of the measure achieved in testing.',\n  },\n  {\n    type: 'String',\n    addedEP: '292',\n    added: 'FIX.Latest',\n    name: 'TestSuiteRequestID',\n    id: 3062,\n    abbrName: 'TstSteReqID',\n    description: 'Unique identifier of the TestSuiteDefinitionRequest(35=EL).',\n  },\n  {\n    type: 'String',\n    addedEP: '292',\n    added: 'FIX.Latest',\n    name: 'TestSuiteRequestRefID',\n    id: 3063,\n    abbrName: 'TstSteReqRefID',\n    description: 'Reference identifier of the TestSuiteDefinitionRequest(35=EL).',\n  },\n  {\n    type: 'TestSuiteRequestTransTypeCodeSet',\n    addedEP: '292',\n    added: 'FIX.Latest',\n    name: 'TestSuiteRequestTransType',\n    id: 3064,\n    abbrName: 'TxnTyp',\n    description: 'Identifies the message transaction type.',\n  },\n  {\n    type: 'TestSuiteRequestStatusCodeSet',\n    addedEP: '292',\n    added: 'FIX.Latest',\n    name: 'TestSuiteRequestStatus',\n    id: 3065,\n    abbrName: 'ReqStat',\n    description:\n      'Status of the TestSuiteDefinitionRequest(35=EL) message being responded to.',\n  },\n  {\n    type: 'String',\n    addedEP: '292',\n    added: 'FIX.Latest',\n    name: 'TestActionRequestID',\n    id: 3066,\n    abbrName: 'ReqID',\n    description: 'Unique identifier of the TestActionRequest(35=EN).',\n  },\n  {\n    type: 'TestActionTypeCodeSet',\n    addedEP: '292',\n    added: 'FIX.Latest',\n    name: 'TestActionType',\n    id: 3067,\n    abbrName: 'ActnTyp',\n    description:\n      'Specifies the type of action to take or that was taken for a given test suite.',\n  },\n  {\n    type: 'TestActionRequestStatusCodeSet',\n    addedEP: '292',\n    added: 'FIX.Latest',\n    name: 'TestActionRequestStatus',\n    id: 3068,\n    abbrName: 'ReqStat',\n    description: 'Status of the TestActionRequest(35=EN) message being responded to.',\n  },\n  {\n    type: 'TestSuiteActivityStateCodeSet',\n    addedEP: '292',\n    added: 'FIX.Latest',\n    name: 'TestSuiteActivityState',\n    id: 3069,\n    abbrName: 'TstSteActvtySt',\n    description: 'Specifies the activity state the test suite is in.',\n  },\n  {\n    type: 'TestSuiteStatusCodeSet',\n    addedEP: '292',\n    added: 'FIX.Latest',\n    name: 'TestSuiteStatus',\n    id: 3070,\n    abbrName: 'TstSteStat',\n    description:\n      'Identifies the overall test result of a group of individual test scenarios.',\n  },\n  {\n    type: 'String',\n    addedEP: '292',\n    added: 'FIX.Latest',\n    name: 'TestActionReportID',\n    id: 3071,\n    abbrName: 'RptID',\n    description: 'Identifier of the test action report.',\n  },\n];\n\nexport const FIELDS: ISpecFields[] = batch1.concat(\n  batch2,\n  batch3,\n  batch4,\n  batch5,\n  batch6,\n  batch7,\n  batch8\n);\n", "export interface ISpecCategories {\n  name: string;\n  FIXMLFileName: string;\n  componentType: string;\n  section?: string;\n  added?: string;\n  addedEP?: string;\n  includeFile?: string;\n  description?: string;\n}\nexport const CATEGORIES: ISpecCategories[] = [\n  {\n    FIXMLFileName: 'session',\n    section: 'Session',\n    componentType: 'Message',\n    name: 'Session',\n  },\n  {\n    FIXMLFileName: 'indications',\n    section: 'PreTrade',\n    includeFile: 'components',\n    componentType: 'Message',\n    name: 'Indication',\n  },\n  {\n    FIXMLFileName: 'order',\n    section: 'Trade',\n    includeFile: 'components',\n    componentType: 'Message',\n    name: 'SingleGeneralOrderHandling',\n  },\n  {\n    FIXMLFileName: 'newsevents',\n    section: 'PreTrade',\n    includeFile: 'components',\n    componentType: 'Message',\n    name: 'EventCommunication',\n  },\n  {\n    FIXMLFileName: 'listorders',\n    section: 'Trade',\n    includeFile: 'components',\n    componentType: 'Message',\n    name: 'ProgramTrading',\n  },\n  {\n    FIXMLFileName: 'ordermasshandling',\n    section: 'Trade',\n    includeFile: 'components',\n    componentType: 'Message',\n    name: 'OrderMassHandling',\n  },\n  {\n    FIXMLFileName: 'allocation',\n    section: 'PostTrade',\n    includeFile: 'components',\n    componentType: 'Message',\n    name: 'Allocation',\n  },\n  {\n    FIXMLFileName: 'quotation',\n    section: 'PreTrade',\n    includeFile: 'components',\n    componentType: 'Message',\n    name: 'QuotationNegotiation',\n  },\n  {\n    FIXMLFileName: 'settlement',\n    section: 'PostTrade',\n    includeFile: 'components',\n    componentType: 'Message',\n    name: 'SettlementInstruction',\n  },\n  {\n    FIXMLFileName: 'marketdata',\n    section: 'PreTrade',\n    includeFile: 'components',\n    componentType: 'Message',\n    name: 'MarketData',\n  },\n  {\n    FIXMLFileName: 'components',\n    includeFile: 'fields',\n    componentType: 'Message',\n    name: 'Common',\n  },\n  {\n    FIXMLFileName: 'registration',\n    section: 'PostTrade',\n    includeFile: 'components',\n    componentType: 'Message',\n    name: 'RegistrationInstruction',\n  },\n  {\n    FIXMLFileName: 'crossorders',\n    section: 'Trade',\n    includeFile: 'components',\n    componentType: 'Message',\n    name: 'CrossOrders',\n  },\n  {\n    FIXMLFileName: 'multilegorders',\n    section: 'Trade',\n    includeFile: 'components',\n    componentType: 'Message',\n    name: 'MultilegOrders',\n  },\n  {\n    FIXMLFileName: 'tradecapture',\n    section: 'PostTrade',\n    includeFile: 'components',\n    componentType: 'Message',\n    name: 'TradeCapture',\n  },\n  {\n    FIXMLFileName: 'confirmation',\n    section: 'PostTrade',\n    includeFile: 'components',\n    componentType: 'Message',\n    name: 'Confirmation',\n  },\n  {\n    FIXMLFileName: 'positions',\n    section: 'PostTrade',\n    includeFile: 'components',\n    componentType: 'Message',\n    name: 'PositionMaintenance',\n  },\n  {\n    FIXMLFileName: 'collateral',\n    section: 'PostTrade',\n    includeFile: 'components',\n    componentType: 'Message',\n    name: 'CollateralManagement',\n  },\n  {\n    FIXMLFileName: 'application',\n    section: 'Infrastructure',\n    includeFile: 'components',\n    componentType: 'Message',\n    name: 'Application',\n  },\n  {\n    FIXMLFileName: 'businessreject',\n    section: 'Infrastructure',\n    includeFile: 'components',\n    componentType: 'Message',\n    name: 'BusinessReject',\n  },\n  {\n    FIXMLFileName: 'network',\n    section: 'Infrastructure',\n    includeFile: 'components',\n    componentType: 'Message',\n    name: 'Network',\n  },\n  {\n    FIXMLFileName: 'usermanagement',\n    section: 'Infrastructure',\n    includeFile: 'components',\n    componentType: 'Message',\n    name: 'UserManagement',\n  },\n  {\n    FIXMLFileName: 'fields',\n    componentType: 'Field',\n    name: 'Fields',\n  },\n  {\n    FIXMLFileName: 'fields',\n    componentType: 'Field',\n    name: 'ImplFields',\n  },\n  {\n    FIXMLFileName: 'marketstructure',\n    includeFile: 'components',\n    componentType: 'Message',\n    addedEP: '97',\n    section: 'PreTrade',\n    added: 'FIX.5.0SP1',\n    name: 'MarketStructureReferenceData',\n  },\n  {\n    FIXMLFileName: 'securitiesreference',\n    includeFile: 'components',\n    componentType: 'Message',\n    addedEP: '97',\n    section: 'PreTrade',\n    added: 'FIX.5.0SP1',\n    name: 'SecuritiesReferenceData',\n  },\n  {\n    FIXMLFileName: 'marginrequirement',\n    includeFile: 'components',\n    componentType: 'Message',\n    addedEP: '102',\n    section: 'PostTrade',\n    added: 'FIX.5.0SP2',\n    name: 'MarginRequirementManagement',\n  },\n  {\n    FIXMLFileName: 'partiesreference',\n    includeFile: 'components',\n    componentType: 'Message',\n    addedEP: '105',\n    section: 'PreTrade',\n    added: 'FIX.5.0SP2',\n    name: 'PartiesReferenceData',\n  },\n  {\n    FIXMLFileName: 'accountreporting',\n    includeFile: 'components',\n    componentType: 'Message',\n    addedEP: '117',\n    section: 'PostTrade',\n    added: 'FIX.5.0SP2',\n    name: 'AccountReporting',\n    description: 'Account Reporting',\n  },\n  {\n    FIXMLFileName: 'partiesaction',\n    includeFile: 'components',\n    componentType: 'Message',\n    addedEP: '171',\n    section: 'PreTrade',\n    added: 'FIX.5.0SP2',\n    name: 'PartiesAction',\n    description:\n      'The PartiesAction category of messages is a set of messages that are used to take an action on party information as a result of risk management decisions made during the trading day.',\n  },\n  {\n    FIXMLFileName: 'trademanagement',\n    includeFile: 'components',\n    componentType: 'Message',\n    addedEP: '247',\n    section: 'PostTrade',\n    added: 'FIX.5.0SP2',\n    name: 'TradeManagement',\n  },\n  {\n    FIXMLFileName: 'paymgt',\n    includeFile: 'components',\n    componentType: 'Message',\n    addedEP: '249',\n    section: 'PostTrade',\n    added: 'FIX.5.0SP2',\n    name: 'PayManagement',\n    description:\n      'Messages used to initiate and confirm expected or future payments to be made or received related to servicing of contracts or transactions after trade settlement. These messages are not intended to instruct or initiate remittance of funds transfers with banks.',\n  },\n  {\n    FIXMLFileName: 'settlstatmgmt',\n    includeFile: 'components',\n    componentType: 'Message',\n    addedEP: '281',\n    section: 'PostTrade',\n    added: 'FIX.Latest',\n    name: 'SettlementStatusManagement',\n    description:\n      'Messages used to request for or communicate securities settlement status once the settlement process has been initiated via existing industry norms. These messages are not intended to instruct or initiate securities settlement process.',\n  },\n  {\n    FIXMLFileName: 'testing',\n    includeFile: 'components',\n    componentType: 'Message',\n    addedEP: '292',\n    section: 'PreTrade',\n    added: 'FIX.Latest',\n    name: 'Testing',\n    description:\n      'Messages used to request for or communicate information related to testing, e.g. algorithmic trading and related testing.',\n  },\n];\n", "import type { ISpecCategories } from '../../spec/SpecCategories';\n\nexport class CategoryType {\n  public categoryID: string | null = null;\n  public fixmlFileName: string | null = null;\n  public componentType: string | null = null;\n  public sectionID: string | null = null;\n  public includeFile: string | null = null;\n\n  public setCategory(category: ISpecCategories): void {\n    this.categoryID = category.name;\n    this.fixmlFileName = category.FIXMLFileName;\n    this.componentType = category.componentType;\n    this.sectionID = category.section!;\n    this.includeFile = category.includeFile!;\n  }\n\n  public reset(): void {\n    this.categoryID = null;\n    this.fixmlFileName = null;\n    this.componentType = null;\n    this.sectionID = null;\n    this.includeFile = null;\n  }\n}\n", "import { CATEGORIES, type ISpecCategories } from '../../spec/SpecCategories';\nimport type { Field } from '../Field';\nimport { CategoryType } from './CategoryType';\n\nexport class Categories {\n  public categories: ISpecCategories[] = CATEGORIES;\n  public cacheMap: Map<string, ISpecCategories> = new Map<string, ISpecCategories>();\n  public categoryType: CategoryType = new CategoryType();\n\n  constructor() {\n    this.categories.forEach((category: ISpecCategories) => {\n      this.cacheMap.set(category.name, category);\n    });\n  }\n\n  public processCategory(field: Field, baseCategory: string): void {\n    this.categoryType.reset();\n    const categoryData: ISpecCategories | undefined = this.cacheMap.get(baseCategory);\n    if (categoryData) {\n      this.categoryType.setCategory(categoryData);\n      field.setCategory(this.categoryType);\n    }\n  }\n}\n", "export interface ISpecDatatypes {\n  name: string;\n  added: string;\n  addedEP?: string;\n  updated?: string;\n  updatedEP?: string;\n  baseType?: string;\n  mappedDatatype?: {\n    builtin: string;\n    base: string;\n    standard: string;\n    minInclusive?: string;\n    pattern?: string;\n    description?: string;\n  };\n  description?: string;\n}\nexport const DATATYPES: ISpecDatatypes[] = [\n  {\n    name: 'int',\n    updatedEP: '271',\n    updated: 'FIX.Latest',\n    added: 'FIX.2.7',\n    mappedDatatype: {\n      base: 'xs:integer',\n      builtin: 'true',\n      standard: 'XML',\n    },\n    description:\n      'Sequence of digits without commas or decimals and optional sign character (ASCII characters \"-\" and \"0\" - \"9\" ). The sign character utilizes one byte (i.e. positive int is \"99999\" while negative int is \"-99999\"). Note that int values may contain leading zeros (e.g. \"00023\" = \"23\").',\n  },\n  {\n    name: 'Length',\n    baseType: 'int',\n    added: 'FIX.4.3',\n    mappedDatatype: {\n      base: 'xs:nonNegativeInteger',\n      builtin: 'false',\n      standard: 'XML',\n      description: 'int field representing the length in bytes. Value must be positive.',\n    },\n    description: 'int field representing the length in bytes. Value must be positive.',\n  },\n  {\n    baseType: 'int',\n    updated: 'FIX.Latest',\n    updatedEP: '271',\n    added: 'FIX.4.3',\n    name: 'TagNum',\n    mappedDatatype: {\n      base: 'xs:nonNegativeInteger',\n      builtin: 'false',\n      standard: 'XML',\n      description:\n        'int field representing a tag number. Value must be positive and may not contain leading zeros.',\n    },\n    description:\n      'int field representing a field\\'s tag number when using FIX \"Tag=Value\" syntax. Value must be positive and may not contain leading zeros.',\n  },\n  {\n    name: 'SeqNum',\n    baseType: 'int',\n    added: 'FIX.4.3',\n    mappedDatatype: {\n      base: 'xs:positiveInteger',\n      builtin: 'false',\n      standard: 'XML',\n      description:\n        'int field representing a message sequence number. Value must be positive.',\n    },\n    description:\n      'int field representing a message sequence number. Value must be positive.',\n  },\n  {\n    name: 'NumInGroup',\n    baseType: 'int',\n    added: 'FIX.4.3',\n    description:\n      'int field representing the number of entries in a repeating group. Value must be positive.',\n  },\n  {\n    baseType: 'int',\n    updated: 'FIX.Latest',\n    updatedEP: '271',\n    added: 'FIX.4.1',\n    name: 'DayOfMonth',\n    mappedDatatype: {\n      base: 'xs:integer',\n      builtin: 'false',\n      standard: 'XML',\n      description:\n        'int field representing a day during a particular month (values 1 to 31).',\n    },\n    description:\n      'int field representing a day during a particular month (values 1 to 31).',\n  },\n  {\n    name: 'float',\n    updatedEP: '206',\n    updated: 'FIX.5.0SP2',\n    added: 'FIX.2.7',\n    mappedDatatype: {\n      base: 'xs:decimal',\n      builtin: 'true',\n      standard: 'XML',\n      description:\n        'Sequence of digits with optional decimal point and sign character (ASCII characters \"-\", \"0\" - \"9\" and \".\"); the absence of the decimal point within the string will be interpreted as the float representation of an integer value. All float fields must accommodate up to fifteen significant digits. The number of decimal places used should be a factor of business/market needs and mutual agreement between counterparties. Note that float values may contain leading zeros (e.g. \"00023.23\" = \"23.23\") and may contain or omit trailing zeros after the decimal point (e.g. \"23.0\" = \"23.0000\" = \"23\" = \"23.\"). Note that fields which are derived from float may contain negative values unless explicitly specified otherwise.',\n    },\n    description:\n      'Sequence of digits with optional decimal point and sign character (ASCII characters \"-\", \"0\" - \"9\" and \".\"); the absence of the decimal point within the string will be interpreted as the float representation of an integer value. All float fields must accommodate up to fifteen significant digits. The number of decimal places used should be a factor of business/market needs and mutual agreement between counterparties. Note that float values may contain leading zeros (e.g. \"00023.23\" = \"23.23\") and may contain or omit trailing zeros after the decimal point (e.g. \"23.0\" = \"23.0000\" = \"23\" = \"23.\"). Note that fields which are derived from float may contain negative values unless explicitly specified otherwise.',\n  },\n  {\n    name: 'Qty',\n    baseType: 'float',\n    added: 'FIX.4.2',\n    mappedDatatype: {\n      base: 'xs:decimal',\n      builtin: 'false',\n      standard: 'XML',\n      description:\n        'float field capable of storing either a whole number (no decimal places) of \"shares\" (securities denominated in whole units) or a decimal value containing decimal places for non-share quantity asset classes (securities denominated in fractional units).',\n    },\n    description:\n      'float field capable of storing either a whole number (no decimal places) of \"shares\" (securities denominated in whole units) or a decimal value containing decimal places for non-share quantity asset classes (securities denominated in fractional units).',\n  },\n  {\n    name: 'Price',\n    baseType: 'float',\n    added: 'FIX.4.2',\n    mappedDatatype: {\n      base: 'xs:decimal',\n      builtin: 'false',\n      standard: 'XML',\n      description:\n        'float field representing a price. Note the number of decimal places may vary. For certain asset classes prices may be negative values. For example, prices for options strategies can be negative under certain market conditions. Refer to Volume 7: FIX Usage by Product for asset classes that support negative price values.',\n    },\n    description:\n      'float field representing a price. Note the number of decimal places may vary. For certain asset classes prices may be negative values. For example, prices for options strategies can be negative under certain market conditions. Refer to Volume 7: FIX Usage by Product for asset classes that support negative price values.',\n  },\n  {\n    name: 'PriceOffset',\n    baseType: 'float',\n    added: 'FIX.4.2',\n    mappedDatatype: {\n      base: 'xs:decimal',\n      builtin: 'false',\n      standard: 'XML',\n      description:\n        'float field representing a price offset, which can be mathematically added to a \"Price\". Note the number of decimal places may vary and some fields such as LastForwardPoints may be negative.',\n    },\n    description:\n      'float field representing a price offset, which can be mathematically added to a \"Price\". Note the number of decimal places may vary and some fields such as LastForwardPoints may be negative.',\n  },\n  {\n    name: 'Amt',\n    baseType: 'float',\n    added: 'FIX.4.2',\n    mappedDatatype: {\n      base: 'xs:decimal',\n      builtin: 'false',\n      standard: 'XML',\n      description: 'float field typically representing a Price times a Qty',\n    },\n    description: 'float field typically representing a Price times a Qty',\n  },\n  {\n    name: 'Percentage',\n    baseType: 'float',\n    added: 'FIX.4.3',\n    mappedDatatype: {\n      base: 'xs:decimal',\n      builtin: 'false',\n      standard: 'XML',\n      description:\n        'float field representing a percentage (e.g. 0.05 represents 5% and 0.9525 represents 95.25%). Note the number of decimal places may vary.',\n    },\n    description:\n      'float field representing a percentage (e.g. 0.05 represents 5% and 0.9525 represents 95.25%). Note the number of decimal places may vary.',\n  },\n  {\n    name: 'char',\n    updatedEP: '206',\n    updated: 'FIX.5.0SP2',\n    added: 'FIX.2.7',\n    mappedDatatype: {\n      base: 'xs:string',\n      builtin: 'false',\n      standard: 'XML',\n      description:\n        'Single character value, can include any alphanumeric character or punctuation except the delimiter. All char fields are case sensitive (i.e. m != M).',\n    },\n    description:\n      'Single character value, can include any alphanumeric character or punctuation except the delimiter. All char fields are case sensitive (i.e. m != M).',\n  },\n  {\n    name: 'Boolean',\n    baseType: 'char',\n    added: 'FIX.4.2',\n    mappedDatatype: {\n      base: 'xs:string',\n      builtin: 'false',\n      pattern: '[YN]{1}',\n      standard: 'XML',\n      description:\n        \"char field containing one of two values:\\n\\n'Y' = True/Yes\\n\\n'N' = False/No\",\n    },\n    description:\n      \"char field containing one of two values:\\n\\n'Y' = True/Yes\\n\\n'N' = False/No\",\n  },\n  {\n    name: 'String',\n    added: 'FIX.4.2',\n    mappedDatatype: {\n      base: 'xs:string',\n      builtin: 'true',\n      standard: 'XML',\n      description:\n        'Alpha-numeric free format strings, can include any character or punctuation except the delimiter. All String fields are case sensitive (i.e. morstatt != Morstatt).',\n    },\n    description:\n      'Alpha-numeric free format strings, can include any character or punctuation except the delimiter. All String fields are case sensitive (i.e. morstatt != Morstatt).',\n  },\n  {\n    name: 'MultipleCharValue',\n    baseType: 'String',\n    added: 'FIX.4.4',\n    mappedDatatype: {\n      base: 'xs:string',\n      builtin: 'false',\n      pattern: '[A-Za-z0-9](\\\\s[A-Za-z0-9])*',\n      standard: 'XML',\n      description:\n        'string field containing one or more space delimited single character values (e.g. |18=2 A F| ).',\n    },\n    description:\n      'string field containing one or more space delimited single character values (e.g. |18=2 A F| ).',\n  },\n  {\n    name: 'MultipleStringValue',\n    baseType: 'String',\n    added: 'FIX.4.2',\n    mappedDatatype: {\n      base: 'xs:string',\n      builtin: 'false',\n      pattern: '.+(\\\\s.+)*',\n      standard: 'XML',\n      description:\n        'string field containing one or more space delimited multiple character values (e.g. |277=AV AN A| ).',\n    },\n    description:\n      'string field containing one or more space delimited multiple character values (e.g. |277=AV AN A| ).',\n  },\n  {\n    name: 'Country',\n    baseType: 'String',\n    added: 'FIX.4.4',\n    mappedDatatype: {\n      base: 'xs:string',\n      builtin: 'false',\n      pattern: '.{2}',\n      standard: 'XML',\n      description:\n        'string field representing a country using ISO 3166 Country code (2 character) values (see Appendix 6-B).',\n    },\n    description:\n      'string field representing a country using ISO 3166 Country code (2 character) values (see Appendix 6-B).',\n  },\n  {\n    name: 'Currency',\n    baseType: 'String',\n    added: 'FIX.4.2',\n    mappedDatatype: {\n      base: 'xs:string',\n      builtin: 'false',\n      pattern: '.{3}',\n      standard: 'XML',\n      description:\n        'string field representing a currency type using ISO 4217 Currency code (3 character) values (see Appendix 6-A).',\n    },\n    description:\n      'string field representing a currency type using ISO 4217 Currency code (3 character) values (see Appendix 6-A).',\n  },\n  {\n    name: 'Exchange',\n    baseType: 'String',\n    added: 'FIX.4.2',\n    mappedDatatype: {\n      base: 'xs:string',\n      builtin: 'false',\n      pattern: '.*',\n      standard: 'XML',\n      description:\n        'string field representing a market or exchange using ISO 10383 Market Identifier Code (MIC) values (see\"Appendix 6-C).',\n    },\n    description:\n      'string field representing a market or exchange using ISO 10383 Market Identifier Code (MIC) values (see\"Appendix 6-C).',\n  },\n  {\n    name: 'MonthYear',\n    baseType: 'String',\n    added: 'FIX.4.1',\n    mappedDatatype: {\n      base: 'xs:string',\n      builtin: 'false',\n      pattern: '\\\\d{4}(0|1)\\\\d([0-3wW]\\\\d)?',\n      standard: 'XML',\n      description:\n        'string field representing month of a year. An optional day of the month can be appended or an optional week code.\\n\\nValid formats:\\n\\nYYYYMM\\n\\nYYYYMMDD\\n\\nYYYYMMWW\\n\\nValid values:\\n\\nYYYY = 0000-9999; MM = 01-12; DD = 01-31; WW = w1, w2, w3, w4, w5.',\n    },\n    description:\n      'string field representing month of a year. An optional day of the month can be appended or an optional week code.\\n\\nValid formats:\\n\\nYYYYMM\\n\\nYYYYMMDD\\n\\nYYYYMMWW\\n\\nValid values:\\n\\nYYYY = 0000-9999; MM = 01-12; DD = 01-31; WW = w1, w2, w3, w4, w5.',\n  },\n  {\n    baseType: 'String',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '256',\n    added: 'FIX.4.2',\n    name: 'UTCTimestamp',\n    mappedDatatype: {\n      base: 'xs:dateTime',\n      builtin: 'false',\n      standard: 'XML',\n      description:\n        'string field representing date and time combination Universal Time Coordinated (UTC), also known as Greenwich Mean Time (GMT).\\n\\nIts value space is described as the combination of date and time of day in the Chapter 5.4 of ISO 8601.\\n\\nValid values are in the format YYYY-MM-DDTHH:MM:SS.s where YYYY = 0000-9999 year, MM = 01-12 month, DD = 01-31 day, HH = 00-23 hour, MM = 00-59 minute, SS = 00-60 second (60 only if UTC leap second), and optionally one or more digits representing a decimal fraction of a second.\\n\\nThe punctuation of \"-\", \":\" and the string value of \"T\" to separate the date and time are required. The \".\" is only required when sub-second time precision is specified.\\n\\nLeap Seconds: Note that UTC includes corrections for leap seconds, which are inserted to account for slowing of the rotation of the earth. Leap second insertion is declared by the International Earth Rotation Service (IERS) and has, since 1972, only occurred on the night of Dec. 31 or Jun 30. The IERS considers March 31 and September 30 as secondary dates for leap second insertion, but has never utilized these dates. During a leap second insertion, a UTCTimestamp field may read \"1998-12-31T23:59:59\", \"1998-12-31T23:59:60\", \"1999-01-01T00:00:00\". (see http://tycho.usno.navy.mil/leapsec.html)',\n    },\n    description:\n      'string field representing time/date combination represented in UTC (Universal Time Coordinated, also known as \"GMT\") in either YYYYMMDD-HH:MM:SS (whole seconds) or YYYYMMDD-HH:MM:SS.sss* format, colons, dash, and period required.\\n\\nValid values:\\n\\nYYYY = 0000-9999, MM = 01-12, DD = 01-31, HH = 00-23, MM = 00-59, SS = 00-60 (60 only if UTC leap second), sss* fractions of seconds.\\n\\nThe fractions of seconds may be empty when no fractions of seconds are conveyed (in such a case the period is not conveyed), it may include 3 digits to convey milliseconds, 6 digits to convey microseconds, 9 digits to convey nanoseconds, 12 digits to convey picoseconds; Other number of digits may be used with bilateral agreement.\\n\\nLeap Seconds: Note that UTC includes corrections for leap seconds, which are inserted to account for slowing of the rotation of the earth. Leap second insertion is declared by the International Earth Rotation Service (IERS) and has, since 1972, only occurred on the night of Dec. 31 or Jun 30. The IERS considers March 31 and September 30 as secondary dates for leap second insertion, but has never utilized these dates. During a leap second insertion, a UTCTimestamp field may read \"19981231-23:59:59\", \"19981231-23:59:60\", \"19990101-00:00:00\". (see http://tycho.usno.navy.mil/leapsec.html)',\n  },\n  {\n    baseType: 'String',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '206',\n    added: 'FIX.4.2',\n    name: 'UTCTimeOnly',\n    mappedDatatype: {\n      base: 'xs:time',\n      builtin: 'false',\n      standard: 'XML',\n      description:\n        'string field representing time-only in Universal Time Coordinated (UTC), also known as Greenwich Mean Time (GMT).\\n\\nIts value space is described as the time of day in the Chapter 5.4 of ISO 8601.\\n\\nValid values are in the format HH:MM:SS.s where HH = 00-23 hours, MM = 00-59 minutes, SS = 00-60 seconds (60 only if UTC leap second), and optionally s (one or more digits representing a decimal fraction of a second).\\n\\nThe punctuation of \":\" between hours minutes and seconds are required. The \".\" is only required when sub-second time precision is specified.\\n\\nThis special-purpose field is paired with UTCDateOnly to form a proper UTCTimestamp for bandwidth-sensitive messages.',\n    },\n    description:\n      'string field representing time-only represented in UTC (Universal Time Coordinated, also known as \"GMT\") in either HH:MM:SS (whole seconds) or HH:MM:SS.sss* (milliseconds) format, colons, and period required. This special-purpose field is paired with UTCDateOnly to form a proper UTCTimestamp for bandwidth-sensitive messages.\\n\\nValid values:\\n\\nHH = 00-23, MM = 00-59, SS = 00-60 (60 only if UTC leap second), sss* fractions of seconds. The fractions of seconds may be empty when no fractions of seconds are conveyed (in such a case the period is not conveyed), it may include 3 digits to convey milliseconds, 6 digits to convey microseconds, 9 digits to convey nanoseconds, 12 digits to convey picoseconds; Other number of digits may be used with bilateral agreement.',\n  },\n  {\n    baseType: 'String',\n    updated: 'FIX.Latest',\n    updatedEP: '271',\n    added: 'FIX.4.4',\n    name: 'UTCDateOnly',\n    mappedDatatype: {\n      base: 'xs:date',\n      builtin: 'false',\n      standard: 'XML',\n      description:\n        'string field representing Date represented in UTC (Universal Time Coordinated, also known as GMT) in YYYY-MM-DD format specified in ISO 8601. This special-purpose field is paired with UTCTimeOnly to form a proper UTCTimestamp for bandwidth-sensitive messages.\\n\\nValid values:\\n\\nYYYY = 0000-9999, MM = 01-12, DD = 01-31.',\n    },\n    description:\n      'string field representing Date represented in UTC (Universal Time Coordinated, also known as \"GMT\") in YYYYMMDD format. This special-purpose field is paired with UTCTimeOnly to form a proper UTCTimestamp for bandwidth-sensitive messages.\\n\\nValid values:\\n\\nYYYY = 0000-9999, MM = 01-12, DD = 01-31.',\n  },\n  {\n    baseType: 'String',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '206',\n    added: 'FIX.4.2',\n    name: 'LocalMktDate',\n    mappedDatatype: {\n      base: 'xs:date',\n      builtin: 'false',\n      standard: 'XML',\n      description:\n        'string field representing a Date of Local Market (as opposed to UTC) in YYYY-MM-DD format. This is the \"normal\" date field used by the FIX Protocol.\\n\\nValid values:\\n\\nYYYY = 0000-9999, MM = 01-12, DD = 01-31.',\n    },\n    description:\n      'string field representing a Date of Local Market (as opposed to UTC) in YYYYMMDD format. This is the \"normal\" date field used by the FIX Protocol.\\n\\nValid values:\\n\\nYYYY = 0000-9999, MM = 01-12, DD = 01-31',\n  },\n  {\n    baseType: 'String',\n    updated: 'FIX.5.0SP2',\n    addedEP: '-1',\n    updatedEP: '206',\n    added: 'FIX.4.4',\n    name: 'TZTimeOnly',\n    mappedDatatype: {\n      base: 'xs:time',\n      builtin: 'true',\n      standard: 'XML',\n      description:\n        'string field representing the time based on ISO 8601. This is the time with a Universal Time Coordinated(UTC) offset to allow identification of local time and timezone.\\n\\nIts value space is described as the combination of date and time of day in the Chapter 5.4 of ISO 8601.\\n\\nValid values are in the format HH:MM[:SS][Z | [ + | - hh[:mm]]] where HH = 00-23 hours, MM = 00-59 minutes, SS = 00-59 seconds, hh = 01-12 offset hours, mm = 00-59 offset minutes.\\n\\nThe punctuation of \":\" are required. The \"Z\" or \"+\" or \"-\" are optional to denote a time zone offset.',\n    },\n    description:\n      'string field representing the time represented based on ISO 8601. This is the time with a UTC offset to allow identification of local time and timezone of that time.\\n\\nFormat is HH:MM[:SS][Z | [ + | - hh[:mm]]] where HH = 00-23 hours, MM = 00-59 minutes, SS = 00-59 seconds, hh = 01-12 offset hours, mm = 00-59 offset minutes.',\n  },\n  {\n    baseType: 'String',\n    updated: 'FIX.5.0SP2',\n    addedEP: '-1',\n    updatedEP: '206',\n    added: 'FIX.4.4',\n    name: 'TZTimestamp',\n    mappedDatatype: {\n      base: 'xs:dateTime',\n      builtin: 'true',\n      standard: 'XML',\n      description:\n        'string field representing a date and time combination in local time with an optional offset to Univeral Time Coordinated (UTC). Its vaue space is described as the combination of date and time of day in the Chapter 5.4 of based on ISO 8601.\\n\\nValid values are in the fFormat is YYYY-MM-DD-THH:MM:SS.s*[Z | [ + | - hh[:mm]]] where YYYY = 0000 to 9999 year, MM = 01-12 month, DD = 01-31 day, HH = 00-23 hours, MM = 00-59 minutes, SS = 00-59 seconds, hh = 01-12 offset hours, mm = 00-59 offset minutes, and optionally sss (one or more digits representing a decimal fraction of a second), hh = 01-12 offset hours, mm = 00-59 offset minutes.\\n\\nThe punctuation of \"-\", \":\" and the string value of \"T\" to separate the date and time are required. The \".\" is only required when sub-second time precision is specified. The \"Z\" or \"+\" or \"-\" are optional to denote an optional time zone offset.',\n    },\n    description:\n      'string field representing a time/date combination representing local time with an offset to UTC to allow identification of local time and timezone offset of that time. The representation is based on ISO 8601.\\n\\nFormat is YYYYMMDD-HH:MM:SS.sss*[Z | [ + | - hh[:mm]]] where YYYY = 0000 to 9999, MM = 01-12, DD = 01-31 HH = 00-23 hours, MM = 00-59 minutes, SS = 00-59 seconds, hh = 01-12 offset hours, mm = 00-59 offset minutes, sss* fractions of seconds. The fractions of seconds may be empty when no fractions of seconds are conveyed (in such a case the period is not conveyed), it may include 3 digits to convey milliseconds, 6 digits to convey microseconds, 9 digits to convey nanoseconds, 12 digits to convey picoseconds; Other number of digits may be used with bilateral agreement',\n  },\n  {\n    baseType: 'String',\n    updated: 'FIX.5.0SP2',\n    updatedEP: '208',\n    added: 'FIX.2.7',\n    name: 'data',\n    mappedDatatype: {\n      base: 'xs:base64Binary',\n      builtin: 'true',\n      standard: 'XML',\n      description: 'In FIXML, all data type fields are using base64Binary encoding.',\n    },\n    description:\n      'string field containing raw data with no format or content restrictions. Data fields are always immediately preceded by a length field. The length field should specify the number of bytes of the value of the data field (up to but not including the terminating SOH).\\n\\nCaution: the value of one of these fields may contain the delimiter (SOH) character. Note that the value specified for this field should be followed by the delimiter (SOH) character as all fields are terminated with an \"SOH\".',\n  },\n  {\n    name: 'Pattern',\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    description:\n      'Used to build on and provide some restrictions on what is allowed as valid values in fields that uses a base FIX data type and a pattern data type. The universe of allowable valid values for the field would then be the union of the base set of valid values and what is defined by the pattern data type. The pattern data type used by the field will retain its base FIX data type (e.g. String, int, char).',\n  },\n  {\n    name: 'Tenor',\n    baseType: 'Pattern',\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    mappedDatatype: {\n      base: 'xs:string',\n      builtin: 'false',\n      pattern: '[DMWY](\\\\d)+',\n      standard: 'XML',\n      description:\n        'used to allow the expression of FX standard tenors in addition to the base valid enumerations defined for the field that uses this pattern data type. This pattern data type is defined as follows:\\n\\nDx = tenor expression for \"days\", e.g. \"D5\", where \"x\" is any integer > 0\\n\\nMx = tenor expression for \"months\", e.g. \"M3\", where \"x\" is any integer > 0\\n\\nWx = tenor expression for \"weeks\", e.g. \"W13\", where \"x\" is any integer > 0\\n\\nYx = tenor expression for \"years\", e.g. \"Y1\", where \"x\" is any integer > 0',\n    },\n    description:\n      'used to allow the expression of FX standard tenors in addition to the base valid enumerations defined for the field that uses this pattern data type. This pattern data type is defined as follows:\\n\\nDx = tenor expression for \"days\", e.g. \"D5\", where \"x\" is any integer > 0\\n\\nMx = tenor expression for \"months\", e.g. \"M3\", where \"x\" is any integer > 0\\n\\nWx = tenor expression for \"weeks\", e.g. \"W13\", where \"x\" is any integer > 0\\n\\nYx = tenor expression for \"years\", e.g. \"Y1\", where \"x\" is any integer > 0',\n  },\n  {\n    name: 'Reserved100Plus',\n    baseType: 'Pattern',\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    mappedDatatype: {\n      base: 'xs:integer',\n      builtin: 'false',\n      minInclusive: '100',\n      standard: 'XML',\n      description:\n        'Values \"100\" and above are reserved for bilaterally agreed upon user defined enumerations.',\n    },\n    description:\n      'Values \"100\" and above are reserved for bilaterally agreed upon user defined enumerations.',\n  },\n  {\n    name: 'Reserved1000Plus',\n    baseType: 'Pattern',\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    mappedDatatype: {\n      base: 'xs:integer',\n      builtin: 'false',\n      minInclusive: '1000',\n      standard: 'XML',\n      description:\n        'Values \"1000\" and above are reserved for bilaterally agreed upon user defined enumerations.',\n    },\n    description:\n      'Values \"1000\" and above are reserved for bilaterally agreed upon user defined enumerations.',\n  },\n  {\n    name: 'Reserved4000Plus',\n    baseType: 'Pattern',\n    added: 'FIX.4.4',\n    addedEP: '-1',\n    mappedDatatype: {\n      base: 'xs:integer',\n      builtin: 'false',\n      minInclusive: '4000',\n      standard: 'XML',\n      description:\n        'Values \"4000\" and above are reserved for bilaterally agreed upon user defined enumerations.',\n    },\n    description:\n      'Values \"4000\" and above are reserved for bilaterally agreed upon user defined enumerations.',\n  },\n  {\n    name: 'XMLData',\n    baseType: 'String',\n    added: 'FIX.5.0',\n    addedEP: '-1',\n    mappedDatatype: {\n      base: 'xs:string',\n      builtin: 'false',\n      standard: 'XML',\n    },\n    description:\n      'Contains an XML document raw data with no format or content restrictions. XMLData fields are always immediately preceded by a length field. The length field should specify the number of bytes of the value of the data field (up to but not including the terminating SOH).',\n  },\n  {\n    name: 'Language',\n    baseType: 'String',\n    added: 'FIX.5.0SP1',\n    addedEP: '90',\n    mappedDatatype: {\n      base: 'xs:language',\n      builtin: 'true',\n      standard: 'XML',\n    },\n    description: 'Identifier for a national language - uses ISO 639-1 standard',\n  },\n  {\n    name: 'LocalMktTime',\n    baseType: 'String',\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    mappedDatatype: {\n      base: 'xs:time',\n      builtin: 'true',\n      standard: 'XML',\n      description:\n        'string field representing the time local to a particular market center. Used where offset to UTC varies throughout the year and the defining market center is identified in a corresponding field.\\n\\nFormat is HH:MM:SS where HH = 00-23 hours, MM = 00-59 minutes, SS = 00-59 seconds. In general only the hour token is non-zero.',\n    },\n    description:\n      'string field representing the time local to a particular market center. Used where offset to UTC varies throughout the year and the defining market center is identified in a corresponding field.\\n\\nFormat is HH:MM:SS where HH = 00-23 hours, MM = 00-59 minutes, SS = 00-59 seconds. In general only the hour token is non-zero.',\n  },\n  {\n    baseType: 'String',\n    updated: 'FIX.Latest',\n    addedEP: '161',\n    updatedEP: '282',\n    added: 'FIX.5.0SP2',\n    name: 'XID',\n    mappedDatatype: {\n      base: 'xs:ID',\n      builtin: 'true',\n      standard: 'XML',\n      description:\n        'The purpose of the XID datatype is to define a unique identifier that is global to a FIX message. An identifier defined using this datatype uniquely identifies its containing element, whatever its type and name is. The constraint added by this datatype is that the values of all the fields that have an ID datatype in a FIX message must be unique.',\n    },\n    description:\n      'The purpose of the XID datatype is to define a unique identifier that is global to a FIX message. An identifier defined using this datatype uniquely identifies its containing element, whatever its type and name is. The constraint added by this datatype is that the values of all the fields that have an XID datatype in a FIX message must be unique.',\n  },\n  {\n    name: 'XIDREF',\n    baseType: 'String',\n    added: 'FIX.5.0SP2',\n    addedEP: '161',\n    mappedDatatype: {\n      base: 'xs:IDREF',\n      builtin: 'true',\n      standard: 'XML',\n      description:\n        'The XIDREF datatype defines a reference to an identifier defined by the XID datatype.',\n    },\n    description:\n      'The XIDREF datatype defines a reference to an identifier defined by the XID datatype.',\n  },\n];\n", "import { DATATYPES, type ISpecDatatypes } from '../../spec/SpecDatatypes';\nimport type { Field } from '../Field';\n\nexport class DataTypes {\n  public dataTypes: ISpecDatatypes[] = DATATYPES;\n  public cacheMap: Map<string, ISpecDatatypes> = new Map<string, ISpecDatatypes>();\n  public cacheTypeMap: Map<\n    string,\n    { formatter: typeof parseInt | typeof parseFloat | StringConstructor; validator: any }\n  > = new Map();\n\n  constructor() {\n    this.dataTypes.forEach((item: ISpecDatatypes) => {\n      this.cacheMap.set(item.name, item);\n    });\n\n    this.cacheTypeMap.set('int', {\n      formatter: Number.parseInt,\n      validator: Number.isInteger,\n    });\n    this.cacheTypeMap.set('Length', {\n      formatter: Number.parseInt,\n      validator: Number.isInteger,\n    });\n    this.cacheTypeMap.set('TagNum', {\n      formatter: Number.parseInt,\n      validator: Number.isInteger,\n    });\n    this.cacheTypeMap.set('SeqNum', {\n      formatter: Number.parseInt,\n      validator: Number.isInteger,\n    });\n    this.cacheTypeMap.set('NumInGroup', {\n      formatter: Number.parseInt,\n      validator: Number.isInteger,\n    });\n    this.cacheTypeMap.set('DayOfMonth', {\n      formatter: Number.parseInt,\n      validator: Number.isInteger,\n    });\n\n    this.cacheTypeMap.set('float', {\n      formatter: Number.parseFloat,\n      validator: Number.isFinite,\n    });\n    this.cacheTypeMap.set('Qty', {\n      formatter: Number.parseFloat,\n      validator: Number.isFinite,\n    });\n    this.cacheTypeMap.set('Price', {\n      formatter: Number.parseFloat,\n      validator: Number.isFinite,\n    });\n    this.cacheTypeMap.set('PriceOffset', {\n      formatter: Number.parseFloat,\n      validator: Number.isFinite,\n    });\n    this.cacheTypeMap.set('Amt', {\n      formatter: Number.parseFloat,\n      validator: Number.isFinite,\n    });\n    this.cacheTypeMap.set('Percentage', {\n      formatter: Number.parseFloat,\n      validator: Number.isFinite,\n    });\n\n    this.cacheTypeMap.set('char', { formatter: String, validator: 'string' });\n    this.cacheTypeMap.set('Boolean', { formatter: String, validator: 'string' });\n\n    this.cacheTypeMap.set('String', { formatter: String, validator: 'string' });\n    this.cacheTypeMap.set('MultipleCharValue', {\n      formatter: String,\n      validator: 'string',\n    });\n    this.cacheTypeMap.set('MultipleStringValue', {\n      formatter: String,\n      validator: 'string',\n    });\n    this.cacheTypeMap.set('Country', { formatter: String, validator: 'string' });\n    this.cacheTypeMap.set('Currency', { formatter: String, validator: 'string' });\n    this.cacheTypeMap.set('Exchange', { formatter: String, validator: 'string' });\n    this.cacheTypeMap.set('MonthYear', { formatter: String, validator: 'string' });\n    this.cacheTypeMap.set('UTCTimestamp', { formatter: String, validator: 'string' });\n    this.cacheTypeMap.set('UTCTimeOnly', { formatter: String, validator: 'string' });\n    this.cacheTypeMap.set('UTCDateOnly', { formatter: String, validator: 'string' });\n    this.cacheTypeMap.set('LocalMktDate', { formatter: String, validator: 'string' });\n    this.cacheTypeMap.set('LocalMktTime', { formatter: String, validator: 'string' });\n    this.cacheTypeMap.set('TZTimeOnly', { formatter: String, validator: 'string' });\n    this.cacheTypeMap.set('TZTimestamp', { formatter: String, validator: 'string' });\n    this.cacheTypeMap.set('data', { formatter: String, validator: 'string' });\n    this.cacheTypeMap.set('XMLData', { formatter: String, validator: 'string' });\n    this.cacheTypeMap.set('XID', { formatter: String, validator: 'string' });\n    this.cacheTypeMap.set('XIDREF', { formatter: String, validator: 'string' });\n    this.cacheTypeMap.set('Language', { formatter: String, validator: 'string' });\n\n    this.cacheTypeMap.set('Pattern', { formatter: String, validator: 'string' });\n    this.cacheTypeMap.set('Tenor', { formatter: String, validator: 'string' });\n    this.cacheTypeMap.set('Reserved100Plus', { formatter: String, validator: 'string' });\n    this.cacheTypeMap.set('Reserved1000Plus', { formatter: String, validator: 'string' });\n    this.cacheTypeMap.set('Reserved4000Plus', { formatter: String, validator: 'string' });\n  }\n\n  public validateDatatype(\n    value: number | string | boolean | null,\n    type: string | undefined\n  ): boolean {\n    if (!type) {\n      return true;\n    }\n\n    const typeMap = this.cacheTypeMap.get(type);\n    if (typeMap) {\n      if (typeMap.validator === 'string') {\n        return typeof value === 'string';\n      }\n      return typeMap.validator(value);\n    }\n    return false;\n  }\n\n  public processDatatype(field: Field, type: string): void {\n    const dataType: ISpecDatatypes | undefined = this.cacheMap.get(type);\n    if (dataType) {\n      field.setType(dataType);\n      if (\n        type === 'int' ||\n        type === 'Length' ||\n        type === 'TagNum' ||\n        type === 'SeqNum' ||\n        type === 'NumInGroup' ||\n        type === 'DayOfMonth'\n      ) {\n        field.setValue(Number(field.value!));\n      } else if (\n        type === 'float' ||\n        type === 'Qty' ||\n        type === 'Price' ||\n        type === 'PriceOffset' ||\n        type === 'Amt' ||\n        type === 'Percentage'\n      ) {\n        field.setValue(Number.parseFloat(field.value as string));\n      }\n    }\n  }\n}\n", "export interface ISpecSections {\n  SectionID: string;\n  Name: string;\n  DisplayOrder: number;\n  Volume: string;\n  NotReqXML: number;\n  FIXMLFileName: string;\n  Description: string;\n}\n\nexport const SECTIONS: ISpecSections[] = [\n  {\n    DisplayOrder: 0,\n    Description: 'Session level messages to establish and control a FIX session',\n    Volume: 'FIXT.1.1',\n    FIXMLFileName: 'session',\n    NotReqXML: 1,\n    SectionID: 'Session',\n    Name: 'Session',\n  },\n  {\n    DisplayOrder: 1,\n    Description:\n      'Pre trade messages including reference data, market data, quoting, news and email, indication of interest',\n    Volume: '3',\n    FIXMLFileName: 'pretrade',\n    NotReqXML: 0,\n    SectionID: 'PreTrade',\n    Name: 'PreTrade',\n  },\n  {\n    DisplayOrder: 2,\n    Description: 'Order handling and execution messages',\n    Volume: '4',\n    FIXMLFileName: 'trade',\n    NotReqXML: 0,\n    SectionID: 'Trade',\n    Name: 'Trade',\n  },\n  {\n    DisplayOrder: 3,\n    Description:\n      'Post trade messages including trade reporting, allocation, collateral, confirmation, position maintenance, registration instruction, and settlement instructions',\n    Volume: '5',\n    FIXMLFileName: 'posttrade',\n    NotReqXML: 0,\n    SectionID: 'PostTrade',\n    Name: 'PostTrade',\n  },\n  {\n    DisplayOrder: 4,\n    Description:\n      'Infrastructure messages for application sequencing, business reject, network and user management',\n    Volume: '1',\n    FIXMLFileName: 'infrastructure',\n    NotReqXML: 0,\n    SectionID: 'Infrastructure',\n    Name: 'Infrastructure',\n  },\n];\n", "import type { ISpecSections } from '../../spec/SpecSections';\n\nexport class SectionType {\n  public sectionID: string | null = null;\n  public name: string | null = null;\n  public displayOrder: number | null = null;\n  public volume: string | null = null;\n  public notReqXML: boolean | null = null;\n  public fixmlFileName: string | null = null;\n  public description: string | null = null;\n\n  public setSection(section: ISpecSections): void {\n    this.sectionID = section.SectionID;\n    this.name = section.Name;\n    this.displayOrder = section.DisplayOrder;\n    this.volume = section.Volume;\n    this.notReqXML = section.NotReqXML === 1;\n    this.fixmlFileName = section.FIXMLFileName;\n    this.description = section.Description;\n  }\n\n  public reset(): void {\n    this.sectionID = null;\n    this.name = null;\n    this.displayOrder = null;\n    this.volume = null;\n    this.notReqXML = null;\n    this.fixmlFileName = null;\n    this.description = null;\n  }\n}\n", "import { type ISpecSections, SECTIONS } from '../../spec/SpecSections';\nimport type { Field } from '../Field';\nimport { SectionType } from './SectionType';\n\nexport class Sections {\n  public sections: ISpecSections[] = SECTIONS;\n  public cacheMap: Map<string, ISpecSections> = new Map<string, ISpecSections>();\n  public sectionType: SectionType = new SectionType();\n\n  constructor() {\n    this.sections.forEach(section => {\n      this.cacheMap.set(section.SectionID, section);\n    });\n  }\n\n  public processSection(item: Field, sectionId: string): void {\n    this.sectionType.reset();\n    const sectionData: ISpecSections | undefined = this.cacheMap.get(sectionId);\n    if (sectionData) {\n      this.sectionType.setSection(sectionData);\n      item.setSection(this.sectionType);\n    }\n  }\n}\n", "import { Field as FieldType } from '../fieldtypes/Field';\nimport type { Message } from '../message/Message';\nimport { MessageType } from '../messagetype/MessageType';\nimport { FIELDS, type ISpecFields } from '../spec/SpecFields';\nimport type { Field } from './Field';\nimport { Categories } from './categories/Categories';\nimport { DataTypes } from './datatypes/Datatypes';\nimport { Sections } from './sections/Sections';\n\nexport class Fields {\n  public fields: ISpecFields[] = FIELDS;\n  public cacheMap: Map<number, ISpecFields> = new Map<number, ISpecFields>();\n  public messageType: MessageType = new MessageType();\n  public categories: Categories = new Categories();\n  public sections: Sections = new Sections();\n  public dataTypes: DataTypes = new DataTypes();\n\n  constructor() {\n    this.fields.forEach((item: ISpecFields) => {\n      this.cacheMap.set(Number(item.id) >> 0, item);\n    });\n  }\n\n  public processField(message: Message, field: Field): void {\n    const data: ISpecFields | undefined = this.cacheMap.get(field.tag);\n    if (data) {\n      if (field.tag === FieldType.MsgType) {\n        this.messageType.setMessageType(message, field);\n      }\n      if (field.tag === FieldType.MsgSeqNum) {\n        this.messageType.setMessageSequence(message, Number(field.value));\n      }\n\n      field.setName(data.name);\n      field.setDescription(data.description || '');\n\n      if (data.baseCategory) {\n        this.categories.processCategory(field, data.baseCategory);\n\n        if (field.category?.sectionID) {\n          this.sections.processSection(field, field.category?.sectionID || '');\n        }\n      }\n\n      this.dataTypes.processDatatype(field, data.type);\n    } else {\n      field.setType(null);\n      field.setValue(field.value);\n    }\n  }\n}\n", "interface Ref {\n  id: number;\n  added: string;\n  presence?: string;\n  addedEP?: string;\n  updated?: string;\n  updatedEP?: string;\n  deprecated?: string;\n  deprecatedEP?: string;\n  description?: string;\n}\n\nexport interface ISpecComponents {\n  id: number;\n  name: string;\n  category: string;\n  abbrName: string;\n  description: string;\n  added: string;\n  fieldRef?: Ref[];\n  groupRef?: Ref[];\n  componentRef?: Ref[];\n  addedEP?: string;\n  updated?: string;\n  updatedEP?: string;\n  deprecated?: string;\n  deprecatedEP?: string;\n}\n\nexport const COMPONENTS: ISpecComponents[] = [\n  {\n    updated: 'FIX.5.0SP2',\n    updatedEP: '204',\n    category: 'Common',\n    added: 'FIX.4.3',\n    name: 'CommissionData',\n    id: 1000,\n    abbrName: 'Comm',\n    fieldRef: [\n      {\n        id: 12,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 13,\n        added: 'FIX.4.3',\n      },\n      {\n        updatedEP: '95',\n        updated: 'FIX.5.0SP1',\n        id: 479,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 2922,\n        added: 'FIX.Latest',\n        addedEP: '273',\n      },\n      {\n        id: 1233,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 1238,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        updatedEP: '95',\n        updated: 'FIX.5.0SP1',\n        id: 497,\n        added: 'FIX.4.3',\n      },\n    ],\n    description:\n      'The CommissionData component block is used to carry commission information such as the type of commission and the rate. Use the CommissionDataGrp component as an alternative if multiple commissions or enhanced attributes are needed.\\n\\nThis component may be used to provide aggregated commission data of a given CommType(13) where the CommissionDataGrp maybe used to include the detail splits provided the commission is of the same commission basis type. For example, CommissionData may contain CommType(13) of 3 (Absolute) and a Commission(12) value of \"15\". CommissionDataGrp may be used to show how this Commission(12) value of \"15\" is split up as long as the CommissionBasis(2642) is also 3 (Absolute) for each of the instances added together. This method of aggregated commission data may also be applied to this component to provide a total when the instances of the detail splits in CommissionDataGrp contain leg level information (indicated by the usage of CommissionLegRefID(2649) in CommissionDataGrp). Note that it is only possible to aggregate values for a single commission basis type.',\n  },\n  {\n    category: 'Common',\n    added: 'FIX.4.4',\n    name: 'DiscretionInstructions',\n    id: 1001,\n    abbrName: 'DiscInstr',\n    fieldRef: [\n      {\n        id: 388,\n        added: 'FIX.4.4',\n      },\n      {\n        id: 389,\n        added: 'FIX.4.4',\n      },\n      {\n        id: 841,\n        added: 'FIX.4.4',\n      },\n      {\n        id: 842,\n        added: 'FIX.4.4',\n      },\n      {\n        id: 843,\n        added: 'FIX.4.4',\n      },\n      {\n        id: 844,\n        added: 'FIX.4.4',\n      },\n      {\n        id: 846,\n        added: 'FIX.4.4',\n      },\n    ],\n    description:\n      'The presence of DiscretionInstructions component block on an order indicates that the trader wishes to display one price but will accept trades at another price.\\n\\n',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    updatedEP: '161',\n    category: 'Common',\n    added: 'FIX.4.4',\n    name: 'FinancingDetails',\n    id: 1002,\n    abbrName: 'FinDetls',\n    fieldRef: [\n      {\n        id: 913,\n        added: 'FIX.4.4',\n      },\n      {\n        id: 914,\n        added: 'FIX.4.4',\n      },\n      {\n        id: 1961,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 915,\n        added: 'FIX.4.4',\n      },\n      {\n        id: 918,\n        added: 'FIX.4.4',\n      },\n      {\n        id: 2952,\n        added: 'FIX.Latest',\n        addedEP: '273',\n      },\n      {\n        id: 1962,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 1963,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 1964,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 1965,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 1966,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 1967,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 1968,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 1969,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 1970,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 1513,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 1525,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 1527,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 788,\n        added: 'FIX.4.4',\n      },\n      {\n        id: 916,\n        added: 'FIX.4.4',\n      },\n      {\n        id: 917,\n        added: 'FIX.4.4',\n      },\n      {\n        id: 919,\n        added: 'FIX.4.4',\n      },\n      {\n        id: 898,\n        added: 'FIX.4.4',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4003,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 4005,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 4004,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n    ],\n    description:\n      'Component block is optionally used for financial transaction where legal contracts, master agreements or master confirmations is to be referenced. This component identifies the legal agreement under which the deal was made and other unique characteristics of the transaction. For example, the AgreementDesc(913) field refers to base standard documents such as MRA 1996 Repurchase Agreement, GMRA 2000 Bills Transaction (U.K.), MSLA 1993 Securities Loan \u2013 Amended 1998, for example.\\n\\n',\n  },\n  {\n    category: 'Common',\n    added: 'FIX.4.3',\n    name: 'Instrument',\n    id: 1003,\n    abbrName: 'Instrmt',\n    fieldRef: [\n      {\n        updatedEP: '277',\n        updated: 'FIX.Latest',\n        id: 55,\n        added: 'FIX.4.3',\n        description:\n          'Common, \"human understood\" representation of the security. SecurityID value can be specified if no symbol exists (e.g. non-exchange traded Collective Investment Vehicles)\\n\\nUse \"[N/A]\" for products which do not have a symbol.\\n\\nRequired if the Instrument component is marked as required where the component is used.',\n      },\n      {\n        id: 65,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 48,\n        added: 'FIX.4.3',\n      },\n      {\n        updatedEP: '161',\n        updated: 'FIX.5.0SP2',\n        id: 22,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 460,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 1227,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n      {\n        id: 1151,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n      {\n        id: 461,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 2891,\n        added: 'FIX.Latest',\n        addedEP: '266',\n      },\n      {\n        id: 167,\n        added: 'FIX.4.3',\n        description:\n          'It is recommended that CFICode be used instead of SecurityType for non-Fixed Income instruments.\\n\\nRequired for Fixed Income. Refer to Volume 7 - Fixed Income\\n\\nFutures and Options should be specified using the CFICode[461] field instead of SecurityType[167] (Refer to Volume 7 - Recommendations and Guidelines for Futures and Options Markets.)',\n      },\n      {\n        id: 762,\n        added: 'FIX.4.4',\n      },\n      {\n        id: 200,\n        added: 'FIX.4.3',\n      },\n      {\n        updatedEP: '271',\n        updated: 'FIX.Latest',\n        id: 541,\n        added: 'FIX.4.3',\n        description:\n          'Specifies date of maturity (a full date). Note that standardized derivatives which are typically only referenced by month and year (e.g. S&P futures) may use MaturityMonthYear(200) and/or this field.\\n\\nWhen using MaturityMonthYear(200), it is recommended that markets and sell sides report the MaturityDate(541) on all outbound messages as a means of data enrichment.\\n\\nFor NDFs this represents the fixing date of the contract.',\n      },\n      {\n        updated: 'FIX.5.0SP1',\n        addedEP: '-1',\n        updatedEP: '82',\n        added: 'FIX.4.4',\n        id: 1079,\n      },\n      {\n        id: 2982,\n        added: 'FIX.Latest',\n        addedEP: '287',\n      },\n      {\n        id: 2983,\n        added: 'FIX.Latest',\n        addedEP: '287',\n      },\n      {\n        id: 966,\n        added: 'FIX.4.4',\n        addedEP: '-1',\n      },\n      {\n        id: 1049,\n        added: 'FIX.4.4',\n        addedEP: '-1',\n      },\n      {\n        id: 965,\n        added: 'FIX.4.4',\n        addedEP: '-1',\n      },\n      {\n        id: 224,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 1449,\n        added: 'FIX.5.0SP1',\n        addedEP: '83',\n      },\n      {\n        id: 1450,\n        added: 'FIX.5.0SP1',\n        addedEP: '83',\n      },\n      {\n        id: 1451,\n        added: 'FIX.5.0SP1',\n        addedEP: '83',\n      },\n      {\n        id: 1452,\n        added: 'FIX.5.0SP1',\n        addedEP: '83',\n      },\n      {\n        id: 1457,\n        added: 'FIX.5.0SP1',\n        addedEP: '83',\n      },\n      {\n        id: 1458,\n        added: 'FIX.5.0SP1',\n        addedEP: '83',\n      },\n      {\n        id: 1739,\n        added: 'FIX.5.0SP2',\n        addedEP: '119',\n      },\n      {\n        id: 2210,\n        added: 'FIX.5.0SP2',\n        addedEP: '192',\n      },\n      {\n        updated: 'FIX.5.0SP2',\n        addedEP: '161',\n        updatedEP: '235',\n        added: 'FIX.5.0SP2',\n        id: 1938,\n      },\n      {\n        updated: 'FIX.5.0SP2',\n        addedEP: '161',\n        updatedEP: '235',\n        added: 'FIX.5.0SP2',\n        id: 1939,\n      },\n      {\n        updated: 'FIX.5.0SP2',\n        addedEP: '161',\n        updatedEP: '235',\n        added: 'FIX.5.0SP2',\n        id: 1940,\n      },\n      {\n        id: 2735,\n        added: 'FIX.5.0SP2',\n        addedEP: '235',\n      },\n      {\n        id: 1941,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 1575,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 1942,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 1943,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 1944,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 1945,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 1946,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 1947,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 1948,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 1949,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 1950,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 2879,\n        added: 'FIX.5.0SP2',\n        addedEP: '254',\n      },\n      {\n        id: 1951,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 1952,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 1953,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 1954,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 1955,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 1956,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 1957,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 1958,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 1959,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 1960,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 1577,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 1580,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 1581,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 1678,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 1697,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 225,\n        added: 'FIX.4.3',\n      },\n      {\n        deprecated: 'FIX.4.4',\n        id: 239,\n        added: 'FIX.4.3',\n      },\n      {\n        deprecated: 'FIX.4.4',\n        id: 226,\n        added: 'FIX.4.3',\n      },\n      {\n        deprecated: 'FIX.4.4',\n        id: 227,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 228,\n        added: 'FIX.4.3',\n        description:\n          'For Fixed Income: Amortization Factor for deriving Current face from Original face for ABS or MBS securities, note the fraction may be greater than, equal to or less than 1. In TIPS securities this is the Inflation index.\\n\\nQty * Factor * Price = Gross Trade Amount\\n\\nFor Derivatives: Contract Value Factor by which price must be adjusted to determine the true nominal value of one futures/options contract.\\n\\n(Qty * Price) * Factor = Nominal Value',\n      },\n      {\n        id: 255,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 543,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 470,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 471,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 472,\n        added: 'FIX.4.3',\n      },\n      {\n        deprecated: 'FIX.4.4',\n        id: 240,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 202,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 2578,\n        added: 'FIX.5.0SP2',\n        addedEP: '195',\n      },\n      {\n        id: 2577,\n        added: 'FIX.5.0SP2',\n        addedEP: '195',\n      },\n      {\n        id: 947,\n        added: 'FIX.4.4',\n      },\n      {\n        id: 2904,\n        added: 'FIX.Latest',\n        addedEP: '273',\n      },\n      {\n        id: 967,\n        added: 'FIX.4.4',\n        addedEP: '-1',\n      },\n      {\n        id: 968,\n        added: 'FIX.4.4',\n        addedEP: '-1',\n      },\n      {\n        id: 1698,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 1866,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2600,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 2001,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2601,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 1478,\n        added: 'FIX.5.0SP1',\n        addedEP: '92',\n      },\n      {\n        updated: 'FIX.5.0SP2',\n        addedEP: '92',\n        updatedEP: '224',\n        added: 'FIX.5.0SP1',\n        id: 1479,\n      },\n      {\n        id: 1480,\n        added: 'FIX.5.0SP1',\n        addedEP: '92',\n      },\n      {\n        id: 1481,\n        added: 'FIX.5.0SP1',\n        addedEP: '92',\n      },\n      {\n        id: 206,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 231,\n        added: 'FIX.4.3',\n      },\n      {\n        updated: 'FIX.5.0SP2',\n        addedEP: '80',\n        updatedEP: '179',\n        added: 'FIX.5.0SP1',\n        id: 1435,\n      },\n      {\n        id: 2353,\n        added: 'FIX.5.0SP2',\n        addedEP: '179',\n      },\n      {\n        updated: 'FIX.5.0SP2',\n        addedEP: '80',\n        updatedEP: '179',\n        added: 'FIX.5.0SP1',\n        id: 1439,\n      },\n      {\n        id: 969,\n        added: 'FIX.4.4',\n        addedEP: '-1',\n      },\n      {\n        id: 1146,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n      {\n        updated: 'FIX.Latest',\n        addedEP: '-1',\n        updatedEP: '271',\n        added: 'FIX.4.4',\n        id: 996,\n      },\n      {\n        id: 1147,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n      {\n        id: 1716,\n        added: 'FIX.5.0SP2',\n        addedEP: '122',\n      },\n      {\n        id: 2905,\n        added: 'FIX.Latest',\n        addedEP: '273',\n      },\n      {\n        id: 1191,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n      {\n        id: 1192,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n      {\n        id: 1717,\n        added: 'FIX.5.0SP2',\n        addedEP: '122',\n      },\n      {\n        id: 2906,\n        added: 'FIX.Latest',\n        addedEP: '273',\n      },\n      {\n        updated: 'FIX.5.0SP2',\n        addedEP: '-1',\n        updatedEP: '195',\n        added: 'FIX.5.0',\n        id: 1193,\n      },\n      {\n        id: 2579,\n        added: 'FIX.5.0SP2',\n        addedEP: '195',\n      },\n      {\n        id: 1194,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n      {\n        id: 1482,\n        added: 'FIX.5.0SP1',\n        addedEP: '92',\n      },\n      {\n        updated: 'FIX.5.0SP2',\n        addedEP: '-1',\n        updatedEP: '169',\n        added: 'FIX.5.0',\n        id: 1195,\n      },\n      {\n        id: 2753,\n        added: 'FIX.5.0SP2',\n        addedEP: '238',\n      },\n      {\n        id: 1196,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n      {\n        updated: 'FIX.5.0SP1',\n        addedEP: '-1',\n        updatedEP: '83',\n        added: 'FIX.5.0',\n        id: 1197,\n      },\n      {\n        id: 2002,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2140,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 1524,\n        added: 'FIX.5.0SP2',\n        addedEP: '107',\n      },\n      {\n        id: 2907,\n        added: 'FIX.Latest',\n        addedEP: '273',\n      },\n      {\n        id: 1198,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n      {\n        id: 1199,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n      {\n        id: 1200,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n      {\n        id: 201,\n        added: 'FIX.4.4',\n      },\n      {\n        id: 2681,\n        added: 'FIX.5.0SP2',\n        addedEP: '224',\n      },\n      {\n        id: 2685,\n        added: 'FIX.5.0SP2',\n        addedEP: '224',\n      },\n      {\n        id: 1244,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n      {\n        id: 1242,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n      {\n        id: 2575,\n        added: 'FIX.5.0SP2',\n        addedEP: '195',\n      },\n      {\n        id: 2574,\n        added: 'FIX.5.0SP2',\n        addedEP: '195',\n      },\n      {\n        id: 997,\n        added: 'FIX.4.4',\n        addedEP: '-1',\n      },\n      {\n        id: 223,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 207,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 970,\n        added: 'FIX.4.4',\n        addedEP: '-1',\n      },\n      {\n        id: 971,\n        added: 'FIX.4.4',\n        addedEP: '-1',\n      },\n      {\n        id: 106,\n        added: 'FIX.4.3',\n      },\n      {\n        updatedEP: '232',\n        updated: 'FIX.5.0SP2',\n        id: 348,\n        added: 'FIX.4.3',\n      },\n      {\n        updatedEP: '232',\n        updated: 'FIX.5.0SP2',\n        id: 349,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 2737,\n        added: 'FIX.5.0SP2',\n        addedEP: '235',\n      },\n      {\n        id: 2714,\n        added: 'FIX.5.0SP2',\n        addedEP: '232',\n      },\n      {\n        id: 2715,\n        added: 'FIX.5.0SP2',\n        addedEP: '232',\n      },\n      {\n        id: 2716,\n        added: 'FIX.5.0SP2',\n        addedEP: '232',\n      },\n      {\n        id: 107,\n        added: 'FIX.4.3',\n      },\n      {\n        updatedEP: '232',\n        updated: 'FIX.5.0SP2',\n        id: 350,\n        added: 'FIX.4.3',\n      },\n      {\n        updatedEP: '232',\n        updated: 'FIX.5.0SP2',\n        id: 351,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 691,\n        added: 'FIX.4.4',\n      },\n      {\n        id: 667,\n        added: 'FIX.4.4',\n      },\n      {\n        id: 875,\n        added: 'FIX.4.4',\n      },\n      {\n        id: 876,\n        added: 'FIX.4.4',\n      },\n      {\n        id: 873,\n        added: 'FIX.4.4',\n      },\n      {\n        id: 874,\n        added: 'FIX.4.4',\n      },\n      {\n        id: 1687,\n        added: 'FIX.5.0SP2',\n        addedEP: '120',\n      },\n      {\n        id: 1787,\n        added: 'FIX.5.0SP2',\n        addedEP: '130',\n      },\n      {\n        id: 2141,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2142,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2143,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2752,\n        added: 'FIX.5.0SP2',\n        addedEP: '238',\n      },\n      {\n        id: 2144,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2145,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2576,\n        added: 'FIX.5.0SP2',\n        addedEP: '195',\n      },\n      {\n        id: 2962,\n        added: 'FIX.Latest',\n        addedEP: '276',\n      },\n      {\n        id: 2602,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 2603,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    groupRef: [\n      {\n        id: 2071,\n        added: 'FIX.4.4',\n      },\n      {\n        id: 2226,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 2241,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2070,\n        added: 'FIX.4.4',\n      },\n      {\n        updated: 'FIX.5.0SP2',\n        addedEP: '-1',\n        updatedEP: '195',\n        added: 'FIX.4.4',\n        id: 1032,\n      },\n      {\n        id: 2145,\n        added: 'FIX.5.0SP1',\n        addedEP: '92',\n      },\n      {\n        id: 4006,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 4011,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 4001,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 4021,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 4002,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 4025,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 4327,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    componentRef: [\n      {\n        updated: 'FIX.5.0SP2',\n        addedEP: '-1',\n        updatedEP: '145',\n        added: 'FIX.5.0',\n        id: 1060,\n      },\n      {\n        id: 4085,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 4175,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 4158,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 4162,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n    ],\n    description:\n      'The Instrument component block contains all the fields commonly used to describe a security or instrument. Typically the data elements in this component block are considered the static data of a security, data that may be commonly found in a security master database. The Instrument component block can be used to describe any asset type supported by FIX.\\n\\n',\n  },\n  {\n    category: 'Common',\n    added: 'FIX.4.4',\n    name: 'InstrumentExtension',\n    id: 1004,\n    abbrName: 'InstrmtExt',\n    fieldRef: [\n      {\n        id: 668,\n        added: 'FIX.4.4',\n      },\n      {\n        id: 869,\n        added: 'FIX.4.4',\n      },\n      {\n        id: 2736,\n        added: 'FIX.5.0SP2',\n        addedEP: '235',\n      },\n      {\n        id: 2738,\n        added: 'FIX.5.0SP2',\n        addedEP: '235',\n      },\n    ],\n    groupRef: [\n      {\n        id: 2074,\n        added: 'FIX.4.4',\n      },\n      {\n        id: 2262,\n        added: 'FIX.5.0SP2',\n        addedEP: '235',\n      },\n      {\n        id: 2263,\n        added: 'FIX.5.0SP2',\n        addedEP: '235',\n      },\n    ],\n    componentRef: [\n      {\n        id: 2264,\n        added: 'FIX.5.0SP2',\n        addedEP: '235',\n      },\n    ],\n    description:\n      'The InstrumentExtension component block identifies additional security attributes that are more commonly found for Fixed Income securities.\\n\\n',\n  },\n  {\n    category: 'Common',\n    added: 'FIX.4.3',\n    name: 'InstrumentLeg',\n    id: 1005,\n    abbrName: 'Leg',\n    fieldRef: [\n      {\n        updatedEP: '277',\n        updated: 'FIX.Latest',\n        id: 600,\n        added: 'FIX.4.3',\n        description:\n          'Common, \"human understood\" representation of the security. SecurityID value can be specified if no symbol exists (e.g. non-exchange traded Collective Investment Vehicles)\\n\\nUse \"[N/A]\" for products which do not have a symbol.\\n\\nRequired if the InstrumentLeg component is marked as required where the component is used.',\n      },\n      {\n        id: 601,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 602,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 603,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 1788,\n        added: 'FIX.5.0SP2',\n        addedEP: '131',\n      },\n      {\n        id: 607,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 1594,\n        added: 'FIX.5.0SP2',\n        addedEP: '107',\n      },\n      {\n        id: 608,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 2893,\n        added: 'FIX.Latest',\n        addedEP: '266',\n      },\n      {\n        id: 609,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 764,\n        added: 'FIX.4.4',\n      },\n      {\n        id: 610,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 611,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 1212,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n      {\n        id: 2986,\n        added: 'FIX.Latest',\n        addedEP: '287',\n      },\n      {\n        id: 2987,\n        added: 'FIX.Latest',\n        addedEP: '287',\n      },\n      {\n        id: 2146,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2147,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2148,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 248,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 2149,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2150,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2151,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2152,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2153,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2154,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2155,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2348,\n        added: 'FIX.5.0SP2',\n        addedEP: '192',\n      },\n      {\n        updated: 'FIX.5.0SP2',\n        addedEP: '161',\n        updatedEP: '235',\n        added: 'FIX.5.0SP2',\n        id: 2067,\n      },\n      {\n        updated: 'FIX.5.0SP2',\n        addedEP: '161',\n        updatedEP: '235',\n        added: 'FIX.5.0SP2',\n        id: 2068,\n      },\n      {\n        updated: 'FIX.5.0SP2',\n        addedEP: '161',\n        updatedEP: '235',\n        added: 'FIX.5.0SP2',\n        id: 2069,\n      },\n      {\n        id: 2739,\n        added: 'FIX.5.0SP2',\n        addedEP: '235',\n      },\n      {\n        id: 2070,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 2156,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2157,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2158,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2159,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2160,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2161,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2162,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2163,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2164,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2165,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2880,\n        added: 'FIX.5.0SP2',\n        addedEP: '254',\n      },\n      {\n        id: 2166,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2167,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2168,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2169,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2170,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2171,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2172,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2173,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2174,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2175,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2176,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2177,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2178,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2179,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2180,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 249,\n        added: 'FIX.4.3',\n      },\n      {\n        deprecated: 'FIX.4.4',\n        id: 250,\n        added: 'FIX.4.3',\n      },\n      {\n        deprecated: 'FIX.4.4',\n        id: 251,\n        added: 'FIX.4.3',\n      },\n      {\n        deprecated: 'FIX.4.4',\n        id: 252,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 253,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 257,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 599,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 596,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 597,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 598,\n        added: 'FIX.4.3',\n      },\n      {\n        deprecated: 'FIX.4.4',\n        id: 254,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 612,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 942,\n        added: 'FIX.4.4',\n      },\n      {\n        id: 2908,\n        added: 'FIX.Latest',\n        addedEP: '273',\n      },\n      {\n        id: 2181,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2182,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2183,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2184,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2604,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 2185,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2605,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 2186,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        updated: 'FIX.5.0SP2',\n        addedEP: '169',\n        updatedEP: '224',\n        added: 'FIX.5.0SP2',\n        id: 2187,\n      },\n      {\n        id: 2188,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2189,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 613,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 614,\n        added: 'FIX.4.3',\n      },\n      {\n        updated: 'FIX.5.0SP2',\n        addedEP: '80',\n        updatedEP: '179',\n        added: 'FIX.5.0SP1',\n        id: 1436,\n      },\n      {\n        id: 2354,\n        added: 'FIX.5.0SP2',\n        addedEP: '179',\n      },\n      {\n        updated: 'FIX.5.0SP2',\n        addedEP: '80',\n        updatedEP: '179',\n        added: 'FIX.5.0SP1',\n        id: 1440,\n      },\n      {\n        id: 2190,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2191,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 999,\n        added: 'FIX.4.4',\n        addedEP: '-1',\n      },\n      {\n        id: 1224,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n      {\n        id: 1720,\n        added: 'FIX.5.0SP2',\n        addedEP: '122',\n      },\n      {\n        id: 2909,\n        added: 'FIX.Latest',\n        addedEP: '273',\n      },\n      {\n        id: 1421,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n      {\n        id: 1422,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n      {\n        id: 1721,\n        added: 'FIX.5.0SP2',\n        addedEP: '122',\n      },\n      {\n        id: 2910,\n        added: 'FIX.Latest',\n        addedEP: '273',\n      },\n      {\n        id: 2192,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 1001,\n        added: 'FIX.4.4',\n        addedEP: '-1',\n      },\n      {\n        id: 1420,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n      {\n        id: 2193,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2194,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2755,\n        added: 'FIX.5.0SP2',\n        addedEP: '238',\n      },\n      {\n        id: 2195,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2196,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2197,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2198,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 1528,\n        added: 'FIX.5.0SP2',\n        addedEP: '107',\n      },\n      {\n        id: 2911,\n        added: 'FIX.Latest',\n        addedEP: '273',\n      },\n      {\n        id: 2199,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2200,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2201,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2202,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2203,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 615,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 616,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 2205,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2206,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 617,\n        added: 'FIX.4.3',\n      },\n      {\n        updatedEP: '232',\n        updated: 'FIX.5.0SP2',\n        id: 618,\n        added: 'FIX.4.3',\n      },\n      {\n        updatedEP: '232',\n        updated: 'FIX.5.0SP2',\n        id: 619,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 2740,\n        added: 'FIX.5.0SP2',\n        addedEP: '235',\n      },\n      {\n        id: 2717,\n        added: 'FIX.5.0SP2',\n        addedEP: '232',\n      },\n      {\n        id: 2718,\n        added: 'FIX.5.0SP2',\n        addedEP: '232',\n      },\n      {\n        id: 2719,\n        added: 'FIX.5.0SP2',\n        addedEP: '232',\n      },\n      {\n        id: 620,\n        added: 'FIX.4.3',\n      },\n      {\n        updatedEP: '232',\n        updated: 'FIX.5.0SP2',\n        id: 621,\n        added: 'FIX.4.3',\n      },\n      {\n        updatedEP: '232',\n        updated: 'FIX.5.0SP2',\n        id: 622,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 2207,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2208,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 623,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 624,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 556,\n        added: 'FIX.4.4',\n      },\n      {\n        id: 2898,\n        added: 'FIX.Latest',\n        addedEP: '273',\n      },\n      {\n        id: 740,\n        added: 'FIX.4.4',\n      },\n      {\n        id: 739,\n        added: 'FIX.4.4',\n      },\n      {\n        id: 955,\n        added: 'FIX.4.4',\n      },\n      {\n        id: 956,\n        added: 'FIX.4.4',\n      },\n      {\n        id: 1358,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n      {\n        id: 2682,\n        added: 'FIX.5.0SP2',\n        addedEP: '224',\n      },\n      {\n        id: 2686,\n        added: 'FIX.5.0SP2',\n        addedEP: '224',\n      },\n      {\n        id: 1017,\n        added: 'FIX.4.4',\n        addedEP: '-1',\n      },\n      {\n        id: 566,\n        added: 'FIX.4.4',\n        addedEP: '-1',\n      },\n      {\n        id: 2209,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2211,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2212,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2213,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2754,\n        added: 'FIX.5.0SP2',\n        addedEP: '238',\n      },\n      {\n        id: 2214,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2215,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2606,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 2607,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    groupRef: [\n      {\n        id: 2072,\n        added: 'FIX.4.4',\n      },\n      {\n        id: 2232,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 2242,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2231,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 2239,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2236,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 4031,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 4046,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 4187,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 4231,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 4190,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 4226,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 4337,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    componentRef: [\n      {\n        id: 2212,\n        added: 'FIX.5.0SP2',\n        addedEP: '145',\n      },\n      {\n        id: 4087,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 4229,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 4210,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 4214,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n    ],\n    description:\n      'The InstrumentLeg component block, like the Instrument component block, contains all the fields commonly used to describe a security or instrument. In the case of the InstrumentLeg component block it describes a security used in multileg-oriented messages.\\n\\n',\n  },\n  {\n    category: 'Common',\n    added: 'FIX.4.4',\n    name: 'LegBenchmarkCurveData',\n    id: 1006,\n    abbrName: 'BnchmkCurve',\n    fieldRef: [\n      {\n        id: 676,\n        added: 'FIX.4.4',\n      },\n      {\n        id: 2951,\n        added: 'FIX.Latest',\n        addedEP: '273',\n      },\n      {\n        id: 677,\n        added: 'FIX.4.4',\n      },\n      {\n        id: 678,\n        added: 'FIX.4.4',\n      },\n      {\n        id: 679,\n        added: 'FIX.4.4',\n      },\n      {\n        id: 680,\n        added: 'FIX.4.4',\n      },\n    ],\n    description:\n      'The LegBenchmarkCurveData is used to convey the benchmark information used for pricing in a multi-legged Fixed Income security.\\n\\n',\n  },\n  {\n    category: 'Common',\n    added: 'FIX.4.3',\n    name: 'OrderQtyData',\n    id: 1011,\n    abbrName: 'OrdQty',\n    fieldRef: [\n      {\n        id: 38,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 152,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 516,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 468,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 469,\n        added: 'FIX.4.3',\n      },\n    ],\n    description:\n      'The OrderQtyData component block contains the fields commonly used for indicating the amount or quantity of an order. Note that when this component block is marked as \"required\" in a message either one of these three fields must be used to identify the amount: OrderQty, CashOrderQty or OrderPercent (in the case of CIV).\\n\\n',\n  },\n  {\n    category: 'Common',\n    added: 'FIX.4.4',\n    name: 'PegInstructions',\n    id: 1013,\n    abbrName: 'PegInstr',\n    fieldRef: [\n      {\n        id: 211,\n        added: 'FIX.4.4',\n      },\n      {\n        id: 1094,\n        added: 'FIX.4.4',\n        addedEP: '-1',\n      },\n      {\n        id: 835,\n        added: 'FIX.4.4',\n      },\n      {\n        id: 836,\n        added: 'FIX.4.4',\n      },\n      {\n        id: 837,\n        added: 'FIX.4.4',\n      },\n      {\n        id: 838,\n        added: 'FIX.4.4',\n      },\n      {\n        id: 840,\n        added: 'FIX.4.4',\n      },\n      {\n        id: 1096,\n        added: 'FIX.4.4',\n        addedEP: '-1',\n      },\n      {\n        id: 1097,\n        added: 'FIX.4.4',\n        addedEP: '-1',\n      },\n      {\n        id: 1098,\n        added: 'FIX.4.4',\n        addedEP: '-1',\n      },\n      {\n        id: 1099,\n        added: 'FIX.4.4',\n        addedEP: '-1',\n      },\n    ],\n    description:\n      'The Peg Instructions component block is used to tie the price of a security to a market event such as opening price, mid-price, best price. The Peg Instructions block may also be used to tie the price to the behavior of a related security.\\n\\n',\n  },\n  {\n    category: 'Common',\n    added: 'FIX.4.4',\n    name: 'SettlInstructionsData',\n    id: 1016,\n    abbrName: 'SetInstr',\n    fieldRef: [\n      {\n        id: 172,\n        added: 'FIX.4.4',\n      },\n      {\n        id: 169,\n        added: 'FIX.4.4',\n      },\n      {\n        id: 170,\n        added: 'FIX.4.4',\n      },\n      {\n        id: 171,\n        added: 'FIX.4.4',\n        description:\n          'Identifier used within the StandInstDbType\\n\\nRequired if AllocSettlInstType = 3 (should not be populated otherwise)',\n      },\n    ],\n    groupRef: [\n      {\n        id: 2075,\n        added: 'FIX.4.4',\n      },\n    ],\n    description:\n      'The SettlInstructionsData component block is used to convey key information regarding standing settlement and delivery instructions. It also provides a reference to standing settlement details regarding the source, delivery instructions, and settlement parties\\n\\n',\n  },\n  {\n    category: 'Common',\n    added: 'FIX.4.3',\n    name: 'SpreadOrBenchmarkCurveData',\n    id: 1018,\n    abbrName: 'SprdBnchmkCurve',\n    fieldRef: [\n      {\n        id: 218,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 220,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 2950,\n        added: 'FIX.Latest',\n        addedEP: '273',\n      },\n      {\n        id: 221,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 222,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 662,\n        added: 'FIX.4.4',\n      },\n      {\n        id: 663,\n        added: 'FIX.4.4',\n      },\n      {\n        id: 699,\n        added: 'FIX.4.4',\n      },\n      {\n        id: 761,\n        added: 'FIX.4.4',\n      },\n    ],\n    description:\n      'The SpreadOrBenchmarkCurveData component block is primarily used for Fixed Income to convey spread to a benchmark security or curve.\\n\\n',\n  },\n  {\n    category: 'Common',\n    added: 'FIX.4.3',\n    name: 'UnderlyingInstrument',\n    id: 1021,\n    abbrName: 'Undly',\n    fieldRef: [\n      {\n        updatedEP: '277',\n        updated: 'FIX.Latest',\n        id: 311,\n        added: 'FIX.4.3',\n        description:\n          'Common, \"human understood\" representation of the security. SecurityID value can be specified if no symbol exists (e.g. non-exchange traded Collective Investment Vehicles)\\n\\nUse \"[N/A]\" for products which do not have a symbol.\\n\\nRequired if the UnderlyingInstrument component is marked as required where the component is used.',\n      },\n      {\n        id: 312,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 309,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 305,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 2874,\n        added: 'FIX.5.0SP2',\n        addedEP: '254',\n      },\n      {\n        id: 462,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 463,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 2894,\n        added: 'FIX.Latest',\n        addedEP: '266',\n      },\n      {\n        id: 310,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 763,\n        added: 'FIX.4.4',\n      },\n      {\n        id: 313,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 542,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 1213,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n      {\n        id: 2984,\n        added: 'FIX.Latest',\n        addedEP: '287',\n      },\n      {\n        id: 2985,\n        added: 'FIX.Latest',\n        addedEP: '287',\n      },\n      {\n        id: 1837,\n        added: 'FIX.5.0SP2',\n        addedEP: '140',\n      },\n      {\n        id: 241,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 1453,\n        added: 'FIX.5.0SP1',\n        addedEP: '83',\n      },\n      {\n        id: 1454,\n        added: 'FIX.5.0SP1',\n        addedEP: '83',\n      },\n      {\n        id: 2614,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 2615,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 2921,\n        added: 'FIX.Latest',\n        addedEP: '273',\n      },\n      {\n        id: 2616,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 2617,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 2619,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 1455,\n        added: 'FIX.5.0SP1',\n        addedEP: '83',\n      },\n      {\n        id: 1456,\n        added: 'FIX.5.0SP1',\n        addedEP: '83',\n      },\n      {\n        id: 1459,\n        added: 'FIX.5.0SP1',\n        addedEP: '83',\n      },\n      {\n        id: 1460,\n        added: 'FIX.5.0SP1',\n        addedEP: '83',\n      },\n      {\n        id: 242,\n        added: 'FIX.4.3',\n      },\n      {\n        deprecated: 'FIX.4.4',\n        id: 243,\n        added: 'FIX.4.3',\n      },\n      {\n        deprecated: 'FIX.4.4',\n        id: 244,\n        added: 'FIX.4.3',\n      },\n      {\n        deprecated: 'FIX.4.4',\n        id: 245,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 246,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 256,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 595,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 592,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 593,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 594,\n        added: 'FIX.4.3',\n      },\n      {\n        deprecated: 'FIX.4.4',\n        id: 247,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 316,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 941,\n        added: 'FIX.4.4',\n      },\n      {\n        id: 2917,\n        added: 'FIX.Latest',\n        addedEP: '273',\n      },\n      {\n        id: 317,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 436,\n        added: 'FIX.4.3',\n      },\n      {\n        updated: 'FIX.5.0SP2',\n        addedEP: '80',\n        updatedEP: '179',\n        added: 'FIX.5.0SP1',\n        id: 1437,\n      },\n      {\n        id: 2363,\n        added: 'FIX.5.0SP2',\n        addedEP: '179',\n      },\n      {\n        updated: 'FIX.5.0SP2',\n        addedEP: '80',\n        updatedEP: '179',\n        added: 'FIX.5.0SP1',\n        id: 1441,\n      },\n      {\n        id: 998,\n        added: 'FIX.4.4',\n        addedEP: '-1',\n      },\n      {\n        id: 1423,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n      {\n        id: 1718,\n        added: 'FIX.5.0SP2',\n        addedEP: '122',\n      },\n      {\n        id: 2918,\n        added: 'FIX.Latest',\n        addedEP: '273',\n      },\n      {\n        id: 1424,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n      {\n        id: 1425,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n      {\n        id: 1719,\n        added: 'FIX.5.0SP2',\n        addedEP: '122',\n      },\n      {\n        id: 2919,\n        added: 'FIX.Latest',\n        addedEP: '273',\n      },\n      {\n        id: 1000,\n        added: 'FIX.4.4',\n        addedEP: '-1',\n      },\n      {\n        id: 1419,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n      {\n        id: 1526,\n        added: 'FIX.5.0SP2',\n        addedEP: '107',\n      },\n      {\n        id: 2920,\n        added: 'FIX.Latest',\n        addedEP: '273',\n      },\n      {\n        id: 435,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 308,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 306,\n        added: 'FIX.4.3',\n      },\n      {\n        updatedEP: '232',\n        updated: 'FIX.5.0SP2',\n        id: 362,\n        added: 'FIX.4.3',\n      },\n      {\n        updatedEP: '232',\n        updated: 'FIX.5.0SP2',\n        id: 363,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 2742,\n        added: 'FIX.5.0SP2',\n        addedEP: '235',\n      },\n      {\n        id: 2720,\n        added: 'FIX.5.0SP2',\n        addedEP: '232',\n      },\n      {\n        id: 2721,\n        added: 'FIX.5.0SP2',\n        addedEP: '232',\n      },\n      {\n        id: 2722,\n        added: 'FIX.5.0SP2',\n        addedEP: '232',\n      },\n      {\n        id: 2723,\n        added: 'FIX.5.0SP2',\n        addedEP: '232',\n      },\n      {\n        id: 2724,\n        added: 'FIX.5.0SP2',\n        addedEP: '232',\n      },\n      {\n        id: 307,\n        added: 'FIX.4.3',\n      },\n      {\n        updatedEP: '232',\n        updated: 'FIX.5.0SP2',\n        id: 364,\n        added: 'FIX.4.3',\n      },\n      {\n        updatedEP: '232',\n        updated: 'FIX.5.0SP2',\n        id: 365,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 877,\n        added: 'FIX.4.4',\n      },\n      {\n        id: 878,\n        added: 'FIX.4.4',\n      },\n      {\n        id: 972,\n        added: 'FIX.4.4',\n        addedEP: '-1',\n      },\n      {\n        id: 318,\n        added: 'FIX.4.4',\n      },\n      {\n        id: 2916,\n        added: 'FIX.Latest',\n        addedEP: '273',\n      },\n      {\n        id: 879,\n        added: 'FIX.4.4',\n        description:\n          'Specific to the <UnderlyingInstrument> (not in <Instrument>)\\n\\nUnit amount of the underlying security (par, shares, currency, etc.)',\n      },\n      {\n        id: 975,\n        added: 'FIX.4.4',\n        addedEP: '-1',\n      },\n      {\n        id: 973,\n        added: 'FIX.4.4',\n        addedEP: '-1',\n      },\n      {\n        id: 974,\n        added: 'FIX.4.4',\n        addedEP: '-1',\n      },\n      {\n        id: 810,\n        added: 'FIX.4.4',\n        description:\n          'Specific to the <UnderlyingInstrument> (not in <Instrument>)\\n\\nIn a financing deal clean price (percent-of-par or per unit) of the underlying security or basket.',\n      },\n      {\n        id: 882,\n        added: 'FIX.4.4',\n        description:\n          'Specific to the <UnderlyingInstrument> (not in <Instrument>)\\n\\nIn a financing deal price (percent-of-par or per unit) of the underlying security or basket. \"Dirty\" means it includes accrued interest',\n      },\n      {\n        id: 883,\n        added: 'FIX.4.4',\n        description:\n          'Specific to the <UnderlyingInstrument> (not in <Instrument>)\\n\\nIn a financing deal price (percent-of-par or per unit) of the underlying security or basket at the end of the agreement.',\n      },\n      {\n        id: 884,\n        added: 'FIX.4.4',\n        description:\n          'Specific to the <UnderlyingInstrument> (not in <Instrument>)\\n\\nCurrency value attributed to this collateral at the start of the agreement',\n      },\n      {\n        id: 885,\n        added: 'FIX.4.4',\n        description:\n          'Specific to the <UnderlyingInstrument> (not in <Instrument>)\\n\\nCurrency value currently attributed to this collateral',\n      },\n      {\n        id: 886,\n        added: 'FIX.4.4',\n        description:\n          'Specific to the <UnderlyingInstrument> (not in <Instrument>)\\n\\nCurrency value attributed to this collateral at the end of the agreement',\n      },\n      {\n        id: 2885,\n        added: 'FIX.5.0SP2',\n        addedEP: '258',\n      },\n      {\n        id: 2886,\n        added: 'FIX.5.0SP2',\n        addedEP: '258',\n      },\n      {\n        id: 1044,\n        added: 'FIX.4.4',\n        addedEP: '-1',\n      },\n      {\n        id: 1045,\n        added: 'FIX.4.4',\n        addedEP: '-1',\n      },\n      {\n        id: 1046,\n        added: 'FIX.4.4',\n        addedEP: '-1',\n      },\n      {\n        id: 1038,\n        added: 'FIX.4.4',\n        addedEP: '-1',\n      },\n      {\n        id: 1039,\n        added: 'FIX.4.4',\n        addedEP: '-1',\n      },\n      {\n        id: 315,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 2683,\n        added: 'FIX.5.0SP2',\n        addedEP: '224',\n      },\n      {\n        id: 2687,\n        added: 'FIX.5.0SP2',\n        addedEP: '224',\n      },\n      {\n        id: 1988,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 1989,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 1990,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 1991,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 1992,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 1993,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 2881,\n        added: 'FIX.5.0SP2',\n        addedEP: '254',\n      },\n      {\n        id: 1994,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 1995,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 1996,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 1997,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 2620,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 2621,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 1998,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 1999,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 2000,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 2003,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 2004,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 2005,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 2006,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 2284,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2285,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2286,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2287,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2288,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2007,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 2008,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 2009,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 2010,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 2011,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 2012,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 2491,\n        added: 'FIX.5.0SP2',\n        addedEP: '192',\n      },\n      {\n        updated: 'FIX.5.0SP2',\n        addedEP: '161',\n        updatedEP: '235',\n        added: 'FIX.5.0SP2',\n        id: 2013,\n      },\n      {\n        updated: 'FIX.5.0SP2',\n        addedEP: '161',\n        updatedEP: '235',\n        added: 'FIX.5.0SP2',\n        id: 2014,\n      },\n      {\n        updated: 'FIX.5.0SP2',\n        addedEP: '161',\n        updatedEP: '235',\n        added: 'FIX.5.0SP2',\n        id: 2015,\n      },\n      {\n        id: 2744,\n        added: 'FIX.5.0SP2',\n        addedEP: '235',\n      },\n      {\n        id: 2016,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 2289,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2017,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 2018,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 2019,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 2020,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 2021,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 2022,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 2290,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2622,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 2291,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2623,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 2292,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2023,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        updated: 'FIX.5.0SP2',\n        addedEP: '161',\n        updatedEP: '224',\n        added: 'FIX.5.0SP2',\n        id: 2024,\n      },\n      {\n        id: 2025,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 2026,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 2027,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 2028,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        updated: 'FIX.5.0SP2',\n        addedEP: '161',\n        updatedEP: '169',\n        added: 'FIX.5.0SP2',\n        id: 2029,\n      },\n      {\n        id: 2757,\n        added: 'FIX.5.0SP2',\n        addedEP: '238',\n      },\n      {\n        id: 2030,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 2031,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 2293,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2294,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2032,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 2033,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 2034,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 2035,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 2036,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 2037,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 2038,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 2039,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 2040,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 2041,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 2042,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 2043,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 2044,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 41314,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 41315,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 2295,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2296,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2297,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2756,\n        added: 'FIX.5.0SP2',\n        addedEP: '238',\n      },\n      {\n        id: 2298,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2299,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2624,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 2625,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 2626,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 2627,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 2628,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 2629,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 2630,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 2631,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    groupRef: [\n      {\n        id: 2073,\n        added: 'FIX.4.4',\n      },\n      {\n        id: 1023,\n        added: 'FIX.4.4',\n        description:\n          'Specific to the <UnderlyingInstrument> (not in <Instrument>)\\n\\nInsert here the contents of the <UnderlyingStipulations> Component Block',\n      },\n      {\n        id: 1033,\n        added: 'FIX.4.4',\n        addedEP: '-1',\n      },\n      {\n        id: 2227,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 2233,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 2243,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 2228,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 4056,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 4306,\n        added: 'FIX.5.0SP2',\n        addedEP: '187',\n      },\n      {\n        id: 4288,\n        added: 'FIX.5.0SP2',\n        addedEP: '187',\n      },\n      {\n        id: 4293,\n        added: 'FIX.5.0SP2',\n        addedEP: '187',\n      },\n      {\n        id: 4290,\n        added: 'FIX.5.0SP2',\n        addedEP: '187',\n      },\n      {\n        id: 4291,\n        added: 'FIX.5.0SP2',\n        addedEP: '187',\n      },\n      {\n        id: 4398,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    componentRef: [\n      {\n        id: 2213,\n        added: 'FIX.5.0SP2',\n        addedEP: '145',\n      },\n      {\n        id: 4125,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 4278,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 4268,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 4261,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 4414,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 4396,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    description:\n      'The UnderlyingInstrument component block, like the Instrument component block, contains all the fields commonly used to describe a security or instrument. In the case of the UnderlyingInstrument component block it describes an instrument which underlies the primary instrument Refer to the Instrument component block comments as this component block mirrors Instrument, except for the noted fields.\\n\\n',\n  },\n  {\n    category: 'Common',\n    added: 'FIX.4.3',\n    name: 'YieldData',\n    id: 1022,\n    abbrName: 'Yield',\n    fieldRef: [\n      {\n        id: 235,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 236,\n        added: 'FIX.4.3',\n      },\n      {\n        id: 701,\n        added: 'FIX.4.4',\n      },\n      {\n        id: 696,\n        added: 'FIX.4.4',\n      },\n      {\n        id: 697,\n        added: 'FIX.4.4',\n      },\n      {\n        id: 698,\n        added: 'FIX.4.4',\n      },\n    ],\n    description:\n      'The YieldData component block conveys yield information for a given Fixed Income security.\\n\\n',\n  },\n  {\n    updated: 'FIX.Latest',\n    updatedEP: '271',\n    category: 'Session',\n    added: 'FIX.4.0',\n    name: 'StandardHeader',\n    id: 1024,\n    abbrName: 'Hdr',\n    fieldRef: [\n      {\n        id: 8,\n        added: 'FIX.4.0',\n        presence: 'required',\n      },\n      {\n        id: 9,\n        added: 'FIX.4.0',\n        presence: 'required',\n      },\n      {\n        id: 35,\n        added: 'FIX.4.0',\n        presence: 'required',\n      },\n      {\n        id: 1128,\n        added: 'FIX.4.4',\n        addedEP: '-1',\n      },\n      {\n        id: 1156,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n      {\n        id: 1129,\n        added: 'FIX.4.4',\n        addedEP: '-1',\n      },\n      {\n        id: 49,\n        added: 'FIX.4.0',\n        presence: 'required',\n      },\n      {\n        id: 56,\n        added: 'FIX.4.0',\n        presence: 'required',\n      },\n      {\n        id: 115,\n        added: 'FIX.4.0',\n      },\n      {\n        id: 128,\n        added: 'FIX.4.0',\n      },\n      {\n        deprecatedEP: '195',\n        updated: 'FIX.5.0SP2',\n        deprecated: 'FIX.5.0SP2',\n        updatedEP: '195',\n        added: 'FIX.4.0',\n        id: 90,\n      },\n      {\n        deprecatedEP: '195',\n        updated: 'FIX.5.0SP2',\n        deprecated: 'FIX.5.0SP2',\n        updatedEP: '195',\n        added: 'FIX.4.0',\n        id: 91,\n      },\n      {\n        id: 34,\n        added: 'FIX.4.0',\n        presence: 'required',\n      },\n      {\n        id: 50,\n        added: 'FIX.4.0',\n      },\n      {\n        id: 142,\n        added: 'FIX.4.1',\n      },\n      {\n        id: 57,\n        added: 'FIX.4.0',\n      },\n      {\n        id: 143,\n        added: 'FIX.4.1',\n      },\n      {\n        id: 116,\n        added: 'FIX.4.0',\n      },\n      {\n        id: 144,\n        added: 'FIX.4.1',\n      },\n      {\n        id: 129,\n        added: 'FIX.4.0',\n      },\n      {\n        id: 145,\n        added: 'FIX.4.1',\n      },\n      {\n        id: 43,\n        added: 'FIX.4.0',\n      },\n      {\n        id: 97,\n        added: 'FIX.4.0',\n      },\n      {\n        id: 52,\n        added: 'FIX.4.0',\n        presence: 'required',\n      },\n      {\n        id: 122,\n        added: 'FIX.4.0',\n      },\n      {\n        id: 212,\n        added: 'FIX.4.2',\n      },\n      {\n        id: 213,\n        added: 'FIX.4.2',\n        description:\n          'Can contain a XML formatted message block (e.g. FIXML). Always immediately follows XmlDataLen field. (Can be embedded within encrypted data section.)\\n\\nSee Volume 1: FIXML Support',\n      },\n      {\n        id: 347,\n        added: 'FIX.4.2',\n      },\n      {\n        id: 369,\n        added: 'FIX.4.2',\n      },\n    ],\n    groupRef: [\n      {\n        id: 2085,\n        added: 'FIX.4.4',\n        addedEP: '-1',\n      },\n    ],\n    description: 'The standard FIX message header\\n\\n',\n  },\n  {\n    category: 'Session',\n    added: 'FIX.4.0',\n    name: 'StandardTrailer',\n    id: 1025,\n    abbrName: 'Trlr',\n    fieldRef: [\n      {\n        deprecatedEP: '195',\n        updated: 'FIX.5.0SP2',\n        deprecated: 'FIX.5.0SP2',\n        updatedEP: '195',\n        added: 'FIX.4.0',\n        id: 93,\n      },\n      {\n        deprecatedEP: '195',\n        updated: 'FIX.5.0SP2',\n        deprecated: 'FIX.5.0SP2',\n        updatedEP: '195',\n        added: 'FIX.4.0',\n        id: 89,\n      },\n      {\n        id: 10,\n        added: 'FIX.4.0',\n        presence: 'required',\n      },\n    ],\n    description: 'The standard FIX message trailer\\n\\n',\n  },\n  {\n    addedEP: '-1',\n    category: 'Common',\n    added: 'FIX.4.4',\n    name: 'DisplayInstruction',\n    id: 1029,\n    abbrName: 'DsplyInstr',\n    fieldRef: [\n      {\n        id: 1138,\n        added: 'FIX.4.4',\n        addedEP: '-1',\n      },\n      {\n        id: 1082,\n        added: 'FIX.4.4',\n        addedEP: '-1',\n      },\n      {\n        id: 1608,\n        added: 'FIX.5.0SP2',\n        addedEP: '115',\n      },\n      {\n        id: 2828,\n        added: 'FIX.5.0SP2',\n        addedEP: '253',\n      },\n      {\n        id: 1083,\n        added: 'FIX.4.4',\n        addedEP: '-1',\n      },\n      {\n        id: 1084,\n        added: 'FIX.4.4',\n        addedEP: '-1',\n      },\n      {\n        id: 1085,\n        added: 'FIX.4.4',\n        addedEP: '-1',\n      },\n      {\n        id: 1086,\n        added: 'FIX.4.4',\n        addedEP: '-1',\n      },\n      {\n        id: 1087,\n        added: 'FIX.4.4',\n        addedEP: '-1',\n      },\n      {\n        id: 1088,\n        added: 'FIX.4.4',\n        addedEP: '-1',\n      },\n    ],\n    description:\n      'The DisplayInstruction component block is used to convey instructions on how a reserved order is to be handled in terms of when and how much of the order quantity is to be displayed to the market.\\n\\n',\n  },\n  {\n    addedEP: '-1',\n    category: 'Common',\n    added: 'FIX.4.4',\n    name: 'TriggeringInstruction',\n    id: 1030,\n    abbrName: 'TrgrInstr',\n    fieldRef: [\n      {\n        id: 1100,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n      {\n        id: 1101,\n        added: 'FIX.4.4',\n        addedEP: '-1',\n      },\n      {\n        id: 1628,\n        added: 'FIX.5.0SP2',\n        addedEP: '100',\n      },\n      {\n        id: 1102,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n      {\n        id: 1103,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n      {\n        id: 1104,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n      {\n        id: 1105,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n      {\n        id: 1106,\n        added: 'FIX.4.4',\n        addedEP: '-1',\n      },\n      {\n        id: 1107,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n      {\n        id: 1108,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n      {\n        id: 1109,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n      {\n        id: 1110,\n        added: 'FIX.4.4',\n        addedEP: '-1',\n      },\n      {\n        id: 1111,\n        added: 'FIX.4.4',\n        addedEP: '-1',\n      },\n      {\n        id: 1112,\n        added: 'FIX.4.4',\n        addedEP: '-1',\n      },\n      {\n        id: 1113,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n      {\n        id: 1114,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n    ],\n    description:\n      'The TriggeringInstruction component block specifies the conditions under which an order will be triggered by related market events as well as the behavior of the order in the market once it is triggered.\\n\\n',\n  },\n  {\n    addedEP: '-1',\n    category: 'Common',\n    added: 'FIX.5.0',\n    name: 'SecurityTradingRules',\n    id: 1058,\n    abbrName: 'SecTrdgRules',\n    componentRef: [\n      {\n        id: 2131,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n    ],\n    groupRef: [\n      {\n        id: 2130,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n      {\n        id: 2135,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n    ],\n    description:\n      \"Ths SecurityTradingRules component block is used as part of security definition to specify the specific security's standard trading parameters such as trading session eligibility and other attributes of the security.\\n\\n\",\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    addedEP: '-1',\n    updatedEP: '145',\n    category: 'Common',\n    added: 'FIX.5.0',\n    name: 'SecurityXML',\n    id: 1060,\n    abbrName: 'SecXML',\n    fieldRef: [\n      {\n        updated: 'FIX.5.0SP2',\n        addedEP: '-1',\n        updatedEP: '145',\n        added: 'FIX.5.0',\n        id: 1184,\n      },\n      {\n        updated: 'FIX.5.0SP2',\n        addedEP: '-1',\n        updatedEP: '145',\n        added: 'FIX.5.0',\n        id: 1185,\n      },\n      {\n        updated: 'FIX.5.0SP2',\n        addedEP: '-1',\n        updatedEP: '145',\n        added: 'FIX.5.0',\n        id: 1186,\n      },\n    ],\n    description:\n      'The SecurityXML component is used to provide a definition in an XML format for the instrument.\\n\\nSee \"Specifying an FpML product specification from within the FIX Instrument Block\" in Volume 1 of the FIX Specification for more information on using this component block with FpML as a guideline.',\n  },\n  {\n    addedEP: '-1',\n    category: 'Common',\n    added: 'FIX.5.0',\n    name: 'SecondaryPriceLimits',\n    id: 2121,\n    abbrName: 'PxLmts2',\n    fieldRef: [\n      {\n        id: 1305,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n      {\n        id: 1221,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n      {\n        id: 1230,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n      {\n        id: 1240,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n    ],\n    description: '\\n\\n',\n  },\n  {\n    addedEP: '-1',\n    category: 'Common',\n    added: 'FIX.5.0',\n    name: 'PriceLimits',\n    id: 2122,\n    abbrName: 'PxLmts',\n    fieldRef: [\n      {\n        id: 1306,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n      {\n        id: 1148,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n      {\n        id: 1149,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n      {\n        id: 1150,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n    ],\n    description: '\\n\\n',\n  },\n  {\n    addedEP: '-1',\n    category: 'Common',\n    added: 'FIX.5.0',\n    name: 'TradingSessionRules',\n    id: 2129,\n    abbrName: 'TrdgSesRules',\n    groupRef: [\n      {\n        id: 2128,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n      {\n        updated: 'FIX.5.0SP2',\n        addedEP: '-1',\n        updatedEP: '223',\n        added: 'FIX.5.0',\n        id: 2127,\n      },\n      {\n        updated: 'FIX.5.0SP2',\n        addedEP: '-1',\n        updatedEP: '223',\n        added: 'FIX.5.0',\n        id: 2126,\n      },\n      {\n        id: 2253,\n        added: 'FIX.5.0SP2',\n        addedEP: '223',\n      },\n      {\n        updated: 'FIX.5.0SP2',\n        addedEP: '-1',\n        updatedEP: '223',\n        added: 'FIX.5.0',\n        id: 2125,\n      },\n      {\n        updated: 'FIX.5.0SP2',\n        addedEP: '-1',\n        updatedEP: '223',\n        added: 'FIX.5.0',\n        id: 2123,\n      },\n    ],\n    description: '\\n\\n',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    addedEP: '-1',\n    updatedEP: '195',\n    category: 'Common',\n    added: 'FIX.5.0',\n    name: 'BaseTradingRules',\n    id: 2131,\n    abbrName: 'BaseTrdgRules',\n    groupRef: [\n      {\n        updated: 'FIX.5.0SP2',\n        addedEP: '-1',\n        updatedEP: '195',\n        added: 'FIX.5.0',\n        id: 2118,\n      },\n      {\n        id: 2124,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n      {\n        id: 2255,\n        added: 'FIX.5.0SP2',\n        addedEP: '195',\n      },\n      {\n        id: 2256,\n        added: 'FIX.5.0SP2',\n        addedEP: '195',\n      },\n    ],\n    componentRef: [\n      {\n        id: 2122,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n    ],\n    fieldRef: [\n      {\n        id: 827,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n      {\n        updated: 'FIX.5.0SP2',\n        addedEP: '130',\n        updatedEP: '195',\n        added: 'FIX.5.0SP2',\n        id: 1786,\n      },\n      {\n        updated: 'FIX.5.0SP2',\n        addedEP: '-1',\n        updatedEP: '195',\n        added: 'FIX.5.0',\n        id: 562,\n      },\n      {\n        updated: 'FIX.5.0SP2',\n        addedEP: '-1',\n        updatedEP: '195',\n        added: 'FIX.5.0',\n        id: 1140,\n      },\n      {\n        updated: 'FIX.5.0SP2',\n        addedEP: '-1',\n        updatedEP: '195',\n        added: 'FIX.5.0',\n        id: 1143,\n      },\n      {\n        id: 1144,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n      {\n        updated: 'FIX.5.0SP2',\n        addedEP: '-1',\n        updatedEP: '195',\n        added: 'FIX.5.0',\n        id: 1245,\n      },\n      {\n        id: 2934,\n        added: 'FIX.Latest',\n        addedEP: '273',\n      },\n      {\n        updated: 'FIX.5.0SP2',\n        addedEP: '-1',\n        updatedEP: '195',\n        added: 'FIX.5.0',\n        id: 561,\n      },\n      {\n        updated: 'FIX.5.0SP2',\n        addedEP: '-1',\n        updatedEP: '195',\n        added: 'FIX.5.0',\n        id: 1377,\n      },\n      {\n        updated: 'FIX.5.0SP2',\n        addedEP: '-1',\n        updatedEP: '195',\n        added: 'FIX.5.0',\n        id: 1378,\n      },\n      {\n        updated: 'FIX.5.0SP2',\n        addedEP: '-1',\n        updatedEP: '195',\n        added: 'FIX.5.0',\n        id: 423,\n      },\n      {\n        id: 2557,\n        added: 'FIX.5.0SP2',\n        addedEP: '195',\n      },\n      {\n        id: 2559,\n        added: 'FIX.5.0SP2',\n        addedEP: '195',\n      },\n    ],\n    description:\n      'Trading rules that are applicable to a market, market segment or individual security independent of a trading session.\\n\\n',\n  },\n  {\n    addedEP: '-1',\n    category: 'Common',\n    added: 'FIX.5.0',\n    name: 'DerivativeInstrument',\n    id: 2140,\n    abbrName: 'DerivInstrmt',\n    fieldRef: [\n      {\n        updated: 'FIX.Latest',\n        addedEP: '-1',\n        updatedEP: '277',\n        added: 'FIX.5.0',\n        id: 1214,\n        description:\n          'Common, \"human understood\" representation of the security. SecurityID value can be specified if no symbol exists (e.g. non-exchange traded Collective Investment Vehicles)\\n\\nUse \"[N/A]\" for products which do not have a symbol.\\n\\nRequired if DerivativeInstrument component is marked as required where the component is used.',\n      },\n      {\n        updated: 'FIX.Latest',\n        addedEP: '-1',\n        updatedEP: '271',\n        added: 'FIX.5.0',\n        id: 1215,\n      },\n      {\n        updated: 'FIX.Latest',\n        addedEP: '-1',\n        updatedEP: '271',\n        added: 'FIX.5.0',\n        id: 1216,\n      },\n      {\n        updated: 'FIX.Latest',\n        addedEP: '-1',\n        updatedEP: '271',\n        added: 'FIX.5.0',\n        id: 1217,\n      },\n      {\n        updated: 'FIX.Latest',\n        addedEP: '-1',\n        updatedEP: '271',\n        added: 'FIX.5.0',\n        id: 1246,\n      },\n      {\n        id: 1228,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n      {\n        id: 1243,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n      {\n        updated: 'FIX.Latest',\n        addedEP: '-1',\n        updatedEP: '271',\n        added: 'FIX.5.0',\n        id: 1247,\n      },\n      {\n        updated: 'FIX.Latest',\n        addedEP: '-1',\n        updatedEP: '271',\n        added: 'FIX.5.0',\n        id: 1248,\n      },\n      {\n        id: 2892,\n        added: 'FIX.Latest',\n        addedEP: '266',\n      },\n      {\n        id: 1249,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n        description:\n          'It is recommended that CFICode be used instead of SecurityType for non-Fixed Income instruments.\\n\\nRequired for Fixed Income. Refer to Volume 7 - Fixed Income\\n\\nFutures and Options should be specified using the CFICode[461] field instead of SecurityType[167] (Refer to Volume 7 - Recommendations and Guidelines for Futures and Options Markets.)',\n      },\n      {\n        updated: 'FIX.Latest',\n        addedEP: '-1',\n        updatedEP: '271',\n        added: 'FIX.5.0',\n        id: 1250,\n      },\n      {\n        updated: 'FIX.Latest',\n        addedEP: '-1',\n        updatedEP: '271',\n        added: 'FIX.5.0',\n        id: 1251,\n      },\n      {\n        updated: 'FIX.Latest',\n        addedEP: '-1',\n        updatedEP: '271',\n        added: 'FIX.5.0',\n        id: 1252,\n        description:\n          'Note that standardized derivatives which are typically only referenced by month and year (e.g. S and P futures).may use MaturityMonthYear and or this field.\\n\\nWhen using MaturityMonthYear, it is recommended that markets and sell sides report the MaturityDate on all outbound messages as a means of data enrichment.',\n      },\n      {\n        id: 1253,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n      {\n        updated: 'FIX.Latest',\n        addedEP: '-1',\n        updatedEP: '271',\n        added: 'FIX.5.0',\n        id: 1254,\n      },\n      {\n        id: 1255,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n      {\n        updated: 'FIX.Latest',\n        addedEP: '-1',\n        updatedEP: '271',\n        added: 'FIX.5.0',\n        id: 1256,\n      },\n      {\n        id: 1276,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n      {\n        updated: 'FIX.Latest',\n        addedEP: '-1',\n        updatedEP: '271',\n        added: 'FIX.5.0',\n        id: 1257,\n      },\n      {\n        updated: 'FIX.Latest',\n        addedEP: '-1',\n        updatedEP: '271',\n        added: 'FIX.5.0',\n        id: 1258,\n      },\n      {\n        updated: 'FIX.Latest',\n        addedEP: '-1',\n        updatedEP: '271',\n        added: 'FIX.5.0',\n        id: 1259,\n      },\n      {\n        updated: 'FIX.Latest',\n        addedEP: '-1',\n        updatedEP: '271',\n        added: 'FIX.5.0',\n        id: 1260,\n      },\n      {\n        updated: 'FIX.Latest',\n        addedEP: '-1',\n        updatedEP: '271',\n        added: 'FIX.5.0',\n        id: 1261,\n      },\n      {\n        updated: 'FIX.Latest',\n        addedEP: '-1',\n        updatedEP: '271',\n        added: 'FIX.5.0',\n        id: 1262,\n      },\n      {\n        id: 2912,\n        added: 'FIX.Latest',\n        addedEP: '273',\n      },\n      {\n        updated: 'FIX.Latest',\n        addedEP: '-1',\n        updatedEP: '271',\n        added: 'FIX.5.0',\n        id: 1263,\n      },\n      {\n        updated: 'FIX.Latest',\n        addedEP: '-1',\n        updatedEP: '271',\n        added: 'FIX.5.0',\n        id: 1264,\n      },\n      {\n        updated: 'FIX.Latest',\n        addedEP: '-1',\n        updatedEP: '271',\n        added: 'FIX.5.0',\n        id: 1265,\n      },\n      {\n        updated: 'FIX.Latest',\n        addedEP: '-1',\n        updatedEP: '271',\n        added: 'FIX.5.0',\n        id: 1266,\n      },\n      {\n        id: 1438,\n        added: 'FIX.5.0SP1',\n        addedEP: '80',\n      },\n      {\n        id: 1442,\n        added: 'FIX.5.0SP1',\n        addedEP: '80',\n      },\n      {\n        updated: 'FIX.Latest',\n        addedEP: '-1',\n        updatedEP: '271',\n        added: 'FIX.5.0',\n        id: 1267,\n      },\n      {\n        updated: 'FIX.Latest',\n        addedEP: '-1',\n        updatedEP: '271',\n        added: 'FIX.5.0',\n        id: 1268,\n      },\n      {\n        id: 1269,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n      {\n        id: 1270,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n      {\n        id: 1722,\n        added: 'FIX.5.0SP2',\n        addedEP: '122',\n      },\n      {\n        id: 2913,\n        added: 'FIX.Latest',\n        addedEP: '273',\n      },\n      {\n        id: 1315,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n      {\n        id: 1316,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n      {\n        id: 1723,\n        added: 'FIX.5.0SP2',\n        addedEP: '122',\n      },\n      {\n        id: 2914,\n        added: 'FIX.Latest',\n        addedEP: '273',\n      },\n      {\n        updated: 'FIX.Latest',\n        addedEP: '-1',\n        updatedEP: '271',\n        added: 'FIX.5.0',\n        id: 1317,\n      },\n      {\n        updated: 'FIX.Latest',\n        addedEP: '-1',\n        updatedEP: '271',\n        added: 'FIX.5.0',\n        id: 1318,\n      },\n      {\n        updated: 'FIX.Latest',\n        addedEP: '-1',\n        updatedEP: '271',\n        added: 'FIX.5.0',\n        id: 1319,\n      },\n      {\n        id: 1576,\n        added: 'FIX.5.0SP2',\n        addedEP: '107',\n      },\n      {\n        id: 2915,\n        added: 'FIX.Latest',\n        addedEP: '273',\n      },\n      {\n        updated: 'FIX.Latest',\n        addedEP: '-1',\n        updatedEP: '271',\n        added: 'FIX.5.0',\n        id: 1320,\n      },\n      {\n        updated: 'FIX.Latest',\n        addedEP: '-1',\n        updatedEP: '271',\n        added: 'FIX.5.0',\n        id: 1321,\n      },\n      {\n        updated: 'FIX.Latest',\n        addedEP: '-1',\n        updatedEP: '271',\n        added: 'FIX.5.0',\n        id: 1322,\n      },\n      {\n        id: 1323,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n      {\n        id: 2684,\n        added: 'FIX.5.0SP2',\n        addedEP: '224',\n      },\n      {\n        id: 2688,\n        added: 'FIX.5.0SP2',\n        addedEP: '224',\n      },\n      {\n        updated: 'FIX.Latest',\n        addedEP: '-1',\n        updatedEP: '271',\n        added: 'FIX.5.0',\n        id: 1299,\n      },\n      {\n        updated: 'FIX.Latest',\n        addedEP: '-1',\n        updatedEP: '271',\n        added: 'FIX.5.0',\n        id: 1225,\n      },\n      {\n        updated: 'FIX.Latest',\n        addedEP: '-1',\n        updatedEP: '271',\n        added: 'FIX.5.0',\n        id: 1271,\n      },\n      {\n        id: 1272,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n      {\n        updated: 'FIX.Latest',\n        addedEP: '-1',\n        updatedEP: '271',\n        added: 'FIX.5.0',\n        id: 1273,\n      },\n      {\n        updated: 'FIX.Latest',\n        addedEP: '-1',\n        updatedEP: '271',\n        added: 'FIX.5.0',\n        id: 1274,\n      },\n      {\n        id: 1275,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n      {\n        updated: 'FIX.Latest',\n        addedEP: '-1',\n        updatedEP: '271',\n        added: 'FIX.5.0',\n        id: 1277,\n      },\n      {\n        updated: 'FIX.Latest',\n        addedEP: '-1',\n        updatedEP: '271',\n        added: 'FIX.5.0',\n        id: 1278,\n      },\n      {\n        id: 1279,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n      {\n        updated: 'FIX.Latest',\n        addedEP: '-1',\n        updatedEP: '271',\n        added: 'FIX.5.0',\n        id: 1280,\n      },\n      {\n        updated: 'FIX.Latest',\n        addedEP: '-1',\n        updatedEP: '271',\n        added: 'FIX.5.0',\n        id: 1281,\n      },\n      {\n        id: 1285,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n    ],\n    groupRef: [\n      {\n        id: 2105,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n      {\n        id: 2106,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n      {\n        id: 2141,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n    ],\n    componentRef: [\n      {\n        id: 1061,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n    ],\n    description: '\\n\\n',\n  },\n  {\n    addedEP: '-1',\n    category: 'Common',\n    added: 'FIX.5.0',\n    name: 'DerivativeSecurityDefinition',\n    id: 2133,\n    abbrName: 'DerivSecDef',\n    componentRef: [\n      {\n        id: 2140,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n    ],\n    groupRef: [\n      {\n        id: 2136,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n      {\n        id: 2132,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n      {\n        id: 2188,\n        added: 'FIX.5.0SP2',\n        addedEP: '107',\n      },\n    ],\n    description: '\\n\\n',\n  },\n  {\n    addedEP: '-1',\n    category: 'Common',\n    added: 'FIX.5.0',\n    name: 'DerivativeSecurityXML',\n    id: 1061,\n    abbrName: 'SecXML',\n    fieldRef: [\n      {\n        updated: 'FIX.Latest',\n        addedEP: '-1',\n        updatedEP: '271',\n        added: 'FIX.5.0',\n        id: 1282,\n      },\n      {\n        updated: 'FIX.Latest',\n        addedEP: '-1',\n        updatedEP: '271',\n        added: 'FIX.5.0',\n        id: 1283,\n      },\n      {\n        updated: 'FIX.Latest',\n        addedEP: '-1',\n        updatedEP: '271',\n        added: 'FIX.5.0',\n        id: 1284,\n      },\n    ],\n    description: '\\n\\n',\n  },\n  {\n    deprecatedEP: '187',\n    updated: 'FIX.5.0SP1',\n    deprecated: 'FIX.5.0SP2',\n    addedEP: '-1',\n    updatedEP: '97',\n    category: 'TradeCapture',\n    added: 'FIX.5.0',\n    name: 'UnderlyingLegInstrument',\n    id: 2134,\n    abbrName: 'Instrmt',\n    fieldRef: [\n      {\n        deprecatedEP: '187',\n        deprecated: 'FIX.5.0SP2',\n        addedEP: '-1',\n        added: 'FIX.5.0',\n        id: 1330,\n      },\n      {\n        deprecatedEP: '187',\n        deprecated: 'FIX.5.0SP2',\n        addedEP: '-1',\n        added: 'FIX.5.0',\n        id: 1331,\n      },\n      {\n        deprecatedEP: '187',\n        deprecated: 'FIX.5.0SP2',\n        addedEP: '-1',\n        added: 'FIX.5.0',\n        id: 1332,\n      },\n      {\n        deprecatedEP: '187',\n        deprecated: 'FIX.5.0SP2',\n        addedEP: '-1',\n        added: 'FIX.5.0',\n        id: 1333,\n      },\n      {\n        deprecatedEP: '187',\n        deprecated: 'FIX.5.0SP2',\n        addedEP: '-1',\n        added: 'FIX.5.0',\n        id: 1344,\n      },\n      {\n        deprecatedEP: '187',\n        deprecated: 'FIX.5.0SP2',\n        addedEP: '-1',\n        added: 'FIX.5.0',\n        id: 1337,\n      },\n      {\n        deprecatedEP: '187',\n        deprecated: 'FIX.5.0SP2',\n        addedEP: '-1',\n        added: 'FIX.5.0',\n        id: 1338,\n      },\n      {\n        deprecatedEP: '187',\n        deprecated: 'FIX.5.0SP2',\n        addedEP: '-1',\n        added: 'FIX.5.0',\n        id: 1339,\n      },\n      {\n        deprecatedEP: '187',\n        deprecated: 'FIX.5.0SP2',\n        addedEP: '-1',\n        added: 'FIX.5.0',\n        id: 1345,\n      },\n      {\n        deprecatedEP: '187',\n        deprecated: 'FIX.5.0SP2',\n        addedEP: '-1',\n        added: 'FIX.5.0',\n        id: 1405,\n      },\n      {\n        deprecatedEP: '187',\n        deprecated: 'FIX.5.0SP2',\n        addedEP: '-1',\n        added: 'FIX.5.0',\n        id: 1340,\n      },\n      {\n        deprecatedEP: '187',\n        deprecated: 'FIX.5.0SP2',\n        addedEP: '-1',\n        added: 'FIX.5.0',\n        id: 1391,\n      },\n      {\n        deprecatedEP: '187',\n        deprecated: 'FIX.5.0SP2',\n        addedEP: '-1',\n        added: 'FIX.5.0',\n        id: 1343,\n      },\n      {\n        deprecatedEP: '187',\n        deprecated: 'FIX.5.0SP2',\n        addedEP: '-1',\n        added: 'FIX.5.0',\n        id: 1341,\n      },\n      {\n        deprecatedEP: '187',\n        deprecated: 'FIX.5.0SP2',\n        addedEP: '-1',\n        added: 'FIX.5.0',\n        id: 1392,\n      },\n    ],\n    groupRef: [\n      {\n        deprecatedEP: '187',\n        deprecated: 'FIX.5.0SP2',\n        addedEP: '-1',\n        added: 'FIX.5.0',\n        id: 2108,\n      },\n    ],\n    description: '\\n\\n',\n  },\n  {\n    addedEP: '-1',\n    category: 'Common',\n    added: 'FIX.5.0',\n    name: 'ApplicationSequenceControl',\n    id: 1057,\n    abbrName: 'ApplSeqCtrl',\n    fieldRef: [\n      {\n        id: 1180,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n      {\n        id: 1181,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n      {\n        id: 1350,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n      {\n        id: 1352,\n        added: 'FIX.5.0',\n        addedEP: '-1',\n      },\n    ],\n    description:\n      'The ApplicationSequenceControl is used for application sequencing and recovery. Consisting of ApplSeqNum (1181), ApplID (1180), ApplLastSeqNum (1350), and ApplResendFlag (1352), FIX application messages that carries this component block will be able to use application level sequencing. ApplID, ApplSeqNum and ApplLastSeqNum fields identify the application id, application sequence number and the previous application sequence number (in case of intentional gaps) on each application message that carries this block.\\n\\n',\n  },\n  {\n    addedEP: '77',\n    category: 'TradeCapture',\n    added: 'FIX.5.0SP1',\n    name: 'TradeReportOrderDetail',\n    id: 2143,\n    abbrName: 'TrdRptOrdDetl',\n    fieldRef: [\n      {\n        id: 37,\n        added: 'FIX.5.0SP1',\n        addedEP: '77',\n      },\n      {\n        id: 198,\n        added: 'FIX.5.0SP1',\n        addedEP: '77',\n      },\n      {\n        updated: 'FIX.5.0SP1',\n        addedEP: '77',\n        updatedEP: '95',\n        added: 'FIX.5.0SP1',\n        id: 11,\n      },\n      {\n        updated: 'FIX.5.0SP1',\n        addedEP: '77',\n        updatedEP: '95',\n        added: 'FIX.5.0SP1',\n        id: 526,\n      },\n      {\n        id: 66,\n        added: 'FIX.5.0SP1',\n        addedEP: '77',\n      },\n      {\n        id: 1080,\n        added: 'FIX.5.0SP1',\n        addedEP: '77',\n      },\n      {\n        id: 1081,\n        added: 'FIX.5.0SP1',\n        addedEP: '77',\n      },\n      {\n        id: 1431,\n        added: 'FIX.5.0SP1',\n        addedEP: '77',\n      },\n      {\n        id: 1091,\n        added: 'FIX.5.0SP2',\n        addedEP: '101',\n      },\n      {\n        id: 40,\n        added: 'FIX.5.0SP1',\n        addedEP: '77',\n      },\n      {\n        id: 44,\n        added: 'FIX.5.0SP1',\n        addedEP: '77',\n      },\n      {\n        id: 99,\n        added: 'FIX.5.0SP1',\n        addedEP: '77',\n      },\n      {\n        id: 18,\n        added: 'FIX.5.0SP1',\n        addedEP: '77',\n      },\n      {\n        id: 39,\n        added: 'FIX.5.0SP1',\n        addedEP: '77',\n      },\n      {\n        id: 151,\n        added: 'FIX.5.0SP1',\n        addedEP: '77',\n      },\n      {\n        id: 14,\n        added: 'FIX.5.0SP1',\n        addedEP: '77',\n      },\n      {\n        id: 59,\n        added: 'FIX.5.0SP1',\n        addedEP: '77',\n      },\n      {\n        id: 126,\n        added: 'FIX.5.0SP1',\n        addedEP: '77',\n      },\n      {\n        id: 2362,\n        added: 'FIX.5.0SP2',\n        addedEP: '211',\n      },\n      {\n        id: 2964,\n        added: 'FIX.Latest',\n        addedEP: '280',\n      },\n      {\n        updated: 'FIX.5.0SP2',\n        addedEP: '100',\n        updatedEP: '159',\n        added: 'FIX.5.0SP2',\n        id: 1629,\n      },\n      {\n        id: 1916,\n        added: 'FIX.5.0SP2',\n        addedEP: '159',\n      },\n      {\n        id: 528,\n        added: 'FIX.5.0SP1',\n        addedEP: '77',\n      },\n      {\n        id: 529,\n        added: 'FIX.5.0SP1',\n        addedEP: '77',\n      },\n      {\n        id: 775,\n        added: 'FIX.5.0SP1',\n        addedEP: '78',\n      },\n      {\n        id: 1432,\n        added: 'FIX.5.0SP1',\n        addedEP: '77',\n      },\n      {\n        id: 1724,\n        added: 'FIX.5.0SP2',\n        addedEP: '222',\n      },\n      {\n        id: 2704,\n        added: 'FIX.5.0SP2',\n        addedEP: '228',\n      },\n      {\n        id: 821,\n        added: 'FIX.5.0SP1',\n        addedEP: '77',\n      },\n      {\n        id: 1093,\n        added: 'FIX.5.0SP1',\n        addedEP: '77',\n      },\n      {\n        id: 483,\n        added: 'FIX.5.0SP1',\n        addedEP: '77',\n      },\n      {\n        id: 586,\n        added: 'FIX.5.0SP1',\n        addedEP: '77',\n      },\n      {\n        id: 2766,\n        added: 'FIX.5.0SP2',\n        addedEP: '240',\n      },\n    ],\n    groupRef: [\n      {\n        id: 2270,\n        added: 'FIX.5.0SP2',\n        addedEP: '259',\n      },\n      {\n        id: 1064,\n        added: 'FIX.5.0SP2',\n        addedEP: '99',\n      },\n      {\n        id: 1073,\n        added: 'FIX.5.0SP2',\n        addedEP: '222',\n      },\n    ],\n    componentRef: [\n      {\n        id: 1011,\n        added: 'FIX.5.0SP1',\n        addedEP: '77',\n      },\n      {\n        id: 1029,\n        added: 'FIX.5.0SP1',\n        addedEP: '77',\n      },\n    ],\n    description: '\\n\\n',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    addedEP: '105',\n    updatedEP: '106',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'InstrumentScope',\n    id: 2162,\n    abbrName: 'InstrmtScope',\n    fieldRef: [\n      {\n        id: 1536,\n        added: 'FIX.5.0SP2',\n        addedEP: '105',\n      },\n      {\n        id: 1537,\n        added: 'FIX.5.0SP2',\n        addedEP: '105',\n      },\n      {\n        id: 1538,\n        added: 'FIX.5.0SP2',\n        addedEP: '105',\n      },\n      {\n        id: 1539,\n        added: 'FIX.5.0SP2',\n        addedEP: '105',\n      },\n      {\n        id: 1543,\n        added: 'FIX.5.0SP2',\n        addedEP: '105',\n      },\n      {\n        id: 1544,\n        added: 'FIX.5.0SP2',\n        addedEP: '105',\n      },\n      {\n        id: 1545,\n        added: 'FIX.5.0SP2',\n        addedEP: '105',\n      },\n      {\n        id: 1546,\n        added: 'FIX.5.0SP2',\n        addedEP: '105',\n      },\n      {\n        id: 2895,\n        added: 'FIX.Latest',\n        addedEP: '266',\n      },\n      {\n        id: 1547,\n        added: 'FIX.5.0SP2',\n        addedEP: '105',\n      },\n      {\n        id: 1548,\n        added: 'FIX.5.0SP2',\n        addedEP: '105',\n      },\n      {\n        id: 1549,\n        added: 'FIX.5.0SP2',\n        addedEP: '105',\n      },\n      {\n        id: 1550,\n        added: 'FIX.5.0SP2',\n        addedEP: '105',\n      },\n      {\n        id: 1551,\n        added: 'FIX.5.0SP2',\n        addedEP: '105',\n      },\n      {\n        id: 1552,\n        added: 'FIX.5.0SP2',\n        addedEP: '105',\n      },\n      {\n        id: 1553,\n        added: 'FIX.5.0SP2',\n        addedEP: '105',\n      },\n      {\n        id: 1554,\n        added: 'FIX.5.0SP2',\n        addedEP: '105',\n      },\n      {\n        updated: 'FIX.5.0SP2',\n        addedEP: '105',\n        updatedEP: '182',\n        added: 'FIX.5.0SP2',\n        id: 1555,\n      },\n      {\n        id: 1616,\n        added: 'FIX.5.0SP2',\n        addedEP: '105',\n      },\n      {\n        id: 1556,\n        added: 'FIX.5.0SP2',\n        addedEP: '105',\n      },\n      {\n        id: 1620,\n        added: 'FIX.5.0SP2',\n        addedEP: '105',\n      },\n      {\n        id: 1621,\n        added: 'FIX.5.0SP2',\n        addedEP: '105',\n      },\n      {\n        id: 1557,\n        added: 'FIX.5.0SP2',\n        addedEP: '105',\n      },\n    ],\n    groupRef: [\n      {\n        id: 2163,\n        added: 'FIX.5.0SP2',\n        addedEP: '105',\n      },\n    ],\n    description: 'Used to specify the instrument\\n\\n',\n  },\n  {\n    addedEP: '116',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'ThrottleResponse',\n    id: 1069,\n    abbrName: 'ThrttlRsp',\n    fieldRef: [\n      {\n        id: 1685,\n        added: 'FIX.5.0SP2',\n        addedEP: '116',\n      },\n      {\n        id: 1609,\n        added: 'FIX.5.0SP2',\n        addedEP: '116',\n      },\n      {\n        id: 1686,\n        added: 'FIX.5.0SP2',\n        addedEP: '116',\n      },\n    ],\n    description: '\\n\\n',\n  },\n  {\n    addedEP: '145',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'LegSecurityXML',\n    id: 2212,\n    abbrName: 'SecXML',\n    fieldRef: [\n      {\n        id: 1871,\n        added: 'FIX.5.0SP2',\n        addedEP: '145',\n      },\n      {\n        id: 1872,\n        added: 'FIX.5.0SP2',\n        addedEP: '145',\n      },\n      {\n        id: 1873,\n        added: 'FIX.5.0SP2',\n        addedEP: '145',\n      },\n    ],\n    description:\n      'The LegSecurityXML component is used to provide a definition in an XML format for the leg instrument.\\n\\nSee \"Specifying an FpML product specification from within the FIX Instrument Block\" in Volume 1 of the FIX Specification for more information on using this component block with FpML as a guideline.',\n  },\n  {\n    addedEP: '145',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingSecurityXML',\n    id: 2213,\n    abbrName: 'SecXML',\n    fieldRef: [\n      {\n        id: 1874,\n        added: 'FIX.5.0SP2',\n        addedEP: '145',\n      },\n      {\n        id: 1875,\n        added: 'FIX.5.0SP2',\n        addedEP: '145',\n      },\n      {\n        id: 1876,\n        added: 'FIX.5.0SP2',\n        addedEP: '145',\n      },\n    ],\n    description:\n      'The UnderlyingSecurityXML component is used to provide a definition in an XML format for the underlying instrument.\\n\\nSee \"Specifying an FpML product specification from within the FIX Instrument Block\" in Volume 1 of the FIX Specification for more information on using this component block with FpML as a guideline.',\n  },\n  {\n    addedEP: '161',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStream',\n    id: 4035,\n    abbrName: 'PmtStrm',\n    fieldRef: [\n      {\n        id: 40279,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40280,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40281,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 42399,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 40282,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40283,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 43108,\n        added: 'FIX.5.0SP2',\n        addedEP: '254',\n      },\n      {\n        id: 40284,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40285,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40286,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40287,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40288,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 42400,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42401,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42402,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42403,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 40289,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40290,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40291,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 41549,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41550,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41551,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41552,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41553,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41554,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41555,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 42404,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    componentRef: [\n      {\n        id: 4036,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 4037,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 4038,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 4039,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 4342,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 4339,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 4040,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n    ],\n    description:\n      'The LegPaymentStream component is a subcomponent of the LegStreamGrp used to detail the attributes of a payment stream in a swap.\\n\\n',\n  },\n  {\n    addedEP: '161',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamFixedRate',\n    id: 4038,\n    abbrName: 'Fixed',\n    fieldRef: [\n      {\n        id: 40326,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40327,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40328,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 41556,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41557,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 40329,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40330,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 41558,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41559,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41560,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n    ],\n    description:\n      'LegPaymentStreamFixedRate is a subcomponent of the LegPaymentStream component used to report the fixed rate or fixed payment amount of the payment stream.\\n\\n',\n  },\n  {\n    updated: 'FIX.Latest',\n    addedEP: '161',\n    updatedEP: '271',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamFloatingRate',\n    id: 4039,\n    abbrName: 'Float',\n    fieldRef: [\n      {\n        id: 40331,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40332,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 43088,\n        added: 'FIX.5.0SP2',\n        addedEP: '235',\n      },\n      {\n        id: 43089,\n        added: 'FIX.5.0SP2',\n        addedEP: '235',\n      },\n      {\n        id: 40333,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40334,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 43116,\n        added: 'FIX.Latest',\n        addedEP: '271',\n      },\n      {\n        id: 43117,\n        added: 'FIX.Latest',\n        addedEP: '271',\n      },\n      {\n        id: 43118,\n        added: 'FIX.Latest',\n        addedEP: '271',\n      },\n      {\n        id: 43119,\n        added: 'FIX.Latest',\n        addedEP: '271',\n      },\n      {\n        updated: 'FIX.Latest',\n        addedEP: '169',\n        updatedEP: '271',\n        added: 'FIX.5.0SP2',\n        id: 41563,\n      },\n      {\n        updated: 'FIX.Latest',\n        addedEP: '169',\n        updatedEP: '271',\n        added: 'FIX.5.0SP2',\n        id: 41564,\n      },\n      {\n        id: 41565,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41566,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41567,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41568,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41569,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41570,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41571,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 40335,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40336,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 41572,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41573,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41574,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41575,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 40337,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40338,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40339,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40340,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40341,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40342,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40343,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40344,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40345,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 41576,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41577,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 40346,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40347,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40348,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40349,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 41578,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41579,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 42462,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42463,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42464,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 41580,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41581,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 42465,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 41582,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41583,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41584,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41585,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41586,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 40350,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40351,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40352,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40353,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40354,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40355,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40356,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40357,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40358,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 42466,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42467,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42468,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42469,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42470,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42471,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42472,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42473,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42474,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42475,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42476,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42477,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42478,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42479,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42480,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42481,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4222,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 4225,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 4224,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 4355,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    componentRef: [\n      {\n        id: 4347,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 4333,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    description:\n      'LegPaymentStreamFloatingRate is a subcomponent of the LegPaymentStream component used to report the floating rate attributes of the payment stream.\\n\\nNote that if the floating rate index or the rate calculation goes negative for a calculation period and LegPaymentStreamNegativeRateTreatment(40349)=1 (Negative interest rate method) the Receiver pays the Payer the absolute floating rate, i.e. the Receiver pays the cash flow amount to the Payer.\\n\\nThe Calculation Lag Interval (LegPaymentStreamCalculationLagPeriod(41578) and LegPaymentStreamCalculationLagUnit(41579)) and the First Observation Offset Duration (LegPaymentStreamFirstObservationOffsetPeriod(41580) and LegPaymentStreamFirstObservationOffsetUnit(41581)) are used together. If the First Observation Offset Duration is specified, the observation starts the Fixing Lag Interval prior to each calculation. If the First Observation Offset Duration is not specified, the observation starts immediately preceding each calculation.',\n  },\n  {\n    addedEP: '161',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamNonDeliverableSettlTerms',\n    id: 4040,\n    abbrName: 'NonDlvrblTrms',\n    fieldRef: [\n      {\n        id: 40359,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40360,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40362,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40363,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40364,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40365,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4090,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 4041,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 4080,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n    ],\n    componentRef: [\n      {\n        id: 4042,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n    ],\n    description:\n      'LegPaymentStreamNonDeliverableSettl is a subcomponent of the LegPaymentStream component used to specify the non-deliverable settlement terms of the payment stream.\\n\\n',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    addedEP: '161',\n    updatedEP: '208',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamPaymentDates',\n    id: 4036,\n    abbrName: 'PmtDts',\n    fieldRef: [\n      {\n        id: 40292,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40294,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40295,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40296,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40297,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40298,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40299,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        updated: 'FIX.5.0SP2',\n        addedEP: '161',\n        updatedEP: '208',\n        added: 'FIX.5.0SP2',\n        id: 40300,\n      },\n      {\n        updated: 'FIX.5.0SP2',\n        addedEP: '161',\n        updatedEP: '208',\n        added: 'FIX.5.0SP2',\n        id: 40301,\n      },\n      {\n        id: 40302,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 41592,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4091,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 4223,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n    ],\n    componentRef: [\n      {\n        id: 4345,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    description:\n      'The LegPaymentStreamPaymentDates component is a subcomponent of the LegPaymentStream component used to specify the payment dates of the stream.\\n\\nFor equity return swaps this component is used to specify the interim price payment dates and the LegPaymentStreamFinalPricePaymentDate component is used to specify the final price payment date.',\n  },\n  {\n    addedEP: '161',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamResetDates',\n    id: 4037,\n    abbrName: 'ResetDts',\n    fieldRef: [\n      {\n        id: 40303,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40304,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40306,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40307,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40308,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40309,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40310,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40312,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40313,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40314,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40315,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40316,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40317,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40319,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40320,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40321,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40322,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        updated: 'FIX.5.0SP2',\n        addedEP: '161',\n        updatedEP: '208',\n        added: 'FIX.5.0SP2',\n        id: 40323,\n      },\n      {\n        updated: 'FIX.5.0SP2',\n        addedEP: '161',\n        updatedEP: '208',\n        added: 'FIX.5.0SP2',\n        id: 40324,\n      },\n      {\n        id: 40325,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4092,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 4093,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 4094,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 4346,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    description:\n      'The LegPaymentStreamResetDates component is a subcomponent of the LegPaymentStream component used to specify the floating rate reset dates of the stream.\\n\\n',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    addedEP: '161',\n    updatedEP: '208',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionCashSettlPaymentDates',\n    id: 4052,\n    abbrName: 'CashSettlPmtDts',\n    fieldRef: [\n      {\n        id: 40516,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40518,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40519,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40520,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40521,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40522,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40523,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4095,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 4047,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n    ],\n    description:\n      'The LegProvisionCashSettlPaymentDates component is a sub-component within the LegProvisionGrp component used to report the cash settlement payment dates defined in the provision.\\n\\n',\n  },\n  {\n    addedEP: '161',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionCashSettlValueDates',\n    id: 4053,\n    abbrName: 'CashSettlValDts',\n    fieldRef: [\n      {\n        id: 40524,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40525,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40526,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40528,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40529,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40530,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40531,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40532,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4096,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n    ],\n    description:\n      'The LegProvisionCashSettlValueDates component is a subcomponent within the LegProvisionGrp component used to report the cash settlement value date and time defined in the provision.\\n\\n',\n  },\n  {\n    addedEP: '161',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionOptionExerciseDates',\n    id: 4048,\n    abbrName: 'OptExerDts',\n    fieldRef: [\n      {\n        id: 40476,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40478,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40479,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40480,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40481,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40482,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40483,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40484,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40485,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40486,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40487,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40488,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40489,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40490,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40491,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40492,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40493,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40494,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4097,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 4049,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n    ],\n    description:\n      'The LegProvisionOptionExerciseDates is a subcomponent within the LegProvisionGrp component used to report the option exercise dates and times defined in the provision.\\n\\n',\n  },\n  {\n    addedEP: '161',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionOptionExpirationDate',\n    id: 4050,\n    abbrName: 'OptExpDt',\n    fieldRef: [\n      {\n        id: 40498,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40499,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40501,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40502,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40503,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40504,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40505,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40506,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40507,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4098,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n    ],\n    description:\n      'The LegProvisionOptionExerciseDate is a subcomponent within the LegProvisionGrp component used to report the option expiration date and times defined in the provision.\\n\\n',\n  },\n  {\n    addedEP: '161',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionOptionRelevantUnderlyingDate',\n    id: 4051,\n    abbrName: 'OptRelvntUndlyDt',\n    fieldRef: [\n      {\n        id: 40508,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40509,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40511,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40512,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40513,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40514,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40515,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4099,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n    ],\n    description:\n      'The LegProvisionOptionRelevantUnderlyingDate is a subcomponent within the LegProvisionGrp component used to report the option relevant underlyingdate defined in the provision.\\n\\n',\n  },\n  {\n    addedEP: '161',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamCalculationPeriodDates',\n    id: 4034,\n    abbrName: 'CalcDts',\n    fieldRef: [\n      {\n        id: 41641,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41642,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        updated: 'FIX.5.0SP2',\n        addedEP: '161',\n        updatedEP: '169',\n        added: 'FIX.5.0SP2',\n        id: 40265,\n      },\n      {\n        id: 40267,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40268,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40270,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40271,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40272,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40273,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40274,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40275,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40276,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 41643,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41644,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41645,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4101,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 4235,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 4102,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n    ],\n    description:\n      'LegStreamCalculationPeriodDates is a subcomponent of the LegStreamGrp component used to specify the calculation period dates of the stream.\\n\\n',\n  },\n  {\n    addedEP: '161',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamEffectiveDate',\n    id: 4032,\n    abbrName: 'EfctvDt',\n    fieldRef: [\n      {\n        id: 40249,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40250,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40252,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40253,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40254,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40255,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40256,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4103,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n    ],\n    description:\n      'LegStreamEffectivedDate is a subcomponent of the LegStreamGrp component used to specify the effective date of the stream.\\n\\n',\n  },\n  {\n    addedEP: '161',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamTerminationDate',\n    id: 4033,\n    abbrName: 'TrmtnDt',\n    fieldRef: [\n      {\n        id: 40257,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40258,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40260,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40261,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40262,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40263,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40264,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4104,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n    ],\n    description:\n      'LegStreamTerminationDate is a subcomponent of the LegStreamGrp component used to specify the termination date of the stream.\\n\\n',\n  },\n  {\n    addedEP: '161',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStream',\n    id: 4070,\n    abbrName: 'PmtStrm',\n    fieldRef: [\n      {\n        id: 40738,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40739,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40740,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 42600,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 40741,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40742,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 43106,\n        added: 'FIX.5.0SP2',\n        addedEP: '254',\n      },\n      {\n        id: 40743,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40744,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40745,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40746,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40747,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 42601,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42602,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42603,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42604,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 40748,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40749,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40750,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 41180,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41181,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41182,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41183,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41184,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41185,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41186,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 42605,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    componentRef: [\n      {\n        id: 4071,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 4072,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 4073,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 4074,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 4367,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 4364,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 4075,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n    ],\n    description:\n      'The PaymentStream component is a subcomponent of the Stream used to detail the attributes of a payment stream in a swap.\\n\\n',\n  },\n  {\n    addedEP: '161',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamFixedRate',\n    id: 4073,\n    abbrName: 'Fixed',\n    fieldRef: [\n      {\n        id: 40784,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40785,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40786,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 41187,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41188,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 40787,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40788,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 41189,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41190,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41191,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n    ],\n    description:\n      'PaymentStreamFixedRate is a subcomponent of the PaymentStream component used to report the fixed rate or fixed payment amount of the stream.\\n\\n',\n  },\n  {\n    updated: 'FIX.Latest',\n    addedEP: '161',\n    updatedEP: '271',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamFloatingRate',\n    id: 4074,\n    abbrName: 'Float',\n    fieldRef: [\n      {\n        id: 40789,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40790,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 43090,\n        added: 'FIX.5.0SP2',\n        addedEP: '235',\n      },\n      {\n        id: 43091,\n        added: 'FIX.5.0SP2',\n        addedEP: '235',\n      },\n      {\n        id: 40791,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40792,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 43112,\n        added: 'FIX.Latest',\n        addedEP: '271',\n      },\n      {\n        id: 43113,\n        added: 'FIX.Latest',\n        addedEP: '271',\n      },\n      {\n        id: 43114,\n        added: 'FIX.Latest',\n        addedEP: '271',\n      },\n      {\n        id: 43115,\n        added: 'FIX.Latest',\n        addedEP: '271',\n      },\n      {\n        updated: 'FIX.Latest',\n        addedEP: '169',\n        updatedEP: '271',\n        added: 'FIX.5.0SP2',\n        id: 41194,\n      },\n      {\n        updated: 'FIX.Latest',\n        addedEP: '169',\n        updatedEP: '271',\n        added: 'FIX.5.0SP2',\n        id: 41195,\n      },\n      {\n        id: 41196,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41197,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41198,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41199,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41200,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41201,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41202,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 40793,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40794,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 41203,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41204,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41205,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41206,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 40795,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40796,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40797,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40798,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40799,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40800,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40801,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40802,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40803,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 41207,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41208,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 40804,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40805,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40806,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40807,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 41209,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41210,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 42663,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42664,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42665,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 41211,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41212,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 42666,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 41213,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41214,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41215,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41216,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41217,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 40808,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40809,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40810,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40811,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40812,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40813,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40814,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40815,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40816,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 42667,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42668,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42669,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42670,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42671,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42672,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42673,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42674,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42675,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42676,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42677,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42678,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42679,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42680,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42681,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42682,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4170,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 4173,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 4172,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 4380,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    componentRef: [\n      {\n        id: 4373,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 4323,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    description:\n      'PaymentStreamFloatingRate is a subcomponent of the PaymentStream component used to report the floating rate attributes of the stream.\\n\\nNote that if the floating rate index or the rate calculation goes negative for a calculation period and PaymentStreamNegativeRateTreatment(40807)=1 (Negative interest rate method) the Receiver pays the Payer the absolute floating rate, i.e. the Receiver pays the cash flow amount to the Payer.\\n\\nThe Calculation Lag Interval (PaymentStreamCalculationLagPeriod(41209) and PaymentStreamCalculationLagUnit(41210)) and the First Observation Offset Duration (PaymentStreamFirstObservationOffsetPeriod(41211) and PaymentStreamFirstObservationOffsetUnit(41212)) are used together. If the First Observation Offset Duration is specified, the observation starts the Fixing Lag Interval prior to each calculation. If the First Observation Offset Duration is not specified, the observation starts immediately preceding each calculation.',\n  },\n  {\n    addedEP: '161',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamNonDeliverableSettlTerms',\n    id: 4075,\n    abbrName: 'NonDlvrblTrms',\n    fieldRef: [\n      {\n        id: 40817,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40818,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40820,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40821,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40822,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40823,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4108,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 4076,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 4010,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n    ],\n    componentRef: [\n      {\n        id: 4137,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n    ],\n    description:\n      'PaymentStreamNonDeliverableSettlTerms is a subcomponent of the PaymentStream component used to specify the non-deliverable settlement terms of the payment stream.\\n\\n',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    addedEP: '161',\n    updatedEP: '208',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamPaymentDates',\n    id: 4071,\n    abbrName: 'PmtDts',\n    fieldRef: [\n      {\n        id: 40751,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40753,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40754,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40755,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40756,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40757,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40758,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        updated: 'FIX.5.0SP2',\n        addedEP: '161',\n        updatedEP: '208',\n        added: 'FIX.5.0SP2',\n        id: 40759,\n      },\n      {\n        updated: 'FIX.5.0SP2',\n        addedEP: '161',\n        updatedEP: '208',\n        added: 'FIX.5.0SP2',\n        id: 40760,\n      },\n      {\n        id: 40920,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 41223,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4109,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 4171,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n    ],\n    componentRef: [\n      {\n        id: 4370,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    description:\n      'PaymentStreamPaymentDates is a subcomponent of the PaymentStream component used to specify the payment dates of the stream.\\n\\nFor equity return swaps this component is used to specify the interim price payment dates and the PaymentStreamFinalPricePaymentDate component is used to specify the final price payment date.',\n  },\n  {\n    addedEP: '161',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamResetDates',\n    id: 4072,\n    abbrName: 'ResetDts',\n    fieldRef: [\n      {\n        id: 40761,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40762,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40764,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40765,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40766,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40767,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40768,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40770,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40771,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40772,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40773,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40774,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40775,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40777,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40778,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40779,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40780,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        updated: 'FIX.5.0SP2',\n        addedEP: '161',\n        updatedEP: '208',\n        added: 'FIX.5.0SP2',\n        id: 40781,\n      },\n      {\n        updated: 'FIX.5.0SP2',\n        addedEP: '161',\n        updatedEP: '208',\n        added: 'FIX.5.0SP2',\n        id: 40782,\n      },\n      {\n        id: 40783,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4110,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 4111,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 4112,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 4371,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    description:\n      'PaymentStreamResetDates is a subcomponent of the PaymentStream component used to specify the floating rate reset dates of the stream.\\n\\n',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    addedEP: '161',\n    updatedEP: '208',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionCashSettlPaymentDates',\n    id: 4017,\n    abbrName: 'CashSettlPmtDts',\n    fieldRef: [\n      {\n        id: 40163,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40165,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40166,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40167,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40168,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40169,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40170,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4114,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 4018,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n    ],\n    description:\n      'The ProvisionCashSettlPaymentDates component is a sub-component within the ProvisionGrp component used to report the cash settlement payment dates defined in the provision.\\n\\n',\n  },\n  {\n    addedEP: '161',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionCashSettlValueDates',\n    id: 4012,\n    abbrName: 'CashSettlValDts',\n    fieldRef: [\n      {\n        id: 40114,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40115,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40116,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40118,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40119,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40120,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40121,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40122,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4115,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n    ],\n    description:\n      'The ProvisionCashSettlValueDates component is a subcomponent within the ProvisionGrp component used to report the cash settlement value date and time defined in the provision.\\n\\n',\n  },\n  {\n    addedEP: '161',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionOptionExerciseDates',\n    id: 4013,\n    abbrName: 'OptExerDts',\n    fieldRef: [\n      {\n        id: 40123,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40125,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40126,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40127,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40128,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40129,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40130,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40131,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40132,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40133,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40134,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40135,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40136,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40137,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40138,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40139,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40140,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40141,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4116,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 4014,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n    ],\n    description:\n      'The ProvisionOptionExerciseDates is a subcomponent within the ProvisionGrp component used to report the option exercise dates and times defined in the provision.\\n\\n',\n  },\n  {\n    addedEP: '161',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionOptionExpirationDate',\n    id: 4015,\n    abbrName: 'OptExpDt',\n    fieldRef: [\n      {\n        id: 40145,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40146,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40148,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40149,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40150,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40151,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40152,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40153,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40154,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4117,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n    ],\n    description:\n      'The ProvisionOptionExerciseDate is a subcomponent within the ProvisionGrp component used to report the option expiration date and times defined in the provision.\\n\\n',\n  },\n  {\n    addedEP: '161',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionOptionRelevantUnderlyingDate',\n    id: 4016,\n    abbrName: 'OptRelvntUndlyDt',\n    fieldRef: [\n      {\n        id: 40155,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40156,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40158,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40159,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40160,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40161,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40162,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n    ],\n    groupRef: [\n      {\n        updated: 'FIX.Latest',\n        addedEP: '161',\n        updatedEP: '282',\n        added: 'FIX.5.0SP2',\n        id: 4118,\n      },\n    ],\n    description:\n      'The ProvisionOptionRelevantUnderlyingDate is a subcomponent within the ProvisionGrp component used to report the option relevant underlying date defined in the provision.\\n\\n',\n  },\n  {\n    addedEP: '161',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'StreamCalculationPeriodDates',\n    id: 4009,\n    abbrName: 'CalcDts',\n    fieldRef: [\n      {\n        id: 41244,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41245,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        updated: 'FIX.5.0SP2',\n        addedEP: '161',\n        updatedEP: '169',\n        added: 'FIX.5.0SP2',\n        id: 40073,\n      },\n      {\n        id: 40075,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40076,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40078,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40079,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40080,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40081,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40082,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40083,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40084,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 41246,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41247,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41248,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4120,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 4177,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 4121,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n    ],\n    description:\n      'StreamCalculationPeriodDates is a subcomponent of the StreamGrp component used to specify the calculation period dates of the stream.\\n\\n',\n  },\n  {\n    addedEP: '161',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'StreamEffectiveDate',\n    id: 4081,\n    abbrName: 'EfctvDt',\n    fieldRef: [\n      {\n        id: 40907,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40908,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40910,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40911,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40912,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40913,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40914,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n    ],\n    groupRef: [\n      {\n        updated: 'FIX.Latest',\n        addedEP: '161',\n        updatedEP: '271',\n        added: 'FIX.5.0SP2',\n        id: 4122,\n      },\n    ],\n    description:\n      'StreamEffectivedDate is a subcomponent of the StreamGrp component used to specify the effective date of the stream.\\n\\n',\n  },\n  {\n    addedEP: '161',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'StreamTerminationDate',\n    id: 4008,\n    abbrName: 'TrmtnDt',\n    fieldRef: [\n      {\n        id: 40065,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40066,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40068,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40069,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40070,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40071,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40072,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4123,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n    ],\n    description:\n      'StreamTerminationDate is a subcomponent of the StreamGrp component used to specify the termination date of the stream.\\n\\n',\n  },\n  {\n    addedEP: '161',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStream',\n    id: 4059,\n    abbrName: 'PmtStrm',\n    fieldRef: [\n      {\n        id: 40568,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40569,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40570,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 42895,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 40571,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40572,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 43107,\n        added: 'FIX.5.0SP2',\n        addedEP: '254',\n      },\n      {\n        id: 40573,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40574,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40575,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40576,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40577,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 42896,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42897,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42898,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42899,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 40578,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40579,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40580,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 41897,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41898,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41899,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41900,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41901,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41902,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41903,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 42900,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    componentRef: [\n      {\n        id: 4060,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 4061,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 4062,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 4063,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 4403,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 4400,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 4064,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n    ],\n    description:\n      'The UnderlyingPaymentStream component is a subcomponent of the UnderlyingStream used to detail the attributes of a payment stream in a swap.\\n\\n',\n  },\n  {\n    addedEP: '161',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamFixedRate',\n    id: 4062,\n    abbrName: 'Fixed',\n    fieldRef: [\n      {\n        id: 40615,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40616,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40617,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 41904,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41905,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 40618,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40619,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 41906,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41907,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41908,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n    ],\n    description:\n      'UnderlyingPaymentStreamFixedRate is a subcomponent of the UnderlyingPaymentStream component used to report the fixed rate or fixed payment amount of the stream.\\n\\n',\n  },\n  {\n    updated: 'FIX.Latest',\n    addedEP: '161',\n    updatedEP: '271',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamFloatingRate',\n    id: 4063,\n    abbrName: 'Float',\n    fieldRef: [\n      {\n        id: 40620,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40621,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 43092,\n        added: 'FIX.5.0SP2',\n        addedEP: '235',\n      },\n      {\n        id: 43093,\n        added: 'FIX.5.0SP2',\n        addedEP: '235',\n      },\n      {\n        id: 40622,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40623,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 43120,\n        added: 'FIX.Latest',\n        addedEP: '271',\n      },\n      {\n        id: 43121,\n        added: 'FIX.Latest',\n        addedEP: '271',\n      },\n      {\n        id: 43122,\n        added: 'FIX.Latest',\n        addedEP: '271',\n      },\n      {\n        id: 43123,\n        added: 'FIX.Latest',\n        addedEP: '271',\n      },\n      {\n        updated: 'FIX.Latest',\n        addedEP: '169',\n        updatedEP: '271',\n        added: 'FIX.5.0SP2',\n        id: 41911,\n      },\n      {\n        updated: 'FIX.Latest',\n        addedEP: '169',\n        updatedEP: '271',\n        added: 'FIX.5.0SP2',\n        id: 41912,\n      },\n      {\n        id: 41913,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41914,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41915,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41916,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41917,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41918,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41919,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 40624,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40625,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 41920,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41921,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41922,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41923,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 40626,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40627,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40628,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40629,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40630,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40631,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40632,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40633,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40634,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 41924,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41925,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 40635,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40636,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40637,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40638,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 41926,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41927,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 42958,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42959,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42960,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 41928,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41929,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 42961,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 41930,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41931,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41932,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41933,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41934,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 40639,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40640,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40641,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40642,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40643,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40644,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40645,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40646,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40647,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 42962,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42963,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42964,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42965,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42966,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42967,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42968,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42969,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42970,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42971,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42972,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42973,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42974,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42975,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42976,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42977,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4273,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 4276,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 4275,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 4418,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    componentRef: [\n      {\n        id: 4408,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 4392,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    description:\n      'UnderlyingPaymentStreamFloatingRate is a subcomponent of the UnderlyingPaymentStream component used to report the floating rate attributes of the stream.\\n\\nNote that if the floating rate index or the rate calculation goes negative for a calculation period and UnderlyingPaymentStreamNegativeRateTreatment(40638)=1 (Negative interest rate method) the Receiver pays the Payer the absolute floating rate, i.e. the Receiver pays the cash flow amount to the Payer.\\n\\nThe Calculation Lag Interval (UnderlyingPaymentStreamCalculationLagPeriod(41926) and UnderlyingPaymentStreamCalculationLagUnit(41927)) and the First Observation Offset Duration (UnderlyingPaymentStreamFirstObservationOffsetPeriod(41928) and UnderlyingPaymentStreamFirstObservationOffsetUnit(41929)) are used together. If the First Observation Offset Duration is specified, the observation starts the Fixing Lag Interval prior to each calculation. If the First Observation Offset Duration is not specified, the observation starts immediately preceding each calculation.',\n  },\n  {\n    addedEP: '161',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamNonDeliverableSettlTerms',\n    id: 4064,\n    abbrName: 'NonDlvrblTrms',\n    fieldRef: [\n      {\n        id: 40648,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40649,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40651,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40652,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40653,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40654,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4128,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 4065,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 4066,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n    ],\n    componentRef: [\n      {\n        id: 4139,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n    ],\n    description:\n      'UnderlyingPaymentStreamNonDeliverableSettlTerms is a subcomponent of the UnderlyingPaymentStream component used to specify the non-deliverable settlement terms of the stream.\\n\\n',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    addedEP: '161',\n    updatedEP: '208',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamPaymentDates',\n    id: 4060,\n    abbrName: 'PmtDts',\n    fieldRef: [\n      {\n        id: 40581,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40583,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40584,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40585,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40586,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40587,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40588,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40589,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40590,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40591,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 41940,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4129,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 4274,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n    ],\n    componentRef: [\n      {\n        id: 4406,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    description:\n      'UnderlyingPaymentStreamPaymentDates is a subcomponent of the UnderlyingPaymentStream component used to specify the payment dates of the stream.\\n\\nFor equity return swaps this component is used to specify the interim price payment dates and the UnderlyingPaymentStreamFinalPricePaymentDate component is used to specify the final price payment date.',\n  },\n  {\n    addedEP: '161',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamResetDates',\n    id: 4061,\n    abbrName: 'ResetDts',\n    fieldRef: [\n      {\n        id: 40592,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40593,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40595,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40596,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40597,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40598,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40599,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40601,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40602,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40603,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40604,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40605,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40606,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40608,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40609,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40610,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40611,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        updated: 'FIX.5.0SP2',\n        addedEP: '161',\n        updatedEP: '208',\n        added: 'FIX.5.0SP2',\n        id: 40612,\n      },\n      {\n        updated: 'FIX.5.0SP2',\n        addedEP: '161',\n        updatedEP: '208',\n        added: 'FIX.5.0SP2',\n        id: 40613,\n      },\n      {\n        id: 40614,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4130,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 4131,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 4132,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 4407,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    description:\n      'UnderlyingPaymentStreamResetDates is a subcomponent of the UnderlyingPaymentStream component used to specify the floating rate reset dates of the stream.\\n\\n',\n  },\n  {\n    addedEP: '161',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamCalculationPeriodDates',\n    id: 4058,\n    abbrName: 'CalcDts',\n    fieldRef: [\n      {\n        id: 41957,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41958,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        updated: 'FIX.5.0SP2',\n        addedEP: '161',\n        updatedEP: '169',\n        added: 'FIX.5.0SP2',\n        id: 40556,\n      },\n      {\n        id: 40558,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40559,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40561,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40562,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40563,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40564,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        updated: 'FIX.Latest',\n        addedEP: '161',\n        updatedEP: '271',\n        added: 'FIX.5.0SP2',\n        id: 40565,\n      },\n      {\n        id: 40566,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40567,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 41959,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41960,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41961,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4133,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 4279,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 4134,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n    ],\n    description:\n      'UnderlyingStreamCalculationPeriodDates is a subcomponent of the UnderlyingStreamGrp component used to specify the calculation period dates of the stream.\\n\\n',\n  },\n  {\n    addedEP: '161',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamEffectiveDate',\n    id: 4007,\n    abbrName: 'EfctvDt',\n    fieldRef: [\n      {\n        id: 40057,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40058,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40060,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40061,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40062,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40063,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40064,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4135,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n    ],\n    description:\n      'UnderlyingStreamEffectivedDate is a subcomponent of the UnderlyingStreamGrp component used to specify the effective date of the stream.\\n\\n',\n  },\n  {\n    addedEP: '161',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamTerminationDate',\n    id: 4057,\n    abbrName: 'TrmtnDt',\n    fieldRef: [\n      {\n        id: 40548,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40549,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40551,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40552,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40553,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40554,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40555,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4136,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n    ],\n    description:\n      'UnderlyingStreamTerminationDate is a subcomponent of the UnderlyingStreamGrp component used to specify the termination date of the stream.\\n\\n',\n  },\n  {\n    addedEP: '161',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'DateAdjustment',\n    id: 4085,\n    abbrName: 'DtAdjmt',\n    fieldRef: [\n      {\n        id: 40921,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40922,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4084,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n    ],\n    description:\n      'DateAdjustment is a subcomponent in the Instrument component. It is used to specify date adjustment parameters and rules. The date adjustments specified here applies to all adjustable dates for the instrument, unless specifically overridden in the respective specified components elsewhere.\\n\\n',\n  },\n  {\n    addedEP: '161',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'LegDateAdjustment',\n    id: 4087,\n    abbrName: 'DtAdjmt',\n    fieldRef: [\n      {\n        id: 40925,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40926,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4086,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n    ],\n    description:\n      'LegDateAdjustment is a subcomponent within the InstrumentLeg component. It is used to specify date adjustment parameters and rules. The date adjustments specified here applies to all adjustable dates for the instrument leg, unless specifically overridden elsewhere in the respective specified components further within the InstrumentLeg component.\\n\\n',\n  },\n  {\n    addedEP: '161',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDateAdjustment',\n    id: 4125,\n    abbrName: 'DtAdjmt',\n    fieldRef: [\n      {\n        id: 40964,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40965,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4124,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n    ],\n    description:\n      'UnderlyingDateAdjustment is a subcomponent within the UnderlyingInstrument component. It is used to specify date adjustment parameters and rules. The date adjustments specified here applies to all adjustable dates for the underlying instrument, unless specifically overridden in the respective specified components further within the UnderlyingInstrument component.\\n\\n',\n  },\n  {\n    addedEP: '161',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamNonDeliverableSettlRateSource',\n    id: 4042,\n    abbrName: 'RtSrc',\n    fieldRef: [\n      {\n        id: 40087,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40228,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n    ],\n    description:\n      'LegPaymentStreamNonDeliverableSettlRateSource is a subcomponent of the LegPaymentStreamNonDeliverableSettlTerms component used to specify the rate source in the event of payment non-delivery.\\n\\n',\n  },\n  {\n    addedEP: '161',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'LegSettlRateFallbackRateSource',\n    id: 4082,\n    abbrName: 'RtSrc',\n    fieldRef: [\n      {\n        id: 40366,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40370,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n    ],\n    description:\n      'LegSettlRateFallbackRateSource is a subcomponent of the LegSettlRateDisruptionFallbackGrp component used to specify the rate source in the event of rate disruption fallback.\\n\\n',\n  },\n  {\n    addedEP: '161',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamNonDeliverableSettlRateSource',\n    id: 4137,\n    abbrName: 'RtSrc',\n    fieldRef: [\n      {\n        id: 40371,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40372,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n    ],\n    description:\n      'PaymentStreamNonDeliverableSettlRateSource is a subcomponent of the PaymentStreamNonDeliverableSettlTerms component used to specify the rate source in the event of payment non-delivery.\\n\\n',\n  },\n  {\n    addedEP: '161',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'SettlRateFallbackRateSource',\n    id: 4138,\n    abbrName: 'RtSrc',\n    fieldRef: [\n      {\n        id: 40373,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40655,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n    ],\n    description:\n      'SettlRateFallbackRateSource is a subcomponent of the SettlRateDisruptionFallbackGrp component used to specify the rate source in the event of rate disruption fallback.\\n\\n',\n  },\n  {\n    addedEP: '161',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamNonDeliverableSettlRateSource',\n    id: 4139,\n    abbrName: 'RtSrc',\n    fieldRef: [\n      {\n        id: 40661,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40824,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n    ],\n    description:\n      'UnderlyingPaymentStreamNonDeliverableSettlRateSource is a subcomponent of the UnderlyingPaymentStreamNonDeliverableSettlTerms component used to specify the rate source in the event of payment non-delivery.\\n\\n',\n  },\n  {\n    addedEP: '161',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingSettlRateFallbackRateSource',\n    id: 4140,\n    abbrName: 'RtSrc',\n    fieldRef: [\n      {\n        id: 40904,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 40915,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n    ],\n    description:\n      'UnderlyingSettlRateFallbackRateSource is a subcomponent of the UnderlyingSettlRateDisruptionFallbackGrp component used to specify the rate source in the event of rate disruption fallback.\\n\\n',\n  },\n  {\n    addedEP: '161',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'ProvisionCashSettlQuoteSource',\n    id: 4201,\n    abbrName: 'CashSettlQteSrc',\n    fieldRef: [\n      {\n        id: 40112,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 41406,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n    ],\n    description:\n      'The ProvisionCashSettlQuoteSource is a subcomponent of the ProvisionGrp component used to specify the reference source for currency or rate quote for cash settlement purposes.\\n\\n',\n  },\n  {\n    addedEP: '161',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'LegProvisionCashSettlQuoteSource',\n    id: 4202,\n    abbrName: 'CashSettlQteSrc',\n    fieldRef: [\n      {\n        id: 40470,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n      {\n        id: 41407,\n        added: 'FIX.5.0SP2',\n        addedEP: '161',\n      },\n    ],\n    description:\n      'The LegProvisionCashSettlQuoteSource is a subcomponent of the LEgProvisionGrp component used to specify the reference source for currency or rate quote for cash settlement purposes.\\n\\n',\n  },\n  {\n    addedEP: '169',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'ComplexEventRelativeDate',\n    id: 4149,\n    abbrName: 'ReltvDt',\n    fieldRef: [\n      {\n        id: 41020,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41021,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41022,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41023,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41024,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41025,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41026,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41027,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41028,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4148,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n    ],\n    description:\n      'The ComplexEventRelativeDate is a subcomponent of ComplexEvents for specifying the event date and time for an FX or Calendar Spread option or the payout date for a Barrier or Knock option.\\n\\n',\n  },\n  {\n    addedEP: '169',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'DeliveryStream',\n    id: 4155,\n    abbrName: 'DlvryStrm',\n    fieldRef: [\n      {\n        id: 41058,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41059,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41060,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41061,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41062,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 42192,\n        added: 'FIX.5.0SP2',\n        addedEP: '179',\n      },\n      {\n        id: 42193,\n        added: 'FIX.5.0SP2',\n        addedEP: '179',\n      },\n      {\n        id: 41063,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41064,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41065,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41066,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41067,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41218,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41068,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41069,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41070,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41071,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41072,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41073,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41074,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41075,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41076,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41077,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41078,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41079,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41080,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 43094,\n        added: 'FIX.5.0SP2',\n        addedEP: '235',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4157,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 4156,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n    ],\n    description:\n      'The DeliveryStream component is used to optionally specify the attributes of a physical delivery stream in a swap.\\n\\n',\n  },\n  {\n    addedEP: '169',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'MarketDisruption',\n    id: 4158,\n    abbrName: 'MktDsrptn',\n    fieldRef: [\n      {\n        id: 41087,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41088,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41089,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41090,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41091,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4159,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 4160,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 4161,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n    ],\n    description:\n      'The MarketDisruption component is a subcomponent of the Instrument used to specify the market disruption provisions of the swap.\\n\\n',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    addedEP: '169',\n    updatedEP: '211',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'OptionExercise',\n    id: 4162,\n    abbrName: 'OptExer',\n    fieldRef: [\n      {\n        id: 41106,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41107,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41108,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41109,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41110,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41111,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41112,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41113,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41114,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41115,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 42590,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    componentRef: [\n      {\n        id: 4386,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 4164,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 4167,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 4362,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    description:\n      'The OptionExercise component is a subcomponent of the Instrument component used to specify option exercise provisions. Its purpose is to identify the opportunities and conditions for exercise, e.g. the schedule of dates on which exercise is allowed. The embedded OptionExerciseExpiration component is used to terminate the opportunity for exercise.\\n\\n',\n  },\n  {\n    addedEP: '169',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'OptionExerciseDates',\n    id: 4164,\n    abbrName: 'Dts',\n    fieldRef: [\n      {\n        id: 41118,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41119,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41120,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41121,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41122,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41123,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41124,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41125,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41126,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41127,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41128,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41129,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41130,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41131,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41132,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41133,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41134,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41135,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41136,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4163,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 4165,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n    ],\n    description:\n      'The OptionExerciseDate component is a subcomponent of the OptionExercise component used to specify option exercise dates.\\n\\n',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    addedEP: '169',\n    updatedEP: '211',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'OptionExerciseExpiration',\n    id: 4167,\n    abbrName: 'Exp',\n    fieldRef: [\n      {\n        id: 41142,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41143,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41144,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41145,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41146,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41147,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41148,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41149,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41150,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41151,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4166,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 4168,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n    ],\n    description:\n      'The OptionExerciseExpiration component is a subcomponent of the OptionExercise component used to specify option exercise expiration dates and times. The purpose of OptionExercise is to identify the scheduled opportunities for exercise. OptionExerciseExpiration identifies the end of the schedule.\\n\\n',\n  },\n  {\n    addedEP: '169',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'PricingDateTime',\n    id: 4175,\n    abbrName: 'PxngDtTm',\n    fieldRef: [\n      {\n        id: 41232,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41233,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41234,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41235,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41236,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4174,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n    ],\n    description:\n      'The PricingDateTime component is a subcomponent of Instrument used to specify an adjusted or unadjusted pricing or fixing date and optionally the time, e.g. for a commodity or FX forward trade.\\n\\n',\n  },\n  {\n    addedEP: '169',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'StreamCommodity',\n    id: 4179,\n    abbrName: 'Cmdty',\n    fieldRef: [\n      {\n        id: 41251,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41252,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41253,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41254,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41255,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41256,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41257,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 42587,\n        added: 'FIX.5.0SP2',\n        addedEP: '193',\n      },\n      {\n        id: 41258,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41259,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41260,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41261,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41262,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41263,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41264,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41265,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41266,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41267,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41268,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41269,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41270,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41271,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41272,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41273,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41274,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41275,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41276,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4180,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 4176,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 4181,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 4178,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 4184,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n    ],\n    description:\n      'StreamCommodity is a subcomponent of the Stream component used to identify and describe the underlying commodity.\\n\\n',\n  },\n  {\n    addedEP: '169',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'LegComplexEventRelativeDate',\n    id: 4198,\n    abbrName: 'ReltvDt',\n    fieldRef: [\n      {\n        id: 41389,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41390,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41391,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41392,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41393,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41394,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41395,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41396,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41397,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4197,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n    ],\n    description:\n      'LegComplexEventRelativeDate is a subcomponent of LegComplexEvents for specifying the event date and time for an FX or Calendar Spread option or the payout date for a Barrier or Knock option.\\n\\n',\n  },\n  {\n    addedEP: '169',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'LegDeliveryStream',\n    id: 4206,\n    abbrName: 'DlvryStrm',\n    fieldRef: [\n      {\n        id: 41429,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41430,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41431,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41432,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41433,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 42194,\n        added: 'FIX.5.0SP2',\n        addedEP: '179',\n      },\n      {\n        id: 42195,\n        added: 'FIX.5.0SP2',\n        addedEP: '179',\n      },\n      {\n        id: 41434,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41435,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41436,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41437,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41438,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41219,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41439,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41440,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41441,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41442,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41443,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41444,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41445,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41446,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41447,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41448,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41449,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41450,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41451,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 43095,\n        added: 'FIX.5.0SP2',\n        addedEP: '235',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4209,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 4208,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n    ],\n    description:\n      'The LegDeliveryStream component is a subcomponent of the LegStream used to detail the attributes of a physical delivery stream in a swap.\\n\\n',\n  },\n  {\n    addedEP: '169',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'LegMarketDisruption',\n    id: 4210,\n    abbrName: 'MktDsrptn',\n    fieldRef: [\n      {\n        id: 41462,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41463,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41464,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41465,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41466,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4211,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 4212,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 4213,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n    ],\n    description:\n      'The LegMarketDisruption component is a subcomponent of the InstrumentLeg used to specify the market disruption provisions of the swap.\\n\\n',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    addedEP: '169',\n    updatedEP: '211',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'LegOptionExercise',\n    id: 4214,\n    abbrName: 'OptExer',\n    fieldRef: [\n      {\n        id: 41481,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41482,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41483,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41484,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41485,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41486,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41487,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41488,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41489,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41490,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 42391,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    componentRef: [\n      {\n        id: 4360,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 4216,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 4219,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 4428,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    description:\n      'The LegOptionExercise component is a subcomponent of the InstrumentLeg component used to specify option exercise provisions. Its purpose is to identify the opportunities and conditions for exercise, e.g. the schedule of dates on which exercise is allowed. The embedded LegOptionExerciseExpiration component is used to terminate the opportunity for exercise.\\n\\n',\n  },\n  {\n    addedEP: '169',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'LegOptionExerciseDates',\n    id: 4216,\n    abbrName: 'Dts',\n    fieldRef: [\n      {\n        id: 41493,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41494,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41495,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41496,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41497,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41498,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41499,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41500,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41501,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41502,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41503,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41504,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41505,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41506,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41507,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41508,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41509,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41510,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41511,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4215,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 4217,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n    ],\n    description:\n      'The LegOptionExerciseDates component is a subcomponent of the LegOptionExercise component used to specify option exercise dates.\\n\\n',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    addedEP: '169',\n    updatedEP: '211',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'LegOptionExerciseExpiration',\n    id: 4219,\n    abbrName: 'Exp',\n    fieldRef: [\n      {\n        id: 41517,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41518,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41519,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41520,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41521,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41522,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41523,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41524,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41525,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41526,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4218,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 4220,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n    ],\n    description:\n      'The LegOptionExerciseExpiration component is a subcomponent of the LegOptionExercise component used to specify option exercise expiration dates and times. The purpose of LegOptionExercise is to identify the scheduled opportunities for exercise. LegOptionExerciseExpiration identifies the end of the schedule.\\n\\n',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    addedEP: '169',\n    updatedEP: '208',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'LegPricingDateTime',\n    id: 4229,\n    abbrName: 'PxngDtTm',\n    fieldRef: [\n      {\n        id: 41609,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41610,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41611,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41612,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41613,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4228,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n    ],\n    description:\n      'The LegPricingDateTime component is a subcomponent of InstrumentLeg used to specify an adjusted or unadjusted pricing or fixing date and optionally the time, e.g. for a commodity or FX forward trade.\\n\\n',\n  },\n  {\n    addedEP: '169',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'LegStreamCommodity',\n    id: 4237,\n    abbrName: 'Cmdty',\n    fieldRef: [\n      {\n        id: 41648,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41649,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41650,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41651,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41652,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41653,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41654,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 42588,\n        added: 'FIX.5.0SP2',\n        addedEP: '193',\n      },\n      {\n        id: 41655,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41656,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41657,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41658,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41659,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41660,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41661,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41662,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41663,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41664,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41665,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41666,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41667,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41668,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41669,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41670,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41671,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41672,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41673,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4238,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 4207,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 4239,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 4236,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 4242,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n    ],\n    description:\n      'LegStreamCommodity is a subcomponent of the LegStream component used to identify and describe the underlying commodity.\\n\\n',\n  },\n  {\n    addedEP: '169',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingComplexEventRelativeDate',\n    id: 4251,\n    abbrName: 'ReltvDt',\n    fieldRef: [\n      {\n        id: 41739,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41740,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41741,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41742,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41743,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41744,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41745,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41746,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41747,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4250,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n    ],\n    description:\n      'UnderlyingComplexEventRelativeDate is a subcomponent of UnderlyingComplexEvents for specifying the event date and time for an FX or Calendar Spread option or the payout date for a Barrier or Knock option.\\n\\n',\n  },\n  {\n    addedEP: '169',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDeliveryStream',\n    id: 4257,\n    abbrName: 'DlvryStrm',\n    fieldRef: [\n      {\n        id: 41777,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41778,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41779,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41780,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41781,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 42196,\n        added: 'FIX.5.0SP2',\n        addedEP: '179',\n      },\n      {\n        id: 42197,\n        added: 'FIX.5.0SP2',\n        addedEP: '179',\n      },\n      {\n        id: 41782,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41783,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41784,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41785,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41786,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41587,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41787,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41788,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41789,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41790,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41791,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41792,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41793,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41794,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41795,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41796,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41797,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41798,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41799,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 43096,\n        added: 'FIX.5.0SP2',\n        addedEP: '235',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4260,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 4259,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n    ],\n    description:\n      'The UnderlyingDeliveryStream component is a subcomponent of the UnderlyingStream used to detail the attributes of a physical delivery stream in a swap.\\n\\n',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    addedEP: '169',\n    updatedEP: '211',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingOptionExercise',\n    id: 4261,\n    abbrName: 'OptExer',\n    fieldRef: [\n      {\n        id: 41810,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41811,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41812,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41813,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41814,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41815,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41816,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41817,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41818,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41819,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 42887,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    componentRef: [\n      {\n        id: 4424,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 4263,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 4266,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 4429,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    description:\n      'The UnderlyingOptionExercise component is a subcomponent of the UnderlyingInstrument component used to specify option exercise provisions. Its purpose is to identify the opportunities and conditions for exercise, e.g. the schedule of dates on which exercise is allowed. The embedded UnderlyingOptionExerciseExpiration component is used to terminate the opportunity for exercise.\\n\\n',\n  },\n  {\n    addedEP: '169',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingOptionExerciseDates',\n    id: 4263,\n    abbrName: 'Dts',\n    fieldRef: [\n      {\n        id: 41822,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41823,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41824,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41825,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41826,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41827,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41828,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41829,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41830,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41831,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41832,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41833,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41834,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41835,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41836,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41837,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41838,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41839,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41840,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4262,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 4264,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n    ],\n    description:\n      'The UnderlyingOptionExerciseDate component is a subcomponent of the UnderlyingOptionExercise component used to specify option exercise dates.\\n\\n',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    addedEP: '169',\n    updatedEP: '211',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingOptionExerciseExpiration',\n    id: 4266,\n    abbrName: 'Exp',\n    fieldRef: [\n      {\n        id: 41846,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41847,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41848,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41849,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41850,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41851,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41852,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41853,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41854,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41855,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4265,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 4267,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n    ],\n    description:\n      'The UnderlyingOptionExerciseExpiration component is a subcomponent of the UnderlyingOptionExercise component used to specify option exercise expiration dates and times. The purpose of UnderlyingOptionExercise is to identify the scheduled opportunities for exercise. UnderlyingOptionExerciseExpiration identifies the end of the schedule.\\n\\n',\n  },\n  {\n    addedEP: '169',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingMarketDisruption',\n    id: 4268,\n    abbrName: 'MktDsrptn',\n    fieldRef: [\n      {\n        id: 41859,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41860,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41861,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41862,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41863,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4269,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 4270,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 4271,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n    ],\n    description:\n      'The UnderlyingMarketDisruption component is a subcomponent of the UnderlyingInstrument used to specify the market disruption provisions of the swap.\\n\\n',\n  },\n  {\n    addedEP: '169',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPricingDateTime',\n    id: 4278,\n    abbrName: 'PxngDtTm',\n    fieldRef: [\n      {\n        id: 41949,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41950,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41951,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41952,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41953,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4277,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n    ],\n    description:\n      'The UnderlyingPricingDateTime component is a subcomponent of UnderlyingInstrument used to specify an adjusted or unadjusted pricing or fixing date and optionally the time, e.g. for a commodity or FX forward trade.\\n\\n',\n  },\n  {\n    addedEP: '169',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingStreamCommodity',\n    id: 4281,\n    abbrName: 'Cmdty',\n    fieldRef: [\n      {\n        id: 41964,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41965,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41966,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41967,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41968,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41969,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41970,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 42589,\n        added: 'FIX.5.0SP2',\n        addedEP: '193',\n      },\n      {\n        id: 41971,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41972,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41973,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41974,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41975,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41976,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41977,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41978,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41979,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41980,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41981,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41982,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41983,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41984,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41985,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41986,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41987,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41988,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 41989,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4282,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 4258,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 4283,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 4280,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n      {\n        id: 4286,\n        added: 'FIX.5.0SP2',\n        addedEP: '169',\n      },\n    ],\n    description:\n      'UnderlyingStreamCommodity is a subcomponent of the UnderlyingStream component used to identify and describe the underlying commodity.\\n\\n',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    addedEP: '187',\n    updatedEP: '208',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionCashSettlPaymentDates',\n    id: 4298,\n    abbrName: 'CashSettlPmtDts',\n    fieldRef: [\n      {\n        id: 42092,\n        added: 'FIX.5.0SP2',\n        addedEP: '187',\n      },\n      {\n        id: 42093,\n        added: 'FIX.5.0SP2',\n        addedEP: '187',\n      },\n      {\n        id: 42094,\n        added: 'FIX.5.0SP2',\n        addedEP: '187',\n      },\n      {\n        id: 42095,\n        added: 'FIX.5.0SP2',\n        addedEP: '187',\n      },\n      {\n        id: 42096,\n        added: 'FIX.5.0SP2',\n        addedEP: '187',\n      },\n      {\n        id: 42097,\n        added: 'FIX.5.0SP2',\n        addedEP: '187',\n      },\n      {\n        id: 42098,\n        added: 'FIX.5.0SP2',\n        addedEP: '187',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4309,\n        added: 'FIX.5.0SP2',\n        addedEP: '187',\n      },\n      {\n        id: 4299,\n        added: 'FIX.5.0SP2',\n        addedEP: '187',\n      },\n    ],\n    description:\n      'The UnderlyingProvisionCashSettlPaymentDates component is a sub-component within the UnderlyingProvisionGrp component used to report the cash settlement payment dates defined in the provision.\\n\\n',\n  },\n  {\n    addedEP: '187',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionCashSettlQuoteSource',\n    id: 4300,\n    abbrName: 'CashSettlQteSrc',\n    fieldRef: [\n      {\n        id: 42102,\n        added: 'FIX.5.0SP2',\n        addedEP: '187',\n      },\n      {\n        id: 42103,\n        added: 'FIX.5.0SP2',\n        addedEP: '187',\n      },\n    ],\n    description:\n      'The UnderlyingProvisionCashSettlQuoteSource is a subcomponent of the UnderlyingProvisionGrp component used to specify the reference source for currency or rate quote for cash settlement purposes.\\n\\n',\n  },\n  {\n    addedEP: '187',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionCashSettlValueDates',\n    id: 4301,\n    abbrName: 'CashSettlValDts',\n    fieldRef: [\n      {\n        id: 42104,\n        added: 'FIX.5.0SP2',\n        addedEP: '187',\n      },\n      {\n        id: 42105,\n        added: 'FIX.5.0SP2',\n        addedEP: '187',\n      },\n      {\n        id: 42106,\n        added: 'FIX.5.0SP2',\n        addedEP: '187',\n      },\n      {\n        id: 42107,\n        added: 'FIX.5.0SP2',\n        addedEP: '187',\n      },\n      {\n        id: 42108,\n        added: 'FIX.5.0SP2',\n        addedEP: '187',\n      },\n      {\n        id: 42109,\n        added: 'FIX.5.0SP2',\n        addedEP: '187',\n      },\n      {\n        id: 42110,\n        added: 'FIX.5.0SP2',\n        addedEP: '187',\n      },\n      {\n        id: 42111,\n        added: 'FIX.5.0SP2',\n        addedEP: '187',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4310,\n        added: 'FIX.5.0SP2',\n        addedEP: '187',\n      },\n    ],\n    description:\n      'The UnderlyingProvisionCashSettlValueDates is a subcomponent within the UnderlyingProvisionGrp component used to report the cash settlement value date and time defined in the provision.\\n\\n',\n  },\n  {\n    addedEP: '187',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionOptionExerciseDates',\n    id: 4303,\n    abbrName: 'OptExerDts',\n    fieldRef: [\n      {\n        id: 42115,\n        added: 'FIX.5.0SP2',\n        addedEP: '187',\n      },\n      {\n        id: 42116,\n        added: 'FIX.5.0SP2',\n        addedEP: '187',\n      },\n      {\n        id: 42117,\n        added: 'FIX.5.0SP2',\n        addedEP: '187',\n      },\n      {\n        id: 42118,\n        added: 'FIX.5.0SP2',\n        addedEP: '187',\n      },\n      {\n        id: 42119,\n        added: 'FIX.5.0SP2',\n        addedEP: '187',\n      },\n      {\n        id: 42120,\n        added: 'FIX.5.0SP2',\n        addedEP: '187',\n      },\n      {\n        id: 42121,\n        added: 'FIX.5.0SP2',\n        addedEP: '187',\n      },\n      {\n        id: 42122,\n        added: 'FIX.5.0SP2',\n        addedEP: '187',\n      },\n      {\n        id: 42123,\n        added: 'FIX.5.0SP2',\n        addedEP: '187',\n      },\n      {\n        id: 42124,\n        added: 'FIX.5.0SP2',\n        addedEP: '187',\n      },\n      {\n        id: 42125,\n        added: 'FIX.5.0SP2',\n        addedEP: '187',\n      },\n      {\n        id: 42126,\n        added: 'FIX.5.0SP2',\n        addedEP: '187',\n      },\n      {\n        id: 42127,\n        added: 'FIX.5.0SP2',\n        addedEP: '187',\n      },\n      {\n        id: 42128,\n        added: 'FIX.5.0SP2',\n        addedEP: '187',\n      },\n      {\n        id: 42129,\n        added: 'FIX.5.0SP2',\n        addedEP: '187',\n      },\n      {\n        id: 42130,\n        added: 'FIX.5.0SP2',\n        addedEP: '187',\n      },\n      {\n        id: 42131,\n        added: 'FIX.5.0SP2',\n        addedEP: '187',\n      },\n      {\n        id: 42132,\n        added: 'FIX.5.0SP2',\n        addedEP: '187',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4311,\n        added: 'FIX.5.0SP2',\n        addedEP: '187',\n      },\n      {\n        id: 4302,\n        added: 'FIX.5.0SP2',\n        addedEP: '187',\n      },\n    ],\n    description:\n      'The UnderlyingProvisionOptionExerciseDates is a subcomponent within the UnderlyingProvisionGrp component used to report the option exercise dates and times defined in the provision.\\n\\n',\n  },\n  {\n    addedEP: '187',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionOptionExpirationDate',\n    id: 4304,\n    abbrName: 'OptExpDt',\n    fieldRef: [\n      {\n        id: 42133,\n        added: 'FIX.5.0SP2',\n        addedEP: '187',\n      },\n      {\n        id: 42134,\n        added: 'FIX.5.0SP2',\n        addedEP: '187',\n      },\n      {\n        id: 42135,\n        added: 'FIX.5.0SP2',\n        addedEP: '187',\n      },\n      {\n        id: 42136,\n        added: 'FIX.5.0SP2',\n        addedEP: '187',\n      },\n      {\n        id: 42137,\n        added: 'FIX.5.0SP2',\n        addedEP: '187',\n      },\n      {\n        id: 42138,\n        added: 'FIX.5.0SP2',\n        addedEP: '187',\n      },\n      {\n        id: 42139,\n        added: 'FIX.5.0SP2',\n        addedEP: '187',\n      },\n      {\n        id: 42140,\n        added: 'FIX.5.0SP2',\n        addedEP: '187',\n      },\n      {\n        id: 42141,\n        added: 'FIX.5.0SP2',\n        addedEP: '187',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4312,\n        added: 'FIX.5.0SP2',\n        addedEP: '187',\n      },\n    ],\n    description:\n      'The UnderlyingProvisionOptionExerciseDate is a subcomponent within the UnderlyingProvisionGrp component used to report the option expiration date and times defined in the provision.\\n\\n',\n  },\n  {\n    addedEP: '187',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingProvisionOptionRelevantUnderlyingDate',\n    id: 4305,\n    abbrName: 'OptRelvntUndlyDt',\n    fieldRef: [\n      {\n        id: 42142,\n        added: 'FIX.5.0SP2',\n        addedEP: '187',\n      },\n      {\n        id: 42143,\n        added: 'FIX.5.0SP2',\n        addedEP: '187',\n      },\n      {\n        id: 42144,\n        added: 'FIX.5.0SP2',\n        addedEP: '187',\n      },\n      {\n        id: 42145,\n        added: 'FIX.5.0SP2',\n        addedEP: '187',\n      },\n      {\n        id: 42146,\n        added: 'FIX.5.0SP2',\n        addedEP: '187',\n      },\n      {\n        id: 42147,\n        added: 'FIX.5.0SP2',\n        addedEP: '187',\n      },\n      {\n        id: 42148,\n        added: 'FIX.5.0SP2',\n        addedEP: '187',\n      },\n    ],\n    groupRef: [\n      {\n        updated: 'FIX.Latest',\n        addedEP: '187',\n        updatedEP: '282',\n        added: 'FIX.5.0SP2',\n        id: 4313,\n      },\n    ],\n    description:\n      'The UnderlyingProvisionOptionRelevantUnderlyingDate is a subcomponent within the UnderlyingProvisionGrp component used to report the option relevant underlying date defined in the provision.\\n\\n',\n  },\n  {\n    addedEP: '191',\n    category: 'MarketData',\n    added: 'FIX.5.0SP2',\n    name: 'MDStatisticParameters',\n    id: 2250,\n    abbrName: 'StatsPrm',\n    fieldRef: [\n      {\n        id: 2456,\n        added: 'FIX.5.0SP2',\n        addedEP: '191',\n        presence: 'required',\n      },\n      {\n        id: 2457,\n        added: 'FIX.5.0SP2',\n        addedEP: '191',\n        presence: 'required',\n      },\n      {\n        id: 2458,\n        added: 'FIX.5.0SP2',\n        addedEP: '191',\n      },\n      {\n        id: 2459,\n        added: 'FIX.5.0SP2',\n        addedEP: '191',\n      },\n      {\n        id: 2454,\n        added: 'FIX.5.0SP2',\n        addedEP: '191',\n      },\n      {\n        id: 2455,\n        added: 'FIX.5.0SP2',\n        addedEP: '191',\n      },\n      {\n        id: 2481,\n        added: 'FIX.5.0SP2',\n        addedEP: '191',\n      },\n      {\n        id: 2482,\n        added: 'FIX.5.0SP2',\n        addedEP: '191',\n      },\n      {\n        id: 264,\n        added: 'FIX.5.0SP2',\n        addedEP: '191',\n      },\n      {\n        id: 2460,\n        added: 'FIX.5.0SP2',\n        addedEP: '191',\n      },\n      {\n        id: 2461,\n        added: 'FIX.5.0SP2',\n        addedEP: '191',\n      },\n      {\n        id: 2462,\n        added: 'FIX.5.0SP2',\n        addedEP: '191',\n      },\n      {\n        id: 2463,\n        added: 'FIX.5.0SP2',\n        addedEP: '191',\n      },\n      {\n        id: 2464,\n        added: 'FIX.5.0SP2',\n        addedEP: '191',\n        presence: 'required',\n      },\n      {\n        id: 2465,\n        added: 'FIX.5.0SP2',\n        addedEP: '191',\n      },\n      {\n        id: 2466,\n        added: 'FIX.5.0SP2',\n        addedEP: '191',\n        description:\n          'Conditionally required if/when MDStatisticIntervalUnit(2467) is specified.\\n\\nConditionally required when MDStatisticIntervalType(2464) = 1 (Sliding window) or 2 (Sliding window peak).',\n      },\n      {\n        id: 2467,\n        added: 'FIX.5.0SP2',\n        addedEP: '191',\n      },\n      {\n        id: 2468,\n        added: 'FIX.5.0SP2',\n        addedEP: '191',\n      },\n      {\n        id: 2469,\n        added: 'FIX.5.0SP2',\n        addedEP: '191',\n      },\n      {\n        id: 2470,\n        added: 'FIX.5.0SP2',\n        addedEP: '191',\n      },\n      {\n        id: 2471,\n        added: 'FIX.5.0SP2',\n        addedEP: '191',\n      },\n      {\n        id: 2472,\n        added: 'FIX.5.0SP2',\n        addedEP: '191',\n      },\n      {\n        id: 2584,\n        added: 'FIX.5.0SP2',\n        addedEP: '236',\n      },\n      {\n        id: 1815,\n        added: 'FIX.5.0SP2',\n        addedEP: '191',\n      },\n      {\n        id: 40,\n        added: 'FIX.5.0SP2',\n        addedEP: '191',\n      },\n      {\n        id: 59,\n        added: 'FIX.5.0SP2',\n        addedEP: '191',\n      },\n      {\n        id: 276,\n        added: 'FIX.5.0SP2',\n        addedEP: '191',\n      },\n      {\n        id: 277,\n        added: 'FIX.5.0SP2',\n        addedEP: '191',\n      },\n      {\n        id: 54,\n        added: 'FIX.5.0SP2',\n        addedEP: '191',\n      },\n      {\n        id: 578,\n        added: 'FIX.5.0SP2',\n        addedEP: '191',\n      },\n      {\n        id: 336,\n        added: 'FIX.5.0SP2',\n        addedEP: '191',\n      },\n      {\n        id: 625,\n        added: 'FIX.5.0SP2',\n        addedEP: '191',\n      },\n      {\n        id: 1024,\n        added: 'FIX.5.0SP2',\n        addedEP: '231',\n      },\n      {\n        id: 2711,\n        added: 'FIX.5.0SP2',\n        addedEP: '231',\n      },\n      {\n        id: 338,\n        added: 'FIX.5.0SP2',\n        addedEP: '231',\n      },\n      {\n        id: 1022,\n        added: 'FIX.5.0SP2',\n        addedEP: '231',\n      },\n      {\n        id: 1629,\n        added: 'FIX.5.0SP2',\n        addedEP: '231',\n      },\n      {\n        id: 1916,\n        added: 'FIX.5.0SP2',\n        addedEP: '231',\n      },\n      {\n        id: 1057,\n        added: 'FIX.5.0SP2',\n        addedEP: '231',\n      },\n    ],\n    groupRef: [\n      {\n        id: 1008,\n        added: 'FIX.5.0SP2',\n        addedEP: '236',\n      },\n    ],\n    description:\n      'This component comprises all parameters that can be used to describe the market data statistics. These can be part of the request as well as the response. All parameters defined on the MarketDataStatisticsRequest(35=DO) message should be echoed in the MarketDataStatisticsReport(35=DP) message as the latter could also be sent unsolicited.\\n\\nThe general category and the entities involved in the statistics are defined by MDStatisticType(2456), MDStatisticScope(2457), and MDStatisticIntervalType(2464) and must always be specified. The remaining fields are optional and restrict the data range in one way or another. The time range for the data can either be specified in terms of an interval for which the statistics are typically calculated on a regular basis or in terms of an absolute date and/or time range.\\n\\nMDStatisticScope(2457), MDStatisticSubScope(2458) and MDStatisticScopeType(2459) form a set of scope relationships to filter further the type of statistic being requested or being provided.\\n\\nIt should be noted that some of the enumeration values for MDStatisticScopeType(2459) may not be applicable or useful for a given MDStatisticScope(2457) - e.g. MDStatisticScopeType(2459)=4 (Downward move) is more applicable to prices than to orders or trades.',\n  },\n  {\n    addedEP: '192',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'LegFinancingDetails',\n    id: 2251,\n    abbrName: 'FinDetls',\n    fieldRef: [\n      {\n        id: 2497,\n        added: 'FIX.5.0SP2',\n        addedEP: '192',\n      },\n      {\n        id: 2498,\n        added: 'FIX.5.0SP2',\n        addedEP: '192',\n      },\n      {\n        id: 2499,\n        added: 'FIX.5.0SP2',\n        addedEP: '192',\n      },\n      {\n        id: 2496,\n        added: 'FIX.5.0SP2',\n        addedEP: '192',\n      },\n      {\n        id: 2495,\n        added: 'FIX.5.0SP2',\n        addedEP: '192',\n      },\n      {\n        id: 2953,\n        added: 'FIX.Latest',\n        addedEP: '273',\n      },\n      {\n        id: 2511,\n        added: 'FIX.5.0SP2',\n        addedEP: '192',\n      },\n      {\n        id: 2510,\n        added: 'FIX.5.0SP2',\n        addedEP: '192',\n      },\n      {\n        id: 2512,\n        added: 'FIX.5.0SP2',\n        addedEP: '192',\n      },\n      {\n        id: 2509,\n        added: 'FIX.5.0SP2',\n        addedEP: '192',\n      },\n      {\n        id: 2500,\n        added: 'FIX.5.0SP2',\n        addedEP: '192',\n      },\n      {\n        id: 2502,\n        added: 'FIX.5.0SP2',\n        addedEP: '192',\n      },\n      {\n        id: 2501,\n        added: 'FIX.5.0SP2',\n        addedEP: '192',\n      },\n      {\n        id: 2503,\n        added: 'FIX.5.0SP2',\n        addedEP: '192',\n      },\n      {\n        id: 2507,\n        added: 'FIX.5.0SP2',\n        addedEP: '192',\n      },\n      {\n        id: 2505,\n        added: 'FIX.5.0SP2',\n        addedEP: '192',\n      },\n      {\n        id: 2494,\n        added: 'FIX.5.0SP2',\n        addedEP: '192',\n      },\n      {\n        id: 2493,\n        added: 'FIX.5.0SP2',\n        addedEP: '192',\n      },\n      {\n        id: 2514,\n        added: 'FIX.5.0SP2',\n        addedEP: '192',\n      },\n      {\n        id: 2513,\n        added: 'FIX.5.0SP2',\n        addedEP: '192',\n      },\n      {\n        id: 2506,\n        added: 'FIX.5.0SP2',\n        addedEP: '192',\n      },\n      {\n        id: 2504,\n        added: 'FIX.5.0SP2',\n        addedEP: '192',\n      },\n      {\n        id: 2508,\n        added: 'FIX.5.0SP2',\n        addedEP: '192',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4315,\n        added: 'FIX.5.0SP2',\n        addedEP: '192',\n      },\n      {\n        id: 4316,\n        added: 'FIX.5.0SP2',\n        addedEP: '192',\n      },\n      {\n        id: 4317,\n        added: 'FIX.5.0SP2',\n        addedEP: '192',\n      },\n    ],\n    description:\n      'Component block is optionally used for financial transactions where legal contracts, master agreements or master confirmations are to be referenced. This component identifies the legal agreement under which the deal was made and other unique characteristics of the transaction. For example, the LegAgreementDesc(2497) field refers to base standard documents such as MRA 1996 Repurchase Agreement, GMRA 2000 Bills Transaction (U.K.), MSLA 1993 Securities Loan - Amended 1998, for example.\\n\\n',\n  },\n  {\n    addedEP: '208',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'CashSettlDate',\n    id: 4318,\n    abbrName: 'SettlDt',\n    fieldRef: [\n      {\n        id: 42207,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42208,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42209,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42210,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42211,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42212,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42213,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4319,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    description:\n      'The CashSettlDate component is a subcomponent within the CashSettlTermGrp component used to report the cash settlement date defined in the settlement provision.\\n\\n',\n  },\n  {\n    addedEP: '208',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'DividendAccrualFloatingRate',\n    id: 4320,\n    abbrName: 'AcrlFloat',\n    fieldRef: [\n      {\n        id: 42218,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42219,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42220,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42221,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42222,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42223,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42224,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42225,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42226,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42227,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42228,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42229,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42230,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42231,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42232,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42233,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42234,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42235,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    description:\n      'The DividendAccrualFloatingRate component is a subcomponent of DividendConditions used to define the dividend accrual floating rate attributes of dividend payment conditions.\\n\\n',\n  },\n  {\n    addedEP: '208',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'DividendAccrualPaymentDate',\n    id: 4322,\n    abbrName: 'AcrlPmtDt',\n    fieldRef: [\n      {\n        id: 42238,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42239,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42240,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42241,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42242,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42243,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42244,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4321,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    description:\n      'The DividendAccrualPaymentDate component is a subcomponent of DividendConditions used to report the dividend accrual payment date.\\n\\n',\n  },\n  {\n    addedEP: '208',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'DividendConditions',\n    id: 4323,\n    abbrName: 'DividendConds',\n    fieldRef: [\n      {\n        id: 42245,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42246,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42247,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42248,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42249,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42250,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42251,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42252,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42253,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42254,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42255,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42256,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42257,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42258,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42259,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42260,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42261,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42262,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42263,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42264,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4326,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    componentRef: [\n      {\n        id: 4324,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 4320,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 4322,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    description:\n      \"The DividendConditions component is a subcomponent of PaymentStream used to specify the conditions' valuations and dates governing the payment of dividends.\\n\\n\",\n  },\n  {\n    addedEP: '208',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'DividendFXTriggerDate',\n    id: 4324,\n    abbrName: 'FXTrgrDt',\n    fieldRef: [\n      {\n        id: 42265,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42266,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42267,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42268,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42269,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42270,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42271,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4325,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    description:\n      'The DividendFXTriggerDate component is a subcomponent of DividendConditions used to report the dividend date when a foreign exchange trade is triggered.\\n\\n',\n  },\n  {\n    addedEP: '208',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'LegCashSettlDate',\n    id: 4328,\n    abbrName: 'SettlDt',\n    fieldRef: [\n      {\n        id: 42299,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42300,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42301,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42302,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42303,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42304,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42305,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4329,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    description:\n      'The LegCashSettlDate component is a subcomponent within the LegCashSettlTermGrp component used to report the cash settlement date defined in the settlement provision.\\n\\n',\n  },\n  {\n    addedEP: '208',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'LegDividendAccrualFloatingRate',\n    id: 4331,\n    abbrName: 'AcrlFloat',\n    fieldRef: [\n      {\n        id: 42312,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42313,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42314,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42315,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42316,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42317,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42318,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42319,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42320,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42321,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42322,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42323,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42324,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42325,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42326,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42327,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42328,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42329,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    description:\n      'The LegDividendAccrualFloatingRate component is a subcomponent of LegDividendConditions used to define the dividend accrual floating rate attributes of dividend payment conditions.\\n\\n',\n  },\n  {\n    addedEP: '208',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'LegDividendAccrualPaymentDate',\n    id: 4332,\n    abbrName: 'AcrlPmtDt',\n    fieldRef: [\n      {\n        id: 42330,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42331,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42332,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42333,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42334,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42335,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42336,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4330,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    description:\n      'The LegDividendAccrualPaymentDate component is a subcomponent of LegDividendConditions used to report the dividend accrual payment date.\\n\\n',\n  },\n  {\n    addedEP: '208',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'LegDividendConditions',\n    id: 4333,\n    abbrName: 'DividendConds',\n    fieldRef: [\n      {\n        id: 42337,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42338,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42339,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42340,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42341,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42342,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42343,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42344,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42345,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42346,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42347,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42348,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42349,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42350,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42351,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42352,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42353,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42354,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42355,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42356,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4336,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    componentRef: [\n      {\n        id: 4334,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 4331,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 4332,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    description:\n      \"The LegDividendConditions component is a subcomponent of LegPaymentStream used to specify the conditions' valuations and dates governing the payment of dividends.\\n\\n\",\n  },\n  {\n    addedEP: '208',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'LegDividendFXTriggerDate',\n    id: 4334,\n    abbrName: 'FXTrgrDt',\n    fieldRef: [\n      {\n        id: 42357,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42358,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42359,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42360,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42361,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42362,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42363,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4335,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    description:\n      'The LegDividendFXTriggerDate component is a subcomponent of LegDividendConditions used to report the dividend date when a foreign exchange trade is triggered.\\n\\n',\n  },\n  {\n    addedEP: '208',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'LegOptionExerciseMakeWholeProvision',\n    id: 4428,\n    abbrName: 'MakeWhole',\n    fieldRef: [\n      {\n        id: 42392,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42393,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42394,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42395,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42396,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42397,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42398,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    description:\n      'LegOptionExerciseMakeWholeProvision is a subcomponent of the LegOptionExercise component used to specify the set of rules of maintaining balance when an option is exercised.\\n\\nA \"make whole\" provision seeks to penalize the the option buyer, i.e. make the seller \"whole\", if the buyer exercises the option prior to the make whole date, e.g. the early call date of a convertible bond.',\n  },\n  {\n    addedEP: '208',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamCompoundingDates',\n    id: 4339,\n    abbrName: 'CmpndgDts',\n    fieldRef: [\n      {\n        id: 42408,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42409,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42410,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42411,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42412,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42413,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42414,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42415,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42416,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42417,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42418,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4340,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 4338,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    componentRef: [\n      {\n        id: 4343,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 4341,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    description:\n      'LegPaymentStreamCompoundingDates is a subcomponent of the LegPaymentStream component used to specify the compounding dates of the stream - either specific, relative or periodic dates.\\n\\n',\n  },\n  {\n    addedEP: '208',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamCompoundingEndDate',\n    id: 4341,\n    abbrName: 'EndDt',\n    fieldRef: [\n      {\n        id: 42421,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42422,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42423,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42424,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42425,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42426,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    description:\n      'LegPaymentStreamCompoundingEndDate is a subcomponent of the LegPaymentStreamCompoundingDates component used to specify the end date for compounding.\\n\\n',\n  },\n  {\n    addedEP: '208',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamCompoundingFloatingRate',\n    id: 4342,\n    abbrName: 'CmpndgFloat',\n    fieldRef: [\n      {\n        id: 42427,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42428,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42429,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42430,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42431,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42432,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42433,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42434,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42435,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42436,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42437,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42438,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42439,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42440,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42441,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42442,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42443,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42444,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    description:\n      'LegPaymentStreamCompoundingFloatingRate is a subcomponent of the LegPaymentStream component used to report the parameters for determining the compounding floating rate of the stream.\\n\\n',\n  },\n  {\n    addedEP: '208',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamCompoundingStartDate',\n    id: 4343,\n    abbrName: 'StartDt',\n    fieldRef: [\n      {\n        id: 42445,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42446,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42447,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42448,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42449,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42450,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    description:\n      'LegPaymentStreamCompoundingStartDate is a subcomponent of the LegPaymentStreamCompoundingDates component used to specify the start date for compounding.\\n\\n',\n  },\n  {\n    addedEP: '208',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamFormulaImage',\n    id: 4344,\n    abbrName: 'Img',\n    fieldRef: [\n      {\n        id: 42451,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42452,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    description:\n      'LegPaymentStreamFormulaImage is a subcomponent of the LegPaymentStreamFormula component used to include a base64Binary-encoded image clip of the formula.\\n\\n',\n  },\n  {\n    addedEP: '208',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamFinalPricePaymentDate',\n    id: 4345,\n    abbrName: 'FnlPxPmt',\n    fieldRef: [\n      {\n        id: 42453,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42454,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42455,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42456,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42457,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42458,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    description:\n      'LegPaymentStreamFinalPricePaymentDate is a subcomponent of the LegPaymentStreamPaymentDates component used to specify the final price payment date, e.g. for an equity return swap.\\n\\n',\n  },\n  {\n    addedEP: '208',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStreamFormula',\n    id: 4347,\n    abbrName: 'Frmla',\n    fieldRef: [\n      {\n        id: 42482,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42483,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42484,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4348,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    componentRef: [\n      {\n        id: 4344,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    description:\n      'LegPaymentStreamFormula is a subcomponent of the LegPaymentStreamFloatingRate component used to report the parameters for determining the floating rate of the stream e.g. for equity swaps.\\n\\n',\n  },\n  {\n    addedEP: '208',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStubEndDate',\n    id: 4349,\n    abbrName: 'EndDt',\n    fieldRef: [\n      {\n        id: 42488,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42489,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42490,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42491,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42492,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42493,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42494,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4350,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    description:\n      'LegPaymentStubEndDate is a subcomponent of the LegPaymentStubGrp component used to specify the end date of the payment stub.\\n\\n',\n  },\n  {\n    addedEP: '208',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'LegPaymentStubStartDate',\n    id: 4351,\n    abbrName: 'StartDt',\n    fieldRef: [\n      {\n        id: 42497,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42498,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42499,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42500,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42501,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42502,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42503,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4352,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    description:\n      'LegPaymentStubStartDate is a subcomponent of the LegPaymentStubGrp component used to specify the start date of the payment stub.\\n\\n',\n  },\n  {\n    addedEP: '208',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'LegSettlMethodElectionDate',\n    id: 4360,\n    abbrName: 'SettlMethDt',\n    fieldRef: [\n      {\n        id: 42574,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42575,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42576,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42577,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42578,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42579,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42580,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4361,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    description:\n      'The LegSettlMethodElectionDate component is a subcomponent within the LegOptionExercise component used to report the settlement method election date.\\n\\n',\n  },\n  {\n    addedEP: '208',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'OptionExerciseMakeWholeProvision',\n    id: 4362,\n    abbrName: 'MakeWhole',\n    fieldRef: [\n      {\n        id: 42591,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42592,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42593,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42594,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42595,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42596,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42597,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    description:\n      'OptionExerciseMakeWholeProvision is a subcomponent of the OptionExercise component used to specify the set of rules of maintaining balance when an option is exercised.\\n\\nA \"make whole\" provision seeks to penalize the the option buyer, i.e. make the seller \"whole\", if the buyer exercises the option prior to the make whole date, e.g. the early call date of a convertible bond.',\n  },\n  {\n    addedEP: '208',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamCompoundingDates',\n    id: 4364,\n    abbrName: 'CmpndgDts',\n    fieldRef: [\n      {\n        id: 42609,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42610,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42611,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42612,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42613,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42614,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42615,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42616,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42617,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42618,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42619,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4365,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 4363,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    componentRef: [\n      {\n        id: 4368,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 4366,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    description:\n      'PaymentStreamCompoundingDates is a subcomponent of the PaymentStream component used to specify the compounding dates of the stream - either specific, relative or periodic dates.\\n\\n',\n  },\n  {\n    addedEP: '208',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamCompoundingEndDate',\n    id: 4366,\n    abbrName: 'EndDt',\n    fieldRef: [\n      {\n        id: 42622,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42623,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42624,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42625,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42626,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42627,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    description:\n      'PaymentStreamCompoundingEndDate is a subcomponent of the PaymentStreamCompoundingDates component used to specify the end date for compounding.\\n\\n',\n  },\n  {\n    addedEP: '208',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamCompoundingFloatingRate',\n    id: 4367,\n    abbrName: 'CmpndgFloat',\n    fieldRef: [\n      {\n        id: 42628,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42629,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42630,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42631,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42632,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42633,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42634,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42635,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42636,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42637,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42638,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42639,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42640,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42641,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42642,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42643,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42644,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42645,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    description:\n      'PaymentStreamCompoundingFloatingRate is a subcomponent of the PaymentStream component used to report the parameters for determining the compounding floating rate of the stream.\\n\\n',\n  },\n  {\n    addedEP: '208',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamCompoundingStartDate',\n    id: 4368,\n    abbrName: 'StartDt',\n    fieldRef: [\n      {\n        id: 42646,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42647,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42648,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42649,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42650,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42651,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    description:\n      'PaymentStreamCompoundingStartDate is a subcomponent of the PaymentStreamCompoundingDates component used to specify the start date for compounding.\\n\\n',\n  },\n  {\n    addedEP: '208',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamFormulaImage',\n    id: 4369,\n    abbrName: 'Img',\n    fieldRef: [\n      {\n        id: 42652,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42653,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    description:\n      'PaymentStreamFormulaImage is a subcomponent of the PaymentStreamFormula component used to include a base64Binary-encoded image clip of the formula.\\n\\n',\n  },\n  {\n    addedEP: '208',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamFinalPricePaymentDate',\n    id: 4370,\n    abbrName: 'FnlPxPmt',\n    fieldRef: [\n      {\n        id: 42654,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42655,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42656,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42657,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42658,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42659,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    description:\n      'PaymentStreamFinalPricePaymentDate is a subcomponent of the PaymentStreamPaymentDates component used to specify the final price payment date, e.g. for an equity return swap.\\n\\n',\n  },\n  {\n    addedEP: '208',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStreamFormula',\n    id: 4373,\n    abbrName: 'Frmla',\n    fieldRef: [\n      {\n        id: 42686,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42687,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42688,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4372,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    componentRef: [\n      {\n        id: 4369,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    description:\n      'PaymentStreamFormula is a subcomponent of the PaymentStreamFloatingRate component used to report the parameters for determining the floating rate of the stream e.g. for equity swaps.\\n\\n',\n  },\n  {\n    addedEP: '208',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStubEndDate',\n    id: 4374,\n    abbrName: 'EndDt',\n    fieldRef: [\n      {\n        id: 42689,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42690,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42691,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42692,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42693,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42694,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42695,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4375,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    description:\n      'PaymentStubEndDate is a subcomponent of the PaymentStubGrp component used to specify the end date of the payment stub.\\n\\n',\n  },\n  {\n    addedEP: '208',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'PaymentStubStartDate',\n    id: 4376,\n    abbrName: 'StartDt',\n    fieldRef: [\n      {\n        id: 42698,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42699,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42700,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42701,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42702,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42703,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42704,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4377,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    description:\n      'PaymentStubStartDate is a subcomponent of the PaymentStubGrp component used to specify the start date of the payment stub.\\n\\n',\n  },\n  {\n    addedEP: '208',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'SettlMethodElectionDate',\n    id: 4386,\n    abbrName: 'SettlMethDt',\n    fieldRef: [\n      {\n        id: 42777,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42778,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42779,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42780,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42781,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42782,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42783,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4385,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    description:\n      'The SettlMethodElectionDate component is a subcomponent within the OptionExercise component used to report the settlement method election date.\\n\\n',\n  },\n  {\n    addedEP: '208',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingCashSettlDate',\n    id: 4388,\n    abbrName: 'SettlDt',\n    fieldRef: [\n      {\n        id: 42790,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42791,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42792,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42793,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42794,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42795,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42796,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4387,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    description:\n      'The UnderlyingCashSettlDate component is a subcomponent within the UnderlyingCashSettlTermGrp component used to report the cash settlement date defined in the settlement provision.\\n\\n',\n  },\n  {\n    addedEP: '208',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendAccrualFloatingRate',\n    id: 4390,\n    abbrName: 'AcrlFloat',\n    fieldRef: [\n      {\n        id: 42801,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42802,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42803,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42804,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42805,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42806,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42807,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42808,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42809,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42810,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42811,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42812,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42813,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42814,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42815,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42816,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42817,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42818,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    description:\n      'The UnderlyingDividendAccrualFloatingRate component is a subcomponent of UnderlyingDividendConditions used to define the dividend accrual floating rate attributes of dividend payment conditions.\\n\\n',\n  },\n  {\n    addedEP: '208',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendAccrualPaymentDate',\n    id: 4391,\n    abbrName: 'AcrlPmtDt',\n    fieldRef: [\n      {\n        id: 42819,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42820,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42821,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42822,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42823,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42824,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42825,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4389,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    description:\n      'The UnderlyingDividendAccrualPaymentDate component is a subcomponent of UnderlyingDividendConditions used to report the dividend accrual payment date.\\n\\n',\n  },\n  {\n    addedEP: '208',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendConditions',\n    id: 4392,\n    abbrName: 'DividendConds',\n    fieldRef: [\n      {\n        id: 42826,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42827,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42828,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42829,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42830,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42831,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42832,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42833,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42834,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42835,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42836,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42837,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42838,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42839,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42840,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42841,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42842,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42843,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42844,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42845,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4397,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    componentRef: [\n      {\n        id: 4393,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 4390,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 4391,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    description:\n      \"The UnderlyingDividendConditions component is a subcomponent of UnderlyingPaymentStream used to specify the conditions' valuations and dates governing the payment of dividends.\\n\\n\",\n  },\n  {\n    addedEP: '208',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendFXTriggerDate',\n    id: 4393,\n    abbrName: 'FXTrgrDt',\n    fieldRef: [\n      {\n        id: 42846,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42847,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42848,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42849,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42850,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42851,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42852,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4394,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    description:\n      'The UnderlyingDividendFXTriggerDate component is a subcomponent of UnderlyingDividendConditions used to report the dividend date when a foreign exchange trade is triggered.\\n\\n',\n  },\n  {\n    addedEP: '208',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingDividendPayout',\n    id: 4396,\n    abbrName: 'DividendPay',\n    fieldRef: [\n      {\n        id: 42860,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42861,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4395,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    description:\n      'UnderlyingDividendPayout is a subcomponent of UnderlyingInstrument used to specify the dividend or coupon payout parameters of an equity or bond underlier.\\n\\n',\n  },\n  {\n    addedEP: '208',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingOptionExerciseMakeWholeProvision',\n    id: 4429,\n    abbrName: 'MakeWhole',\n    fieldRef: [\n      {\n        id: 42888,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42889,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42890,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42891,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42892,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42893,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42894,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    description:\n      'UnderlyingOptionExerciseMakeWholeProvision is a subcomponent of the UnderlyingOptionExercise component used to specify the set of rules of maintaining balance when an option is exercised.\\n\\nA \"make whole\" provision seeks to penalize the the option buyer, i.e. make the seller \"whole\", if the buyer exercises the option prior to the makeWholeDate, e.g. the early call date of a convertible bond.',\n  },\n  {\n    addedEP: '208',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamCompoundingDates',\n    id: 4400,\n    abbrName: 'CmpndgDts',\n    fieldRef: [\n      {\n        id: 42904,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42905,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42906,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42907,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42908,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42909,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42910,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42911,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42912,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42913,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42914,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4401,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 4399,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    componentRef: [\n      {\n        id: 4404,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 4402,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    description:\n      'UnderlyingPaymentStreamCompoundingDates is a subcomponent of the UnderlyingPaymentStream component used to specify the compounding dates of the stream - either specific, relative or periodic dates.\\n\\n',\n  },\n  {\n    addedEP: '208',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamCompoundingEndDate',\n    id: 4402,\n    abbrName: 'EndDt',\n    fieldRef: [\n      {\n        id: 42917,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42918,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42919,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42920,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42921,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42922,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    description:\n      'UnderlyingPaymentStreamCompoundingEndDate is a subcomponent of the UnderlyingPaymentStreamCompoundingDates component used to specify the end date for compounding.\\n\\n',\n  },\n  {\n    addedEP: '208',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamCompoundingFloatingRate',\n    id: 4403,\n    abbrName: 'CmpndgFloat',\n    fieldRef: [\n      {\n        id: 42923,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42924,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42925,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42926,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42927,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42928,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42929,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42930,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42931,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42932,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42933,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42934,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42935,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42936,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42937,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42938,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42939,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42940,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    description:\n      'UnderlyingPaymentStreamCompoundingFloatingRate is a subcomponent of the UnderlyingPaymentStream component used to report the parameters for determining the compounding floating rate of the stream.\\n\\n',\n  },\n  {\n    addedEP: '208',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamCompoundingStartDate',\n    id: 4404,\n    abbrName: 'StartDt',\n    fieldRef: [\n      {\n        id: 42941,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42942,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42943,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42944,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42945,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42946,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    description:\n      'UnderlyingPaymentStreamCompoundingStartDate is a subcomponent of the UnderlyingPaymentStreamCompoundingDates component used to specify the start date for compounding.\\n\\n',\n  },\n  {\n    addedEP: '208',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamFormulaImage',\n    id: 4405,\n    abbrName: 'Img',\n    fieldRef: [\n      {\n        id: 42947,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42948,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    description:\n      'UnderlyingPaymentStreamFormulaImage is a subcomponent of the UnderlyingPaymentStreamFormula component used to include a base64Binary-encoded image clip of the formula.\\n\\n',\n  },\n  {\n    addedEP: '208',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamFinalPricePaymentDate',\n    id: 4406,\n    abbrName: 'FnlPxPmt',\n    fieldRef: [\n      {\n        id: 42949,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42950,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42951,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42952,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42953,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42954,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    description:\n      'UnderlyingPaymentStreamFinalPricePaymentDate is a subcomponent of the UnderlyingPaymentStreamPaymentDates component used to specify the final price payment date, e.g. for an equity return swap.\\n\\n',\n  },\n  {\n    addedEP: '208',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStreamFormula',\n    id: 4408,\n    abbrName: 'Frmla',\n    fieldRef: [\n      {\n        id: 42978,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42979,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42980,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4409,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    componentRef: [\n      {\n        id: 4405,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    description:\n      'UnderlyingPaymentStreamFormula is a subcomponent of the UnderlyingPaymentStreamFloatingRate component used to report the parameters for determining the floating rate of the stream e.g. for equity swaps.\\n\\n',\n  },\n  {\n    addedEP: '208',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStubEndDate',\n    id: 4410,\n    abbrName: 'EndDt',\n    fieldRef: [\n      {\n        id: 42984,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42985,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42986,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42987,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42988,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42989,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42990,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4411,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    description:\n      'UnderlyingPaymentStubEndDate is a subcomponent of the UnderlyingPaymentStubGrp component used to specify the end date of the payment stub.\\n\\n',\n  },\n  {\n    addedEP: '208',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingPaymentStubStartDate',\n    id: 4412,\n    abbrName: 'StartDt',\n    fieldRef: [\n      {\n        id: 42993,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42994,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42995,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42996,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42997,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42998,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 42999,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4413,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    description:\n      'UnderlyingPaymentStubStartDate is a subcomponent of the UnderlyingPaymentStubGrp component used to specify the start date of the payment stub.\\n\\n',\n  },\n  {\n    addedEP: '208',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingRateSpreadSchedule',\n    id: 4414,\n    abbrName: 'RtSpreadSched',\n    fieldRef: [\n      {\n        id: 43004,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4415,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    description:\n      'UnderlyingRateSpreadSchedule is a subcomponent of UnderlyingInstrument used to specify the rate spread schedule for a basket underlier.\\n\\n',\n  },\n  {\n    addedEP: '208',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'UnderlyingSettlMethodElectionDate',\n    id: 4424,\n    abbrName: 'SettlMethDt',\n    fieldRef: [\n      {\n        id: 43076,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 43077,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 43078,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 43079,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 43080,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 43081,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n      {\n        id: 43082,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    groupRef: [\n      {\n        id: 4423,\n        added: 'FIX.5.0SP2',\n        addedEP: '208',\n      },\n    ],\n    description:\n      'The UnderlyingSettlMethodElectionDate component is a subcomponent within the UnderlyingOptionExercise component used to report the settlement method election date.\\n\\n',\n  },\n  {\n    updated: 'FIX.5.0SP2',\n    addedEP: '235',\n    updatedEP: '240',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'FloatingRateIndex',\n    id: 2264,\n    abbrName: 'RtNdx',\n    fieldRef: [\n      {\n        id: 2731,\n        added: 'FIX.5.0SP2',\n        addedEP: '235',\n      },\n      {\n        id: 2732,\n        added: 'FIX.5.0SP2',\n        addedEP: '235',\n      },\n      {\n        id: 2730,\n        added: 'FIX.5.0SP2',\n        addedEP: '235',\n      },\n      {\n        id: 2728,\n        added: 'FIX.5.0SP2',\n        addedEP: '235',\n      },\n      {\n        id: 2729,\n        added: 'FIX.5.0SP2',\n        addedEP: '235',\n      },\n    ],\n    description:\n      'Used to identify the rate index for a floating rate coupon.\\n\\nIn the context of MiFID II RTS 23 Annex I Table 3 reference data - statement of the attributes of the index/benchmark of a floating rate security.',\n  },\n  {\n    addedEP: '240',\n    category: 'Common',\n    added: 'FIX.5.0SP2',\n    name: 'AveragePriceDetail',\n    id: 1075,\n    abbrName: 'AvgPxDetl',\n    fieldRef: [\n      {\n        id: 2763,\n        added: 'FIX.5.0SP2',\n        addedEP: '240',\n      },\n      {\n        id: 2764,\n        added: 'FIX.5.0SP2',\n        addedEP: '240',\n      },\n      {\n        id: 2765,\n        added: 'FIX.5.0SP2',\n        addedEP: '240',\n      },\n    ],\n    description:\n      'The AveragePriceDetail component provides average pricing details in a trade report, including the average pricing model and the start and end times of averaging period.\\n\\n',\n  },\n  {\n    addedEP: '249',\n    category: 'PayManagement',\n    added: 'FIX.5.0SP2',\n    name: 'PostTradePayment',\n    id: 2265,\n    abbrName: 'PostTrdPmt',\n    fieldRef: [\n      {\n        id: 2824,\n        added: 'FIX.5.0SP2',\n        addedEP: '249',\n        presence: 'required',\n      },\n      {\n        id: 2817,\n        added: 'FIX.5.0SP2',\n        addedEP: '249',\n        presence: 'required',\n      },\n      {\n        id: 2818,\n        added: 'FIX.5.0SP2',\n        addedEP: '249',\n      },\n      {\n        id: 2956,\n        added: 'FIX.Latest',\n        addedEP: '273',\n      },\n      {\n        id: 2825,\n        added: 'FIX.5.0SP2',\n        addedEP: '249',\n        presence: 'required',\n        description:\n          'The date payment calculations are made. This may be earlier than the date in ClearingBusinessDate(715).\\n\\nWhen the report is sent unsolicited, this is the payment calculation date as determined by report sender.',\n      },\n      {\n        id: 2826,\n        added: 'FIX.5.0SP2',\n        addedEP: '249',\n        presence: 'required',\n      },\n      {\n        id: 2827,\n        added: 'FIX.5.0SP2',\n        addedEP: '249',\n      },\n      {\n        id: 2819,\n        added: 'FIX.5.0SP2',\n        addedEP: '249',\n        presence: 'required',\n      },\n      {\n        id: 2816,\n        added: 'FIX.5.0SP2',\n        addedEP: '249',\n        presence: 'required',\n      },\n      {\n        id: 2821,\n        added: 'FIX.5.0SP2',\n        addedEP: '249',\n      },\n      {\n        id: 2820,\n        added: 'FIX.5.0SP2',\n        addedEP: '249',\n      },\n      {\n        id: 2815,\n        added: 'FIX.5.0SP2',\n        addedEP: '249',\n      },\n      {\n        id: 2814,\n        added: 'FIX.5.0SP2',\n        addedEP: '249',\n      },\n      {\n        id: 2822,\n        added: 'FIX.5.0SP2',\n        addedEP: '249',\n      },\n      {\n        id: 2823,\n        added: 'FIX.5.0SP2',\n        addedEP: '249',\n      },\n    ],\n    description:\n      'This component specifies the details of a payment between the parties involved.\\n\\n',\n  },\n  {\n    addedEP: '281',\n    category: 'SettlementStatusManagement',\n    added: 'FIX.Latest',\n    name: 'SettlTradeDetails',\n    id: 2271,\n    abbrName: 'SettlTrdDetls',\n    fieldRef: [\n      {\n        id: 664,\n        added: 'FIX.Latest',\n        addedEP: '281',\n      },\n      {\n        id: 70,\n        added: 'FIX.Latest',\n        addedEP: '281',\n      },\n      {\n        id: 467,\n        added: 'FIX.Latest',\n        addedEP: '281',\n      },\n      {\n        id: 793,\n        added: 'FIX.Latest',\n        addedEP: '281',\n      },\n      {\n        id: 79,\n        added: 'FIX.Latest',\n        addedEP: '281',\n      },\n      {\n        id: 75,\n        added: 'FIX.Latest',\n        addedEP: '281',\n      },\n      {\n        id: 80,\n        added: 'FIX.Latest',\n        addedEP: '281',\n      },\n      {\n        id: 54,\n        added: 'FIX.Latest',\n        addedEP: '281',\n      },\n      {\n        id: 6,\n        added: 'FIX.Latest',\n        addedEP: '281',\n      },\n      {\n        id: 423,\n        added: 'FIX.Latest',\n        addedEP: '281',\n      },\n      {\n        id: 860,\n        added: 'FIX.Latest',\n        addedEP: '281',\n      },\n      {\n        id: 381,\n        added: 'FIX.Latest',\n        addedEP: '281',\n      },\n      {\n        id: 118,\n        added: 'FIX.Latest',\n        addedEP: '281',\n      },\n      {\n        id: 15,\n        added: 'FIX.Latest',\n        addedEP: '281',\n      },\n      {\n        id: 2897,\n        added: 'FIX.Latest',\n        addedEP: '281',\n      },\n      {\n        id: 854,\n        added: 'FIX.Latest',\n        addedEP: '281',\n      },\n      {\n        id: 64,\n        added: 'FIX.Latest',\n        addedEP: '281',\n      },\n      {\n        id: 119,\n        added: 'FIX.Latest',\n        addedEP: '281',\n      },\n      {\n        id: 120,\n        added: 'FIX.Latest',\n        addedEP: '281',\n      },\n      {\n        id: 2899,\n        added: 'FIX.Latest',\n        addedEP: '281',\n      },\n    ],\n    componentRef: [\n      {\n        id: 1003,\n        added: 'FIX.Latest',\n        addedEP: '281',\n      },\n      {\n        id: 1016,\n        added: 'FIX.Latest',\n        addedEP: '281',\n      },\n    ],\n    groupRef: [\n      {\n        id: 1008,\n        added: 'FIX.Latest',\n        addedEP: '281',\n      },\n    ],\n    description:\n      'SettlTradeDetails component is used to provide the details which can be used to look up a single trade.\\n\\n',\n  },\n];\n", "import { COMPONENTS, type ISpecComponents } from '../spec/SpecComponents';\n\nexport class Components {\n  public components: ISpecComponents[] = COMPONENTS;\n  public cacheMap = new Map<number, ISpecComponents>();\n  public cacheMapByName = new Map<string, ISpecComponents>();\n\n  constructor() {\n    this.components.forEach(component => {\n      this.cacheMap.set(component.id, component);\n    });\n    this.components.forEach(component => {\n      this.cacheMapByName.set(component.name, component);\n    });\n  }\n\n  public find(componentId: number): ISpecComponents | undefined {\n    return this.cacheMap.get(componentId);\n  }\n\n  public findByName(name: string): ISpecComponents | undefined {\n    return this.cacheMapByName.get(name);\n  }\n}\n", "import type { Logger } from './Logger';\n\nexport type Version = {\n  version: string | undefined;\n  build: string | undefined;\n};\n\ndeclare global {\n  const __PACKAGE_VERSION__: string;\n  const __BUILD_TIME__: string;\n}\n\nexport const version: Version = {\n  version: __PACKAGE_VERSION__ || process.env.__PACKAGE_VERSION__,\n  build: __BUILD_TIME__ || process.env.__BUILD_TIME__,\n};\n\nexport type Parser = 'FIXServer' | 'FIXParser' | 'FIXParserBrowser';\nexport const DEFAULT_FIX_VERSION: string = 'FIXT.1.1';\nexport const DEFAULT_HEARTBEAT_SECONDS: number = 30;\nexport const SOH: string = '\\x01';\nexport const STRING_EQUALS: string = '=';\nexport const RE_ESCAPE: RegExp = /[.*+?^${}()|[\\]\\\\]/g;\nexport const RE_FIND: RegExp = /8=FIXT?\\.\\d\\.\\d([^\\d]+)/i;\nexport const READY_MS: number = 100;\n\nexport const includesAny = <T>(arr: T[], values: T[]): boolean => {\n  return values.some(v => arr.includes(v));\n};\n\nexport const pad = (value: number, size: number): string => {\n  const paddedString = `00${value}`;\n  return paddedString.substr(paddedString.length - size);\n};\n\nexport const adjustForTimezone = (date: Date): Date => {\n  const timeOffsetInMS: number = date.getTimezoneOffset() * 60000;\n  date.setTime(date.getTime() + timeOffsetInMS);\n  return date;\n};\n\nexport const timestamp = (dateObject: Date, logger: Logger): string => {\n  if (Number.isNaN(dateObject.getTime())) {\n    logger.log({ level: 'error', message: 'Invalid date specified!' });\n  }\n  const date: Date = adjustForTimezone(dateObject);\n  return `${date.getFullYear()}${pad(date.getMonth() + 1, 2)}${pad(date.getDate(), 2)}-${pad(\n    date.getHours(),\n    2\n  )}:${pad(date.getMinutes(), 2)}:${pad(date.getSeconds(), 2)}.${pad(date.getMilliseconds(), 3)}`;\n};\n", "import { Components } from '../components/Components';\nimport { Enums } from '../enums/Enums';\nimport { Field } from '../fields/Field';\nimport { Fields } from '../fields/Fields';\nimport { DataTypes } from '../fields/datatypes/Datatypes';\nimport { Field as FieldType } from '../fieldtypes/Field';\nimport type { Structure } from '../messagetype/MessageType';\nimport type { RefType } from '../messagetype/MessageType';\nimport type { ISpecEnums } from '../spec/SpecEnums';\nimport type { ISpecFields } from '../spec/SpecFields';\nimport { DEFAULT_FIX_VERSION, SOH, includesAny, pad } from '../util/util';\n\nconst TAG_CHECKSUM: string = '10=';\nconst TAG_MSGTYPE: string = '35=';\nconst MARKER_BODYLENGTH: string = '\\x02';\nconst MARKER_CHECKSUM: string = '\\x03';\n\ntype FieldValues = {\n  [tag: string]: any;\n};\n\nexport type MessageError = {\n  field: RefType | ISpecFields | undefined;\n  name: string | null;\n  tag: number;\n  value: number | string | boolean | null;\n  expectedValue?: number | string | boolean | null;\n  error: string;\n};\n\nconst explain = (field: Field) => field.enumeration?.name || field.value;\nconst setFieldValue = (field: Field, values: FieldValues, useName = false): void => {\n  if (values[field.name!]) {\n    if (Array.isArray(values[field.name!])) {\n      values[field.name!] = [\n        ...values[field.name!],\n        useName ? explain(field) : field.value,\n      ];\n    } else {\n      values[field.name!] = [values[field.name!], useName ? explain(field) : field.value];\n    }\n  } else {\n    values[field.name!] = useName ? explain(field) : field.value;\n  }\n};\n\nexport class Message {\n  public fixVersion: string = DEFAULT_FIX_VERSION;\n  public data: Field[] = [];\n  public messageString = '';\n  public description = '';\n  public messageType = '';\n  public messageTypeDescription = '';\n  public messageSequence = -1;\n  public structure: Structure[] | null = null;\n  public bodyLengthValid = false;\n  public checksumValid = false;\n  public checksumValue: string | null = null;\n  public checksumExpected: string | null = null;\n  public bodyLengthValue: number | null = null;\n  public bodyLengthExpected: number | null = null;\n\n  constructor(fixVersion: string = DEFAULT_FIX_VERSION, ...fields: Field[]) {\n    this.fixVersion = fixVersion;\n    this.reset();\n\n    // Add other tags\n    fields.forEach((field: Field) => {\n      if (field.tag === FieldType.BeginString) {\n        this.fixVersion = String(field.value);\n      }\n      if (field.tag === FieldType.MsgSeqNum) {\n        this.setMessageSequence(Number(field.value));\n      }\n\n      if (field.tag === FieldType.MsgType) {\n        this.data.splice(0, 0, field);\n      } else {\n        this.data.push(field);\n      }\n    });\n  }\n\n  #calculateBodyLength = (value: string): number => {\n    const startLength: number =\n      value.indexOf(TAG_MSGTYPE) === -1 ? 0 : value.indexOf(TAG_MSGTYPE) + 1;\n    const endLength: number =\n      value.lastIndexOf(TAG_CHECKSUM) === -1\n        ? value.length\n        : value.lastIndexOf(TAG_CHECKSUM) + 1;\n\n    return endLength - startLength;\n  };\n\n  #calculateChecksum = (value: string): string => {\n    let integerValues = 0;\n\n    let i = 0;\n    for (i; i < value.length; i++) {\n      integerValues += value.charCodeAt(i);\n    }\n\n    return pad(integerValues & 255, 3);\n  };\n\n  // #calculatePosition = (spec: any, tag: number): number => {\n  //     if (spec.tagText === 'StandardHeader' && tag === FieldType.BeginString) {\n  //         return 0;\n  //     }\n  //     if (spec.tagText === 'StandardHeader' && tag === FieldType.BodyLength) {\n  //         return 1;\n  //     }\n  //     if (spec.tagText === 'StandardHeader' && tag === FieldType.MsgType) {\n  //         return 2;\n  //     }\n  //     if (spec.tagText === 'StandardTrailer') {\n  //         return 999999999;\n  //     }\n  //     return Number(spec.position);\n  // };\n\n  #nonEmpty = (parts: TemplateStringsArray, ...args: string[]): string => {\n    let res: string = parts[0];\n    let i = 1;\n    for (i; i < parts.length; i++) {\n      if (args[i - 1] || args[i - 1] === '0') {\n        res += args[i - 1];\n      }\n      res += parts[i];\n    }\n    return res;\n  };\n\n  #validateRef = (\n    structureItem: Structure,\n    refType: 'fieldRef' | 'componentRef' | 'groupRef',\n    tagSet: Set<number>\n  ): MessageError | undefined => {\n    if (structureItem?.data[refType]) {\n      const list = structureItem?.data[refType];\n      for (const ref of list) {\n        if (tagSet.has(Number(ref.id))) {\n          continue;\n        }\n\n        return {\n          field: {\n            ...ref,\n          },\n          name: ref.name,\n          tag: Number(ref.id),\n          value: null,\n          error: `Missing field ${ref.name}`,\n        };\n      }\n    }\n    return undefined;\n  };\n\n  #validateMessage = (message: Message, requiredFieldsOnly: boolean): MessageError[] => {\n    const result: MessageError[] = [];\n    const fields: Field[] = structuredClone(message.data);\n    const tagSet: Set<number> = new Set();\n\n    // TODO cache initialization...\n    const _specEnums = new Enums();\n    const _specFields = new Fields();\n    const _specDatatypes = new DataTypes();\n    const _specComponents = new Components();\n\n    fields.forEach((field: Field, index: number) => {\n      tagSet.add(field.tag);\n      const fieldSpec = _specFields?.cacheMap.get(field.tag);\n      const hasEnum = _specEnums?.getEnumByTag(String(field.tag));\n      const enumValue = _specEnums?.getEnum(String(field.tag), field.value);\n\n      if (\n        (hasEnum && !enumValue) ||\n        !_specDatatypes.validateDatatype(field.value, field.type?.name)\n      ) {\n        result.push({\n          field: fieldSpec,\n          name: field.name,\n          tag: field.tag,\n          value: field.value,\n          error: 'Incorrect data format for value',\n        });\n      }\n\n      if (field.tag === FieldType.BodyLength) {\n        const isValidBodyLength = this.validateBodyLength(String(this.bodyLengthValue));\n        if (!isValidBodyLength) {\n          result.push({\n            field: fieldSpec,\n            name: field.name,\n            tag: field.tag,\n            value: field.value,\n            expectedValue: this.bodyLengthExpected,\n            error: 'Incorrect value for BodyLength',\n          });\n        }\n      } else if (field.tag === FieldType.CheckSum) {\n        const isValidCheckSum = this.validateChecksum(String(this.checksumValue));\n        if (!isValidCheckSum) {\n          result.push({\n            field: fieldSpec,\n            name: field.name,\n            tag: field.tag,\n            value: field.value,\n            expectedValue: this.checksumExpected,\n            error: 'Incorrect value for CheckSum',\n          });\n        }\n      }\n    });\n\n    if (this.structure) {\n      for (const item of this.structure) {\n        // Single field type\n        if (\n          !tagSet.has(Number(item.data.id)) &&\n          !item?.data.fieldRef &&\n          !item?.data.groupRef &&\n          !item?.data.componentRef &&\n          item?.data.id !== '1003'\n        ) {\n          /*\n                        Application Version Precedence\n                        Lowest: DefaultApplVerID(1137)\n                        Supersedes: RefMsgType(372), RefApplVerID(1130), DefaultVerIndicator(1410),\n                        Highest, explicit: ApplVerID(1128)\n                     */\n          if ([1137, 372, 1130, 1410, 1128].includes(Number(item.data.id))) {\n            if (\n              tagSet.has(1137) ||\n              tagSet.has(372) ||\n              tagSet.has(1130) ||\n              tagSet.has(1410) ||\n              tagSet.has(1128)\n            ) {\n              continue;\n            }\n          }\n\n          if (item.data.type === 'component') {\n            const messageFields: number[] = fields.map(field => field.tag);\n            let componentFields: number[] = [];\n            const componentSpec = _specComponents?.cacheMap.get(Number(item.data.id));\n            if (componentSpec) {\n              if (componentSpec.fieldRef) {\n                componentFields = componentFields.concat(\n                  componentSpec.fieldRef.map(field => field.id)\n                );\n              }\n              if (componentSpec.componentRef) {\n                componentFields = componentFields.concat(\n                  componentSpec.componentRef.map(field => field.id)\n                );\n              }\n              if (componentSpec.groupRef) {\n                componentFields = componentFields.concat(\n                  componentSpec.groupRef.map(field => field.id)\n                );\n              }\n            }\n            if (!includesAny(componentFields, messageFields)) {\n              result.push({\n                field: {\n                  ...item.data,\n                },\n                tag: Number(item.data.id),\n                name: item.data.name,\n                value: null,\n                error: `Missing block ${item.data.name}`,\n              });\n            }\n          } else {\n            result.push({\n              field: {\n                ...item.data,\n              },\n              tag: Number(item.data.id),\n              name: item.data.name,\n              value: null,\n              error: `Missing field ${item.data.name}`,\n            });\n          }\n        }\n\n        const fieldRef = this.#validateRef(item, 'fieldRef', tagSet);\n        const componentRef = this.#validateRef(item, 'componentRef', tagSet);\n        const groupRef = this.#validateRef(item, 'groupRef', tagSet);\n\n        if (fieldRef) {\n          result.push(fieldRef);\n        }\n\n        if (componentRef) {\n          result.push(componentRef);\n        }\n\n        if (groupRef) {\n          result.push(groupRef);\n        }\n      }\n    }\n\n    return result;\n  };\n\n  public addField(field: Field): void {\n    this.data.push(field);\n  }\n\n  public addFields(...fields: Field[]): void {\n    fields.forEach((field: Field) => {\n      if (field.tag === FieldType.MsgType) {\n        this.data.splice(0, 0, field);\n      } else {\n        this.data.push(field);\n      }\n    });\n  }\n\n  public removeFieldByTag(tag: number): void {\n    const index: number = this.data.findIndex((field: Field) => field.tag === tag);\n    if (index > -1) {\n      this.data.splice(index, 1);\n    }\n  }\n\n  public getField(tag: number): Field | undefined {\n    return this.data.find((field: Field) => field.tag === tag);\n  }\n\n  public getFields(tag: number): Field[] | undefined {\n    return this.data.filter((field: Field) => field.tag === tag);\n  }\n\n  public getFieldValues(): FieldValues {\n    const values: FieldValues = {};\n    this.data.forEach((field: Field) => {\n      if (values[field.tag]) {\n        if (Array.isArray(values[field.tag])) {\n          values[field.tag] = [...values[field.tag], field.value];\n        } else {\n          values[field.tag] = [values[field.tag], field.value];\n        }\n      } else {\n        values[field.tag] = field.value;\n      }\n    });\n    return values;\n  }\n\n  public getFieldNameValues(): FieldValues {\n    const values: FieldValues = {};\n    this.data.forEach((field: Field) => {\n      setFieldValue(field, values, false);\n    });\n    return values;\n  }\n\n  public getFieldExplains(): FieldValues {\n    const values: FieldValues = {};\n    this.data.forEach((field: Field) => {\n      setFieldValue(field, values, true);\n    });\n    return values;\n  }\n\n  public setField(field: Field): void {\n    const index: number = this.data.findIndex((item: Field) => item.tag === field.tag);\n    if (index > -1) {\n      this.data[index] = field;\n    }\n  }\n\n  public setString(fixString: string): void {\n    this.messageString = fixString;\n  }\n\n  public setDescription(description: string): void {\n    this.description = description;\n  }\n\n  public setMessageType(messageType: string): void {\n    this.messageType = messageType;\n  }\n\n  public setMessageTypeDescription(messageTypeDescription: string): void {\n    this.messageTypeDescription = messageTypeDescription;\n  }\n\n  public setMessageSequence(messageSequence: number): void {\n    this.messageSequence = messageSequence;\n  }\n\n  public setStructure(structure: Structure[]): void {\n    this.structure = structure;\n  }\n\n  public getEnum(\n    tag: number,\n    value: number | string | boolean | null\n  ): ISpecEnums | undefined {\n    if (!this.getField(FieldType.MsgType) || !this.getField(FieldType.MsgType)?.tag) {\n      return;\n    }\n\n    if (!this.getField(FieldType.MsgType) || !this.getField(FieldType.MsgType)?.value) {\n      return;\n    }\n\n    const enums = new Enums();\n    return enums.getEnum(tag.toString(), value);\n  }\n\n  public getBriefDescription(): string | null {\n    let returnValue = '';\n    const sideField: Field | undefined = this.getField(FieldType.Side);\n    let side: string | null = '';\n    if (sideField?.enumeration) {\n      side = sideField.enumeration.name;\n      side = side ? side.replace('Sell', 'SL').toUpperCase() : null;\n    }\n\n    if (this.getField(FieldType.LeavesQty) !== undefined) {\n      let quantity = '';\n\n      if (this.getField(FieldType.ContraTradeQty)) {\n        quantity = String(this.getField(FieldType.ContraTradeQty)?.value);\n      } else {\n        quantity = this.getField(FieldType.OrderQty)\n          ? String(this.getField(FieldType.OrderQty)?.value)\n          : '';\n      }\n      const leavesQuantity: string = String(this.getField(FieldType.LeavesQty)?.value);\n      const lastPrice: number = this.getField(FieldType.LastPx)\n        ? Number(this.getField(FieldType.LastPx)?.value)\n        : 0;\n      returnValue = this.#nonEmpty`${quantity} @${\n        lastPrice || lastPrice === 0 ? lastPrice.toFixed(2) : '0.00'\n      } ${this.getField(FieldType.LeavesQty)!.name!.replace(\n        'LeavesQty',\n        'LvsQty'\n      )} ${Number.parseInt(leavesQuantity, 10).toString()}`;\n    } else if (this.getField(FieldType.OrderQty)) {\n      const orderQuantity: string = String(this.getField(FieldType.OrderQty)?.value);\n      const symbol: string = this.getField(FieldType.Symbol)\n        ? String(this.getField(FieldType.Symbol)?.value)\n        : '';\n      const orderType: Field = this.getField(FieldType.OrdType)!;\n      let name = '';\n      if (orderType?.enumeration?.name) {\n        name = orderType.enumeration.name;\n      }\n      const timeInForceField = this.getField(FieldType.TimeInForce)!;\n      let timeInForce: string | null = null;\n      if (timeInForceField?.enumeration) {\n        timeInForce = timeInForceField.enumeration.name;\n      }\n\n      if (this.getField(FieldType.Price)) {\n        let price: number | string = Number(this.getField(FieldType.Price)?.value);\n        if (price >= 1) {\n          price = price.toFixed(2);\n        } else if (price < 1) {\n          price = price.toString().replace('0.', '.');\n        }\n        returnValue = this.#nonEmpty`${side || ''} ${orderQuantity} ${\n          symbol ? symbol.toUpperCase() : ''\n        } ${\n          name ? name.replace('Market', 'MKT').replace('Limit', 'LMT').toUpperCase() : ''\n        } @${price.toString()} ${timeInForce ? timeInForce.toUpperCase() : ''}`;\n      } else {\n        returnValue = this.#nonEmpty`${side || ''} ${orderQuantity} ${\n          symbol ? symbol.toUpperCase() : ''\n        } ${\n          name ? name.replace('Market', 'MKT').replace('Limit', 'LMT').toUpperCase() : ''\n        } ${timeInForce ? timeInForce.toUpperCase() : ''}`;\n      }\n    } else {\n      const messageType = this.getField(FieldType.MsgType);\n      if (messageType?.tag && messageType.value) {\n        const name = this.getEnum(messageType.tag, String(messageType.value))?.name;\n        return name || '';\n      }\n      return null;\n    }\n\n    return returnValue.trim();\n  }\n\n  public validateBodyLength(value: string): boolean {\n    const index: number = this.messageString.indexOf(TAG_MSGTYPE);\n    const lastIndex: number = this.messageString.lastIndexOf(TAG_CHECKSUM);\n    const startLength: number = index === -1 ? 0 : index;\n    const endLength: number = lastIndex === -1 ? this.messageString.length : lastIndex;\n    const bodyLength: number = endLength - startLength;\n\n    this.bodyLengthValue = Number(value);\n    this.bodyLengthExpected = bodyLength;\n    this.bodyLengthValid = Number(value) === bodyLength;\n    return this.bodyLengthValid;\n  }\n\n  public validateChecksum(value: string): boolean {\n    const lastIndex: number = this.messageString.lastIndexOf(TAG_CHECKSUM);\n    const length: number = lastIndex === -1 ? this.messageString.length : lastIndex;\n    const data: string = this.messageString.substring(0, length);\n    const calculatedChecksum: string = this.#calculateChecksum(data);\n\n    this.checksumValue = value;\n    this.checksumExpected = calculatedChecksum;\n    this.checksumValid = value === calculatedChecksum;\n    return this.checksumValid;\n  }\n\n  public validate(requiredFieldsOnly = true): MessageError[] {\n    return this.#validateMessage(this, requiredFieldsOnly);\n  }\n\n  public encode(separator: string = SOH): string {\n    const fields: Field[] = this.data.map(\n      (field: Field) => new Field(field.tag, field.value)\n    );\n    const data: string[] = [];\n\n    let beginString: string = new Field(\n      FieldType.BeginString,\n      this.fixVersion\n    ).toString();\n    let bodyLength: string = new Field(\n      FieldType.BodyLength,\n      MARKER_BODYLENGTH\n    ).toString();\n    let checksum: string = new Field(FieldType.CheckSum, MARKER_CHECKSUM).toString();\n    let index: number = fields.findIndex(field => field.tag === FieldType.BeginString);\n\n    // Check for header\n    if (index > -1) {\n      beginString = fields[index].toString();\n      fields.splice(index, 1);\n    }\n\n    // Check for body length\n    index = fields.findIndex(field => field.tag === FieldType.BodyLength);\n    if (index > -1) {\n      bodyLength = fields[index].toString();\n      fields.splice(index, 1);\n    }\n\n    // Check for trailer\n    index = fields.findIndex(field => field.tag === FieldType.CheckSum);\n    if (index > -1) {\n      checksum = fields[index].toString();\n      fields.splice(index, 1);\n    }\n\n    data.push(beginString);\n    data.push(bodyLength);\n\n    // Add other fields\n    fields.forEach(field => {\n      data.push(field.toString());\n    });\n\n    data.push(checksum);\n\n    let fixMessage = `${data.join(separator)}${separator}`;\n    fixMessage = fixMessage.replace(\n      MARKER_BODYLENGTH,\n      this.#calculateBodyLength(fixMessage).toString()\n    );\n\n    const length: number =\n      fixMessage.lastIndexOf(TAG_CHECKSUM) === -1\n        ? fixMessage.length\n        : fixMessage.lastIndexOf(TAG_CHECKSUM);\n    const calculatedChecksum: string = this.#calculateChecksum(\n      fixMessage.substring(0, length)\n    );\n    fixMessage = fixMessage.replace(MARKER_CHECKSUM, calculatedChecksum);\n\n    return fixMessage;\n  }\n\n  public clone(): Message {\n    const cloned: Message = new Message(this.fixVersion, ...this.data);\n    cloned.messageSequence = this.messageSequence;\n    cloned.messageType = this.messageType;\n    return cloned;\n  }\n\n  private reset(): void {\n    this.data = [];\n    this.messageString = '';\n    this.description = '';\n    this.messageType = '';\n    this.messageSequence = -1;\n    this.structure = null;\n    this.bodyLengthValid = false;\n    this.checksumValid = false;\n    this.checksumValue = null;\n    this.checksumExpected = null;\n    this.bodyLengthValue = null;\n    this.bodyLengthExpected = null;\n  }\n}\n", "import type { ProxyAgent } from 'proxy-agent';\n\nimport { Enums as EnumsCache } from './enums/Enums';\nimport { Field } from './fields/Field';\nimport { Fields as FieldsCache } from './fields/Fields';\nimport { Field as FieldType } from './fieldtypes/Field';\nimport { Message } from './message/Message';\nimport type { LogOptions } from './util/Logger';\nimport { DEFAULT_FIX_VERSION, RE_ESCAPE, RE_FIND, SOH, STRING_EQUALS } from './util/util';\n\nexport type Protocol = 'tcp' | 'ssl-tcp' | 'tls-tcp' | 'websocket';\nexport type ConnectionType = 'acceptor' | 'initiator';\n\nexport type Options = {\n  /* Target hostname or IP address */\n  host?: string;\n  /* Target port */\n  port?: number;\n  /* Type of protocol */\n  protocol?: Protocol;\n  /* Assigned value used to identify firm sending message, SenderCompID tag 49 */\n  sender?: string;\n  /* Assigned value used to identify receiving firm, TargetCompID tag 56 */\n  target?: string;\n  /* Heartbeat interval in seconds */\n  heartbeatIntervalSeconds?: number;\n  /* Protocol version, defaults to \"FIXT.1.1\" used by BeginString tag 8 */\n  fixVersion?: string;\n  /* Private keys in PEM format */\n  tlsKey?: unknown | null;\n  /* Cert chains in PEM format */\n  tlsCert?: unknown | null;\n  /* Use Server Name Indication extension of TLS (requires FQDN hostname) */\n  tlsUseSNI?: boolean;\n  /* Skip Standard Input pipe of TLS socket */\n  tlsSkipStdInPipe?: boolean | null;\n  /* Disable logs */\n  logging?: boolean;\n  /* Log options */\n  logOptions?: LogOptions;\n  /* Use a proxy connection */\n  proxy?: ProxyAgent | null;\n  /* Called when the FIX connection is opened and ready */\n  onReady?: () => void;\n  /* Called when a message has been received */\n  onMessage?: (message: Message) => void;\n  /* Called when the FIX connection has been initiated */\n  onOpen?: () => void;\n  /* Called when the FIX connection has been closed */\n  onClose?: () => void;\n  /* Called if the FIX connection has failed */\n  onError?: (error?: Error) => void;\n};\n\n/**\n * FIXParser base class.\n */\nexport class FIXParserBase {\n  /* Protocol version, defaults to \"FIXT.1.1\" used by BeginString tag 8 */\n  public fixVersion: string = DEFAULT_FIX_VERSION;\n  /* Current Message instance being processed */\n  public message: Message | null = null;\n  /* Current FIX message tag=value pair */\n  public messageTags: string[] = [];\n  /* Current FIX message in string format */\n  public messageString = '';\n  /* Collection of field values from the FIX specification */\n  public fields: FieldsCache = new FieldsCache();\n  /* Collection of enum values from the FIX specification */\n  public enums: EnumsCache = new EnumsCache();\n\n  /**\n   * Processes a message by splitting up the string into tags.\n   */\n  public processMessage(): void {\n    const matches: RegExpExecArray | null = RE_FIND.exec(this.messageString);\n    if (matches && matches.length === 2) {\n      const stringData: string = this.messageString.replace(\n        new RegExp(matches[1].replace(RE_ESCAPE, '\\\\$&'), 'g'),\n        SOH\n      );\n      this.message?.setString(stringData);\n      this.messageTags = stringData.split(SOH);\n    } else {\n      this.message = null;\n      this.messageTags = [];\n    }\n  }\n\n  /**\n   * Processes fields of a message.\n   */\n  public processFields(): void {\n    let tag: number;\n    let value: string | number | null;\n    let i = 0;\n    let equalsOperator: number;\n    let field: Field;\n\n    for (i; i < this.messageTags.length - 1; i++) {\n      equalsOperator = this.messageTags[i].indexOf(STRING_EQUALS);\n\n      tag = Number(this.messageTags[i].substring(0, equalsOperator));\n      value = this.messageTags[i].substring(equalsOperator + 1);\n\n      field = new Field(tag, value);\n\n      this.fields.processField(this.message!, field);\n      this.enums.processEnum(field);\n\n      if (field.tag === FieldType.BeginString) {\n        this.message!.fixVersion = String(field.value);\n      } else if (field.tag === FieldType.BodyLength) {\n        this.message?.validateBodyLength(value);\n      } else if (field.tag === FieldType.CheckSum) {\n        this.message?.validateChecksum(value);\n      }\n\n      this.message?.addField(field);\n    }\n  }\n\n  /**\n   * Parses FIX message(s) string into Message class instances.\n   */\n  public parse(data: string): Message[] {\n    let i = 0;\n\n    const messageStrings: string[] = data ? data.split(/(?<!\\d)8=FIX/) : [];\n    const messages: Message[] = [];\n\n    for (i; i < messageStrings.length; i++) {\n      this.message = new Message(this.fixVersion);\n      this.messageString = `8=FIX${messageStrings[i]}`;\n      if (this.messageString.indexOf(SOH) > -1) {\n        this.message.setString(this.messageString);\n        this.messageTags = this.messageString.split(SOH);\n      } else {\n        this.processMessage();\n      }\n\n      if (this.message) {\n        this.processFields();\n        messages.push(this.message);\n      }\n    }\n\n    return messages;\n  }\n}\n", "export { AdvSide } from './AdvSide';\nexport { AdvTransType } from './AdvTransType';\nexport { BeginString } from './BeginString';\nexport { CommType } from './CommType';\nexport { ExecInst } from './ExecInst';\nexport { HandlInst } from './HandlInst';\nexport { SecurityIDSource } from './SecurityIDSource';\nexport { IOIQltyInd } from './IOIQltyInd';\nexport { IOIQty } from './IOIQty';\nexport { IOITransType } from './IOITransType';\nexport { LastCapacity } from './LastCapacity';\nexport { MsgType } from './MsgType';\nexport { OrdStatus } from './OrdStatus';\nexport { OrdType } from './OrdType';\nexport { PossDupFlag } from './PossDupFlag';\nexport { Side } from './Side';\nexport { TimeInForce } from './TimeInForce';\nexport { Urgency } from './Urgency';\nexport { SettlType } from './SettlType';\nexport { SymbolSfx } from './SymbolSfx';\nexport { AllocTransType } from './AllocTransType';\nexport { PositionEffect } from './PositionEffect';\nexport { ProcessCode } from './ProcessCode';\nexport { AllocStatus } from './AllocStatus';\nexport { AllocRejCode } from './AllocRejCode';\nexport { EmailType } from './EmailType';\nexport { PossResend } from './PossResend';\nexport { EncryptMethod } from './EncryptMethod';\nexport { CxlRejReason } from './CxlRejReason';\nexport { OrdRejReason } from './OrdRejReason';\nexport { IOIQualifier } from './IOIQualifier';\nexport { ReportToExch } from './ReportToExch';\nexport { LocateReqd } from './LocateReqd';\nexport { ForexReq } from './ForexReq';\nexport { GapFillFlag } from './GapFillFlag';\nexport { DKReason } from './DKReason';\nexport { IOINaturalFlag } from './IOINaturalFlag';\nexport { MiscFeeType } from './MiscFeeType';\nexport { ResetSeqNumFlag } from './ResetSeqNumFlag';\nexport { ExecType } from './ExecType';\nexport { SettlCurrFxRateCalc } from './SettlCurrFxRateCalc';\nexport { SettlInstMode } from './SettlInstMode';\nexport { SettlInstTransType } from './SettlInstTransType';\nexport { SettlInstSource } from './SettlInstSource';\nexport { SecurityType } from './SecurityType';\nexport { StandInstDbType } from './StandInstDbType';\nexport { SettlDeliveryType } from './SettlDeliveryType';\nexport { AllocLinkType } from './AllocLinkType';\nexport { PutOrCall } from './PutOrCall';\nexport { CoveredOrUncovered } from './CoveredOrUncovered';\nexport { NotifyBrokerOfCredit } from './NotifyBrokerOfCredit';\nexport { AllocHandlInst } from './AllocHandlInst';\nexport { RoutingType } from './RoutingType';\nexport { BenchmarkCurveName } from './BenchmarkCurveName';\nexport { StipulationType } from './StipulationType';\nexport { YieldType } from './YieldType';\nexport { TradedFlatSwitch } from './TradedFlatSwitch';\nexport { SubscriptionRequestType } from './SubscriptionRequestType';\nexport { MDUpdateType } from './MDUpdateType';\nexport { AggregatedBook } from './AggregatedBook';\nexport { MDEntryType } from './MDEntryType';\nexport { TickDirection } from './TickDirection';\nexport { QuoteCondition } from './QuoteCondition';\nexport { TradeCondition } from './TradeCondition';\nexport { MDUpdateAction } from './MDUpdateAction';\nexport { MDReqRejReason } from './MDReqRejReason';\nexport { DeleteReason } from './DeleteReason';\nexport { OpenCloseSettlFlag } from './OpenCloseSettlFlag';\nexport { FinancialStatus } from './FinancialStatus';\nexport { CorporateAction } from './CorporateAction';\nexport { QuoteStatus } from './QuoteStatus';\nexport { QuoteCancelType } from './QuoteCancelType';\nexport { QuoteRejectReason } from './QuoteRejectReason';\nexport { QuoteResponseLevel } from './QuoteResponseLevel';\nexport { QuoteRequestType } from './QuoteRequestType';\nexport { SecurityRequestType } from './SecurityRequestType';\nexport { SecurityResponseType } from './SecurityResponseType';\nexport { UnsolicitedIndicator } from './UnsolicitedIndicator';\nexport { SecurityTradingStatus } from './SecurityTradingStatus';\nexport { HaltReason } from './HaltReason';\nexport { InViewOfCommon } from './InViewOfCommon';\nexport { DueToRelated } from './DueToRelated';\nexport { Adjustment } from './Adjustment';\nexport { TradingSessionID } from './TradingSessionID';\nexport { TradSesMethod } from './TradSesMethod';\nexport { TradSesMode } from './TradSesMode';\nexport { TradSesStatus } from './TradSesStatus';\nexport { SessionRejectReason } from './SessionRejectReason';\nexport { BidRequestTransType } from './BidRequestTransType';\nexport { SolicitedFlag } from './SolicitedFlag';\nexport { ExecRestatementReason } from './ExecRestatementReason';\nexport { BusinessRejectReason } from './BusinessRejectReason';\nexport { MsgDirection } from './MsgDirection';\nexport { DiscretionInst } from './DiscretionInst';\nexport { BidType } from './BidType';\nexport { BidDescriptorType } from './BidDescriptorType';\nexport { SideValueInd } from './SideValueInd';\nexport { LiquidityIndType } from './LiquidityIndType';\nexport { ExchangeForPhysical } from './ExchangeForPhysical';\nexport { ProgRptReqs } from './ProgRptReqs';\nexport { IncTaxInd } from './IncTaxInd';\nexport { BidTradeType } from './BidTradeType';\nexport { BasisPxType } from './BasisPxType';\nexport { PriceType } from './PriceType';\nexport { GTBookingInst } from './GTBookingInst';\nexport { ListStatusType } from './ListStatusType';\nexport { NetGrossInd } from './NetGrossInd';\nexport { ListOrderStatus } from './ListOrderStatus';\nexport { ListExecInstType } from './ListExecInstType';\nexport { CxlRejResponseTo } from './CxlRejResponseTo';\nexport { MultiLegReportingType } from './MultiLegReportingType';\nexport { PartyIDSource } from './PartyIDSource';\nexport { PartyRole } from './PartyRole';\nexport { Product } from './Product';\nexport { TestMessageIndicator } from './TestMessageIndicator';\nexport { RoundingDirection } from './RoundingDirection';\nexport { DistribPaymentMethod } from './DistribPaymentMethod';\nexport { CancellationRights } from './CancellationRights';\nexport { MoneyLaunderingStatus } from './MoneyLaunderingStatus';\nexport { ExecPriceType } from './ExecPriceType';\nexport { TradeReportTransType } from './TradeReportTransType';\nexport { PaymentMethod } from './PaymentMethod';\nexport { TaxAdvantageType } from './TaxAdvantageType';\nexport { FundRenewWaiv } from './FundRenewWaiv';\nexport { RegistStatus } from './RegistStatus';\nexport { RegistRejReasonCode } from './RegistRejReasonCode';\nexport { RegistTransType } from './RegistTransType';\nexport { OwnershipType } from './OwnershipType';\nexport { ContAmtType } from './ContAmtType';\nexport { OwnerType } from './OwnerType';\nexport { OrderCapacity } from './OrderCapacity';\nexport { OrderRestrictions } from './OrderRestrictions';\nexport { MassCancelRequestType } from './MassCancelRequestType';\nexport { MassCancelResponse } from './MassCancelResponse';\nexport { MassCancelRejectReason } from './MassCancelRejectReason';\nexport { QuoteType } from './QuoteType';\nexport { CashMargin } from './CashMargin';\nexport { Scope } from './Scope';\nexport { MDImplicitDelete } from './MDImplicitDelete';\nexport { CrossType } from './CrossType';\nexport { CrossPrioritization } from './CrossPrioritization';\nexport { NoSides } from './NoSides';\nexport { SecurityListRequestType } from './SecurityListRequestType';\nexport { SecurityRequestResult } from './SecurityRequestResult';\nexport { MultiLegRptTypeReq } from './MultiLegRptTypeReq';\nexport { TradSesStatusRejReason } from './TradSesStatusRejReason';\nexport { TradeRequestType } from './TradeRequestType';\nexport { PreviouslyReported } from './PreviouslyReported';\nexport { MatchStatus } from './MatchStatus';\nexport { MatchType } from './MatchType';\nexport { OddLot } from './OddLot';\nexport { ClearingInstruction } from './ClearingInstruction';\nexport { AccountType } from './AccountType';\nexport { CustOrderCapacity } from './CustOrderCapacity';\nexport { MassStatusReqType } from './MassStatusReqType';\nexport { DayBookingInst } from './DayBookingInst';\nexport { BookingUnit } from './BookingUnit';\nexport { PreallocMethod } from './PreallocMethod';\nexport { TradingSessionSubID } from './TradingSessionSubID';\nexport { AllocType } from './AllocType';\nexport { ClearingFeeIndicator } from './ClearingFeeIndicator';\nexport { WorkingIndicator } from './WorkingIndicator';\nexport { PriorityIndicator } from './PriorityIndicator';\nexport { LegalConfirm } from './LegalConfirm';\nexport { QuoteRequestRejectReason } from './QuoteRequestRejectReason';\nexport { AcctIDSource } from './AcctIDSource';\nexport { ConfirmStatus } from './ConfirmStatus';\nexport { ConfirmTransType } from './ConfirmTransType';\nexport { DeliveryForm } from './DeliveryForm';\nexport { LegSwapType } from './LegSwapType';\nexport { QuotePriceType } from './QuotePriceType';\nexport { QuoteRespType } from './QuoteRespType';\nexport { PosType } from './PosType';\nexport { PosQtyStatus } from './PosQtyStatus';\nexport { PosAmtType } from './PosAmtType';\nexport { PosTransType } from './PosTransType';\nexport { PosMaintAction } from './PosMaintAction';\nexport { SettlSessID } from './SettlSessID';\nexport { AdjustmentType } from './AdjustmentType';\nexport { PosMaintStatus } from './PosMaintStatus';\nexport { PosMaintResult } from './PosMaintResult';\nexport { PosReqType } from './PosReqType';\nexport { ResponseTransportType } from './ResponseTransportType';\nexport { PosReqResult } from './PosReqResult';\nexport { PosReqStatus } from './PosReqStatus';\nexport { SettlPriceType } from './SettlPriceType';\nexport { AssignmentMethod } from './AssignmentMethod';\nexport { ExerciseMethod } from './ExerciseMethod';\nexport { TradeRequestResult } from './TradeRequestResult';\nexport { TradeRequestStatus } from './TradeRequestStatus';\nexport { TradeReportRejectReason } from './TradeReportRejectReason';\nexport { SideMultiLegReportingType } from './SideMultiLegReportingType';\nexport { TrdRegTimestampType } from './TrdRegTimestampType';\nexport { ConfirmType } from './ConfirmType';\nexport { ConfirmRejReason } from './ConfirmRejReason';\nexport { BookingType } from './BookingType';\nexport { AllocSettlInstType } from './AllocSettlInstType';\nexport { DlvyInstType } from './DlvyInstType';\nexport { TerminationType } from './TerminationType';\nexport { SettlInstReqRejCode } from './SettlInstReqRejCode';\nexport { AllocReportType } from './AllocReportType';\nexport { AllocCancReplaceReason } from './AllocCancReplaceReason';\nexport { AllocAccountType } from './AllocAccountType';\nexport { PartySubIDType } from './PartySubIDType';\nexport { AllocIntermedReqType } from './AllocIntermedReqType';\nexport { ApplQueueResolution } from './ApplQueueResolution';\nexport { ApplQueueAction } from './ApplQueueAction';\nexport { AvgPxIndicator } from './AvgPxIndicator';\nexport { TradeAllocIndicator } from './TradeAllocIndicator';\nexport { ExpirationCycle } from './ExpirationCycle';\nexport { TrdType } from './TrdType';\nexport { TrdSubType } from './TrdSubType';\nexport { PegMoveType } from './PegMoveType';\nexport { PegOffsetType } from './PegOffsetType';\nexport { PegLimitType } from './PegLimitType';\nexport { PegRoundDirection } from './PegRoundDirection';\nexport { PegScope } from './PegScope';\nexport { DiscretionMoveType } from './DiscretionMoveType';\nexport { DiscretionOffsetType } from './DiscretionOffsetType';\nexport { DiscretionLimitType } from './DiscretionLimitType';\nexport { DiscretionRoundDirection } from './DiscretionRoundDirection';\nexport { DiscretionScope } from './DiscretionScope';\nexport { TargetStrategy } from './TargetStrategy';\nexport { LastLiquidityInd } from './LastLiquidityInd';\nexport { PublishTrdIndicator } from './PublishTrdIndicator';\nexport { ShortSaleReason } from './ShortSaleReason';\nexport { QtyType } from './QtyType';\nexport { TradeReportType } from './TradeReportType';\nexport { AllocNoOrdersType } from './AllocNoOrdersType';\nexport { EventType } from './EventType';\nexport { InstrAttribType } from './InstrAttribType';\nexport { CPProgram } from './CPProgram';\nexport { MiscFeeBasis } from './MiscFeeBasis';\nexport { LastFragment } from './LastFragment';\nexport { CollAsgnReason } from './CollAsgnReason';\nexport { CollInquiryQualifier } from './CollInquiryQualifier';\nexport { CollAsgnTransType } from './CollAsgnTransType';\nexport { CollAsgnRespType } from './CollAsgnRespType';\nexport { CollAsgnRejectReason } from './CollAsgnRejectReason';\nexport { CollStatus } from './CollStatus';\nexport { LastRptRequested } from './LastRptRequested';\nexport { DeliveryType } from './DeliveryType';\nexport { UserRequestType } from './UserRequestType';\nexport { UserStatus } from './UserStatus';\nexport { StatusValue } from './StatusValue';\nexport { NetworkRequestType } from './NetworkRequestType';\nexport { NetworkStatusResponseType } from './NetworkStatusResponseType';\nexport { TrdRptStatus } from './TrdRptStatus';\nexport { AffirmStatus } from './AffirmStatus';\nexport { CollAction } from './CollAction';\nexport { CollInquiryStatus } from './CollInquiryStatus';\nexport { CollInquiryResult } from './CollInquiryResult';\nexport { StrategyParameterType } from './StrategyParameterType';\nexport { SecurityStatus } from './SecurityStatus';\nexport { UnderlyingCashType } from './UnderlyingCashType';\nexport { UnderlyingSettlementType } from './UnderlyingSettlementType';\nexport { SecurityUpdateAction } from './SecurityUpdateAction';\nexport { ExpirationQtyType } from './ExpirationQtyType';\nexport { IndividualAllocType } from './IndividualAllocType';\nexport { UnitOfMeasure } from './UnitOfMeasure';\nexport { TimeUnit } from './TimeUnit';\nexport { AllocMethod } from './AllocMethod';\nexport { AsOfIndicator } from './AsOfIndicator';\nexport { MDBookType } from './MDBookType';\nexport { MDOriginType } from './MDOriginType';\nexport { CustOrderHandlingInst } from './CustOrderHandlingInst';\nexport { OrderHandlingInstSource } from './OrderHandlingInstSource';\nexport { DeskType } from './DeskType';\nexport { ExecAckStatus } from './ExecAckStatus';\nexport { CollApplType } from './CollApplType';\nexport { UnderlyingFXRateCalc } from './UnderlyingFXRateCalc';\nexport { AllocPositionEffect } from './AllocPositionEffect';\nexport { DealingCapacity } from './DealingCapacity';\nexport { InstrmtAssignmentMethod } from './InstrmtAssignmentMethod';\nexport { AggressorIndicator } from './AggressorIndicator';\nexport { MDQuoteType } from './MDQuoteType';\nexport { RefOrderIDSource } from './RefOrderIDSource';\nexport { DisplayWhen } from './DisplayWhen';\nexport { DisplayMethod } from './DisplayMethod';\nexport { PriceProtectionScope } from './PriceProtectionScope';\nexport { LotType } from './LotType';\nexport { PegPriceType } from './PegPriceType';\nexport { TriggerType } from './TriggerType';\nexport { TriggerAction } from './TriggerAction';\nexport { TriggerPriceType } from './TriggerPriceType';\nexport { TriggerPriceTypeScope } from './TriggerPriceTypeScope';\nexport { TriggerPriceDirection } from './TriggerPriceDirection';\nexport { TriggerOrderType } from './TriggerOrderType';\nexport { OrderCategory } from './OrderCategory';\nexport { TradeHandlingInstr } from './TradeHandlingInstr';\nexport { ApplVerID } from './ApplVerID';\nexport { ExDestinationIDSource } from './ExDestinationIDSource';\nexport { ImpliedMarketIndicator } from './ImpliedMarketIndicator';\nexport { SettlObligMode } from './SettlObligMode';\nexport { SettlObligTransType } from './SettlObligTransType';\nexport { SettlObligSource } from './SettlObligSource';\nexport { QuoteEntryStatus } from './QuoteEntryStatus';\nexport { PrivateQuote } from './PrivateQuote';\nexport { RespondentType } from './RespondentType';\nexport { SecurityTradingEvent } from './SecurityTradingEvent';\nexport { StatsType } from './StatsType';\nexport { MDSecSizeType } from './MDSecSizeType';\nexport { SettlMethod } from './SettlMethod';\nexport { ExerciseStyle } from './ExerciseStyle';\nexport { PriceQuoteMethod } from './PriceQuoteMethod';\nexport { ValuationMethod } from './ValuationMethod';\nexport { ListMethod } from './ListMethod';\nexport { TickRuleType } from './TickRuleType';\nexport { MaturityMonthYearIncrementUnits } from './MaturityMonthYearIncrementUnits';\nexport { MaturityMonthYearFormat } from './MaturityMonthYearFormat';\nexport { PriceLimitType } from './PriceLimitType';\nexport { ListUpdateAction } from './ListUpdateAction';\nexport { SessionStatus } from './SessionStatus';\nexport { TradSesEvent } from './TradSesEvent';\nexport { MassActionType } from './MassActionType';\nexport { MassActionScope } from './MassActionScope';\nexport { MassActionResponse } from './MassActionResponse';\nexport { MassActionRejectReason } from './MassActionRejectReason';\nexport { MultilegModel } from './MultilegModel';\nexport { MultilegPriceMethod } from './MultilegPriceMethod';\nexport { ContingencyType } from './ContingencyType';\nexport { ListRejectReason } from './ListRejectReason';\nexport { TradePublishIndicator } from './TradePublishIndicator';\nexport { ApplReqType } from './ApplReqType';\nexport { ApplResponseType } from './ApplResponseType';\nexport { ApplResponseError } from './ApplResponseError';\nexport { ApplReportType } from './ApplReportType';\nexport { OrderDelayUnit } from './OrderDelayUnit';\nexport { VenueType } from './VenueType';\nexport { RefOrdIDReason } from './RefOrdIDReason';\nexport { OrigCustOrderCapacity } from './OrigCustOrderCapacity';\nexport { ModelType } from './ModelType';\nexport { ContractMultiplierUnit } from './ContractMultiplierUnit';\nexport { FlowScheduleType } from './FlowScheduleType';\nexport { RateSource } from './RateSource';\nexport { RateSourceType } from './RateSourceType';\nexport { RestructuringType } from './RestructuringType';\nexport { Seniority } from './Seniority';\nexport { SecurityListType } from './SecurityListType';\nexport { SecurityListTypeSource } from './SecurityListTypeSource';\nexport { NewsCategory } from './NewsCategory';\nexport { NewsRefType } from './NewsRefType';\nexport { StrikePriceDeterminationMethod } from './StrikePriceDeterminationMethod';\nexport { StrikePriceBoundaryMethod } from './StrikePriceBoundaryMethod';\nexport { UnderlyingPriceDeterminationMethod } from './UnderlyingPriceDeterminationMethod';\nexport { OptPayoutType } from './OptPayoutType';\nexport { ComplexEventType } from './ComplexEventType';\nexport { ComplexEventPriceBoundaryMethod } from './ComplexEventPriceBoundaryMethod';\nexport { ComplexEventPriceTimeType } from './ComplexEventPriceTimeType';\nexport { ComplexEventCondition } from './ComplexEventCondition';\nexport { StreamAsgnReqType } from './StreamAsgnReqType';\nexport { StreamAsgnRejReason } from './StreamAsgnRejReason';\nexport { StreamAsgnAckType } from './StreamAsgnAckType';\nexport { StreamAsgnType } from './StreamAsgnType';\nexport { MatchInst } from './MatchInst';\nexport { TriggerScope } from './TriggerScope';\nexport { LimitAmtType } from './LimitAmtType';\nexport { MarginReqmtInqQualifier } from './MarginReqmtInqQualifier';\nexport { MarginReqmtRptType } from './MarginReqmtRptType';\nexport { MarginReqmtInqResult } from './MarginReqmtInqResult';\nexport { MarginAmtType } from './MarginAmtType';\nexport { RelatedInstrumentType } from './RelatedInstrumentType';\nexport { MarketMakerActivity } from './MarketMakerActivity';\nexport { RequestResult } from './RequestResult';\nexport { PartyRelationship } from './PartyRelationship';\nexport { RiskLimitType } from './RiskLimitType';\nexport { InstrumentScopeOperator } from './InstrumentScopeOperator';\nexport { PartyDetailStatus } from './PartyDetailStatus';\nexport { PartyDetailRoleQualifier } from './PartyDetailRoleQualifier';\nexport { TrdAckStatus } from './TrdAckStatus';\nexport { SecurityClassificationReason } from './SecurityClassificationReason';\nexport { PosAmtReason } from './PosAmtReason';\nexport { SideClearingTradePriceType } from './SideClearingTradePriceType';\nexport { SecurityRejectReason } from './SecurityRejectReason';\nexport { ThrottleStatus } from './ThrottleStatus';\nexport { ThrottleAction } from './ThrottleAction';\nexport { ThrottleType } from './ThrottleType';\nexport { ThrottleInst } from './ThrottleInst';\nexport { ThrottleCountIndicator } from './ThrottleCountIndicator';\nexport { AllocationRollupInstruction } from './AllocationRollupInstruction';\nexport { AllocReversalStatus } from './AllocReversalStatus';\nexport { ObligationType } from './ObligationType';\nexport { TradePriceNegotiationMethod } from './TradePriceNegotiationMethod';\nexport { UpfrontPriceType } from './UpfrontPriceType';\nexport { ShortSaleRestriction } from './ShortSaleRestriction';\nexport { ShortSaleExemptionReason } from './ShortSaleExemptionReason';\nexport { ApplLevelRecoveryIndicator } from './ApplLevelRecoveryIndicator';\nexport { RiskLimitRequestType } from './RiskLimitRequestType';\nexport { RiskLimitRequestResult } from './RiskLimitRequestResult';\nexport { RiskLimitAction } from './RiskLimitAction';\nexport { EntitlementType } from './EntitlementType';\nexport { EntitlementAttribDatatype } from './EntitlementAttribDatatype';\nexport { TradSesControl } from './TradSesControl';\nexport { TradeVolType } from './TradeVolType';\nexport { OrderEventType } from './OrderEventType';\nexport { OrderEventReason } from './OrderEventReason';\nexport { AuctionType } from './AuctionType';\nexport { AuctionInstruction } from './AuctionInstruction';\nexport { LockType } from './LockType';\nexport { ReleaseInstruction } from './ReleaseInstruction';\nexport { DisclosureType } from './DisclosureType';\nexport { DisclosureInstruction } from './DisclosureInstruction';\nexport { TradingCapacity } from './TradingCapacity';\nexport { ClearingAccountType } from './ClearingAccountType';\nexport { RelatedPriceSource } from './RelatedPriceSource';\nexport { MinQtyMethod } from './MinQtyMethod';\nexport { Triggered } from './Triggered';\nexport { EventTimeUnit } from './EventTimeUnit';\nexport { OrderOrigination } from './OrderOrigination';\nexport { ClearedIndicator } from './ClearedIndicator';\nexport { ContractRefPosType } from './ContractRefPosType';\nexport { PositionCapacity } from './PositionCapacity';\nexport { TradePriceCondition } from './TradePriceCondition';\nexport { TradeAllocStatus } from './TradeAllocStatus';\nexport { TradeQtyType } from './TradeQtyType';\nexport { TradeAllocGroupInstruction } from './TradeAllocGroupInstruction';\nexport { OffsetInstruction } from './OffsetInstruction';\nexport { RelatedTradeIDSource } from './RelatedTradeIDSource';\nexport { RelatedPositionIDSource } from './RelatedPositionIDSource';\nexport { QuoteAckStatus } from './QuoteAckStatus';\nexport { ValueCheckType } from './ValueCheckType';\nexport { ValueCheckAction } from './ValueCheckAction';\nexport { PartyDetailRequestResult } from './PartyDetailRequestResult';\nexport { PartyDetailRequestStatus } from './PartyDetailRequestStatus';\nexport { PartyDetailDefinitionStatus } from './PartyDetailDefinitionStatus';\nexport { EntitlementRequestResult } from './EntitlementRequestResult';\nexport { EntitlementStatus } from './EntitlementStatus';\nexport { TradeMatchAckStatus } from './TradeMatchAckStatus';\nexport { TradeMatchRejectReason } from './TradeMatchRejectReason';\nexport { PriceMovementType } from './PriceMovementType';\nexport { RegulatoryTradeIDEvent } from './RegulatoryTradeIDEvent';\nexport { RegulatoryTradeIDType } from './RegulatoryTradeIDType';\nexport { ClearingIntention } from './ClearingIntention';\nexport { ConfirmationMethod } from './ConfirmationMethod';\nexport { VerificationMethod } from './VerificationMethod';\nexport { ClearingRequirementException } from './ClearingRequirementException';\nexport { IRSDirection } from './IRSDirection';\nexport { RegulatoryReportType } from './RegulatoryReportType';\nexport { TradeCollateralization } from './TradeCollateralization';\nexport { TradeContinuation } from './TradeContinuation';\nexport { AssetClass } from './AssetClass';\nexport { AssetSubClass } from './AssetSubClass';\nexport { SwapClass } from './SwapClass';\nexport { CouponType } from './CouponType';\nexport { CouponFrequencyUnit } from './CouponFrequencyUnit';\nexport { CouponDayCount } from './CouponDayCount';\nexport { LienSeniority } from './LienSeniority';\nexport { LoanFacility } from './LoanFacility';\nexport { ReferenceEntityType } from './ReferenceEntityType';\nexport { BlockTrdAllocIndicator } from './BlockTrdAllocIndicator';\nexport { UnderlyingObligationType } from './UnderlyingObligationType';\nexport { CashSettlQuoteMethod } from './CashSettlQuoteMethod';\nexport { CashSettlValuationMethod } from './CashSettlValuationMethod';\nexport { StreamType } from './StreamType';\nexport { ProvisionType } from './ProvisionType';\nexport { ProvisionDateTenorUnit } from './ProvisionDateTenorUnit';\nexport { ProvisionCalculationAgent } from './ProvisionCalculationAgent';\nexport { ProvisionOptionSinglePartyBuyerSide } from './ProvisionOptionSinglePartyBuyerSide';\nexport { ProvisionCashSettlMethod } from './ProvisionCashSettlMethod';\nexport { ProvisionCashSettlQuoteType } from './ProvisionCashSettlQuoteType';\nexport { ProvisionOptionExerciseEarliestDateOffsetUnit } from './ProvisionOptionExerciseEarliestDateOffsetUnit';\nexport { ProvisionOptionExerciseFixedDateType } from './ProvisionOptionExerciseFixedDateType';\nexport { ProvisionCashSettlPaymentDateType } from './ProvisionCashSettlPaymentDateType';\nexport { ProtectionTermEventUnit } from './ProtectionTermEventUnit';\nexport { ProtectionTermEventDayType } from './ProtectionTermEventDayType';\nexport { ProtectionTermEventQualifier } from './ProtectionTermEventQualifier';\nexport { PaymentType } from './PaymentType';\nexport { PaymentPaySide } from './PaymentPaySide';\nexport { PaymentSettlStyle } from './PaymentSettlStyle';\nexport { PaymentStreamType } from './PaymentStreamType';\nexport { PaymentStreamDiscountType } from './PaymentStreamDiscountType';\nexport { PaymentStreamCompoundingMethod } from './PaymentStreamCompoundingMethod';\nexport { PaymentStreamPaymentFrequencyUnit } from './PaymentStreamPaymentFrequencyUnit';\nexport { PaymentStreamPaymentDateOffsetUnit } from './PaymentStreamPaymentDateOffsetUnit';\nexport { PaymentStreamResetWeeklyRollConvention } from './PaymentStreamResetWeeklyRollConvention';\nexport { PaymentStreamRateIndexSource } from './PaymentStreamRateIndexSource';\nexport { PaymentStreamRateIndexCurveUnit } from './PaymentStreamRateIndexCurveUnit';\nexport { PaymentStreamRateSpreadPositionType } from './PaymentStreamRateSpreadPositionType';\nexport { PaymentStreamRateTreatment } from './PaymentStreamRateTreatment';\nexport { PaymentStreamCapRateBuySide } from './PaymentStreamCapRateBuySide';\nexport { PaymentStreamFloorRateBuySide } from './PaymentStreamFloorRateBuySide';\nexport { PaymentStreamAveragingMethod } from './PaymentStreamAveragingMethod';\nexport { PaymentStreamNegativeRateTreatment } from './PaymentStreamNegativeRateTreatment';\nexport { PaymentStreamInflationLagUnit } from './PaymentStreamInflationLagUnit';\nexport { PaymentStreamInflationLagDayType } from './PaymentStreamInflationLagDayType';\nexport { PaymentStreamInflationInterpolationMethod } from './PaymentStreamInflationInterpolationMethod';\nexport { PaymentStreamFRADiscounting } from './PaymentStreamFRADiscounting';\nexport { NonDeliverableFixingDateType } from './NonDeliverableFixingDateType';\nexport { PaymentScheduleType } from './PaymentScheduleType';\nexport { PaymentScheduleStepRelativeTo } from './PaymentScheduleStepRelativeTo';\nexport { PaymentStubType } from './PaymentStubType';\nexport { PaymentStubLength } from './PaymentStubLength';\nexport { PaymentStreamPaymentDateOffsetDayType } from './PaymentStreamPaymentDateOffsetDayType';\nexport { BusinessDayConvention } from './BusinessDayConvention';\nexport { DateRollConvention } from './DateRollConvention';\nexport { AttachmentEncodingType } from './AttachmentEncodingType';\nexport { NegotiationMethod } from './NegotiationMethod';\nexport { ComplexEventPeriodType } from './ComplexEventPeriodType';\nexport { ComplexEventDateOffsetDayType } from './ComplexEventDateOffsetDayType';\nexport { ComplexOptPayoutTime } from './ComplexOptPayoutTime';\nexport { ComplexEventQuoteBasis } from './ComplexEventQuoteBasis';\nexport { ComplexEventCreditEventNotifyingParty } from './ComplexEventCreditEventNotifyingParty';\nexport { DeliveryScheduleType } from './DeliveryScheduleType';\nexport { DeliveryScheduleToleranceType } from './DeliveryScheduleToleranceType';\nexport { DeliveryScheduleSettlFlowType } from './DeliveryScheduleSettlFlowType';\nexport { DeliveryScheduleSettlHolidaysProcessingInstruction } from './DeliveryScheduleSettlHolidaysProcessingInstruction';\nexport { DeliveryScheduleSettlDay } from './DeliveryScheduleSettlDay';\nexport { DeliveryScheduleSettlTimeType } from './DeliveryScheduleSettlTimeType';\nexport { DeliveryStreamType } from './DeliveryStreamType';\nexport { DeliveryStreamDeliveryRestriction } from './DeliveryStreamDeliveryRestriction';\nexport { DeliveryStreamTitleTransferCondition } from './DeliveryStreamTitleTransferCondition';\nexport { DeliveryStreamToleranceOptionSide } from './DeliveryStreamToleranceOptionSide';\nexport { DeliveryStreamElectingPartySide } from './DeliveryStreamElectingPartySide';\nexport { SwapSubClass } from './SwapSubClass';\nexport { StrategyType } from './StrategyType';\nexport { SettlDisruptionProvision } from './SettlDisruptionProvision';\nexport { MarketDisruptionProvision } from './MarketDisruptionProvision';\nexport { MarketDisruptionFallbackProvision } from './MarketDisruptionFallbackProvision';\nexport { MarketDisruptionFallbackUnderlierType } from './MarketDisruptionFallbackUnderlierType';\nexport { ExerciseConfirmationMethod } from './ExerciseConfirmationMethod';\nexport { OptionExerciseDateType } from './OptionExerciseDateType';\nexport { PaymentDateOffsetDayType } from './PaymentDateOffsetDayType';\nexport { PaymentForwardStartType } from './PaymentForwardStartType';\nexport { PaymentStreamSettlLevel } from './PaymentStreamSettlLevel';\nexport { PaymentStreamRateSpreadType } from './PaymentStreamRateSpreadType';\nexport { PaymentStreamPricingDayDistribution } from './PaymentStreamPricingDayDistribution';\nexport { PaymentStreamPricingDayOfWeek } from './PaymentStreamPricingDayOfWeek';\nexport { StreamCommodityNearbySettlDayUnit } from './StreamCommodityNearbySettlDayUnit';\nexport { StreamCommodityDataSourceIDType } from './StreamCommodityDataSourceIDType';\nexport { StreamNotionalCommodityFrequency } from './StreamNotionalCommodityFrequency';\nexport { RiskLimitReportStatus } from './RiskLimitReportStatus';\nexport { RiskLimitReportRejectReason } from './RiskLimitReportRejectReason';\nexport { RiskLimitCheckTransType } from './RiskLimitCheckTransType';\nexport { RiskLimitCheckType } from './RiskLimitCheckType';\nexport { RiskLimitCheckRequestType } from './RiskLimitCheckRequestType';\nexport { RiskLimitCheckRequestStatus } from './RiskLimitCheckRequestStatus';\nexport { RiskLimitCheckRequestResult } from './RiskLimitCheckRequestResult';\nexport { PartyActionType } from './PartyActionType';\nexport { PartyActionResponse } from './PartyActionResponse';\nexport { PartyActionRejectReason } from './PartyActionRejectReason';\nexport { RefRiskLimitCheckIDType } from './RefRiskLimitCheckIDType';\nexport { RiskLimitCheckModelType } from './RiskLimitCheckModelType';\nexport { RiskLimitCheckStatus } from './RiskLimitCheckStatus';\nexport { RegulatoryTransactionType } from './RegulatoryTransactionType';\nexport { BatchProcessMode } from './BatchProcessMode';\nexport { DeliveryStreamDeliveryPointSource } from './DeliveryStreamDeliveryPointSource';\nexport { TaxonomyType } from './TaxonomyType';\nexport { RegulatoryTradeIDScope } from './RegulatoryTradeIDScope';\nexport { EntitlementSubType } from './EntitlementSubType';\nexport { QuoteModelType } from './QuoteModelType';\nexport { ExecMethod } from './ExecMethod';\nexport { TradeContingency } from './TradeContingency';\nexport { PaymentSubType } from './PaymentSubType';\nexport { MassOrderRequestStatus } from './MassOrderRequestStatus';\nexport { MassOrderRequestResult } from './MassOrderRequestResult';\nexport { OrderResponseLevel } from './OrderResponseLevel';\nexport { OrderEntryAction } from './OrderEntryAction';\nexport { ExecTypeReason } from './ExecTypeReason';\nexport { TransferTransType } from './TransferTransType';\nexport { TransferType } from './TransferType';\nexport { TransferScope } from './TransferScope';\nexport { TransferStatus } from './TransferStatus';\nexport { TransferRejectReason } from './TransferRejectReason';\nexport { TransferReportType } from './TransferReportType';\nexport { SettlPriceDeterminationMethod } from './SettlPriceDeterminationMethod';\nexport { MDStatisticType } from './MDStatisticType';\nexport { MDStatisticScope } from './MDStatisticScope';\nexport { MDStatisticSubScope } from './MDStatisticSubScope';\nexport { MDStatisticScopeType } from './MDStatisticScopeType';\nexport { MDStatisticIntervalType } from './MDStatisticIntervalType';\nexport { MDStatisticRatioType } from './MDStatisticRatioType';\nexport { MDStatisticRequestResult } from './MDStatisticRequestResult';\nexport { MDStatisticStatus } from './MDStatisticStatus';\nexport { MDStatisticValueType } from './MDStatisticValueType';\nexport { AssetGroup } from './AssetGroup';\nexport { CollRptRejectReason } from './CollRptRejectReason';\nexport { CollRptStatus } from './CollRptStatus';\nexport { RelativeValueType } from './RelativeValueType';\nexport { RelativeValueSide } from './RelativeValueSide';\nexport { MDReportEvent } from './MDReportEvent';\nexport { MarketSegmentStatus } from './MarketSegmentStatus';\nexport { MarketSegmentType } from './MarketSegmentType';\nexport { MarketSegmentRelationship } from './MarketSegmentRelationship';\nexport { QuoteSideIndicator } from './QuoteSideIndicator';\nexport { CustomerPriority } from './CustomerPriority';\nexport { SettlSubMethod } from './SettlSubMethod';\nexport { CalculationMethod } from './CalculationMethod';\nexport { CollateralAmountType } from './CollateralAmountType';\nexport { CommissionAmountType } from './CommissionAmountType';\nexport { CashSettlPriceDefault } from './CashSettlPriceDefault';\nexport { ComplexEventPVFinalPriceElectionFallback } from './ComplexEventPVFinalPriceElectionFallback';\nexport { DividendEntitlementEvent } from './DividendEntitlementEvent';\nexport { DividendAmountType } from './DividendAmountType';\nexport { NonCashDividendTreatment } from './NonCashDividendTreatment';\nexport { DividendComposition } from './DividendComposition';\nexport { StrikeIndexQuote } from './StrikeIndexQuote';\nexport { ExtraordinaryEventAdjustmentMethod } from './ExtraordinaryEventAdjustmentMethod';\nexport { PaymentStreamInterpolationPeriod } from './PaymentStreamInterpolationPeriod';\nexport { PaymentStreamLinkStrikePriceType } from './PaymentStreamLinkStrikePriceType';\nexport { PaymentStreamRealizedVarianceMethod } from './PaymentStreamRealizedVarianceMethod';\nexport { ProvisionBreakFeeElection } from './ProvisionBreakFeeElection';\nexport { ReturnRateDateMode } from './ReturnRateDateMode';\nexport { ReturnRatePriceSequence } from './ReturnRatePriceSequence';\nexport { ReturnRateQuoteTimeType } from './ReturnRateQuoteTimeType';\nexport { ReturnRateValuationPriceOption } from './ReturnRateValuationPriceOption';\nexport { ReturnRatePriceBasis } from './ReturnRatePriceBasis';\nexport { ReturnRatePriceType } from './ReturnRatePriceType';\nexport { StreamNotionalAdjustments } from './StreamNotionalAdjustments';\nexport { UnderlyingNotionalAdjustments } from './UnderlyingNotionalAdjustments';\nexport { RemunerationIndicator } from './RemunerationIndicator';\nexport { PartyRiskLimitStatus } from './PartyRiskLimitStatus';\nexport { AlgorithmicTradeIndicator } from './AlgorithmicTradeIndicator';\nexport { TrdRegPublicationType } from './TrdRegPublicationType';\nexport { TrdRegPublicationReason } from './TrdRegPublicationReason';\nexport { CrossedIndicator } from './CrossedIndicator';\nexport { OrderAttributeType } from './OrderAttributeType';\nexport { TradeReportingIndicator } from './TradeReportingIndicator';\nexport { MassActionReason } from './MassActionReason';\nexport { NotAffectedReason } from './NotAffectedReason';\nexport { OrderOwnershipIndicator } from './OrderOwnershipIndicator';\nexport { InTheMoneyCondition } from './InTheMoneyCondition';\nexport { ExDestinationType } from './ExDestinationType';\nexport { MarketCondition } from './MarketCondition';\nexport { QuoteAttributeType } from './QuoteAttributeType';\nexport { PriceQualifier } from './PriceQualifier';\nexport { MDValueTier } from './MDValueTier';\nexport { MiscFeeQualifier } from './MiscFeeQualifier';\nexport { CommissionAmountSubType } from './CommissionAmountSubType';\nexport { CommodityFinalPriceType } from './CommodityFinalPriceType';\nexport { ReferenceDataDateType } from './ReferenceDataDateType';\nexport { ReturnTrigger } from './ReturnTrigger';\nexport { AveragePriceType } from './AveragePriceType';\nexport { AllocGroupStatus } from './AllocGroupStatus';\nexport { AllocRequestStatus } from './AllocRequestStatus';\nexport { MatchExceptionType } from './MatchExceptionType';\nexport { MatchExceptionElementType } from './MatchExceptionElementType';\nexport { MatchExceptionToleranceValueType } from './MatchExceptionToleranceValueType';\nexport { MatchingDataPointIndicator } from './MatchingDataPointIndicator';\nexport { TradeAggregationTransType } from './TradeAggregationTransType';\nexport { TradeAggregationRequestStatus } from './TradeAggregationRequestStatus';\nexport { TradeAggregationRejectReason } from './TradeAggregationRejectReason';\nexport { OffshoreIndicator } from './OffshoreIndicator';\nexport { PayReportTransType } from './PayReportTransType';\nexport { PayReportStatus } from './PayReportStatus';\nexport { PayRequestTransType } from './PayRequestTransType';\nexport { PayRequestStatus } from './PayRequestStatus';\nexport { PostTradePaymentDebitOrCredit } from './PostTradePaymentDebitOrCredit';\nexport { PostTradePaymentStatus } from './PostTradePaymentStatus';\nexport { DuplicateClOrdIDIndicator } from './DuplicateClOrdIDIndicator';\nexport { EventInitiatorType } from './EventInitiatorType';\nexport { NBBOEntryType } from './NBBOEntryType';\nexport { NBBOSource } from './NBBOSource';\nexport { SingleQuoteIndicator } from './SingleQuoteIndicator';\nexport { TrdRegTimestampManualIndicator } from './TrdRegTimestampManualIndicator';\nexport { CollateralReinvestmentType } from './CollateralReinvestmentType';\nexport { FundingSource } from './FundingSource';\nexport { MarginDirection } from './MarginDirection';\nexport { TransactionAttributeType } from './TransactionAttributeType';\nexport { RoutingArrangmentIndicator } from './RoutingArrangmentIndicator';\nexport { RelatedOrderIDSource } from './RelatedOrderIDSource';\nexport { OrderRelationship } from './OrderRelationship';\nexport { CurrencyCodeSource } from './CurrencyCodeSource';\nexport { MultiJurisdictionReportingIndicator } from './MultiJurisdictionReportingIndicator';\nexport { SelfMatchPreventionInstruction } from './SelfMatchPreventionInstruction';\nexport { SettlStatusRequestStatus } from './SettlStatusRequestStatus';\nexport { SettlStatusReportStatus } from './SettlStatusReportStatus';\nexport { AllocGroupSubQtyType } from './AllocGroupSubQtyType';\nexport { MetricsCalculationPriceSource } from './MetricsCalculationPriceSource';\nexport { AssetValuationModel } from './AssetValuationModel';\nexport { AlgoCertificateRequestTransType } from './AlgoCertificateRequestTransType';\nexport { AlgoCertificateRequestStatus } from './AlgoCertificateRequestStatus';\nexport { AlgoCertificateReportTransType } from './AlgoCertificateReportTransType';\nexport { AlgoCertificateReportStatus } from './AlgoCertificateReportStatus';\nexport { AlgoCertificateStatus } from './AlgoCertificateStatus';\nexport { TestThresholdType } from './TestThresholdType';\nexport { TestSuiteRequestTransType } from './TestSuiteRequestTransType';\nexport { TestSuiteRequestStatus } from './TestSuiteRequestStatus';\nexport { TestActionType } from './TestActionType';\nexport { TestActionRequestStatus } from './TestActionRequestStatus';\nexport { TestSuiteActivityState } from './TestSuiteActivityState';\nexport { TestSuiteStatus } from './TestSuiteStatus';\nexport { Field as Fields } from './Field';\nexport { Message as Messages } from './Message';\n", "/**\n * Broker's side of advertised trade\n * tag: 4\n * @readonly\n * @enum {string} (char)\n */\nexport enum AdvSide {\n  /** Buy */\n  Buy = 'B',\n  /** Sell */\n  Sell = 'S',\n  /** Trade */\n  Trade = 'T',\n  /** Cross */\n  Cross = 'X',\n}\n", "/**\n * Identifies advertisement message transaction type\n * tag: 5\n * @readonly\n * @enum {string} (String)\n */\nexport enum AdvTransType {\n  /** New */\n  New = 'N',\n  /** Cancel */\n  Cancel = 'C',\n  /** Replace */\n  Replace = 'R',\n}\n", "/**\n * Identifies beginning of new message and session protocol version by means of a session profile identifier (see FIX Session Layer for details). ALWAYS FIRST FIELD IN MESSAGE. (Always unencrypted).\n * tag: 8\n * @readonly\n * @enum {string} (String)\n */\nexport enum BeginString {\n  /** Session profile FIX.4.2 */\n  FIX42 = 'FIX.4.2',\n  /** Session profile FIX4 */\n  FIX44 = 'FIX.4.4',\n  FIXT11 = 'FIXT.1.1',\n}\n", "/**\n * Specifies the basis or unit used to calculate the total commission based on the rate.\n * tag: 13\n * @readonly\n * @enum {string} (char)\n */\nexport enum CommType {\n  PerUnit = '1',\n  /** Percent */\n  Percent = '2',\n  Absolute = '3',\n  PercentageWaivedCashDiscount = '4',\n  PercentageWaivedEnhancedUnits = '5',\n  PointsPerBondOrContract = '6',\n  BasisPoints = '7',\n  AmountPerContract = '8',\n}\n", "/**\n * Instructions for order handling on exchange trading floor. If more than one instruction is applicable to an order, this field can contain multiple instructions separated by space. *** SOME VALUES HAVE BEEN REPLACED - See \"Replaced Features and Supported Approach\" *** (see Volume : \"Glossary\" for value definitions)\n * tag: 18\n * @readonly\n * @enum {string} (MultipleCharValue)\n */\nexport enum ExecInst {\n  /** Stay on offer side */\n  StayOnOfferSide = '0',\n  /** Not held */\n  NotHeld = '1',\n  /** Work */\n  Work = '2',\n  /** Go along */\n  GoAlong = '3',\n  /** Over the day */\n  OverTheDay = '4',\n  /** Held */\n  Held = '5',\n  /** Participate don't initiate */\n  ParticipateDoNotInitiate = '6',\n  /** Strict scale */\n  StrictScale = '7',\n  /** Try to scale */\n  TryToScale = '8',\n  /** Stay on bid side */\n  StayOnBidSide = '9',\n  NoCross = 'A',\n  /** OK to cross */\n  OKToCross = 'B',\n  /** Call first */\n  CallFirst = 'C',\n  PercentOfVolume = 'D',\n  /** Do not increase - DNI */\n  DoNotIncrease = 'E',\n  /** Do not reduce - DNR */\n  DoNotReduce = 'F',\n  /** All or none - AON */\n  AllOrNone = 'G',\n  ReinstateOnSystemFailure = 'H',\n  /** Institutions only */\n  InstitutionsOnly = 'I',\n  ReinstateOnTradingHalt = 'J',\n  CancelOnTradingHalt = 'K',\n  /** Last peg (last sale) */\n  LastPeg = 'L',\n  /** Mid-price peg (midprice of inside quote) */\n  MidPricePeg = 'M',\n  /** Non-negotiable */\n  NonNegotiable = 'N',\n  /** Opening peg */\n  OpeningPeg = 'O',\n  /** Market peg */\n  MarketPeg = 'P',\n  CancelOnSystemFailure = 'Q',\n  PrimaryPeg = 'R',\n  /** Suspend */\n  Suspend = 'S',\n  /** Fixed peg to local best bid or offer at time of order */\n  FixedPegToLocalBestBidOrOfferAtTimeOfOrder = 'T',\n  CustomerDisplayInstruction = 'U',\n  /** Netting (for Forex) */\n  Netting = 'V',\n  /** Peg to VWAP */\n  PegToVWAP = 'W',\n  /** Trade along */\n  TradeAlong = 'X',\n  /** Try to stop */\n  TryToStop = 'Y',\n  /** Cancel if not best */\n  CancelIfNotBest = 'Z',\n  /** Trailing stop peg */\n  TrailingStopPeg = 'a',\n  StrictLimit = 'b',\n  /** Ignore price validity checks */\n  IgnorePriceValidityChecks = 'c',\n  /** Peg to limit price */\n  PegToLimitPrice = 'd',\n  /** Work to target strategy */\n  WorkToTargetStrategy = 'e',\n  /** Intermarket sweep */\n  IntermarketSweep = 'f',\n  /** External routing allowed */\n  ExternalRoutingAllowed = 'g',\n  /** External routing not allowed */\n  ExternalRoutingNotAllowed = 'h',\n  /** Imbalance only */\n  ImbalanceOnly = 'i',\n  /** Single execution requested for block trade */\n  SingleExecutionRequestedForBlockTrade = 'j',\n  /** Best execution */\n  BestExecution = 'k',\n  SuspendOnSystemFailure = 'l',\n  SuspendOnTradingHalt = 'm',\n  ReinstateOnConnectionLoss = 'n',\n  CancelOnConnectionLoss = 'o',\n  SuspendOnConnectionLoss = 'p',\n  Release = 'q',\n  /** Execute as delta neutral using volatility provided */\n  ExecuteAsDeltaNeutral = 'r',\n  /** Execute as duration neutral */\n  ExecuteAsDurationNeutral = 's',\n  /** Execute as FX neutral */\n  ExecuteAsFXNeutral = 't',\n  /** Minimum guaranteed fill eligible */\n  MinGuaranteedFillEligible = 'u',\n  /** Bypass non-displayed liquidity */\n  BypassNonDisplayLiquidity = 'v',\n  Lock = 'w',\n  /** Ignore notional value checks */\n  IgnoreNotionalValueChecks = 'x',\n  TrdAtRefPx = 'y',\n  AllowFacilitation = 'z',\n}\n", "/**\n * Instructions for order handling on Broker trading floor\n * tag: 21\n * @readonly\n * @enum {string} (char)\n */\nexport enum HandlInst {\n  /** Automated execution order, private, no Broker intervention */\n  AutomatedExecutionNoIntervention = '1',\n  /** Automated execution order, public, Broker intervention OK */\n  AutomatedExecutionInterventionOK = '2',\n  /** Manual order, best execution */\n  ManualOrder = '3',\n}\n", "/**\n * Identifies class or source of the SecurityID(48) value.\n * tag: 22\n * @readonly\n * @enum {string} (String)\n */\nexport enum SecurityIDSource {\n  /** CUSIP */\n  CUSIP = '1',\n  /** SEDOL */\n  SEDOL = '2',\n  /** QUIK */\n  QUIK = '3',\n  /** ISIN */\n  ISINNumber = '4',\n  /** RIC */\n  RICCode = '5',\n  /** ISO Currency Code (ISO 4217) */\n  ISOCurrencyCode = '6',\n  /** ISO Country Code */\n  ISOCountryCode = '7',\n  /** Exchange symbol */\n  ExchangeSymbol = '8',\n  /** Consolidated Tape Association (CTA) Symbol (SIAC CTS/CQS line format) */\n  ConsolidatedTapeAssociation = '9',\n  /** Bloomberg Symbol */\n  BloombergSymbol = 'A',\n  /** Wertpapier */\n  Wertpapier = 'B',\n  /** Dutch */\n  Dutch = 'C',\n  /** Valoren */\n  Valoren = 'D',\n  /** Sicovam */\n  Sicovam = 'E',\n  /** Belgian */\n  Belgian = 'F',\n  /** \"Common\" (Clearstream and Euroclear) */\n  Common = 'G',\n  /** Clearing house / Clearing organization */\n  ClearingHouse = 'H',\n  /** ISDA/FpML product specification (XML in SecurityXML(1185)) */\n  ISDAFpMLSpecification = 'I',\n  /** Option Price Reporting Authority */\n  OptionPriceReportingAuthority = 'J',\n  /** ISDA/FpML product URL (URL in SecurityID(48)) */\n  ISDAFpMLURL = 'K',\n  /** Letter of credit */\n  LetterOfCredit = 'L',\n  /** Marketplace-assigned Identifier */\n  MarketplaceAssignedIdentifier = 'M',\n  /** Markit RED entity CLIP */\n  MarkitREDEntityCLIP = 'N',\n  /** Markit RED pair CLIP */\n  MarkitREDPairCLIP = 'P',\n  /** CFTC commodity code */\n  CFTCCommodityCode = 'Q',\n  /** ISDA Commodity Reference Price */\n  ISDACommodityReferencePrice = 'R',\n  FinancialInstrumentGlobalIdentifier = 'S',\n  /** Legal entity identifier */\n  LegalEntityIdentifier = 'T',\n  Synthetic = 'U',\n  /** Fidessa Instrument Mnemonic (FIM) */\n  FidessaInstrumentMnemonic = 'V',\n  IndexName = 'W',\n  /** Uniform Symbol (UMTF Symbol) */\n  UniformSymbol = 'X',\n  /** Digital Token Identifier (ISO 24165) */\n  DigitalTokenIdentifier = 'Y',\n}\n", "/**\n * Relative quality of indication\n * tag: 25\n * @readonly\n * @enum {string} (char)\n */\nexport enum IOIQltyInd {\n  /** High */\n  High = 'H',\n  /** Low */\n  Low = 'L',\n  /** Medium */\n  Medium = 'M',\n}\n", "/**\n * Quantity (e.g. number of shares) in numeric form or relative size.\n * tag: 27\n * @readonly\n * @enum {string} (String)\n */\nexport enum IOIQty {\n  /** Small */\n  Small = 'S',\n  /** Medium */\n  Medium = 'M',\n  /** Large */\n  Large = 'L',\n  /** Undisclosed Quantity */\n  UndisclosedQuantity = 'U',\n}\n", "/**\n * Identifies IOI message transaction type\n * tag: 28\n * @readonly\n * @enum {string} (char)\n */\nexport enum IOITransType {\n  /** New */\n  New = 'N',\n  /** Cancel */\n  Cancel = 'C',\n  /** Replace */\n  Replace = 'R',\n}\n", "/**\n * Broker capacity in order execution\n * tag: 29\n * @readonly\n * @enum {string} (char)\n */\nexport enum LastCapacity {\n  /** Agent */\n  Agent = '1',\n  /** Cross as agent */\n  CrossAsAgent = '2',\n  /** Cross as principal */\n  CrossAsPrincipal = '3',\n  /** Principal */\n  Principal = '4',\n  /** Riskless principal */\n  RisklessPrincipal = '5',\n}\n", "export enum MsgType {\n  Heartbeat = '0',\n  TestRequest = '1',\n  ResendRequest = '2',\n  Reject = '3',\n  SequenceReset = '4',\n  Logout = '5',\n  IOI = '6',\n  Advertisement = '7',\n  ExecutionReport = '8',\n  OrderCancelReject = '9',\n  Logon = 'A',\n  News = 'B',\n  Email = 'C',\n  NewOrderSingle = 'D',\n  NewOrderList = 'E',\n  OrderCancelRequest = 'F',\n  OrderCancelReplaceRequest = 'G',\n  OrderStatusRequest = 'H',\n  AllocationInstruction = 'J',\n  ListCancelRequest = 'K',\n  ListExecute = 'L',\n  ListStatusRequest = 'M',\n  ListStatus = 'N',\n  AllocationInstructionAck = 'P',\n  DontKnowTrade = 'Q',\n  QuoteRequest = 'R',\n  Quote = 'S',\n  SettlementInstructions = 'T',\n  MarketDataRequest = 'V',\n  MarketDataSnapshotFullRefresh = 'W',\n  MarketDataIncrementalRefresh = 'X',\n  MarketDataRequestReject = 'Y',\n  QuoteCancel = 'Z',\n  QuoteStatusRequest = 'a',\n  MassQuoteAck = 'b',\n  SecurityDefinitionRequest = 'c',\n  SecurityDefinition = 'd',\n  SecurityStatusRequest = 'e',\n  SecurityStatus = 'f',\n  TradingSessionStatusRequest = 'g',\n  TradingSessionStatus = 'h',\n  MassQuote = 'i',\n  BusinessMessageReject = 'j',\n  BidRequest = 'k',\n  BidResponse = 'l',\n  ListStrikePrice = 'm',\n  XMLnonFIX = 'n',\n  RegistrationInstructions = 'o',\n  RegistrationInstructionsResponse = 'p',\n  OrderMassCancelRequest = 'q',\n  OrderMassCancelReport = 'r',\n  NewOrderCross = 's',\n  CrossOrderCancelReplaceRequest = 't',\n  CrossOrderCancelRequest = 'u',\n  SecurityTypeRequest = 'v',\n  SecurityTypes = 'w',\n  SecurityListRequest = 'x',\n  SecurityList = 'y',\n  DerivativeSecurityListRequest = 'z',\n  DerivativeSecurityList = 'AA',\n  NewOrderMultileg = 'AB',\n  MultilegOrderCancelReplace = 'AC',\n  TradeCaptureReportRequest = 'AD',\n  TradeCaptureReport = 'AE',\n  OrderMassStatusRequest = 'AF',\n  QuoteRequestReject = 'AG',\n  RFQRequest = 'AH',\n  QuoteStatusReport = 'AI',\n  QuoteResponse = 'AJ',\n  Confirmation = 'AK',\n  PositionMaintenanceRequest = 'AL',\n  PositionMaintenanceReport = 'AM',\n  RequestForPositions = 'AN',\n  RequestForPositionsAck = 'AO',\n  PositionReport = 'AP',\n  TradeCaptureReportRequestAck = 'AQ',\n  TradeCaptureReportAck = 'AR',\n  AllocationReport = 'AS',\n  AllocationReportAck = 'AT',\n  ConfirmationAck = 'AU',\n  SettlementInstructionRequest = 'AV',\n  AssignmentReport = 'AW',\n  CollateralRequest = 'AX',\n  CollateralAssignment = 'AY',\n  CollateralResponse = 'AZ',\n  CollateralReport = 'BA',\n  CollateralInquiry = 'BB',\n  NetworkCounterpartySystemStatusRequest = 'BC',\n  NetworkCounterpartySystemStatusResponse = 'BD',\n  UserRequest = 'BE',\n  UserResponse = 'BF',\n  CollateralInquiryAck = 'BG',\n  ConfirmationRequest = 'BH',\n  ContraryIntentionReport = 'BO',\n  SecurityDefinitionUpdateReport = 'BP',\n  SecurityListUpdateReport = 'BK',\n  AdjustedPositionReport = 'BL',\n  AllocationInstructionAlert = 'BM',\n  ExecutionAck = 'BN',\n  TradingSessionList = 'BJ',\n  TradingSessionListRequest = 'BI',\n  SettlementObligationReport = 'BQ',\n  DerivativeSecurityListUpdateReport = 'BR',\n  TradingSessionListUpdateReport = 'BS',\n  MarketDefinitionRequest = 'BT',\n  MarketDefinition = 'BU',\n  MarketDefinitionUpdateReport = 'BV',\n  ApplicationMessageRequest = 'BW',\n  ApplicationMessageRequestAck = 'BX',\n  ApplicationMessageReport = 'BY',\n  OrderMassActionReport = 'BZ',\n  OrderMassActionRequest = 'CA',\n  UserNotification = 'CB',\n  StreamAssignmentRequest = 'CC',\n  StreamAssignmentReport = 'CD',\n  StreamAssignmentReportACK = 'CE',\n  PartyDetailsListRequest = 'CF',\n  PartyDetailsListReport = 'CG',\n  MarginRequirementInquiry = 'CH',\n  MarginRequirementInquiryAck = 'CI',\n  MarginRequirementReport = 'CJ',\n  PartyDetailsListUpdateReport = 'CK',\n  PartyRiskLimitsRequest = 'CL',\n  PartyRiskLimitsReport = 'CM',\n  SecurityMassStatusRequest = 'CN',\n  SecurityMassStatus = 'CO',\n  AccountSummaryReport = 'CQ',\n  PartyRiskLimitsUpdateReport = 'CR',\n  PartyRiskLimitsDefinitionRequest = 'CS',\n  PartyRiskLimitsDefinitionRequestAck = 'CT',\n  PartyEntitlementsRequest = 'CU',\n  PartyEntitlementsReport = 'CV',\n  QuoteAck = 'CW',\n  PartyDetailsDefinitionRequest = 'CX',\n  PartyDetailsDefinitionRequestAck = 'CY',\n  PartyEntitlementsUpdateReport = 'CZ',\n  PartyEntitlementsDefinitionRequest = 'DA',\n  PartyEntitlementsDefinitionRequestAck = 'DB',\n  TradeMatchReport = 'DC',\n  TradeMatchReportAck = 'DD',\n  PartyRiskLimitsReportAck = 'DE',\n  PartyRiskLimitCheckRequest = 'DF',\n  PartyRiskLimitCheckRequestAck = 'DG',\n  PartyActionRequest = 'DH',\n  PartyActionReport = 'DI',\n  MassOrder = 'DJ',\n  MassOrderAck = 'DK',\n  PositionTransferInstruction = 'DL',\n  PositionTransferInstructionAck = 'DM',\n  PositionTransferReport = 'DN',\n  MarketDataStatisticsRequest = 'DO',\n  MarketDataStatisticsReport = 'DP',\n  CollateralReportAck = 'DQ',\n  MarketDataReport = 'DR',\n  CrossRequest = 'DS',\n  CrossRequestAck = 'DT',\n  AllocationInstructionAlertRequest = 'DU',\n  AllocationInstructionAlertRequestAck = 'DV',\n  TradeAggregationRequest = 'DW',\n  TradeAggregationReport = 'DX',\n  PayManagementReport = 'EA',\n  PayManagementReportAck = 'EB',\n  PayManagementRequest = 'DY',\n  PayManagementRequestAck = 'DZ',\n  SettlementStatusRequest = 'EC',\n  SettlementStatusRequestAck = 'ED',\n  SettlementStatusReport = 'EE',\n  SettlementStatusReportAck = 'EF',\n  SecurityRiskMetricsReport = 'EG',\n  AlgoCertificateRequest = 'EH',\n  AlgoCertificateRequestAck = 'EI',\n  AlgoCertificateReport = 'EJ',\n  AlgoCertificateReportAck = 'EK',\n  TestSuiteDefinitionRequest = 'EL',\n  TestSuiteDefinitionRequestAck = 'EM',\n  TestActionRequest = 'EN',\n  TestActionRequestAck = 'EO',\n  TestActionReport = 'EP',\n}\n", "/**\n * Identifies current status of order. *** SOME VALUES HAVE BEEN REPLACED - See \"Replaced Features and Supported Approach\" *** (see Volume : \"Glossary\" for value definitions)\n * tag: 39\n * @readonly\n * @enum {string} (char)\n */\nexport enum OrdStatus {\n  /** New */\n  New = '0',\n  /** Partially filled */\n  PartiallyFilled = '1',\n  /** Filled */\n  Filled = '2',\n  /** Done for day */\n  DoneForDay = '3',\n  /** Canceled */\n  Canceled = '4',\n  /** Replaced (No longer used) */\n  Replaced = '5',\n  /** Pending Cancel (i.e. result of Order Cancel Request) */\n  PendingCancel = '6',\n  /** Stopped */\n  Stopped = '7',\n  /** Rejected */\n  Rejected = '8',\n  /** Suspended */\n  Suspended = '9',\n  /** Pending New */\n  PendingNew = 'A',\n  /** Calculated */\n  Calculated = 'B',\n  /** Expired */\n  Expired = 'C',\n  /** Accepted for Bidding */\n  AcceptedForBidding = 'D',\n  /** Pending Replace (i.e. result of Order Cancel/Replace Request) */\n  PendingReplace = 'E',\n}\n", "/**\n * Order type. *** SOME VALUES ARE NO LONGER USED - See \"Deprecated (Phased-out) Features and Supported Approach\" *** (see Volume : \"Glossary\" for value definitions)\n * tag: 40\n * @readonly\n * @enum {string} (char)\n */\nexport enum OrdType {\n  /** Market */\n  Market = '1',\n  /** Limit */\n  Limit = '2',\n  Stop = '3',\n  StopLimit = '4',\n  /** Market On Close (No longer used) */\n  MarketOnClose = '5',\n  /** With Or Without */\n  WithOrWithout = '6',\n  /** Limit Or Better */\n  LimitOrBetter = '7',\n  /** Limit With Or Without */\n  LimitWithOrWithout = '8',\n  /** On Basis */\n  OnBasis = '9',\n  /** On Close (No longer used) */\n  OnClose = 'A',\n  /** Limit On Close (No longer used) */\n  LimitOnClose = 'B',\n  /** Forex Market (No longer used) */\n  ForexMarket = 'C',\n  /** Previously Quoted */\n  PreviouslyQuoted = 'D',\n  /** Previously Indicated */\n  PreviouslyIndicated = 'E',\n  /** Forex Limit (No longer used) */\n  ForexLimit = 'F',\n  /** Forex Swap */\n  ForexSwap = 'G',\n  /** Forex Previously Quoted (No longer used) */\n  ForexPreviouslyQuoted = 'H',\n  /** Funari (Limit day order with unexecuted portion handles as Market On Close. E.g. Japan) */\n  Funari = 'I',\n  /** Market If Touched (MIT) */\n  MarketIfTouched = 'J',\n  /** Market With Left Over as Limit (market order with unexecuted quantity becoming limit order at last price) */\n  MarketWithLeftOverAsLimit = 'K',\n  /** Previous Fund Valuation Point (Historic pricing; for CIV) */\n  PreviousFundValuationPoint = 'L',\n  /** Next Fund Valuation Point (Forward pricing; for CIV) */\n  NextFundValuationPoint = 'M',\n  /** Pegged */\n  Pegged = 'P',\n  /** Counter-order selection */\n  CounterOrderSelection = 'Q',\n  StopOnBidOrOffer = 'R',\n  StopLimitOnBidOrOffer = 'S',\n}\n", "/**\n * Indicates possible retransmission of message with this sequence number\n * tag: 43\n * @readonly\n * @enum {string} (Boolean)\n */\nexport enum PossDupFlag {\n  /** Original transmission */\n  OriginalTransmission = 'N',\n  /** Possible duplicate */\n  PossibleDuplicate = 'Y',\n}\n", "/**\n * Side of order (see Volume : \"Glossary\" for value definitions)\n * tag: 54\n * @readonly\n * @enum {string} (char)\n */\nexport enum Side {\n  Buy = '1',\n  Sell = '2',\n  /** Buy minus */\n  BuyMinus = '3',\n  /** Sell plus */\n  SellPlus = '4',\n  /** Sell short */\n  SellShort = '5',\n  /** Sell short exempt */\n  SellShortExempt = '6',\n  /** Undisclosed */\n  Undisclosed = '7',\n  /** Cross (orders where counterparty is an exchange, valid for all messages except IOIs) */\n  Cross = '8',\n  /** Cross short */\n  CrossShort = '9',\n  /** Cross short exempt */\n  CrossShortExempt = 'A',\n  /** \"As Defined\" (for use with multileg instruments) */\n  AsDefined = 'B',\n  /** \"Opposite\" (for use with multileg instruments) */\n  Opposite = 'C',\n  /** Subscribe (e.g. CIV) */\n  Subscribe = 'D',\n  /** Redeem (e.g. CIV) */\n  Redeem = 'E',\n  /** Lend (FINANCING - identifies direction of collateral) */\n  Lend = 'F',\n  /** Borrow (FINANCING - identifies direction of collateral) */\n  Borrow = 'G',\n  SellUndisclosed = 'H',\n}\n", "/**\n * Specifies how long the order remains in effect. Absence of this field is interpreted as DAY. NOTE not applicable to CIV Orders.\n * tag: 59\n * @readonly\n * @enum {string} (char)\n */\nexport enum TimeInForce {\n  Day = '0',\n  GoodTillCancel = '1',\n  AtTheOpening = '2',\n  ImmediateOrCancel = '3',\n  FillOrKill = '4',\n  GoodTillCrossing = '5',\n  GoodTillDate = '6',\n  AtTheClose = '7',\n  GoodThroughCrossing = '8',\n  AtCrossing = '9',\n  GoodForTime = 'A',\n  GoodForAuction = 'B',\n  GoodForMonth = 'C',\n}\n", "/**\n * Urgency flag\n * tag: 61\n * @readonly\n * @enum {string} (char)\n */\nexport enum Urgency {\n  /** Normal */\n  Normal = '0',\n  /** Flash */\n  Flash = '1',\n  /** Background */\n  Background = '2',\n}\n", "export enum SettlType {\n  /** Regular / FX Spot settlement (T+1 or T+2 depending on currency) */\n  Regular = '0',\n  /** Cash (TOD / T+0) */\n  Cash = '1',\n  /** Next Day (TOM / T+1) */\n  NextDay = '2',\n  /** T+2 */\n  TPlus2 = '3',\n  /** T+3 */\n  TPlus3 = '4',\n  /** T+4 */\n  TPlus4 = '5',\n  /** Future */\n  Future = '6',\n  /** When And If Issued */\n  WhenAndIfIssued = '7',\n  /** Sellers Option */\n  SellersOption = '8',\n  /** T+5 */\n  TPlus5 = '9',\n  BrokenDate = 'B',\n  /** FX Spot Next settlement (Spot+1, aka next day) */\n  FXSpotNextSettlement = 'C',\n}\n", "export enum SymbolSfx {\n  /** EUCP with lump-sum interest rather than discount price */\n  EUCPWithLumpSumInterest = 'CD',\n  /** \"When Issued\" for a security to be reissued under an old CUSIP or ISIN */\n  WhenIssued = 'WI',\n}\n", "/**\n * Identifies allocation transaction type *** SOME VALUES HAVE BEEN REPLACED - See \"Replaced Features and Supported Approach\" ***\n * tag: 71\n * @readonly\n * @enum {string} (char)\n */\nexport enum AllocTransType {\n  /** New */\n  New = '0',\n  /** Replace */\n  Replace = '1',\n  /** Cancel */\n  Cancel = '2',\n  /** Preliminary (without MiscFees and NetMoney) (Removed/Replaced) */\n  Preliminary = '3',\n  /** Calculated (includes MiscFees and NetMoney) (Removed/Replaced) */\n  Calculated = '4',\n  /** Calculated without Preliminary (sent unsolicited by broker, includes MiscFees and NetMoney) (Removed/Replaced) */\n  CalculatedWithoutPreliminary = '5',\n  /** Reversal */\n  Reversal = '6',\n}\n", "/**\n * Indicates whether the resulting position after a trade should be an opening position or closing position. Used for omnibus accounting - where accounts are held on a gross basis instead of being netted together.\n * tag: 77\n * @readonly\n * @enum {string} (char)\n */\nexport enum PositionEffect {\n  /** Close */\n  Close = 'C',\n  /** FIFO */\n  FIFO = 'F',\n  /** Open */\n  Open = 'O',\n  /** Rolled */\n  Rolled = 'R',\n  /** Close but notify on open */\n  CloseButNotifyOnOpen = 'N',\n  /** Default */\n  Default = 'D',\n}\n", "/**\n * Processing code for sub-account. Absence of this field in AllocAccount (79) / AllocPrice (366) /AllocQty (80) / ProcessCode instance indicates regular trade.\n * tag: 81\n * @readonly\n * @enum {string} (char)\n */\nexport enum ProcessCode {\n  /** Regular */\n  Regular = '0',\n  /** Soft Dollar */\n  SoftDollar = '1',\n  /** Step-In */\n  StepIn = '2',\n  /** Step-Out */\n  StepOut = '3',\n  /** Soft-dollar Step-In */\n  SoftDollarStepIn = '4',\n  /** Soft-dollar Step-Out */\n  SoftDollarStepOut = '5',\n  /** Plan Sponsor */\n  PlanSponsor = '6',\n}\n", "/**\n * Identifies status of allocation.\n * tag: 87\n * @readonly\n * @enum {number} (int)\n */\nexport enum AllocStatus {\n  /** Accepted (successfully processed) */\n  Accepted = 0,\n  /** Block level reject */\n  BlockLevelReject = 1,\n  /** Account level reject */\n  AccountLevelReject = 2,\n  /** Received (received not yet processed) */\n  Received = 3,\n  /** Incomplete */\n  Incomplete = 4,\n  /** Rejected by intermediary */\n  RejectedByIntermediary = 5,\n  /** Allocation pending */\n  AllocationPending = 6,\n  /** Reversed */\n  Reversed = 7,\n  CancelledByIntermediary = 8,\n  /** Claimed */\n  Claimed = 9,\n  /** Refused */\n  Refused = 10,\n  /** Pending give-up approval */\n  PendingGiveUpApproval = 11,\n  /** Cancelled */\n  Cancelled = 12,\n  /** Pending take-up approval */\n  PendingTakeUpApproval = 13,\n  /** Reversal pending */\n  ReversalPending = 14,\n}\n", "/**\n * Identifies reason for rejection.\n * tag: 88\n * @readonly\n * @enum {number} (int)\n */\nexport enum AllocRejCode {\n  /** Unknown or missing account(s) */\n  UnknownAccount = 0,\n  /** Incorrect or missing block quantity */\n  IncorrectQuantity = 1,\n  /** Incorrect or missing average price */\n  IncorrectAveragePrice = 2,\n  /** Unknown executing broker mnemonic */\n  UnknownExecutingBrokerMnemonic = 3,\n  /** Incorrect or missing commission */\n  CommissionDifference = 4,\n  /** Unknown OrderID(37) */\n  UnknownOrderID = 5,\n  /** Unknown ListID(66) */\n  UnknownListID = 6,\n  /** Other (further in Text (58)) */\n  OtherSeeText = 7,\n  /** Incorrect or missing allocated quantity */\n  IncorrectAllocatedQuantity = 8,\n  /** Calculation difference */\n  CalculationDifference = 9,\n  /** Unknown or Stale ExecID(17) */\n  UnknownOrStaleExecID = 10,\n  /** Mismatched data */\n  MismatchedData = 11,\n  /** Unknown ClOrdID(11) */\n  UnknownClOrdID = 12,\n  /** Warehouse request rejected */\n  WarehouseRequestRejected = 13,\n  /** Duplicate or missing IndividualAllocID(467) */\n  DuplicateOrMissingIndividualAllocID = 14,\n  /** Trade not recognized */\n  TradeNotRecognized = 15,\n  /** Trade previously allocated */\n  DuplicateTrade = 16,\n  /** Incorrect or missing instrument */\n  IncorrectOrMissingInstrument = 17,\n  /** Incorrect or missing settlement date */\n  IncorrectOrMissingSettlDate = 18,\n  /** Incorrect or missing fund ID or fund name */\n  IncorrectOrMissingFundIDOrFundName = 19,\n  /** Incorrect or missing settlement instructions */\n  IncorrectOrMissingSettlInstructions = 20,\n  /** Incorrect or missing fees */\n  IncorrectOrMissingFees = 21,\n  /** Incorrect or missing tax */\n  IncorrectOrMissingTax = 22,\n  /** Unknown or missing party */\n  UnknownOrMissingParty = 23,\n  /** Incorrect or missing side */\n  IncorrectOrMissingSide = 24,\n  /** Incorrect or missing net-money */\n  IncorrectOrMissingNetMoney = 25,\n  /** Incorrect or missing trade date */\n  IncorrectOrMissingTradeDate = 26,\n  /** Incorrect or missing settlement currency instructions */\n  IncorrectOrMissingSettlCcyInstructions = 27,\n  /** Incorrrect or missing ProcessCode(81) */\n  IncorrectOrMissingProcessCode = 28,\n  Other = 99,\n}\n", "/**\n * Email message type.\n * tag: 94\n * @readonly\n * @enum {string} (char)\n */\nexport enum EmailType {\n  /** New */\n  New = '0',\n  /** Reply */\n  Reply = '1',\n  /** Admin Reply */\n  AdminReply = '2',\n}\n", "/**\n * Indicates that message may contain information that has been sent under another sequence number.\n * tag: 97\n * @readonly\n * @enum {string} (Boolean)\n */\nexport enum PossResend {\n  /** Original Transmission */\n  OriginalTransmission = 'N',\n  /** Possible Resend */\n  PossibleResend = 'Y',\n}\n", "/**\n * Method of encryption.\n * tag: 98\n * @readonly\n * @enum {number} (int)\n */\nexport enum EncryptMethod {\n  /** None / Other */\n  None = 0,\n  /** PKCS (Proprietary) */\n  PKCS = 1,\n  /** DES (ECB Mode) */\n  DES = 2,\n  /** PKCS / DES (Proprietary) */\n  PKCSDES = 3,\n  /** PGP / DES (Defunct) */\n  PGPDES = 4,\n  /** PGP / DES-MD5 (See app note on FIX web site) */\n  PGPDESMD5 = 5,\n  /** PEM / DES-MD5 (see app note on FIX web site) */\n  PEM = 6,\n}\n", "/**\n * Code to identify reason for cancel rejection.\n * tag: 102\n * @readonly\n * @enum {number} (int)\n */\nexport enum CxlRejReason {\n  /** Too late to cancel */\n  TooLateToCancel = 0,\n  /** Unknown order */\n  UnknownOrder = 1,\n  /** Broker / Exchange Option */\n  BrokerCredit = 2,\n  /** Order already in Pending Cancel or Pending Replace status */\n  OrderAlreadyInPendingStatus = 3,\n  /** Unable to process Order Mass Cancel Request */\n  UnableToProcessOrderMassCancelRequest = 4,\n  /** OrigOrdModTime (586) did not match last TransactTime (60) of order */\n  OrigOrdModTime = 5,\n  /** Duplicate ClOrdID (11) received */\n  DuplicateClOrdID = 6,\n  /** Price exceeds current price */\n  PriceExceedsCurrentPrice = 7,\n  /** Price exceeds current price band */\n  PriceExceedsCurrentPriceBand = 8,\n  /** Invalid price increment */\n  InvalidPriceIncrement = 18,\n  /** Other */\n  Other = 99,\n}\n", "/**\n * Code to identify reason for order rejection. Note: Values 3, 4, and 5 will be used when rejecting an order due to pre-allocation information errors.\n * tag: 103\n * @readonly\n * @enum {number} (int)\n */\nexport enum OrdRejReason {\n  /** Broker / Exchange option */\n  BrokerCredit = 0,\n  UnknownSymbol = 1,\n  /** Exchange closed */\n  ExchangeClosed = 2,\n  /** Order exceeds limit */\n  OrderExceedsLimit = 3,\n  /** Too late to enter */\n  TooLateToEnter = 4,\n  /** Unknown order */\n  UnknownOrder = 5,\n  /** Duplicate Order (e.g. dupe ClOrdID) */\n  DuplicateOrder = 6,\n  /** Duplicate of a verbally communicated order */\n  DuplicateOfAVerballyCommunicatedOrder = 7,\n  /** Stale order */\n  StaleOrder = 8,\n  /** Trade along required */\n  TradeAlongRequired = 9,\n  /** Invalid Investor ID */\n  InvalidInvestorID = 10,\n  /** Unsupported order characteristic */\n  UnsupportedOrderCharacteristic = 11,\n  /** Surveillance option */\n  SurveillanceOption = 12,\n  /** Incorrect quantity */\n  IncorrectQuantity = 13,\n  /** Incorrect allocated quantity */\n  IncorrectAllocatedQuantity = 14,\n  UnknownAccount = 15,\n  /** Price exceeds current price band */\n  PriceExceedsCurrentPriceBand = 16,\n  /** Invalid price increment */\n  InvalidPriceIncrement = 18,\n  /** Reference price not available */\n  ReferencePriceNotAvailable = 19,\n  /** Notional value exceeds threshold */\n  NotionalValueExceedsThreshold = 20,\n  AlgorithmRiskThresholdBreached = 21,\n  /** Short sell not permitted */\n  ShortSellNotPermitted = 22,\n  /** Short sell rejected due to security pre-borrow restriction */\n  ShortSellSecurityPreBorrowRestriction = 23,\n  /** Short sell rejected due to account pre-borrow restriction */\n  ShortSellAccountPreBorrowRestriction = 24,\n  InsufficientCreditLimit = 25,\n  /** Exceeded clip size limit */\n  ExceededClipSizeLimit = 26,\n  /** Exceeded maximum notional order amount */\n  ExceededMaxNotionalOrderAmt = 27,\n  /** Exceeded DV01/PV01 limit */\n  ExceededDV01PV01Limit = 28,\n  /** Exceeded CS01 limit */\n  ExceededCS01Limit = 29,\n  LastLook = 30,\n  LastLookLatency = 31,\n  UnavailablePriceLiquidity = 32,\n  InvalidMissingEntitlements = 33,\n  Other = 99,\n}\n", "/**\n * Code to qualify IOI use. (see Volume : \"Glossary\" for value definitions)\n * tag: 104\n * @readonly\n * @enum {string} (char)\n */\nexport enum IOIQualifier {\n  /** All or None (AON) */\n  AllOrNone = 'A',\n  /** Market On Close (MOC) (held to close) */\n  MarketOnClose = 'B',\n  /** At the close (around/not held to close) */\n  AtTheClose = 'C',\n  /** VWAP (Volume Weighted Average Price) */\n  VWAP = 'D',\n  Axe = 'E',\n  AxeOnBid = 'F',\n  AxeOnOffer = 'G',\n  ClientNaturalWorking = 'H',\n  InTouchWith = 'I',\n  PositionWanted = 'J',\n  MarketMaking = 'K',\n  /** Limit */\n  Limit = 'L',\n  /** More Behind */\n  MoreBehind = 'M',\n  ClientNaturalBlock = 'N',\n  /** At the Open */\n  AtTheOpen = 'O',\n  /** Taking a Position */\n  TakingAPosition = 'P',\n  /** At the Market (previously called Current Quote) */\n  AtTheMarket = 'Q',\n  /** Ready to Trade */\n  ReadyToTrade = 'R',\n  /** Inventory or Portfolio Shown */\n  PortfolioShown = 'S',\n  /** Through the Day */\n  ThroughTheDay = 'T',\n  Unwind = 'U',\n  /** Versus */\n  Versus = 'V',\n  /** Indication - Working Away */\n  Indication = 'W',\n  /** Crossing Opportunity */\n  CrossingOpportunity = 'X',\n  /** At the Midpoint */\n  AtTheMidpoint = 'Y',\n  /** Pre-open */\n  PreOpen = 'Z',\n  QuantityNegotiable = '1',\n  AllowLateBids = '2',\n  ImmediateOrCounter = '3',\n  AutoTrade = '4',\n  AutomaticSpot = 'a',\n  PlatformCalculatedSpot = 'b',\n  OutsideSpread = 'c',\n  DeferredSpot = 'd',\n  NegotiatedSpot = 'n',\n}\n", "/**\n * Identifies party of trade responsible for exchange reporting.\n * tag: 113\n * @readonly\n * @enum {string} (Boolean)\n */\nexport enum ReportToExch {\n  /** Indicates the party sending message will report trade */\n  SenderReports = 'N',\n  /** Indicates the party receiving message must report trade */\n  ReceiverReports = 'Y',\n}\n", "/**\n * Indicates whether the broker is to locate the stock in conjunction with a short sell order.\n * tag: 114\n * @readonly\n * @enum {string} (Boolean)\n */\nexport enum LocateReqd {\n  /** Indicates the broker is not required to locate */\n  No = 'N',\n  /** Indicates the broker is responsible for locating the stock */\n  Yes = 'Y',\n}\n", "/**\n * Indicates request for forex accommodation trade to be executed along with security transaction.\n * tag: 121\n * @readonly\n * @enum {string} (Boolean)\n */\nexport enum ForexReq {\n  /** Do Not Execute Forex After Security Trade */\n  DoNotExecuteForexAfterSecurityTrade = 'N',\n  /** Execute Forex After Security Trade */\n  ExecuteForexAfterSecurityTrade = 'Y',\n}\n", "/**\n * Indicates that the Sequence Reset message is replacing administrative or application messages which will not be resent.\n * tag: 123\n * @readonly\n * @enum {string} (Boolean)\n */\nexport enum GapFillFlag {\n  /** Sequence Reset, Ignore Msg Seq Num (N/A For FIXML - Not Used) */\n  SequenceReset = 'N',\n  /** Gap Fill Message, Msg Seq Num Field Valid */\n  GapFillMessage = 'Y',\n}\n", "/**\n * Reason for execution rejection.\n * tag: 127\n * @readonly\n * @enum {string} (char)\n */\nexport enum DKReason {\n  /** Unknown security */\n  UnknownSymbol = 'A',\n  /** Wrong side */\n  WrongSide = 'B',\n  /** Quantity exceeds order */\n  QuantityExceedsOrder = 'C',\n  /** No matching order */\n  NoMatchingOrder = 'D',\n  /** Price exceeds limit */\n  PriceExceedsLimit = 'E',\n  /** Calculation difference */\n  CalculationDifference = 'F',\n  /** No matching ExecutionReport(35=8) */\n  NoMatchingExecutionReport = 'G',\n  /** Other */\n  Other = 'Z',\n}\n", "/**\n * Indicates that IOI is the result of an existing agency order or a facilitation position resulting from an agency order, not from principal trading or order solicitation activity.\n * tag: 130\n * @readonly\n * @enum {string} (Boolean)\n */\nexport enum IOINaturalFlag {\n  /** Not Natural */\n  NotNatural = 'N',\n  /** Natural */\n  Natural = 'Y',\n}\n", "/**\n * Indicates type of miscellaneous fee.\n * tag: 139\n * @readonly\n * @enum {string} (String)\n */\nexport enum MiscFeeType {\n  /** Regulatory (e.g. SEC) */\n  Regulatory = '1',\n  /** Tax */\n  Tax = '2',\n  LocalCommission = '3',\n  /** Exchange Fees */\n  ExchangeFees = '4',\n  /** Stamp */\n  Stamp = '5',\n  /** Levy */\n  Levy = '6',\n  /** Other */\n  Other = '7',\n  /** Markup */\n  Markup = '8',\n  /** Consumption Tax */\n  ConsumptionTax = '9',\n  /** Per transaction */\n  PerTransaction = '10',\n  /** Conversion */\n  Conversion = '11',\n  /** Agent */\n  Agent = '12',\n  /** Transfer Fee */\n  TransferFee = '13',\n  /** Security Lending */\n  SecurityLending = '14',\n  TradeReporting = '15',\n  /** Tax on principal amount */\n  TaxOnPrincipalAmount = '16',\n  /** Tax on accrued interest amount */\n  TaxOnAccruedInterestAmount = '17',\n  /** New issuance fee */\n  NewIssuanceFee = '18',\n  /** Service fee */\n  ServiceFee = '19',\n  /** Odd lot fee */\n  OddLotFee = '20',\n  /** Auction fee */\n  AuctionFee = '21',\n  /** Value Added tax - VAT */\n  ValueAddedTax = '22',\n  /** Sales tax */\n  SalesTax = '23',\n  /** Execution venue fee */\n  ExecutionFee = '24',\n  OrderEntryFee = '25',\n  OrderModificationFee = '26',\n  OrdersCancellationFee = '27',\n  MarketDataAccessFee = '28',\n  MarketDataTerminalFee = '29',\n  MarketDataVolumeFee = '30',\n  ClearingFee = '31',\n  SettlementFee = '32',\n  Rebates = '33',\n  Discounts = '34',\n  Payments = '35',\n  NonMonetaryPayments = '36',\n}\n", "/**\n * Indicates that both sides of the FIX session should reset sequence numbers.\n * tag: 141\n * @readonly\n * @enum {string} (Boolean)\n */\nexport enum ResetSeqNumFlag {\n  /** No */\n  No = 'N',\n  /** Yes, reset sequence numbers */\n  Yes = 'Y',\n}\n", "/**\n * Describes the specific ExecutionRpt (e.g. Pending Cancel) while OrdStatus(39) will always identify the current order status (e.g. Partially Filled).\n * tag: 150\n * @readonly\n * @enum {string} (char)\n */\nexport enum ExecType {\n  /** New */\n  New = '0',\n  /** Done for day */\n  DoneForDay = '3',\n  /** Canceled */\n  Canceled = '4',\n  /** Replaced */\n  Replaced = '5',\n  /** Pending Cancel (e.g. result of Order Cancel Request) */\n  PendingCancel = '6',\n  /** Stopped */\n  Stopped = '7',\n  /** Rejected */\n  Rejected = '8',\n  /** Suspended */\n  Suspended = '9',\n  /** Pending New */\n  PendingNew = 'A',\n  /** Calculated */\n  Calculated = 'B',\n  /** Expired */\n  Expired = 'C',\n  /** Restated (Execution Report sent unsolicited by sellside, with ExecRestatementReason (378) set) */\n  Restated = 'D',\n  /** Pending Replace (e.g. result of Order Cancel/Replace Request) */\n  PendingReplace = 'E',\n  /** Trade (partial fill or fill) */\n  Trade = 'F',\n  /** Trade Correct */\n  TradeCorrect = 'G',\n  /** Trade Cancel */\n  TradeCancel = 'H',\n  /** Order Status */\n  OrderStatus = 'I',\n  /** Trade in a Clearing Hold */\n  TradeInAClearingHold = 'J',\n  /** Trade has been released to Clearing */\n  TradeHasBeenReleasedToClearing = 'K',\n  /** Triggered or Activated by System */\n  TriggeredOrActivatedBySystem = 'L',\n  /** Locked */\n  Locked = 'M',\n  /** Released */\n  Released = 'N',\n}\n", "/**\n * Specifies whether or not SettlCurrFxRate (155) should be multiplied or divided.\n * tag: 156\n * @readonly\n * @enum {string} (char)\n */\nexport enum SettlCurrFxRateCalc {\n  /** Multiply */\n  Multiply = 'M',\n  /** Divide */\n  Divide = 'D',\n}\n", "/**\n * Indicates mode used for Settlement Instructions message. *** SOME VALUES HAVE BEEN REPLACED - See \"Replaced Features and Supported Approach\" ***\n * tag: 160\n * @readonly\n * @enum {string} (char)\n */\nexport enum SettlInstMode {\n  /** Default (Replaced) */\n  Default = '0',\n  /** Standing Instructions Provided */\n  StandingInstructionsProvided = '1',\n  /** Specific Allocation Account Overriding (Replaced) */\n  SpecificAllocationAccountOverriding = '2',\n  /** Specific Allocation Account Standing (Replaced) */\n  SpecificAllocationAccountStanding = '3',\n  /** Specific Order for a single account (for CIV) */\n  SpecificOrderForASingleAccount = '4',\n  /** Request reject */\n  RequestReject = '5',\n}\n", "/**\n * Settlement Instructions message transaction type\n * tag: 163\n * @readonly\n * @enum {string} (char)\n */\nexport enum SettlInstTransType {\n  /** New */\n  New = 'N',\n  /** Cancel */\n  Cancel = 'C',\n  /** Replace */\n  Replace = 'R',\n  /** Restate */\n  Restate = 'T',\n}\n", "/**\n * Indicates source of Settlement Instructions\n * tag: 165\n * @readonly\n * @enum {string} (char)\n */\nexport enum SettlInstSource {\n  /** Broker's Instructions */\n  BrokerCredit = '1',\n  /** Institution's Instructions */\n  Institution = '2',\n  /** Investor (e.g. CIV use) */\n  Investor = '3',\n}\n", "/**\n * Indicates type of security. Security type enumerations are grouped by Product(460) field value. NOTE: Additional values may be used by mutual agreement of the counterparties.\n * tag: 167\n * @readonly\n * @enum {string} (String)\n */\nexport enum SecurityType {\n  EuroSupranationalCoupons = 'EUSUPRA',\n  /** Corporate Bond */\n  CorporateBond = 'CORP',\n  /** Foreign Exchange Contract */\n  ForeignExchangeContract = 'FOR',\n  /** Common Stock */\n  CommonStock = 'CS',\n  /** Repurchase */\n  Repurchase = 'REPO',\n  /** Brady Bond */\n  BradyBond = 'BRADY',\n  /** Term Loan */\n  TermLoan = 'TERM',\n  /** Bankers Acceptance */\n  BankersAcceptance = 'BA',\n  /** Asset-backed Securities */\n  AssetBackedSecurities = 'ABS',\n  /** Other Anticipation Notes (BAN, GAN, etc.) */\n  OtherAnticipationNotes = 'AN',\n  /** Mutual Fund */\n  MutualFund = 'MF',\n  /** Federal Agency Coupon */\n  FederalAgencyCoupon = 'FAC',\n  /** Corporate Private Placement */\n  CorporatePrivatePlacement = 'CPP',\n  /** Non-deliverable forward */\n  NonDeliverableForward = 'FXNDF',\n  Cap = 'CAP',\n  /** Preferred Stock */\n  PreferredStock = 'PS',\n  /** Forward */\n  Forward = 'FORWARD',\n  /** Canadian Treasury Notes */\n  CanadianTreasuryNotes = 'CAN',\n  /** Revolver Loan */\n  RevolverLoan = 'RVLV',\n  /** Bank Depository Note */\n  BankDepositoryNote = 'BDN',\n  /** Canadian Mortgage Bonds */\n  CanadianMortgageBonds = 'CMB',\n  /** Certificate Of Obligation */\n  CertificateOfObligation = 'COFO',\n  /** Multileg Instrument */\n  MultilegInstrument = 'MLEG',\n  /** Federal Agency Discount Note */\n  FederalAgencyDiscountNote = 'FADN',\n  /** Convertible Bond */\n  ConvertibleBond = 'CB',\n  /** FX Spot */\n  FXSpot = 'FXSPOT',\n  /** Credit Default Swap */\n  CreditDefaultSwap = 'CDS',\n  /** Depository Receipts */\n  DepositoryReceipts = 'DR',\n  /** Buy Sellback */\n  BuySellback = 'BUYSELL',\n  /** Canadian Treasury Bills */\n  CanadianTreasuryBills = 'CTB',\n  /** Revolver/Term Loan */\n  Revolver = 'RVLVTRM',\n  /** Bank Notes */\n  BankNotes = 'BN',\n  /** Corp. Mortgage-backed Securities */\n  Corp = 'CMBS',\n  /** Certificate Of Participation */\n  CertificateOfParticipation = 'COFP',\n  /** No Security Type */\n  NoSecurityType = 'NONE',\n  /** US Treasury Note (Deprecated Value Use TNOTE) */\n  USTreasuryNoteOld = 'UST',\n  PrivateExportFunding = 'PEF',\n  /** Dual Currency */\n  DualCurrency = 'DUAL',\n  /** FX Forward */\n  FXForward = 'FXFWD',\n  Collar = 'CLLR',\n  /** Securities Loan */\n  SecuritiesLoan = 'SECLOAN',\n  EuroSovereigns = 'EUSOV',\n  /** Bridge Loan */\n  BridgeLoan = 'BRIDGE',\n  /** Bill Of Exchanges */\n  BillOfExchanges = 'BOX',\n  /** Collateralized Mortgage Obligation */\n  CollateralizedMortgageObligation = 'CMO',\n  /** General Obligation Bonds */\n  GeneralObligationBonds = 'GO',\n  /** US Treasury Bill (Deprecated Value Use TBILL) */\n  USTreasuryBillOld = 'USTB',\n  USDSupranationalCoupons = 'SUPRA',\n  /** Euro Corporate Bond */\n  EuroCorporateBond = 'EUCORP',\n  /** FX Swap */\n  FXSwap = 'FXSWAP',\n  /** Commodity swap */\n  CommoditySwap = 'CMDTYSWAP',\n  /** Securities Pledge */\n  SecuritiesPledge = 'SECPLEDGE',\n  /** Canadian Provincial Bonds */\n  CanadianProvincialBonds = 'PROV',\n  /** Letter Of Credit */\n  LetterOfCredit = 'LOFC',\n  /** Canadian Money Markets */\n  CanadianMoneyMarkets = 'CAMM',\n  /** IOETTE Mortgage */\n  IOETTEMortgage = 'IET',\n  /** Mandatory Tender */\n  MandatoryTender = 'MT',\n  /** Euro Corporate Floating Rate Notes */\n  EuroCorporateFloatingRateNotes = 'EUFRN',\n  /** Non-deliverable Swap */\n  NonDeliverableSwap = 'FXNDS',\n  /** Exotic */\n  Exotic = 'EXOTIC',\n  /** Delivery versus pledge */\n  DeliveryVersusPledge = 'DVPLDG',\n  /** Treasury Bill - non US */\n  TreasuryBill = 'TB',\n  /** Swing Line Facility */\n  SwingLineFacility = 'SWING',\n  /** Certificate Of Deposit */\n  CertificateOfDeposit = 'CD',\n  /** Mortgage-backed Securities */\n  MortgageBackedSecurities = 'MBS',\n  /** Revenue Anticipation Note */\n  RevenueAnticipationNote = 'RAN',\n  /** Wildcard entry for use on Security Definition Request */\n  Wildcard = '?',\n  /** US Corporate Floating Rate Notes */\n  USCorporateFloatingRateNotes = 'FRN',\n  /** FX Bank Note */\n  FXBankNote = 'FXBN',\n  /** Options on Combo */\n  OptionsOnCombo = 'OOC',\n  Floor = 'FLR',\n  CollateralBasket = 'COLLBSKT',\n  /** US Treasury Bond */\n  USTreasuryBond = 'TBOND',\n  /** Debtor In Possession */\n  DebtorInPossession = 'DINP',\n  /** Call Loans */\n  CallLoans = 'CL',\n  /** Mortgage Interest Only */\n  MortgageInterestOnly = 'MIO',\n  /** Revenue Bonds */\n  RevenueBonds = 'REV',\n  /** Cash */\n  Cash = 'CASH',\n  /** Indexed Linked */\n  IndexedLinked = 'XLINKD',\n  ForeignCurrencyDiscountNote = 'FXDN',\n  /** Forward Rate Agreement */\n  FRA = 'FRA',\n  /** Structured finance product */\n  StructuredFinanceProduct = 'SFP',\n  /** Interest Strip From Any Bond Or Note */\n  InterestStripFromAnyBondOrNote = 'TINT',\n  /** Defaulted */\n  Defaulted = 'DEFLTED',\n  /** Commercial Paper */\n  CommercialPaper = 'CP',\n  /** Mortgage Principal Only */\n  MortgagePrincipalOnly = 'MPO',\n  /** Special Assessment */\n  SpecialAssessment = 'SPCLA',\n  /** Other */\n  Other = 'Other',\n  /** Structured Notes */\n  StructuredNotes = 'STRUCT',\n  /** Future */\n  Future = 'FUT',\n  /** US Treasury Bill */\n  USTreasuryBill = 'TBILL',\n  /** Treasury Inflation Protected Securities */\n  TreasuryInflationProtectedSecurities = 'TIPS',\n  /** Withdrawn */\n  Withdrawn = 'WITHDRN',\n  /** Deposit Notes */\n  DepositNotes = 'DN',\n  /** Mortgage Private Placement */\n  MortgagePrivatePlacement = 'MPP',\n  /** Special Obligation */\n  SpecialObligation = 'SPCLO',\n  /** Exchange traded note */\n  ExchangeTradedNote = 'ETN',\n  /** Yankee Corporate Bond */\n  YankeeCorporateBond = 'YANK',\n  /** Derivative forward */\n  DerivativeForward = 'FWD',\n  /** Margin loan */\n  MarginLoan = 'MRGNLOAN',\n  /** Principal Strip Of A Callable Bond Or Note */\n  PrincipalStripOfACallableBondOrNote = 'TCAL',\n  /** Replaced */\n  Replaced = 'REPLACD',\n  /** Euro Certificate Of Deposit */\n  EuroCertificateOfDeposit = 'EUCD',\n  /** Miscellaneous Pass-through */\n  MiscellaneousPassThrough = 'MPT',\n  /** Special Tax */\n  SpecialTax = 'SPCLT',\n  /** Offshore issued Chinese Yuan (CNY) denominated corporate bond */\n  OffshoreIssuedChineseYuanCorporateBond = 'DIMSUMCORP',\n  /** Interest Rate Swap */\n  InterestRateSwap = 'IRS',\n  /** Total return swap */\n  TotalReturnSwap = 'TRS',\n  /** Principal Strip From A Non-Callable Bond Or Note */\n  PrincipalStripFromANonCallableBondOrNote = 'TPRN',\n  /** Matured */\n  Matured = 'MATURED',\n  /** Euro Commercial Paper */\n  EuroCommercialPaper = 'EUCP',\n  Pfandbrief = 'PFAND',\n  /** Tax Anticipation Note */\n  TaxAnticipationNote = 'TAN',\n  /** Securitized derivative */\n  SecuritizedDerivative = 'SECDERIV',\n  /** Preferred Corporate Bond */\n  PreferredCorporateBond = 'PRCORP',\n  /** Loan/lease */\n  LoanLease = 'LOANLEASE',\n  /** US Treasury Note */\n  USTreasuryNote = 'TNOTE',\n  /** Amended and restated */\n  Amended = 'AMENDED',\n  /** Liquidity Note */\n  LiquidityNote = 'LQN',\n  /** To Be Announced */\n  ToBeAnnounced = 'TBA',\n  /** Tax Allocation */\n  TaxAllocation = 'TAXA',\n  /** Exchange Traded Fund */\n  ExchangeTradedFund = 'ETF',\n  /** Offshore issued Chinese Yuan (CNY) denominated sovereign bond */\n  OffshoreIssuedChineseYuanSovereignBond = 'DIMSUMSOV',\n  /** Retired */\n  Retired = 'RETIRED',\n  /** Medium Term Notes */\n  MediumTermNotes = 'MTN',\n  /** Tax Exempt Commercial Paper */\n  TaxExemptCommercialPaper = 'TECP',\n  DigitalAsset = 'DIGITAL',\n  /** Options on Futures */\n  OptionsOnFutures = 'OOF',\n  SovereignBond = 'SOV',\n  /** Overnight */\n  Overnight = 'ONITE',\n  /** Taxable Municipal CP */\n  TaxableMunicipalCP = 'TMCP',\n  /** Options on Physical - use not recommended */\n  OptionsOnPhysical = 'OOP',\n  /** US Treasury Floating Rate Note */\n  USTreasuryFloatingRateNote = 'TFRN',\n  /** Promissory Note */\n  PromissoryNote = 'PN',\n  /** Short Term Loan Note */\n  ShortTermLoanNote = 'STN',\n  /** Tax Revenue Anticipation Note */\n  TaxRevenueAnticipationNote = 'TRAN',\n  /** Option */\n  Option = 'OPT',\n  /** Plazos Fijos */\n  PlazosFijos = 'PZFJ',\n  /** Variable Rate Demand Note */\n  VariableRateDemandNote = 'VRDN',\n  /** Spot forward */\n  SpotForward = 'SPOTFWD',\n  /** Secured Liquidity Note */\n  SecuredLiquidityNote = 'SLQN',\n  /** Warrant */\n  Warrant = 'WAR',\n  /** Swap option */\n  SwapOption = 'SWAPTION',\n  /** Time Deposit */\n  TimeDeposit = 'TD',\n  /** Municipal Interest Bearing Commercial Paper */\n  MunicipalInterestBearingCommercialPaper = 'MCPIB',\n  /** Transmission */\n  Transmission = 'XMISSION',\n  /** Taxable Municipal Bond */\n  TaxableMunicipalBond = 'TMB',\n  /** General type for a contract based on an established index */\n  Index = 'INDEX',\n  /** Term Liquidity Note */\n  TermLiquidityNote = 'TLQN',\n  /** Variable Rate Demand Obligation */\n  VariableRateDemandObligation = 'VRDO',\n  /** Bond basket */\n  BondBasket = 'BDBSKT',\n  /** Extended Comm Note */\n  ExtendedCommNote = 'XCN',\n  /** Contract for difference */\n  ContractForDifference = 'CFD',\n  /** Yankee Certificate Of Deposit */\n  YankeeCertificateOfDeposit = 'YCD',\n  /** Correlation swap */\n  CorrelationSwap = 'CRLTNSWAP',\n  BankAcceptedBill = 'BAB',\n  /** Dividend swap */\n  DiviendSwap = 'DVDNDSWAP',\n  /** Short Term Bank Note */\n  ShortTermBankNote = 'BNST',\n  /** Equity basket */\n  EquityBasket = 'EQBSKT',\n  /** Callable Commercial Paper */\n  CallableCommercialPaper = 'CLCP',\n  /** Equity forward */\n  EquityForward = 'EQFWD',\n  /** Commercial Note */\n  CommercialNote = 'CN',\n  /** Return swap */\n  ReturnSwap = 'RTRNSWAP',\n  /** Interest Bearing Commercial Paper */\n  InterestBearingCommercialPaper = 'CPIB',\n  /** Variance swap */\n  VarianceSwap = 'VARSWAP',\n  /** Euro Medium Term Note */\n  EuroMediumTermNote = 'EUMTN',\n  /** Portfolio swap */\n  PortfolioSwaps = 'PRTFLIOSWAP',\n  /** Euro Negotiable Commercial Paper */\n  EuroNegotiableCommercialPaper = 'EUNCP',\n  /** Futures on a Swap */\n  FuturesOnASwap = 'FUTSWAP',\n  /** Euro Structured Liquidity Note */\n  EuroStructuredLiquidityNote = 'EUSTLQN',\n  /** Forwards on a Swap */\n  ForwardsOnASwap = 'FWDSWAP',\n  /** Euro Time Deposit */\n  EuroTimeDeposit = 'EUTD',\n  /** Forward Freight Agreement */\n  ForwardFreightAgreement = 'FWDFRTAGMT',\n  /** Jumbo Certificate of Deposit */\n  JumboCertificateOfDeposit = 'JCD',\n  /** Spread Betting */\n  SpreadBetting = 'SPREADBET',\n  /** Money Market Fund */\n  MoneyMarketFund = 'MMF',\n  /** Exchange traded commodity */\n  ExchangeTradedCommodity = 'ETC',\n  MasterNote = 'MN',\n  /** Negotiable Certificate of Deposit */\n  NegotiableCertificateOfDeposit = 'NCD',\n  /** Negotiable Commercial Paper */\n  NegotiableCommercialPaper = 'NCP',\n  /** Retail Certificate of Deposit */\n  RetailCertificateOfDeposit = 'RCD',\n  /** Term Deposit Receipt */\n  TermDepositReceipt = 'TDR',\n}\n", "/**\n * Identifies the Standing Instruction database used\n * tag: 169\n * @readonly\n * @enum {number} (int)\n */\nexport enum StandInstDbType {\n  /** Other */\n  Other = 0,\n  /** DTC SID */\n  DTCSID = 1,\n  /** Thomson ALERT */\n  ThomsonALERT = 2,\n  /** A Global Custodian (StandInstDBName (70) must be provided) */\n  AGlobalCustodian = 3,\n  /** AccountNet */\n  AccountNet = 4,\n}\n", "/**\n * Identifies type of settlement\n * tag: 172\n * @readonly\n * @enum {number} (int)\n */\nexport enum SettlDeliveryType {\n  /** \"Versus. Payment\": Deliver (if Sell) or Receive (if Buy) vs. (Against) Payment */\n  Versus = 0,\n  /** \"Free\": Deliver (if Sell) or Receive (if Buy) Free */\n  Free = 1,\n  /** Tri-Party */\n  TriParty = 2,\n  /** Hold In Custody */\n  HoldInCustody = 3,\n}\n", "/**\n * Identifies the type of Allocation linkage when AllocLinkID(196) is used.\n * tag: 197\n * @readonly\n * @enum {number} (int)\n */\nexport enum AllocLinkType {\n  /** FX Netting */\n  FXNetting = 0,\n  /** FX Swap */\n  FXSwap = 1,\n}\n", "/**\n * Indicates whether an option contract is a put, call, chooser or undetermined.\n * tag: 201\n * @readonly\n * @enum {number} (int)\n */\nexport enum PutOrCall {\n  Put = 0,\n  Call = 1,\n  Other = 2,\n  Chooser = 3,\n}\n", "/**\n * Used for derivative products, such as options\n * tag: 203\n * @readonly\n * @enum {number} (int)\n */\nexport enum CoveredOrUncovered {\n  /** Covered */\n  Covered = 0,\n  /** Uncovered */\n  Uncovered = 1,\n}\n", "/**\n * Indicates whether or not details should be communicated to BrokerOfCredit (i.e. step-in broker).\n * tag: 208\n * @readonly\n * @enum {string} (Boolean)\n */\nexport enum NotifyBrokerOfCredit {\n  /** Details should not be communicated */\n  DetailsShouldNotBeCommunicated = 'N',\n  /** Details should be communicated */\n  DetailsShouldBeCommunicated = 'Y',\n}\n", "/**\n * Indicates how the receiver (i.e. third party) of allocation information should handle/process the account details.\n * tag: 209\n * @readonly\n * @enum {number} (int)\n */\nexport enum AllocHandlInst {\n  /** Match */\n  Match = 1,\n  /** Forward */\n  Forward = 2,\n  /** Forward and Match */\n  ForwardAndMatch = 3,\n  AutoClaimGiveUp = 4,\n}\n", "/**\n * Indicates the type of RoutingID (217) specified.\n * tag: 216\n * @readonly\n * @enum {number} (int)\n */\nexport enum RoutingType {\n  /** Target Firm */\n  TargetFirm = 1,\n  /** Target List */\n  TargetList = 2,\n  /** Block Firm */\n  BlockFirm = 3,\n  /** Block List */\n  BlockList = 4,\n  /** Target Person */\n  TargetPerson = 5,\n  /** Block Person */\n  BlockPerson = 6,\n}\n", "export enum BenchmarkCurveName {\n  /** EONIA */\n  EONIA = 'EONIA',\n  /** EUREPO */\n  EUREPO = 'EUREPO',\n  Euribor = 'Euribor',\n  /** FutureSWAP */\n  FutureSWAP = 'FutureSWAP',\n  /** LIBID */\n  LIBID = 'LIBID',\n  /** LIBOR (London Inter-Bank Offer) */\n  LIBOR = 'LIBOR',\n  /** MuniAAA */\n  MuniAAA = 'MuniAAA',\n  /** OTHER */\n  OTHER = 'OTHER',\n  /** Pfandbriefe */\n  Pfandbriefe = 'Pfandbriefe',\n  /** SONIA */\n  SONIA = 'SONIA',\n  /** SWAP */\n  SWAP = 'SWAP',\n  /** Treasury */\n  Treasury = 'Treasury',\n  FedFundRateEffective = 'FEDEFF',\n  FedOpen = 'FEDOPEN',\n  /** Euro interbank offer rate */\n  EURIBOR = 'EURIBOR',\n  /** Australian Bank Bill Swap Rate */\n  AUBSW = 'AUBSW',\n  /** Budapest Bank Offered Rate */\n  BUBOR = 'BUBOR',\n  /** Canadian Dollar Offered Rate */\n  CDOR = 'CDOR',\n  /** Copenhagen Interbank Offered Rate */\n  CIBOR = 'CIBOR',\n  /** Euro Overnight Index Average Swap Rate */\n  EONIASWAP = 'EONIASWAP',\n  ESTR = 'ESTR',\n  /** Euro Dollar Rate */\n  EURODOLLAR = 'EURODOLLAR',\n  /** Euro Swiss Franc Rate */\n  EUROSWISS = 'EUROSWISS',\n  /** DTCC General Collateral Finance Repo Index */\n  GCFREPO = 'GCFREPO',\n  /** ICE Swap Rate */\n  ISDAFIX = 'ISDAFIX',\n  /** Johannesburg Interbank Agreed Rate */\n  JIBAR = 'JIBAR',\n  /** Moscow Prime Offered Rate */\n  MOSPRIM = 'MOSPRIM',\n  /** Nigeria Three Month Interbank Rate */\n  NIBOR = 'NIBOR',\n  /** Czech Republic Interbank Offered Rate */\n  PRIBOR = 'PRIBOR',\n  SOFR = 'SOFR',\n  /** Stockholm Interbank Offered Rate */\n  STIBOR = 'STIBOR',\n  /** Bank of Israel Interbank Offered Rate */\n  TELBOR = 'TELBOR',\n  /** Tokyo Interbank Offered Rate */\n  TIBOR = 'TIBOR',\n  /** Warsaw Interbank Offered Rate */\n  WIBOR = 'WIBOR',\n  AONIA = 'AONIA',\n  AONIAR = 'AONIA-R',\n  /** New Zealand Bank Bill Market Rate */\n  BKBM = 'BKBM',\n  /** Republic of Korea 90-Day Certificate of Deposit Rate */\n  CD19D = 'CD91D',\n  /** Canadian Overnight Repo Rate Average */\n  CORRA = 'CORRA',\n  /** Danish Interbank Interest Rate-Tomorrow or Next */\n  DIRRTN = 'DIRR-TN',\n  /** Emirates Interbank Offered Rate */\n  EIBOR = 'EIBOR',\n  /** China Interbank Overnight Repo Rate */\n  FixingRepoRate = 'FixingRepoRate',\n  /** Hong Kong Interbank Offered Rate */\n  HIBOR = 'HIBOR',\n  /** Colombia Overnight Interbank Reference Rate */\n  IBR = 'IBR',\n  /** Kuala Lumpur Interbank Offered Rate */\n  KLIBOR = 'KLIBOR',\n  /** Mumbia Interbank Offered Rate */\n  MIBOR = 'MIBOR',\n  /** New Zealand Overnight Indexed Swaps (OIS) */\n  NZONIA = 'NZONIA',\n  /** Philippines Interbank Reference Rate */\n  PHIREF = 'PHIREF',\n  /** Reykjavik Interbank Offered Rate */\n  REIBOR = 'REIBOR',\n  /** Saudi Arabian Interbank Offered Rate */\n  SAIBOR = 'SAIBOR',\n  /** Swiss Average Rate Overnight */\n  SARON = 'SARON',\n  /** Singapore Swap Offer Rate */\n  SORA = 'SORA',\n  /** Turkish Lira Overnight Reference Rate */\n  TLREF = 'TLREF',\n  /** Mexico Interbank Equilibrium Interest Rate */\n  TIIE = 'TIIE',\n  /** Thai Baht Interest Rate Fixing */\n  THBFIX = 'THBFIX',\n  /** Tokyo Overnight Average Rate */\n  TONAR = 'TONAR',\n}\n", "export enum StipulationType {\n  /** Alternative Minimum Tax (Y/N) */\n  AlternativeMinimumTax = 'AMT',\n  IncurredRecovery = 'INCURRCVY',\n  /** Absolute Prepayment Speed */\n  AbsolutePrepaymentSpeed = 'ABS',\n  /** Auto Reinvestment at <rate> or better */\n  AutoReinvestment = 'AUTOREINV',\n  AdditionalTerm = 'ADDTRM',\n  /** Constant Prepayment Penalty */\n  ConstantPrepaymentPenalty = 'CPP',\n  /** Bank qualified (Y/N) */\n  BankQualified = 'BANKQUAL',\n  ModifiedEquityDelivery = 'MODEQTYDLVY',\n  /** Constant Prepayment Rate */\n  ConstantPrepaymentRate = 'CPR',\n  /** Bargain conditions (see StipulationValue (234) for values) */\n  BargainConditions = 'BGNCON',\n  NoReferenceOblication = 'NOREFOBLIG',\n  /** Constant Prepayment Yield */\n  ConstantPrepaymentYield = 'CPY',\n  /** Coupon range */\n  CouponRange = 'COUPON',\n  UnknownReferenceObligation = 'UNKREFOBLIG',\n  /** final CPR of Home Equity Prepayment Curve */\n  FinalCPROfHomeEquityPrepaymentCurve = 'HEP',\n  /** ISO Currency Code */\n  ISOCurrencyCode = 'CURRENCY',\n  AllGuarantees = 'ALLGUARANTEES',\n  /** Percent of Manufactured Housing Prepayment Curve */\n  PercentOfManufacturedHousingPrepaymentCurve = 'MHP',\n  /** Custom start/end date */\n  CustomStart = 'CUSTOMDATE',\n  ReferencePrice = 'REFPX',\n  /** Monthly Prepayment Rate */\n  MonthlyPrepaymentRate = 'MPR',\n  /** Geographics and % range (ex. 234=CA 0-80 [minimum of 80% California assets]) */\n  Geographics = 'GEOG',\n  ReferencePolicy = 'REFPOLICY',\n  /** Percent of Prospectus Prepayment Curve */\n  PercentOfProspectusPrepaymentCurve = 'PPC',\n  /** Valuation Discount */\n  ValuationDiscount = 'HAIRCUT',\n  SecuredList = 'SECRDLIST',\n  /** Percent of BMA Prepayment Curve */\n  PercentOfBMAPrepaymentCurve = 'PSA',\n  /** Insured (Y/N) */\n  Insured = 'INSURED',\n  /** Single Monthly Mortality */\n  SingleMonthlyMortality = 'SMM',\n  /** Year Or Year/Month of Issue (ex. 234=2002/09) */\n  IssueDate = 'ISSUE',\n  /** Issuer's ticker */\n  Issuer = 'ISSUER',\n  /** issue size range */\n  IssueSizeRange = 'ISSUESIZE',\n  /** Lookback Days */\n  LookbackDays = 'LOOKBACK',\n  /** Explicit lot identifier */\n  ExplicitLotIdentifier = 'LOT',\n  /** Lot Variance (value in percent maximum over- or under-allocation allowed) */\n  LotVariance = 'LOTVAR',\n  /** Maturity Year And Month */\n  MaturityYearAndMonth = 'MAT',\n  /** Maturity range */\n  MaturityRange = 'MATURITY',\n  /** Maximum substitutions (Repo) */\n  MaximumSubstitutions = 'MAXSUBS',\n  /** Minimum denomination */\n  MinimumDenomination = 'MINDNOM',\n  /** Minimum increment */\n  MinimumIncrement = 'MININCR',\n  /** Minimum quantity */\n  MinimumQuantity = 'MINQTY',\n  /** Payment frequency, calendar */\n  PaymentFrequency = 'PAYFREQ',\n  /** Number Of Pieces */\n  NumberOfPieces = 'PIECES',\n  /** Pools Maximum */\n  PoolsMaximum = 'PMAX',\n  /** Pools per Lot */\n  PoolsPerLot = 'PPL',\n  /** Pools per Million */\n  PoolsPerMillion = 'PPM',\n  /** Pools per Trade */\n  PoolsPerTrade = 'PPT',\n  /** Price Range */\n  PriceRange = 'PRICE',\n  /** Pricing frequency */\n  PricingFrequency = 'PRICEFREQ',\n  /** Production Year */\n  ProductionYear = 'PROD',\n  /** Call protection */\n  CallProtection = 'PROTECT',\n  /** Purpose */\n  Purpose = 'PURPOSE',\n  /** Benchmark price source */\n  BenchmarkPriceSource = 'PXSOURCE',\n  /** Rating source and range */\n  RatingSourceAndRange = 'RATING',\n  /** Type Of Redemption - values are: NonCallable, Prefunded, EscrowedToMaturity, Putable, Convertible */\n  TypeOfRedemption = 'REDEMPTION',\n  /** Restricted (Y/N) */\n  Restricted = 'RESTRICTED',\n  /** Market Sector */\n  MarketSector = 'SECTOR',\n  /** Security Type included or excluded */\n  SecurityTypeIncludedOrExcluded = 'SECTYPE',\n  /** Structure */\n  Structure = 'STRUCT',\n  /** Substitutions frequency (Repo) */\n  SubstitutionsFrequency = 'SUBSFREQ',\n  /** Substitutions left (Repo) */\n  SubstitutionsLeft = 'SUBSLEFT',\n  /** Freeform Text */\n  FreeformText = 'TEXT',\n  /** Trade Variance (value in percent maximum over- or under-allocation allowed) */\n  TradeVariance = 'TRDVAR',\n  /** Weighted Average Coupon - value in percent (exact or range) plus \"Gross\" or \"Net\" of servicing spread (the default) (ex. 234=6.5-Net [minimum of 6.5% net of servicing fee]) */\n  WeightedAverageCoupon = 'WAC',\n  /** Weighted Average Life Coupon - value in percent (exact or range) */\n  WeightedAverageLifeCoupon = 'WAL',\n  /** Weighted Average Loan Age - value in months (exact or range) */\n  WeightedAverageLoanAge = 'WALA',\n  /** Weighted Average Maturity - value in months (exact or range) */\n  WeightedAverageMaturity = 'WAM',\n  /** Whole Pool (Y/N) */\n  WholePool = 'WHOLE',\n  /** Yield Range */\n  YieldRange = 'YIELD',\n  OriginalAmount = 'ORIGAMT',\n  /** Average FICO Score */\n  AverageFICOScore = 'AVFICO',\n  /** Pool effective date */\n  PoolEffectiveDate = 'POOLEFFDT',\n  /** Average Loan Size */\n  AverageLoanSize = 'AVSIZE',\n  PoolInitialFactor = 'POOLINITFCTR',\n  /** Maximum Loan Balance */\n  MaximumLoanBalance = 'MAXBAL',\n  Tranche = 'TRANCHE',\n  /** Pool Identifier */\n  PoolIdentifier = 'POOL',\n  Substitution = 'SUBSTITUTION',\n  /** Type of Roll trade */\n  TypeOfRollTrade = 'ROLLTYPE',\n  MULTEXCHFLLBCK = 'MULTEXCHFLLBCK',\n  /** Reference to rolling or closing trade */\n  ReferenceToRollingOrClosingTrade = 'REFTRADE',\n  COMPSECFLLBCK = 'COMPSECFLLBCK',\n  /** Principal to rolling or closing trade */\n  PrincipalOfRollingOrClosingTrade = 'REFPRIN',\n  LOCLJRSDCTN = 'LOCLJRSDCTN',\n  /** Interest of rolling or closing trade */\n  InterestOfRollingOrClosingTrade = 'REFINT',\n  RELVJRSDCTN = 'RELVJRSDCTN',\n  /** Available offer quantity to be shown to the street */\n  AvailableOfferQuantityToBeShownToTheStreet = 'AVAILQTY',\n  /** Broker's sales credit */\n  BrokerCredit = 'BROKERCREDIT',\n  /** Offer price to be shown to internal brokers */\n  OfferPriceToBeShownToInternalBrokers = 'INTERNALPX',\n  /** Offer quantity to be shown to internal brokers */\n  OfferQuantityToBeShownToInternalBrokers = 'INTERNALQTY',\n  /** The minimum residual offer quantity */\n  TheMinimumResidualOfferQuantity = 'LEAVEQTY',\n  /** Maximum order size */\n  MaximumOrderSize = 'MAXORDQTY',\n  /** Order quantity increment */\n  OrderQuantityIncrement = 'ORDRINCR',\n  /** Primary or Secondary market indicator */\n  PrimaryOrSecondaryMarketIndicator = 'PRIMARY',\n  /** Broker sales credit override */\n  BrokerSalesCreditOverride = 'SALESCREDITOVR',\n  /** Trader's credit */\n  TraderCredit = 'TRADERCREDIT',\n  /** Discount Rate (when price is denominated in percent of par) */\n  DiscountRate = 'DISCOUNT',\n  /** Yield to Maturity (when YieldType(235) and Yield(236) show a different yield) */\n  YieldToMaturity = 'YTM',\n  /** Interest payoff of rolling or amending trade */\n  InterestPayoffOfRollingOrAmendingTrade = 'PAYOFF',\n}\n", "/**\n * Type of yield. (Note tag # was reserved in FIX 4.1, added in FIX 4.3)\n * tag: 235\n * @readonly\n * @enum {string} (String)\n */\nexport enum YieldType {\n  /** After Tax Yield (Municipals) */\n  AfterTaxYield = 'AFTERTAX',\n  /** Annual Yield */\n  AnnualYield = 'ANNUAL',\n  /** Yield At Issue (Municipals) */\n  YieldAtIssue = 'ATISSUE',\n  /** Yield To Avg Maturity */\n  YieldToAverageMaturity = 'AVGMATURITY',\n  /** Book Yield */\n  BookYield = 'BOOK',\n  /** Yield to Next Call */\n  YieldToNextCall = 'CALL',\n  /** Yield Change Since Close */\n  YieldChangeSinceClose = 'CHANGE',\n  /** Closing Yield */\n  ClosingYield = 'CLOSE',\n  /** Compound Yield */\n  CompoundYield = 'COMPOUND',\n  /** Current Yield */\n  CurrentYield = 'CURRENT',\n  /** Gvnt Equivalent Yield */\n  GvntEquivalentYield = 'GOVTEQUIV',\n  /** True Gross Yield */\n  TrueGrossYield = 'GROSS',\n  /** Yield with Inflation Assumption */\n  YieldWithInflationAssumption = 'INFLATION',\n  /** Inverse Floater Bond Yield */\n  InverseFloaterBondYield = 'INVERSEFLOATER',\n  /** Most Recent Closing Yield */\n  MostRecentClosingYield = 'LASTCLOSE',\n  /** Closing Yield Most Recent Month */\n  ClosingYieldMostRecentMonth = 'LASTMONTH',\n  /** Closing Yield Most Recent Quarter */\n  ClosingYieldMostRecentQuarter = 'LASTQUARTER',\n  /** Closing Yield Most Recent Year */\n  ClosingYieldMostRecentYear = 'LASTYEAR',\n  /** Yield to Longest Average Life */\n  YieldToLongestAverageLife = 'LONGAVGLIFE',\n  /** Mark to Market Yield */\n  MarkToMarketYield = 'MARK',\n  /** Yield to Maturity */\n  YieldToMaturity = 'MATURITY',\n  /** Yield to Next Refund (Sinking Fund Bonds) */\n  YieldToNextRefund = 'NEXTREFUND',\n  /** Open Average Yield */\n  OpenAverageYield = 'OPENAVG',\n  /** Previous Close Yield */\n  PreviousCloseYield = 'PREVCLOSE',\n  /** Proceeds Yield */\n  ProceedsYield = 'PROCEEDS',\n  /** Yield to Next Put */\n  YieldToNextPut = 'PUT',\n  /** Semi-annual Yield */\n  SemiAnnualYield = 'SEMIANNUAL',\n  /** Yield to Shortest Average Life */\n  YieldToShortestAverageLife = 'SHORTAVGLIFE',\n  /** Simple Yield */\n  SimpleYield = 'SIMPLE',\n  /** Tax Equivalent Yield */\n  TaxEquivalentYield = 'TAXEQUIV',\n  /** Yield to Tender Date */\n  YieldToTenderDate = 'TENDER',\n  /** True Yield */\n  TrueYield = 'TRUE',\n  /** Yield Value Of 1/32 */\n  YieldValueOf32nds = 'VALUE1_32',\n  /** Yield To Worst */\n  YieldToWorst = 'WORST',\n}\n", "/**\n * Driver and part of trade in the event that the Security Master file was wrong at the point of entry(Note tag # was reserved in FIX 4.1, added in FIX 4.3)\n * tag: 258\n * @readonly\n * @enum {string} (Boolean)\n */\nexport enum TradedFlatSwitch {\n  /** Not Traded Flat */\n  NotTradedFlat = 'N',\n  /** Traded Flat */\n  TradedFlat = 'Y',\n}\n", "/**\n * Subscription Request Type\n * tag: 263\n * @readonly\n * @enum {string} (char)\n */\nexport enum SubscriptionRequestType {\n  /** Snapshot */\n  Snapshot = '0',\n  /** Snapshot + Updates (Subscribe) */\n  SnapshotAndUpdates = '1',\n  /** Disable previous Snapshot + Update Request (Unsubscribe) */\n  DisablePreviousSnapshot = '2',\n}\n", "/**\n * Specifies the type of Market Data update.\n * tag: 265\n * @readonly\n * @enum {number} (int)\n */\nexport enum MDUpdateType {\n  /** Full refresh */\n  FullRefresh = 0,\n  /** Incremental refresh */\n  IncrementalRefresh = 1,\n}\n", "/**\n * Specifies whether or not book entries should be aggregated. (Not specified) = broker option\n * tag: 266\n * @readonly\n * @enum {string} (Boolean)\n */\nexport enum AggregatedBook {\n  /** book entries to be aggregated */\n  BookEntriesToBeAggregated = 'Y',\n  /** book entries should not be aggregated */\n  BookEntriesShouldNotBeAggregated = 'N',\n}\n", "/**\n * Type of market data entry.\n * tag: 269\n * @readonly\n * @enum {string} (char)\n */\nexport enum MDEntryType {\n  /** Bid */\n  Bid = '0',\n  /** Offer */\n  Offer = '1',\n  /** Trade */\n  Trade = '2',\n  IndexValue = '3',\n  /** Opening price */\n  OpeningPrice = '4',\n  /** Closing price */\n  ClosingPrice = '5',\n  /** Settlement price */\n  SettlementPrice = '6',\n  /** Trading session high price */\n  TradingSessionHighPrice = '7',\n  /** Trading session low price */\n  TradingSessionLowPrice = '8',\n  VWAP = '9',\n  /** Imbalance */\n  Imbalance = 'A',\n  /** Trade volume */\n  TradeVolume = 'B',\n  /** Open interest */\n  OpenInterest = 'C',\n  /** Composite underlying price */\n  CompositeUnderlyingPrice = 'D',\n  /** Simulated sell price */\n  SimulatedSellPrice = 'E',\n  /** Simulated buy price */\n  SimulatedBuyPrice = 'F',\n  /** Margin rate */\n  MarginRate = 'G',\n  /** Mid-price */\n  MidPrice = 'H',\n  /** Empty book */\n  EmptyBook = 'J',\n  /** Settle high price */\n  SettleHighPrice = 'K',\n  /** Settle low price */\n  SettleLowPrice = 'L',\n  /** Prior settle price */\n  PriorSettlePrice = 'M',\n  /** Session high bid */\n  SessionHighBid = 'N',\n  /** Session low offer */\n  SessionLowOffer = 'O',\n  /** Early prices */\n  EarlyPrices = 'P',\n  /** Auction clearing price */\n  AuctionClearingPrice = 'Q',\n  /** Swap Value Factor (SVF) for swaps cleared through a central counterparty (CCP) */\n  SwapValueFactor = 'S',\n  /** Daily value adjustment for long positions */\n  DailyValueAdjustmentForLongPositions = 'R',\n  /** Cumulative value adjustment for long positions */\n  CumulativeValueAdjustmentForLongPositions = 'T',\n  /** Daily value adjustment for short positions */\n  DailyValueAdjustmentForShortPositions = 'U',\n  /** Cumulative value adjustment for short positions */\n  CumulativeValueAdjustmentForShortPositions = 'V',\n  /** Fixing price */\n  FixingPrice = 'W',\n  /** Cash rate */\n  CashRate = 'X',\n  /** Recovery rate */\n  RecoveryRate = 'Y',\n  /** Recovery rate for long positions */\n  RecoveryRateForLong = 'Z',\n  /** Recovery rate for short positions */\n  RecoveryRateForShort = 'a',\n  /** Market bid */\n  MarketBid = 'b',\n  /** Market offer */\n  MarketOffer = 'c',\n  /** Short sale minimum price */\n  ShortSaleMinPrice = 'd',\n  /** Previous closing price */\n  PreviousClosingPrice = 'e',\n  ThresholdLimitPriceBanding = 'g',\n  DailyFinancingValue = 'h',\n  AccruedFinancingValue = 'i',\n  TWAP = 't',\n}\n", "/**\n * Direction of the \"tick\".\n * tag: 274\n * @readonly\n * @enum {string} (char)\n */\nexport enum TickDirection {\n  /** Plus Tick */\n  PlusTick = '0',\n  /** Zero-Plus Tick */\n  ZeroPlusTick = '1',\n  /** Minus Tick */\n  MinusTick = '2',\n  /** Zero-Minus Tick */\n  ZeroMinusTick = '3',\n}\n", "/**\n * Space-delimited list of conditions describing a quote.\n * tag: 276\n * @readonly\n * @enum {string} (MultipleStringValue)\n */\nexport enum QuoteCondition {\n  /** Open/Active */\n  Open = 'A',\n  /** Closed/Inactive */\n  Closed = 'B',\n  /** Exchange Best */\n  ExchangeBest = 'C',\n  /** Consolidated Best */\n  ConsolidatedBest = 'D',\n  /** Locked */\n  Locked = 'E',\n  /** Crossed */\n  Crossed = 'F',\n  /** Depth */\n  Depth = 'G',\n  /** Fast Trading */\n  FastTrading = 'H',\n  /** Non-Firm */\n  NonFirm = 'I',\n  /** Manual/Slow Quote */\n  Manual = 'L',\n  /** Outright Price */\n  OutrightPrice = 'J',\n  /** Implied Price */\n  ImpliedPrice = 'K',\n  /** Depth on Offer */\n  DepthOnOffer = 'M',\n  /** Depth on Bid */\n  DepthOnBid = 'N',\n  /** Closing */\n  Closing = 'O',\n  /** News Dissemination */\n  NewsDissemination = 'P',\n  /** Trading Range */\n  TradingRange = 'Q',\n  /** Order Influx */\n  OrderInflux = 'R',\n  /** Due to Related */\n  DueToRelated = 'S',\n  /** News Pending */\n  NewsPending = 'T',\n  /** Additional Info */\n  AdditionalInfo = 'U',\n  /** Additional Info due to related */\n  AdditionalInfoDueToRelated = 'V',\n  /** Resume */\n  Resume = 'W',\n  /** View of Common */\n  ViewOfCommon = 'X',\n  /** Volume Alert */\n  VolumeAlert = 'Y',\n  /** Order Imbalance */\n  OrderImbalance = 'Z',\n  /** Equipment Changeover */\n  EquipmentChangeover = 'a',\n  /** No Open / No Resume */\n  NoOpen = 'b',\n  /** Regular ETH */\n  RegularETH = 'c',\n  /** Automatic Execution */\n  AutomaticExecution = 'd',\n  /** Automatic Execution ETH */\n  AutomaticExecutionETH = 'e',\n  /** Fast Market ETH */\n  FastMarketETH = 'f',\n  /** Inactive ETH */\n  InactiveETH = 'g',\n  /** Rotation */\n  Rotation = 'h',\n  /** Rotation ETH */\n  RotationETH = 'i',\n  /** Halt */\n  Halt = 'j',\n  /** Halt ETH */\n  HaltETH = 'k',\n  /** Due to News Dissemination */\n  DueToNewsDissemination = 'l',\n  /** Due to News Pending */\n  DueToNewsPending = 'm',\n  /** Trading Resume */\n  TradingResume = 'n',\n  /** Out of Sequence */\n  OutOfSequence = 'o',\n  /** Bid Specialist */\n  BidSpecialist = 'p',\n  /** Offer Specialist */\n  OfferSpecialist = 'q',\n  /** Bid Offer Specialist */\n  BidOfferSpecialist = 'r',\n  /** End of Day SAM */\n  EndOfDaySAM = 's',\n  /** Forbidden SAM */\n  ForbiddenSAM = 't',\n  /** Frozen SAM */\n  FrozenSAM = 'u',\n  /** PreOpening SAM */\n  PreOpeningSAM = 'v',\n  /** Opening SAM */\n  OpeningSAM = 'w',\n  /** Open SAM */\n  OpenSAM = 'x',\n  /** Surveillance SAM */\n  SurveillanceSAM = 'y',\n  /** Suspended SAM */\n  SuspendedSAM = 'z',\n  /** Reserved SAM */\n  ReservedSAM = '0',\n  /** No Active SAM */\n  NoActiveSAM = '1',\n  /** Restricted */\n  Restricted = '2',\n  /** Rest of Book VWAP */\n  RestOfBookVWAP = '3',\n  /** Better Prices in Conditional Orders */\n  BetterPricesInConditionalOrders = '4',\n  /** Median Price */\n  MedianPrice = '5',\n  /** Full Curve */\n  FullCurve = '6',\n  /** Flat Curve */\n  FlatCurve = '7',\n}\n", "/**\n * Type of market data entry.\n * tag: 277\n * @readonly\n * @enum {string} (MultipleStringValue)\n */\nexport enum TradeCondition {\n  /** Cash (only) Market */\n  Cash = 'A',\n  /** Average Price Trade */\n  AveragePriceTrade = 'B',\n  /** Cash Trade (same day clearing) */\n  CashTrade = 'C',\n  /** Next Day (only)Market */\n  NextDay = 'D',\n  /** Opening/Reopening Trade Detail */\n  Opening = 'E',\n  /** Intraday Trade Detail */\n  IntradayTradeDetail = 'F',\n  /** Rule 127 Trade (NYSE) */\n  Rule127Trade = 'G',\n  /** Rule 155 Trade (AMEX) */\n  Rule155Trade = 'H',\n  /** Sold Last (late reporting) */\n  SoldLast = 'I',\n  /** Next Day Trade (next day clearing) */\n  NextDayTrade = 'J',\n  /** Opened (late report of opened trade) */\n  Opened = 'K',\n  /** Seller */\n  Seller = 'L',\n  /** Sold (out of sequence) */\n  Sold = 'M',\n  /** Stopped Stock (guarantee of price but does not execute the order) */\n  StoppedStock = 'N',\n  /** Imbalance More Buyers (cannot be used in combination with Q) */\n  ImbalanceMoreBuyers = 'P',\n  /** Imbalance More Sellers (cannot be used in combination with P) */\n  ImbalanceMoreSellers = 'Q',\n  /** Opening Price */\n  OpeningPrice = 'R',\n  /** Bargain Condition (LSE) */\n  BargainCondition = 'S',\n  /** Converted Price Indicator */\n  ConvertedPriceIndicator = 'T',\n  /** Exchange Last */\n  ExchangeLast = 'U',\n  /** Final Price of Session */\n  FinalPriceOfSession = 'V',\n  /** Ex-pit */\n  ExPit = 'W',\n  /** Crossed */\n  Crossed = 'X',\n  /** Trades resulting from manual/slow quote */\n  TradesResultingFromManual = 'Y',\n  /** Trades resulting from intermarket sweep */\n  TradesResultingFromIntermarketSweep = 'Z',\n  /** Volume Only */\n  VolumeOnly = 'a',\n  /** Direct Plus */\n  DirectPlus = 'b',\n  /** Acquisition */\n  Acquisition = 'c',\n  /** Bunched */\n  Bunched = 'd',\n  /** Distribution */\n  Distribution = 'e',\n  /** Bunched Sale */\n  BunchedSale = 'f',\n  /** Split Trade */\n  SplitTrade = 'g',\n  /** Cancel Stopped */\n  CancelStopped = 'h',\n  /** Cancel ETH */\n  CancelETH = 'i',\n  /** Cancel Stopped ETH */\n  CancelStoppedETH = 'j',\n  /** Out of Sequence ETH */\n  OutOfSequenceETH = 'k',\n  /** Cancel Last ETH */\n  CancelLastETH = 'l',\n  /** Sold Last Sale ETH */\n  SoldLastSaleETH = 'm',\n  /** Cancel Last */\n  CancelLast = 'n',\n  /** Sold Last Sale */\n  SoldLastSale = 'o',\n  /** Cancel Open */\n  CancelOpen = 'p',\n  /** Cancel Open ETH */\n  CancelOpenETH = 'q',\n  /** Opened Sale ETH */\n  OpenedSaleETH = 'r',\n  /** Cancel Only */\n  CancelOnly = 's',\n  /** Cancel Only ETH */\n  CancelOnlyETH = 't',\n  /** Late Open ETH */\n  LateOpenETH = 'u',\n  /** Auto Execution ETH */\n  AutoExecutionETH = 'v',\n  /** Reopen */\n  Reopen = 'w',\n  /** Reopen ETH */\n  ReopenETH = 'x',\n  /** Adjusted */\n  Adjusted = 'y',\n  /** Adjusted ETH */\n  AdjustedETH = 'z',\n  /** Spread */\n  Spread = 'AA',\n  /** Spread ETH */\n  SpreadETH = 'AB',\n  /** Straddle */\n  Straddle = 'AC',\n  /** Straddle ETH */\n  StraddleETH = 'AD',\n  /** Stopped */\n  Stopped = 'AE',\n  /** Stopped ETH */\n  StoppedETH = 'AF',\n  /** Regular ETH */\n  RegularETH = 'AG',\n  /** Combo */\n  Combo = 'AH',\n  /** Combo ETH */\n  ComboETH = 'AI',\n  /** Official Closing Price */\n  OfficialClosingPrice = 'AJ',\n  /** Prior Reference Price */\n  PriorReferencePrice = 'AK',\n  /** Stopped Sold Last */\n  StoppedSoldLast = 'AL',\n  /** Stopped Out of Sequence */\n  StoppedOutOfSequence = 'AM',\n  /** Official Closing Price (duplicate enumeration - use 'AJ' instead) */\n  OfficialClosingPriceDup = 'AN',\n  /** Crossed (duplicate enumeration - use 'X' instead) */\n  CrossedOld = 'AO',\n  /** Fast Market */\n  FastMarket = 'AP',\n  /** Automatic Execution */\n  AutomaticExecution = 'AQ',\n  /** Form T */\n  FormT = 'AR',\n  /** Basket Index */\n  BasketIndex = 'AS',\n  /** Burst Basket */\n  BurstBasket = 'AT',\n  TradeThroughExempt = 'AU',\n  /** Quote spread */\n  QuoteSpread = 'AV',\n  LastAuctionPrice = 'AW',\n  HighPrice = 'AX',\n  LowPrice = 'AY',\n  SystematicInternaliser = 'AZ',\n  AwayMarket = 'BA',\n  MidpointPrice = 'BB',\n  TradedBeforeIssueDate = 'BC',\n  PreviousClosingPrice = 'BD',\n  NationalBestBidOffer = 'BE',\n  /** Cancel */\n  Cancel = '0',\n  /** Implied Trade */\n  ImpliedTrade = '1',\n  /** Marketplace entered trade */\n  MarketplaceEnteredTrade = '2',\n  /** Multi-asset class multileg trade */\n  MultiAssetClassMultilegTrade = '3',\n  /** Multileg-to-Multileg Trade */\n  MultilegToMultilegTrade = '4',\n  /** Short Sale Minimum Price */\n  ShortSaleMinPrice = '5',\n  Benchmark = '6',\n}\n", "/**\n * Type of Market Data update action.\n * tag: 279\n * @readonly\n * @enum {string} (char)\n */\nexport enum MDUpdateAction {\n  /** New */\n  New = '0',\n  /** Change */\n  Change = '1',\n  /** Delete */\n  Delete = '2',\n  /** Delete Thru */\n  DeleteThru = '3',\n  /** Delete From */\n  DeleteFrom = '4',\n  /** Overlay */\n  Overlay = '5',\n}\n", "/**\n * Reason for the rejection of a Market Data request.\n * tag: 281\n * @readonly\n * @enum {string} (char)\n */\nexport enum MDReqRejReason {\n  /** Unknown symbol */\n  UnknownSymbol = '0',\n  /** Duplicate MDReqID */\n  DuplicateMDReqID = '1',\n  /** Insufficient Bandwidth */\n  InsufficientBandwidth = '2',\n  /** Insufficient Permissions */\n  InsufficientPermissions = '3',\n  /** Unsupported SubscriptionRequestType */\n  UnsupportedSubscriptionRequestType = '4',\n  /** Unsupported MarketDepth */\n  UnsupportedMarketDepth = '5',\n  /** Unsupported MDUpdateType */\n  UnsupportedMDUpdateType = '6',\n  /** Unsupported AggregatedBook */\n  UnsupportedAggregatedBook = '7',\n  /** Unsupported MDEntryType */\n  UnsupportedMDEntryType = '8',\n  /** Unsupported TradingSessionID */\n  UnsupportedTradingSessionID = '9',\n  /** Unsupported Scope */\n  UnsupportedScope = 'A',\n  /** Unsupported OpenCloseSettleFlag */\n  UnsupportedOpenCloseSettleFlag = 'B',\n  /** Unsupported MDImplicitDelete */\n  UnsupportedMDImplicitDelete = 'C',\n  /** Insufficient credit */\n  InsufficientCredit = 'D',\n}\n", "/**\n * Reason for deletion.\n * tag: 285\n * @readonly\n * @enum {string} (char)\n */\nexport enum DeleteReason {\n  /** Cancellation / Trade Bust */\n  Cancellation = '0',\n  /** Error */\n  Error = '1',\n}\n", "/**\n * Flag that identifies a market data entry. (Prior to FIX 4.3 this field was of type char)\n * tag: 286\n * @readonly\n * @enum {string} (MultipleCharValue)\n */\nexport enum OpenCloseSettlFlag {\n  /** Daily Open / Close / Settlement entry */\n  DailyOpen = '0',\n  /** Session Open / Close / Settlement entry */\n  SessionOpen = '1',\n  /** Delivery Settlement entry */\n  DeliverySettlementEntry = '2',\n  /** Expected entry */\n  ExpectedEntry = '3',\n  /** Entry from previous business day */\n  EntryFromPreviousBusinessDay = '4',\n  /** Theoretical Price value */\n  TheoreticalPriceValue = '5',\n}\n", "/**\n * Identifies a firm's or a security's financial status\n * tag: 291\n * @readonly\n * @enum {string} (MultipleCharValue)\n */\nexport enum FinancialStatus {\n  /** Bankrupt */\n  Bankrupt = '1',\n  /** Pending delisting */\n  PendingDelisting = '2',\n  /** Restricted */\n  Restricted = '3',\n}\n", "/**\n * Identifies the type of Corporate Action.\n * tag: 292\n * @readonly\n * @enum {string} (MultipleCharValue)\n */\nexport enum CorporateAction {\n  /** Ex-Dividend */\n  ExDividend = 'A',\n  /** Ex-Distribution */\n  ExDistribution = 'B',\n  /** Ex-Rights */\n  ExRights = 'C',\n  /** New */\n  New = 'D',\n  /** Ex-Interest */\n  ExInterest = 'E',\n  /** Cash Dividend */\n  CashDividend = 'F',\n  /** Stock Dividend */\n  StockDividend = 'G',\n  /** Non-Integer Stock Split */\n  NonIntegerStockSplit = 'H',\n  /** Reverse Stock Split */\n  ReverseStockSplit = 'I',\n  /** Standard-Integer Stock Split */\n  StandardIntegerStockSplit = 'J',\n  /** Position Consolidation */\n  PositionConsolidation = 'K',\n  /** Liquidation Reorganization */\n  LiquidationReorganization = 'L',\n  /** Merger Reorganization */\n  MergerReorganization = 'M',\n  /** Rights Offering */\n  RightsOffering = 'N',\n  /** Shareholder Meeting */\n  ShareholderMeeting = 'O',\n  /** Spinoff */\n  Spinoff = 'P',\n  /** Tender Offer */\n  TenderOffer = 'Q',\n  /** Warrant */\n  Warrant = 'R',\n  /** Special Action */\n  SpecialAction = 'S',\n  /** Symbol Conversion */\n  SymbolConversion = 'T',\n  /** CUSIP / Name Change */\n  CUSIP = 'U',\n  /** Leap Rollover */\n  LeapRollover = 'V',\n  /** Succession Event */\n  SuccessionEvent = 'W',\n}\n", "/**\n * Identifies the status of the quote acknowledgement.\n * tag: 297\n * @readonly\n * @enum {number} (int)\n */\nexport enum QuoteStatus {\n  /** Accepted */\n  Accepted = 0,\n  /** Canceled for specific securities */\n  CancelForSymbol = 1,\n  /** Canceled for specific SecurityTypes(167) */\n  CanceledForSecurityType = 2,\n  /** Canceled for underlying */\n  CanceledForUnderlying = 3,\n  /** Canceled all */\n  CanceledAll = 4,\n  /** Rejected */\n  Rejected = 5,\n  /** Removed from market */\n  RemovedFromMarket = 6,\n  Expired = 7,\n  /** Query */\n  Query = 8,\n  /** Quote not found */\n  QuoteNotFound = 9,\n  /** Pending */\n  Pending = 10,\n  Pass = 11,\n  /** Locked market warning */\n  LockedMarketWarning = 12,\n  /** Crossed market warning */\n  CrossMarketWarning = 13,\n  /** Canceled due to locked market */\n  CanceledDueToLockMarket = 14,\n  /** Canceled due to crossed market */\n  CanceledDueToCrossMarket = 15,\n  /** Active */\n  Active = 16,\n  /** Canceled */\n  Canceled = 17,\n  /** Unsolicited quote replenishment */\n  UnsolicitedQuoteReplenishment = 18,\n  /** Pending end trade */\n  PendingEndTrade = 19,\n  /** Too late to end */\n  TooLateToEnd = 20,\n  /** Traded */\n  Traded = 21,\n  /** Traded and removed */\n  TradedAndRemoved = 22,\n  ContractTerminates = 23,\n}\n", "/**\n * Identifies the type of quote cancel.\n * tag: 298\n * @readonly\n * @enum {number} (int)\n */\nexport enum QuoteCancelType {\n  /** Cancel quotes for one or more securities */\n  CancelForOneOrMoreSecurities = 1,\n  /** Cancel quotes for security type(s) */\n  CancelForSecurityType = 2,\n  /** Cancel quotes for underlying security */\n  CancelForUnderlyingSecurity = 3,\n  /** Cancel all quotes */\n  CancelAllQuotes = 4,\n  CancelSpecifiedSingleQuote = 5,\n  CancelByTypeOfQuote = 6,\n  /** Cancel quotes for an issuer */\n  CancelForSecurityIssuer = 7,\n  /** Cancel quotes for an issuer of underlying security */\n  CancelForIssuerOfUnderlyingSecurity = 8,\n}\n", "/**\n * Reason Quote was rejected:\n * tag: 300\n * @readonly\n * @enum {number} (int)\n */\nexport enum QuoteRejectReason {\n  UnknownSymbol = 1,\n  /** Exchange (security) closed */\n  Exchange = 2,\n  /** Quote Request exceeds limit */\n  QuoteRequestExceedsLimit = 3,\n  /** Too late to enter */\n  TooLateToEnter = 4,\n  /** Unknown quote */\n  UnknownQuote = 5,\n  /** Duplicate quote */\n  DuplicateQuote = 6,\n  /** Invalid bid/ask spread */\n  InvalidBid = 7,\n  InvalidPrice = 8,\n  /** Not authorized to quote security */\n  NotAuthorizedToQuoteSecurity = 9,\n  /** Price exceeds current price band */\n  PriceExceedsCurrentPriceBand = 10,\n  /** Quote locked - unable to update/cancel */\n  QuoteLocked = 11,\n  /** Invalid or unknown security issuer */\n  InvalidOrUnknownSecurityIssuer = 12,\n  /** Invalid or unknown issuer of underlying security */\n  InvalidOrUnknownIssuerOfUnderlyingSecurity = 13,\n  /** Notional value exceeds threshold */\n  NotionalValueExceedsThreshold = 14,\n  /** Price exceeds current price band */\n  PriceExceedsCurrentPriceBandDepr = 15,\n  /** Reference price not available */\n  ReferencePriceNotAvailable = 16,\n  InsufficientCreditLimit = 17,\n  /** Exceeded clip size limit */\n  ExceededClipSizeLimit = 18,\n  /** Exceeded maximum notional order amount */\n  ExceededMaxNotionalOrderAmt = 19,\n  /** Exceeded DV01/PV01 limit */\n  ExceededDV01PV01Limit = 20,\n  /** Exceeded CS01 limit */\n  ExceededCS01Limit = 21,\n  UnavailablePriceLiquidity = 22,\n  InvalidMissingEntitlements = 23,\n  UnknownAccounts = 24,\n  Other = 99,\n}\n", "/**\n * Level of Response requested from receiver of quote messages. A default value should be bilaterally agreed.\n * tag: 301\n * @readonly\n * @enum {number} (int)\n */\nexport enum QuoteResponseLevel {\n  /** No Acknowledgement */\n  NoAcknowledgement = 0,\n  /** Acknowledge only negative or erroneous quotes */\n  AcknowledgeOnlyNegativeOrErroneousQuotes = 1,\n  /** Acknowledge each quote message */\n  AcknowledgeEachQuoteMessage = 2,\n  /** Summary Acknowledgement */\n  SummaryAcknowledgement = 3,\n}\n", "/**\n * Indicates the type of Quote Request being generated\n * tag: 303\n * @readonly\n * @enum {number} (int)\n */\nexport enum QuoteRequestType {\n  /** Manual */\n  Manual = 1,\n  /** Automatic */\n  Automatic = 2,\n  /** Confirm quote */\n  ConfirmQuote = 3,\n}\n", "/**\n * Type of Security Definition Request.\n * tag: 321\n * @readonly\n * @enum {number} (int)\n */\nexport enum SecurityRequestType {\n  /** Request Security identity and specifications */\n  RequestSecurityIdentityAndSpecifications = 0,\n  /** Request Security identity for the specifications provided (name of the security is not supplied) */\n  RequestSecurityIdentityForSpecifications = 1,\n  /** Request List Security Types */\n  RequestListSecurityTypes = 2,\n  /** Request List Securities (can be qualified with Symbol, SecurityType, TradingSessionID, SecurityExchange. If provided then only list Securities for the specific type.) */\n  RequestListSecurities = 3,\n  /** Symbol */\n  Symbol = 4,\n  /** SecurityType and or CFICode */\n  SecurityTypeAndOrCFICode = 5,\n  /** Product */\n  Product = 6,\n  /** TradingSessionID */\n  TradingSessionID = 7,\n  /** All Securities */\n  AllSecurities = 8,\n  /** MarketID or MarketID + MarketSegmentID */\n  MarketIDOrMarketID = 9,\n}\n", "/**\n * Type of Security Definition message response.\n * tag: 323\n * @readonly\n * @enum {number} (int)\n */\nexport enum SecurityResponseType {\n  /** Accept security proposal as-is */\n  AcceptAsIs = 1,\n  /** Accept security proposal with revisions as indicated in the message */\n  AcceptWithRevisions = 2,\n  /** List of security types returned per request */\n  ListOfSecurityTypesReturnedPerRequest = 3,\n  /** List of securities returned per request */\n  ListOfSecuritiesReturnedPerRequest = 4,\n  /** Reject security proposal */\n  RejectSecurityProposal = 5,\n  /** Cannot match selection criteria */\n  CannotMatchSelectionCriteria = 6,\n}\n", "/**\n * Indicates whether or not message is being sent as a result of a subscription request or not.\n * tag: 325\n * @readonly\n * @enum {string} (Boolean)\n */\nexport enum UnsolicitedIndicator {\n  /** Message is being sent as a result of a prior request */\n  MessageIsBeingSentAsAResultOfAPriorRequest = 'N',\n  /** Message is being sent unsolicited */\n  MessageIsBeingSentUnsolicited = 'Y',\n}\n", "/**\n * Identifies the trading status applicable to the transaction.\n * tag: 326\n * @readonly\n * @enum {number} (int)\n */\nexport enum SecurityTradingStatus {\n  /** Opening delay */\n  OpeningDelay = 1,\n  /** Trading halt */\n  TradingHalt = 2,\n  /** Resume */\n  Resume = 3,\n  /** No Open / No Resume */\n  NoOpen = 4,\n  /** Price indication */\n  PriceIndication = 5,\n  /** Trading Range Indication */\n  TradingRangeIndication = 6,\n  /** Market Imbalance Buy */\n  MarketImbalanceBuy = 7,\n  /** Market Imbalance Sell */\n  MarketImbalanceSell = 8,\n  /** Market on Close Imbalance Buy */\n  MarketOnCloseImbalanceBuy = 9,\n  /** Market on Close Imbalance Sell */\n  MarketOnCloseImbalanceSell = 10,\n  /** No Market Imbalance */\n  NoMarketImbalance = 12,\n  /** No Market on Close Imbalance */\n  NoMarketOnCloseImbalance = 13,\n  /** ITS Pre-opening */\n  ITSPreOpening = 14,\n  /** New Price Indication */\n  NewPriceIndication = 15,\n  /** Trade Dissemination Time */\n  TradeDisseminationTime = 16,\n  /** Ready to trade (start of session) */\n  ReadyToTrade = 17,\n  /** Not available for trading (end of session) */\n  NotAvailableForTrading = 18,\n  /** Not traded on this market */\n  NotTradedOnThisMarket = 19,\n  /** Unknown or Invalid */\n  UnknownOrInvalid = 20,\n  /** Pre-open */\n  PreOpen = 21,\n  /** Opening Rotation */\n  OpeningRotation = 22,\n  /** Fast Market */\n  FastMarket = 23,\n  /** Pre-Cross - system is in a pre-cross state allowing market to respond to either side of cross */\n  PreCross = 24,\n  /** Cross - system has crossed a percentage of the orders and allows market to respond prior to crossing remaining portion */\n  Cross = 25,\n  /** Post-close */\n  PostClose = 26,\n  /** No-cancel */\n  NoCancel = 27,\n}\n", "/**\n * Denotes the reason for the Opening Delay or Trading Halt.\n * tag: 327\n * @readonly\n * @enum {number} (int)\n */\nexport enum HaltReason {\n  /** News Dissemination */\n  NewsDissemination = 0,\n  /** Order Influx */\n  OrderInflux = 1,\n  /** Order Imbalance */\n  OrderImbalance = 2,\n  /** Additional Information */\n  AdditionalInformation = 3,\n  /** News Pending */\n  NewsPending = 4,\n  /** Equipment Changeover */\n  EquipmentChangeover = 5,\n}\n", "/**\n * Indicates whether or not the halt was due to Common Stock trading being halted.\n * tag: 328\n * @readonly\n * @enum {string} (Boolean)\n */\nexport enum InViewOfCommon {\n  /** Halt was not related to a halt of the common stock */\n  HaltWasNotRelatedToAHaltOfTheCommonStock = 'N',\n  /** Halt was due to common stock being halted */\n  HaltWasDueToCommonStockBeingHalted = 'Y',\n}\n", "/**\n * Indicates whether or not the halt was due to the Related Security being halted.\n * tag: 329\n * @readonly\n * @enum {string} (Boolean)\n */\nexport enum DueToRelated {\n  /** Halt was not related to a halt of the related security */\n  NotRelatedToSecurityHalt = 'N',\n  /** Halt was due to related security being halted */\n  RelatedToSecurityHalt = 'Y',\n}\n", "/**\n * Identifies the type of adjustment.\n * tag: 334\n * @readonly\n * @enum {number} (int)\n */\nexport enum Adjustment {\n  /** Cancel */\n  Cancel = 1,\n  /** Error */\n  Error = 2,\n  /** Correction */\n  Correction = 3,\n}\n", "export enum TradingSessionID {\n  /** Day */\n  Day = '1',\n  /** HalfDay */\n  HalfDay = '2',\n  /** Morning */\n  Morning = '3',\n  /** Afternoon */\n  Afternoon = '4',\n  /** Evening */\n  Evening = '5',\n  /** After-hours */\n  AfterHours = '6',\n  /** Holiday */\n  Holiday = '7',\n}\n", "/**\n * Method of trading\n * tag: 338\n * @readonly\n * @enum {number} (int)\n */\nexport enum TradSesMethod {\n  /** Electronic */\n  Electronic = 1,\n  /** Open Outcry */\n  OpenOutcry = 2,\n  /** Two Party */\n  TwoParty = 3,\n  /** Voice */\n  Voice = 4,\n}\n", "/**\n * Trading Session Mode\n * tag: 339\n * @readonly\n * @enum {number} (int)\n */\nexport enum TradSesMode {\n  /** Testing */\n  Testing = 1,\n  /** Simulated */\n  Simulated = 2,\n  /** Production */\n  Production = 3,\n}\n", "/**\n * State of the trading session.\n * tag: 340\n * @readonly\n * @enum {number} (int)\n */\nexport enum TradSesStatus {\n  /** Unknown */\n  Unknown = 0,\n  /** Halted */\n  Halted = 1,\n  /** Open */\n  Open = 2,\n  /** Closed */\n  Closed = 3,\n  /** Pre-Open */\n  PreOpen = 4,\n  /** Pre-Close */\n  PreClose = 5,\n  /** Request Rejected */\n  RequestRejected = 6,\n}\n", "/**\n * Code to identify reason for a session-level Reject message.\n * tag: 373\n * @readonly\n * @enum {number} (int)\n */\nexport enum SessionRejectReason {\n  /** Invalid Tag Number */\n  InvalidTagNumber = 0,\n  /** Required Tag Missing */\n  RequiredTagMissing = 1,\n  /** Tag not defined for this message type */\n  TagNotDefinedForThisMessageType = 2,\n  /** Undefined tag */\n  UndefinedTag = 3,\n  /** Tag specified without a value */\n  TagSpecifiedWithoutAValue = 4,\n  /** Value is incorrect (out of range) for this tag */\n  ValueIsIncorrect = 5,\n  /** Incorrect data format for value */\n  IncorrectDataFormatForValue = 6,\n  /** Decryption problem */\n  DecryptionProblem = 7,\n  /** Signature problem */\n  SignatureProblem = 8,\n  /** CompID problem */\n  CompIDProblem = 9,\n  /** SendingTime Accuracy Problem */\n  SendingTimeAccuracyProblem = 10,\n  /** Invalid MsgType */\n  InvalidMsgType = 11,\n  /** XML Validation Error */\n  XMLValidationError = 12,\n  /** Tag appears more than once */\n  TagAppearsMoreThanOnce = 13,\n  /** Tag specified out of required order */\n  TagSpecifiedOutOfRequiredOrder = 14,\n  /** Repeating group fields out of order */\n  RepeatingGroupFieldsOutOfOrder = 15,\n  /** Incorrect NumInGroup count for repeating group */\n  IncorrectNumInGroupCountForRepeatingGroup = 16,\n  /** Non \"Data\" value includes field delimiter (<SOH> character) */\n  NonDataValueIncludesFieldDelimiter = 17,\n  /** Invalid/Unsupported Application Version */\n  InvalidUnsupportedApplVer = 18,\n  /** Other */\n  Other = 99,\n}\n", "/**\n * Identifies the Bid Request message type.\n * tag: 374\n * @readonly\n * @enum {string} (char)\n */\nexport enum BidRequestTransType {\n  /** Cancel */\n  Cancel = 'C',\n  /** New */\n  New = 'N',\n}\n", "/**\n * Indicates whether or not the order was solicited.\n * tag: 377\n * @readonly\n * @enum {string} (Boolean)\n */\nexport enum SolicitedFlag {\n  /** Was not solicited */\n  WasNotSolicited = 'N',\n  /** Was solicited */\n  WasSolicited = 'Y',\n}\n", "/**\n * The reason for restatement when an ExecutionReport(35=8) or TradeCaptureReport(35=AE) message is sent with ExecType(150) = D (Restated) or used when communicating an unsolicited cancel.\n * tag: 378\n * @readonly\n * @enum {number} (int)\n */\nexport enum ExecRestatementReason {\n  /** GT corporate action */\n  GTCorporateAction = 0,\n  /** GT renewal / restatement (no corporate action) */\n  GTRenewal = 1,\n  /** Verbal change */\n  VerbalChange = 2,\n  /** Repricing of order */\n  RepricingOfOrder = 3,\n  /** Broker option */\n  BrokerOption = 4,\n  /** Partial decline of OrderQty (e.g. exchange initiated partial cancel) */\n  PartialDeclineOfOrderQty = 5,\n  /** Cancel on Trading Halt */\n  CancelOnTradingHalt = 6,\n  /** Cancel on System Failure */\n  CancelOnSystemFailure = 7,\n  /** Market (Exchange) option */\n  Market = 8,\n  /** Canceled, not best */\n  Canceled = 9,\n  /** Warehouse Recap */\n  WarehouseRecap = 10,\n  /** Peg Refresh */\n  PegRefresh = 11,\n  /** Cancel On Connection Loss */\n  CancelOnConnectionLoss = 12,\n  /** Cancel On Logout */\n  CancelOnLogout = 13,\n  /** Assign Time Priority */\n  AssignTimePriority = 14,\n  /** Cancelled, Trade Price Violation */\n  CancelledForTradePriceViolation = 15,\n  /** Cancelled, Cross Imbalance */\n  CancelledForCrossImbalance = 16,\n  CxldSMP = 17,\n  CxldSMPAggressive = 18,\n  CxldSMPPassive = 19,\n  CxldSMPAggressivePassive = 20,\n  /** Other */\n  Other = 99,\n}\n", "/**\n * Code to identify reason for a Business Message Reject message.\n * tag: 380\n * @readonly\n * @enum {number} (int)\n */\nexport enum BusinessRejectReason {\n  /** Other */\n  Other = 0,\n  /** Unknown ID */\n  UnknownID = 1,\n  /** Unknown Security */\n  UnknownSecurity = 2,\n  /** Unsupported Message Type */\n  UnsupportedMessageType = 3,\n  /** Application not available */\n  ApplicationNotAvailable = 4,\n  /** Conditionally required field missing */\n  ConditionallyRequiredFieldMissing = 5,\n  /** Not Authorized */\n  NotAuthorized = 6,\n  /** DeliverTo firm not available at this time */\n  DeliverToFirmNotAvailableAtThisTime = 7,\n  /** Throttle limit exceeded */\n  ThrottleLimitExceeded = 8,\n  /** Throttle limit exceeded, session will be disconnected */\n  ThrottleLimitExceededSessionDisconnected = 9,\n  /** Throttled messages rejected on request */\n  ThrottledMessagesRejectedOnRequest = 10,\n  /** Invalid price increment */\n  InvalidPriceIncrement = 18,\n}\n", "/**\n * Specifies the direction of the message.\n * tag: 385\n * @readonly\n * @enum {string} (char)\n */\nexport enum MsgDirection {\n  /** Receive */\n  Receive = 'R',\n  /** Send */\n  Send = 'S',\n}\n", "/**\n * Code to identify the price a DiscretionOffsetValue (389) is related to and should be mathematically added to.\n * tag: 388\n * @readonly\n * @enum {string} (char)\n */\nexport enum DiscretionInst {\n  /** Related to displayed price */\n  RelatedToDisplayedPrice = '0',\n  /** Related to market price */\n  RelatedToMarketPrice = '1',\n  /** Related to primary price */\n  RelatedToPrimaryPrice = '2',\n  /** Related to local primary price */\n  RelatedToLocalPrimaryPrice = '3',\n  /** Related to midpoint price */\n  RelatedToMidpointPrice = '4',\n  /** Related to last trade price */\n  RelatedToLastTradePrice = '5',\n  /** Related to VWAP */\n  RelatedToVWAP = '6',\n  /** Average Price Guarantee */\n  AveragePriceGuarantee = '7',\n}\n", "/**\n * Code to identify the type of Bid Request.\n * tag: 394\n * @readonly\n * @enum {number} (int)\n */\nexport enum BidType {\n  /** \"Non Disclosed\" style (e.g. US/European) */\n  NonDisclosed = 1,\n  /** \"Disclosed\" style (e.g. Japanese) */\n  Disclosed = 2,\n  /** No bidding process */\n  NoBiddingProcess = 3,\n}\n", "/**\n * Code to identify the type of BidDescriptor (400).\n * tag: 399\n * @readonly\n * @enum {number} (int)\n */\nexport enum BidDescriptorType {\n  /** Sector */\n  Sector = 1,\n  /** Country */\n  Country = 2,\n  /** Index */\n  Index = 3,\n}\n", "/**\n * Code to identify which \"SideValue\" the value refers to. SideValue1 and SideValue2 are used as opposed to Buy or Sell so that the basket can be quoted either way as Buy or Sell.\n * tag: 401\n * @readonly\n * @enum {number} (int)\n */\nexport enum SideValueInd {\n  /** Side Value 1 */\n  SideValue1 = 1,\n  /** Side Value 2 */\n  SideValue2 = 2,\n}\n", "/**\n * Code to identify the type of liquidity indicator.\n * tag: 409\n * @readonly\n * @enum {number} (int)\n */\nexport enum LiquidityIndType {\n  /** 5-day moving average */\n  FiveDayMovingAverage = 1,\n  /** 20-day moving average */\n  TwentyDayMovingAverage = 2,\n  /** Normal market size */\n  NormalMarketSize = 3,\n  /** Other */\n  Other = 4,\n}\n", "/**\n * Indicates whether or not to exchange for phsyical.\n * tag: 411\n * @readonly\n * @enum {string} (Boolean)\n */\nexport enum ExchangeForPhysical {\n  /** False */\n  False = 'N',\n  /** True */\n  True = 'Y',\n}\n", "/**\n * Code to identify the desired frequency of progress reports.\n * tag: 414\n * @readonly\n * @enum {number} (int)\n */\nexport enum ProgRptReqs {\n  /** Buy-side explicitly requests status using Statue Request (default), the sell-side firm can, however, send a DONE status List STatus Response in an unsolicited fashion */\n  BuySideRequests = 1,\n  /** Sell-side periodically sends status using List Status. Period optionally specified in ProgressPeriod. */\n  SellSideSends = 2,\n  /** Real-time execution reports (to be discourage) */\n  RealTimeExecutionReports = 3,\n}\n", "/**\n * Code to represent whether value is net (inclusive of tax) or gross.\n * tag: 416\n * @readonly\n * @enum {number} (int)\n */\nexport enum IncTaxInd {\n  /** Net */\n  Net = 1,\n  /** Gross */\n  Gross = 2,\n}\n", "export enum BidTradeType {\n  /** Agency */\n  Agency = 'A',\n  /** VWAP Guarantee */\n  VWAPGuarantee = 'G',\n  /** Guaranteed Close */\n  GuaranteedClose = 'J',\n  /** Risk Trade */\n  RiskTrade = 'R',\n}\n", "/**\n * Code to represent the basis price type.\n * tag: 419\n * @readonly\n * @enum {string} (char)\n */\nexport enum BasisPxType {\n  /** Closing price at morning session */\n  ClosingPriceAtMorningSession = '2',\n  /** Closing price */\n  ClosingPrice = '3',\n  /** Current price */\n  CurrentPrice = '4',\n  /** SQ */\n  SQ = '5',\n  /** VWAP through a day */\n  VWAPThroughADay = '6',\n  /** VWAP through a morning session */\n  VWAPThroughAMorningSession = '7',\n  /** VWAP through an afternoon session */\n  VWAPThroughAnAfternoonSession = '8',\n  /** VWAP through a day except \"YORI\" (an opening auction) */\n  VWAPThroughADayExcept = '9',\n  /** VWAP through a morning session except \"YORI\" (an opening auction) */\n  VWAPThroughAMorningSessionExcept = 'A',\n  /** VWAP through an afternoon session except \"YORI\" (an opening auction) */\n  VWAPThroughAnAfternoonSessionExcept = 'B',\n  /** Strike */\n  Strike = 'C',\n  /** Open */\n  Open = 'D',\n  /** Others */\n  Others = 'Z',\n}\n", "export enum PriceType {\n  /** Percentage (i.e. percent of par) (often called \"dollar price\" for fixed income) */\n  Percentage = 1,\n  /** Per unit (i.e. per share or contract) */\n  PerUnit = 2,\n  /** Fixed amount (absolute value) */\n  FixedAmount = 3,\n  /** Discount - percentage points below par */\n  Discount = 4,\n  /** Premium - percentage points over par */\n  Premium = 5,\n  Spread = 6,\n  /** TED Price */\n  TEDPrice = 7,\n  /** TED Yield */\n  TEDYield = 8,\n  /** Yield */\n  Yield = 9,\n  /** Fixed cabinet trade price (primarily for listed futures and options) */\n  FixedCabinetTradePrice = 10,\n  /** Variable cabinet trade price (primarily for listed futures and options) */\n  VariableCabinetTradePrice = 11,\n  PriceSpread = 12,\n  /** Product ticks in halves */\n  ProductTicksInHalves = 13,\n  /** Product ticks in fourths */\n  ProductTicksInFourths = 14,\n  /** Product ticks in eighths */\n  ProductTicksInEighths = 15,\n  /** Product ticks in sixteenths */\n  ProductTicksInSixteenths = 16,\n  /** Product ticks in thirty-seconds */\n  ProductTicksInThirtySeconds = 17,\n  /** Product ticks in sixty-fourths */\n  ProductTicksInSixtyFourths = 18,\n  /** Product ticks in one-twenty-eighths */\n  ProductTicksInOneTwentyEighths = 19,\n  /** Normal rate representation (e.g. FX rate) */\n  NormalRateRepresentation = 20,\n  /** Inverse rate representation (e.g. FX rate) */\n  InverseRateRepresentation = 21,\n  BasisPoints = 22,\n  UpfrontPoints = 23,\n  InterestRate = 24,\n  /** Percentage of notional */\n  PercentageNotional = 25,\n}\n", "/**\n * Code to identify whether to book out executions on a part-filled GT order on the day of execution or to accumulate.\n * tag: 427\n * @readonly\n * @enum {number} (int)\n */\nexport enum GTBookingInst {\n  /** Book out all trades on day of execution */\n  BookOutAllTradesOnDayOfExecution = 0,\n  /** Accumulate executions until order is filled or expires */\n  AccumulateUntilFilledOrExpired = 1,\n  /** Accumulate until verbally notified otherwise */\n  AccumulateUntilVerballyNotifiedOtherwise = 2,\n}\n", "/**\n * Code to represent the status type.\n * tag: 429\n * @readonly\n * @enum {number} (int)\n */\nexport enum ListStatusType {\n  /** Ack */\n  Ack = 1,\n  /** Response */\n  Response = 2,\n  /** Timed */\n  Timed = 3,\n  /** Exec Started */\n  ExecStarted = 4,\n  /** All Done */\n  AllDone = 5,\n  /** Alert */\n  Alert = 6,\n}\n", "/**\n * Code to represent whether value is net (inclusive of tax) or gross.\n * tag: 430\n * @readonly\n * @enum {number} (int)\n */\nexport enum NetGrossInd {\n  /** Net */\n  Net = 1,\n  /** Gross */\n  Gross = 2,\n}\n", "/**\n * Code to represent the status of a list order.\n * tag: 431\n * @readonly\n * @enum {number} (int)\n */\nexport enum ListOrderStatus {\n  /** In bidding process */\n  InBiddingProcess = 1,\n  /** Received for execution */\n  ReceivedForExecution = 2,\n  /** Executing */\n  Executing = 3,\n  /** Cancelling */\n  Cancelling = 4,\n  /** Alert */\n  Alert = 5,\n  /** All Done */\n  AllDone = 6,\n  /** Reject */\n  Reject = 7,\n}\n", "/**\n * Identifies the type of ListExecInst (69).\n * tag: 433\n * @readonly\n * @enum {string} (char)\n */\nexport enum ListExecInstType {\n  /** Immediate */\n  Immediate = '1',\n  /** Wait for Execut Instruction (i.e. a List Execut message or phone call before proceeding with execution of the list) */\n  WaitForInstruction = '2',\n  /** Exchange/switch CIV order - Sell driven */\n  SellDriven = '3',\n  /** Exchange/switch CIV order - Buy driven, cash top-up (i.e. additional cash will be provided to fulfill the order) */\n  BuyDrivenCashTopUp = '4',\n  /** Exchange/switch CIV order - Buy driven, cash withdraw (i.e. additional cash will not be provided to fulfill the order) */\n  BuyDrivenCashWithdraw = '5',\n}\n", "/**\n * Identifies the type of request that a Cancel Reject is in response to.\n * tag: 434\n * @readonly\n * @enum {string} (char)\n */\nexport enum CxlRejResponseTo {\n  /** Order cancel request */\n  OrderCancelRequest = '1',\n  /** Order cancel/replace request */\n  OrderCancelReplaceRequest = '2',\n}\n", "/**\n * Used to indicate how the multi-legged security (e.g. option strategies, spreads, etc.) is being reported.\n * tag: 442\n * @readonly\n * @enum {string} (char)\n */\nexport enum MultiLegReportingType {\n  /** Single security (default if not specified) */\n  SingleSecurity = '1',\n  /** Individual leg of a multi-leg security */\n  IndividualLegOfAMultiLegSecurity = '2',\n  /** Multi-leg security */\n  MultiLegSecurity = '3',\n}\n", "export enum PartyIDSource {\n  /** UK National Insurance or Pension Number */\n  UKNationalInsuranceOrPensionNumber = '6',\n  /** Korean Investor ID */\n  KoreanInvestorID = '1',\n  /** Directed broker three character acronym as defined in ISITC \"ETC Best Practice\" guidelines document */\n  ISITCAcronym = 'I',\n  /** BIC (Bank Identification Code - SWIFT managed) code (ISO9362 - See \"Appendix 6-B\") */\n  BIC = 'B',\n  /** US Social Security Number */\n  USSocialSecurityNumber = '7',\n  /** Taiwanese Qualified Foreign Investor ID QFII/FID */\n  TaiwaneseForeignInvestorID = '2',\n  /** Generally accepted market participant identifier (e.g. NASD mnemonic) */\n  GeneralIdentifier = 'C',\n  /** US Employer or Tax ID Number */\n  USEmployerOrTaxIDNumber = '8',\n  /** Taiwanese Trading Acct */\n  TaiwaneseTradingAcct = '3',\n  Proprietary = 'D',\n  /** Australian Business Number */\n  AustralianBusinessNumber = '9',\n  /** Malaysian Central Depository (MCD) number */\n  MalaysianCentralDepository = '4',\n  /** ISO Country Code */\n  ISOCountryCode = 'E',\n  /** Australian Tax File Number */\n  AustralianTaxFileNumber = 'A',\n  /** Chinese Investor ID */\n  ChineseInvestorID = '5',\n  /** Settlement Entity Location (note if Local Market Settlement use \"E=ISO Country Code\") (see \"Appendix 6-G\" for valid values) */\n  SettlementEntityLocation = 'F',\n  /** Tax ID */\n  TaxID = 'J',\n  /** Market Identifier Code (ISO 10383) MIC */\n  MIC = 'G',\n  /** CSD participant/member code (e.g. Euroclear, DTC, CREST or Kassenverein number */\n  CSDParticipant = 'H',\n  /** Australian Company Number */\n  AustralianCompanyNumber = 'K',\n  /** Australian Registered Body Number */\n  AustralianRegisteredBodyNumber = 'L',\n  /** CFTC reporting firm identifier */\n  CFTCReportingFirmIdentifier = 'M',\n  /** Legal Entity Identifier (ISO 17442) LEI */\n  LegalEntityIdentifier = 'N',\n  InterimIdentifier = 'O',\n  ShortCodeIdentifier = 'P',\n  NationalIDNaturalPerson = 'Q',\n  IndiaPermanentAccountNumber = 'R',\n  FDID = 'S',\n  SPSAID = 'T',\n  MasterSPSAID = 'U',\n}\n", "/**\n * Identifies the type or role of the PartyID (448) specified.\n * tag: 452\n * @readonly\n * @enum {number} (int)\n */\nexport enum PartyRole {\n  /** Executing Firm (formerly FIX 4.2 ExecBroker) */\n  ExecutingFirm = 1,\n  /** Broker of Credit (formerly FIX 4.2 BrokerOfCredit) */\n  BrokerOfCredit = 2,\n  /** Client ID (formerly FIX 4.2 ClientID) */\n  ClientID = 3,\n  /** Clearing Firm (formerly FIX 4.2 ClearingFirm) */\n  ClearingFirm = 4,\n  /** Investor ID */\n  InvestorID = 5,\n  /** Introducing Firm */\n  IntroducingFirm = 6,\n  /** Entering Firm */\n  EnteringFirm = 7,\n  /** Locate / Lending Firm (for short-sales) */\n  Locate = 8,\n  /** Fund Manager Client ID (for CIV) */\n  FundManagerClientID = 9,\n  /** Settlement Location (formerly FIX 4.2 SettlLocation) */\n  SettlementLocation = 10,\n  /** Order Origination Trader (associated with Order Origination Firm - i.e. trader who initiates/submits the order) */\n  OrderOriginationTrader = 11,\n  /** Executing Trader (associated with Executing Firm - actually executes) */\n  ExecutingTrader = 12,\n  /** Order Origination Firm (e.g. buy-side firm) */\n  OrderOriginationFirm = 13,\n  /** Giveup Clearing Firm (firm to which trade is given up) */\n  GiveupClearingFirmDepr = 14,\n  /** Correspondant Clearing Firm */\n  CorrespondantClearingFirm = 15,\n  /** Executing System */\n  ExecutingSystem = 16,\n  /** Contra Firm */\n  ContraFirm = 17,\n  /** Contra Clearing Firm */\n  ContraClearingFirm = 18,\n  /** Sponsoring Firm */\n  SponsoringFirm = 19,\n  /** Underlying Contra Firm */\n  UnderlyingContraFirm = 20,\n  /** Clearing Organization */\n  ClearingOrganization = 21,\n  Exchange = 22,\n  /** Customer Account */\n  CustomerAccount = 24,\n  /** Correspondent Clearing Organization */\n  CorrespondentClearingOrganization = 25,\n  /** Correspondent Broker */\n  CorrespondentBroker = 26,\n  /** Buyer/Seller (Receiver/Deliverer) */\n  Buyer = 27,\n  /** Custodian */\n  Custodian = 28,\n  /** Intermediary */\n  Intermediary = 29,\n  /** Agent */\n  Agent = 30,\n  /** Sub-custodian */\n  SubCustodian = 31,\n  /** Beneficiary */\n  Beneficiary = 32,\n  /** Interested party */\n  InterestedParty = 33,\n  RegulatoryBody = 34,\n  /** Liquidity provider */\n  LiquidityProvider = 35,\n  /** Entering trader */\n  EnteringTrader = 36,\n  /** Contra trader */\n  ContraTrader = 37,\n  PositionAccount = 38,\n  /** Contra Investor ID */\n  ContraInvestorID = 39,\n  /** Transfer to Firm */\n  TransferToFirm = 40,\n  /** Contra Position Account */\n  ContraPositionAccount = 41,\n  /** Contra Exchange */\n  ContraExchange = 42,\n  /** Internal Carry Account */\n  InternalCarryAccount = 43,\n  /** Order Entry Operator ID */\n  OrderEntryOperatorID = 44,\n  /** Secondary Account Number */\n  SecondaryAccountNumber = 45,\n  /** Foreign Firm */\n  ForeignFirm = 46,\n  /** Third Party Allocation Firm */\n  ThirdPartyAllocationFirm = 47,\n  /** Claiming Account */\n  ClaimingAccount = 48,\n  /** Asset Manager */\n  AssetManager = 49,\n  /** Pledgor Account */\n  PledgorAccount = 50,\n  /** Pledgee Account */\n  PledgeeAccount = 51,\n  /** Large Trader Reportable Account */\n  LargeTraderReportableAccount = 52,\n  /** Trader mnemonic */\n  TraderMnemonic = 53,\n  /** Sender Location */\n  SenderLocation = 54,\n  /** Session ID */\n  SessionID = 55,\n  /** Acceptable Counterparty */\n  AcceptableCounterparty = 56,\n  /** Unacceptable Counterparty */\n  UnacceptableCounterparty = 57,\n  /** Entering Unit */\n  EnteringUnit = 58,\n  /** Executing Unit */\n  ExecutingUnit = 59,\n  /** Introducing Broker */\n  IntroducingBroker = 60,\n  /** Quote originator */\n  QuoteOriginator = 61,\n  /** Report originator */\n  ReportOriginator = 62,\n  /** Systematic internaliser (SI) */\n  SystematicInternaliser = 63,\n  MultilateralTradingFacility = 64,\n  RegulatedMarket = 65,\n  /** Market Maker */\n  MarketMaker = 66,\n  /** Investment Firm */\n  InvestmentFirm = 67,\n  /** Host Competent Authority (Host CA) */\n  HostCompetentAuthority = 68,\n  /** Home Competent Authority (Home CA) */\n  HomeCompetentAuthority = 69,\n  /** Competent Authority of the most relevant market in terms of liquidity (CAL) */\n  CompetentAuthorityLiquidity = 70,\n  /** Competent Authority of the Transaction (Execution) Venue (CATV) */\n  CompetentAuthorityTransactionVenue = 71,\n  ReportingIntermediary = 72,\n  ExecutionVenue = 73,\n  /** Market data entry originator */\n  MarketDataEntryOriginator = 74,\n  /** Location ID */\n  LocationID = 75,\n  /** Desk ID */\n  DeskID = 76,\n  /** Market data market */\n  MarketDataMarket = 77,\n  /** Allocation Entity */\n  AllocationEntity = 78,\n  /** Prime Broker providing General Trade Services */\n  PrimeBroker = 79,\n  /** Step-Out Firm (Prime Broker) */\n  StepOutFirm = 80,\n  /** Broker clearing identifier */\n  BrokerClearingID = 81,\n  /** Central Registration Depository (CRD) */\n  CentralRegistrationDepository = 82,\n  /** Clearing Account */\n  ClearingAccount = 83,\n  /** Acceptable Settling Counterparty */\n  AcceptableSettlingCounterparty = 84,\n  /** Unacceptable Settling Counterparty */\n  UnacceptableSettlingCounterparty = 85,\n  /** CLS Member Bank */\n  CLSMemberBank = 86,\n  /** In Concert Group */\n  InConcertGroup = 87,\n  /** In Concert Controlling Entity */\n  InConcertControllingEntity = 88,\n  /** Large Positions Reporting Account */\n  LargePositionsReportingAccount = 89,\n  /** Settlement Firm */\n  SettlementFirm = 90,\n  SettlementAccount = 91,\n  /** Reporting Market Center */\n  ReportingMarketCenter = 92,\n  /** Related Reporting Market Center */\n  RelatedReportingMarketCenter = 93,\n  AwayMarket = 94,\n  /** Give-up (trading) firm */\n  GiveupTradingFirm = 95,\n  /** Take-up (trading) firm */\n  TakeupTradingFirm = 96,\n  /** Give-up clearing firm */\n  GiveupClearingFirm = 97,\n  /** Take-up clearing firm */\n  TakeupClearingFirm = 98,\n  OriginatingMarket = 99,\n  MarginAccount = 100,\n  CollateralAssetAccount = 101,\n  DataRepository = 102,\n  /** Calculation agent */\n  CalculationAgent = 103,\n  /** Sender of exercise notice */\n  ExerciseNoticeSender = 104,\n  /** Receiver of exercise notice */\n  ExerciseNoticeReceiver = 105,\n  RateReferenceBank = 106,\n  /** Correspondent */\n  Correspondent = 107,\n  BeneficiaryBank = 109,\n  /** Borrower */\n  Borrower = 110,\n  /** Primary obligator */\n  PrimaryObligator = 111,\n  /** Guarantor */\n  Guarantor = 112,\n  /** Excluded reference entity */\n  ExcludedReferenceEntity = 113,\n  /** Determining party */\n  DeterminingParty = 114,\n  /** Hedging party */\n  HedgingParty = 115,\n  ReportingEntity = 116,\n  SalesPerson = 117,\n  Operator = 118,\n  /** Central Securities Depository (CSD) */\n  CSD = 119,\n  /** International Central Securities Depository (ICSD) */\n  ICSD = 120,\n  TradingSubAccount = 121,\n  InvestmentDecisionMaker = 122,\n  PublishingIntermediary = 123,\n  CSDParticipant = 124,\n  Issuer = 125,\n  ContraCustomerAccount = 126,\n  ContraInvestmentDecisionMaker = 127,\n  AuthorizingPerson = 128,\n}\n", "/**\n * Indicates the type of product the security is associated with. See also the CFICode (461) and SecurityType (167) fields.\n * tag: 460\n * @readonly\n * @enum {number} (int)\n */\nexport enum Product {\n  /** AGENCY */\n  AGENCY = 1,\n  /** COMMODITY */\n  COMMODITY = 2,\n  /** CORPORATE */\n  CORPORATE = 3,\n  /** CURRENCY */\n  CURRENCY = 4,\n  /** EQUITY */\n  EQUITY = 5,\n  /** GOVERNMENT */\n  GOVERNMENT = 6,\n  /** INDEX */\n  INDEX = 7,\n  /** LOAN */\n  LOAN = 8,\n  /** MONEYMARKET */\n  MONEYMARKET = 9,\n  /** MORTGAGE */\n  MORTGAGE = 10,\n  /** MUNICIPAL */\n  MUNICIPAL = 11,\n  /** OTHER */\n  OTHER = 12,\n  /** FINANCING */\n  FINANCING = 13,\n}\n", "/**\n * Indicates whether or not this FIX Session is a \"test\" vs. \"production\" connection. Useful for preventing \"accidents\".\n * tag: 464\n * @readonly\n * @enum {string} (Boolean)\n */\nexport enum TestMessageIndicator {\n  /** False (production) */\n  False = 'N',\n  /** True (test) */\n  True = 'Y',\n}\n", "export enum RoundingDirection {\n  /** Round to nearest */\n  RoundToNearest = '0',\n  /** Round down */\n  RoundDown = '1',\n  /** Round up */\n  RoundUp = '2',\n}\n", "/**\n * Identifies the payment method for a (fractional) distribution. Used for CIV.\n * tag: 477\n * @readonly\n * @enum {number} (int)\n */\nexport enum DistribPaymentMethod {\n  /** CREST */\n  CREST = 1,\n  /** NSCC */\n  NSCC = 2,\n  /** Euroclear */\n  Euroclear = 3,\n  /** Clearstream */\n  Clearstream = 4,\n  /** Cheque */\n  Cheque = 5,\n  /** Telegraphic Transfer */\n  TelegraphicTransfer = 6,\n  /** Fed Wire */\n  FedWire = 7,\n  /** Direct Credit (BECS, BACS) */\n  DirectCredit = 8,\n  /** ACH Credit */\n  ACHCredit = 9,\n  /** BPAY */\n  BPAY = 10,\n  /** High Value Clearing System HVACS */\n  HighValueClearingSystemHVACS = 11,\n  /** Reinvest In Fund */\n  ReinvestInFund = 12,\n  /** Other */\n  Other = 999,\n}\n", "/**\n * For CIV - A one character code identifying whether Cancellation rights/Cooling off period applies.\n * tag: 480\n * @readonly\n * @enum {string} (char)\n */\nexport enum CancellationRights {\n  /** Yes */\n  Yes = 'Y',\n  /** No - Execution Only */\n  NoExecutionOnly = 'N',\n  /** No - Waiver agreement */\n  NoWaiverAgreement = 'M',\n  /** No - Institutional */\n  NoInstitutional = 'O',\n}\n", "/**\n * A one character code identifying Money laundering status.\n * tag: 481\n * @readonly\n * @enum {string} (char)\n */\nexport enum MoneyLaunderingStatus {\n  /** Passed */\n  Passed = 'Y',\n  /** Not Checked */\n  NotChecked = 'N',\n  /** Exempt - Below the Limit */\n  ExemptBelowLimit = '1',\n  /** Exempt - Client Money Type exemption */\n  ExemptMoneyType = '2',\n  /** Exempt - Authorised Credit or financial institution */\n  ExemptAuthorised = '3',\n}\n", "/**\n * For CIV - Identifies how the execution price LastPx (31) was calculated from the fund unit/share price(s) calculated at the fund valuation point.\n * tag: 484\n * @readonly\n * @enum {string} (char)\n */\nexport enum ExecPriceType {\n  /** Bid price */\n  BidPrice = 'B',\n  /** Creation price */\n  CreationPrice = 'C',\n  /** Creation price plus adjustment percent */\n  CreationPricePlusAdjustmentPercent = 'D',\n  /** Creation price plus adjustment amount */\n  CreationPricePlusAdjustmentAmount = 'E',\n  /** Offer price */\n  OfferPrice = 'O',\n  /** Offer price minus adjustment percent */\n  OfferPriceMinusAdjustmentPercent = 'P',\n  /** Offer price minus adjustment amount */\n  OfferPriceMinusAdjustmentAmount = 'Q',\n  /** Single price */\n  SinglePrice = 'S',\n}\n", "export enum TradeReportTransType {\n  /** New */\n  New = 0,\n  /** Cancel */\n  Cancel = 1,\n  /** Replace */\n  Replace = 2,\n  /** Release */\n  Release = 3,\n  /** Reverse */\n  Reverse = 4,\n  /** Cancel Due To Back Out of Trade */\n  CancelDueToBackOutOfTrade = 5,\n}\n", "/**\n * Identifies the settlement payment method.\n * tag: 492\n * @readonly\n * @enum {number} (int)\n */\nexport enum PaymentMethod {\n  /** CREST */\n  CREST = 1,\n  /** NSCC */\n  NSCC = 2,\n  /** Euroclear */\n  Euroclear = 3,\n  /** Clearstream */\n  Clearstream = 4,\n  /** Cheque */\n  Cheque = 5,\n  /** Telegraphic Transfer */\n  TelegraphicTransfer = 6,\n  /** Fed Wire */\n  FedWire = 7,\n  /** Debit Card */\n  DebitCard = 8,\n  /** Direct Debit (BECS) */\n  DirectDebit = 9,\n  /** Direct Credit (BECS) */\n  DirectCredit = 10,\n  /** Credit Card */\n  CreditCard = 11,\n  /** ACH Debit */\n  ACHDebit = 12,\n  /** ACH Credit */\n  ACHCredit = 13,\n  /** BPAY */\n  BPAY = 14,\n  /** High Value Clearing System (HVACS) */\n  HighValueClearingSystem = 15,\n  /** CHIPS */\n  CHIPS = 16,\n  /** S.W.I.F.T. */\n  SWIFT = 17,\n  /** CHAPS */\n  CHAPS = 18,\n  /** SIC */\n  SIC = 19,\n  EuroSIC = 20,\n  /** Other */\n  Other = 999,\n}\n", "/**\n * Identifies the type of tax exempt account in which purchases shares/units are to be held. Used for CIV.\n * tag: 495\n * @readonly\n * @enum {number} (int)\n */\nexport enum TaxAdvantageType {\n  /** None/Not Applicable (default) */\n  None = 0,\n  /** Maxi ISA (UK) */\n  MaxiISA = 1,\n  /** TESSA (UK) */\n  TESSA = 2,\n  /** Mini Cash ISA (UK) */\n  MiniCashISA = 3,\n  /** Mini Stocks And Shares ISA (UK) */\n  MiniStocksAndSharesISA = 4,\n  /** Mini Insurance ISA (UK) */\n  MiniInsuranceISA = 5,\n  /** Current Year Payment (US) */\n  CurrentYearPayment = 6,\n  /** Prior Year Payment (US) */\n  PriorYearPayment = 7,\n  /** Asset Transfer (US) */\n  AssetTransfer = 8,\n  /** Employee - prior year (US) */\n  EmployeePriorYear = 9,\n  /** Employee - current year (US) */\n  EmployeeCurrentYear = 10,\n  /** Employer - prior year (US) */\n  EmployerPriorYear = 11,\n  /** Employer - current year (US) */\n  EmployerCurrentYear = 12,\n  /** Non-fund prototype IRA (US) */\n  NonFundPrototypeIRA = 13,\n  /** Non-fund qualified plan (US) */\n  NonFundQualifiedPlan = 14,\n  /** Defined contribution plan (US) */\n  DefinedContributionPlan = 15,\n  /** Individual Retirement Account (US) */\n  IRA = 16,\n  /** Individual Retirement Account - Rollover (US) */\n  IRARollover = 17,\n  /** KEOGH (US) */\n  KEOGH = 18,\n  /** Profit Sharing Plan (US) */\n  ProfitSharingPlan = 19,\n  /** 401(k) (US) */\n  US401K = 20,\n  /** Self-directed IRA (US) */\n  SelfDirectedIRA = 21,\n  /** 403(b) (US) */\n  US403b = 22,\n  /** 457 (US) */\n  US457 = 23,\n  /** Roth IRA (Fund Prototype) (US) */\n  RothIRAPrototype = 24,\n  /** Roth IRA (Non-prototype) (US) */\n  RothIRANonPrototype = 25,\n  /** Roth Conversion IRA (Fund Prototype) (US) */\n  RothConversionIRAPrototype = 26,\n  /** Roth Conversion IRA (Non-prototype) (US) */\n  RothConversionIRANonPrototype = 27,\n  /** Education IRA (Fund Prototype) (US) */\n  EducationIRAPrototype = 28,\n  /** Education IRA (Non-prototype) (US) */\n  EducationIRANonPrototype = 29,\n  /** Other */\n  Other = 999,\n}\n", "/**\n * A one character code identifying whether the Fund based renewal commission is to be waived.\n * tag: 497\n * @readonly\n * @enum {string} (char)\n */\nexport enum FundRenewWaiv {\n  /** No */\n  No = 'N',\n  /** Yes */\n  Yes = 'Y',\n}\n", "/**\n * Registration status as returned by the broker or (for CIV) the fund manager:\n * tag: 506\n * @readonly\n * @enum {string} (char)\n */\nexport enum RegistStatus {\n  /** Accepted */\n  Accepted = 'A',\n  /** Rejected */\n  Rejected = 'R',\n  /** Held */\n  Held = 'H',\n  /** Reminder - i.e. Registration Instructions are still outstanding */\n  Reminder = 'N',\n}\n", "export enum RegistRejReasonCode {\n  /** Invalid/unacceptable Account Type */\n  InvalidAccountType = 1,\n  /** Invalid/unacceptable Tax Exempt Type */\n  InvalidTaxExemptType = 2,\n  /** Invalid/unacceptable Ownership Type */\n  InvalidOwnershipType = 3,\n  /** Invalid/unacceptable No Reg Details */\n  NoRegDetails = 4,\n  /** Invalid/unacceptable Reg Seq No */\n  InvalidRegSeqNo = 5,\n  /** Invalid/unacceptable Reg Details */\n  InvalidRegDetails = 6,\n  /** Invalid/unacceptable Mailing Details */\n  InvalidMailingDetails = 7,\n  /** Invalid/unacceptable Mailing Instructions */\n  InvalidMailingInstructions = 8,\n  /** Invalid/unacceptable Investor ID */\n  InvalidInvestorID = 9,\n  /** Invalid/unaceeptable Investor ID Source */\n  InvalidInvestorIDSource = 10,\n  /** Invalid/unacceptable Date Of Birth */\n  InvalidDateOfBirth = 11,\n  /** Invalid/unacceptable Investor Country Of Residence */\n  InvalidCountry = 12,\n  /** Invalid/unacceptable No Distrib Instns */\n  InvalidDistribInstns = 13,\n  /** Invalid/unacceptable Distrib Percentage */\n  InvalidPercentage = 14,\n  /** Invalid/unacceptable Distrib Payment Method */\n  InvalidPaymentMethod = 15,\n  /** Invalid/unacceptable Cash Distrib Agent Acct Name */\n  InvalidAccountName = 16,\n  /** Invalid/unacceptable Cash Distrib Agent Code */\n  InvalidAgentCode = 17,\n  /** Invalid/unacceptable Cash Distrib Agent Acct Num */\n  InvalidAccountNum = 18,\n  /** Other */\n  Other = 99,\n}\n", "/**\n * Identifies Registration Instructions transaction type\n * tag: 514\n * @readonly\n * @enum {string} (char)\n */\nexport enum RegistTransType {\n  /** New */\n  New = '0',\n  /** Cancel */\n  Cancel = '2',\n  /** Replace */\n  Replace = '1',\n}\n", "/**\n * The relationship between Registration parties.\n * tag: 517\n * @readonly\n * @enum {string} (char)\n */\nexport enum OwnershipType {\n  /** Joint Investors */\n  JointInvestors = 'J',\n  /** Tenants in Common */\n  TenantsInCommon = 'T',\n  /** Joint Trustees */\n  JointTrustees = '2',\n}\n", "export enum ContAmtType {\n  /** Commission amount (actual) */\n  CommissionAmount = 1,\n  /** Commission percent (actual) */\n  CommissionPercent = 2,\n  /** Initial Charge Amount */\n  InitialChargeAmount = 3,\n  /** Initial Charge Percent */\n  InitialChargePercent = 4,\n  /** Discount Amount */\n  DiscountAmount = 5,\n  /** Discount Percent */\n  DiscountPercent = 6,\n  /** Dilution Levy Amount */\n  DilutionLevyAmount = 7,\n  /** Dilution Levy Percent */\n  DilutionLevyPercent = 8,\n  /** Exit Charge Amount */\n  ExitChargeAmount = 9,\n  /** Exit Charge Percent */\n  ExitChargePercent = 10,\n  /** Fund-Based Renewal Commission Percent (a.k.a. Trail commission) */\n  FundBasedRenewalCommissionPercent = 11,\n  /** Projected Fund Value (i.e. for investments intended to realise or exceed a specific future value) */\n  ProjectedFundValue = 12,\n  /** Fund-Based Renewal Commission Amount (based on Order value) */\n  FundBasedRenewalCommissionOnOrder = 13,\n  /** Fund-Based Renewal Commission Amount (based on Projected Fund value) */\n  FundBasedRenewalCommissionOnFund = 14,\n  /** Net Settlement Amount */\n  NetSettlementAmount = 15,\n}\n", "/**\n * Identifies the type of owner.\n * tag: 522\n * @readonly\n * @enum {number} (int)\n */\nexport enum OwnerType {\n  /** Individual investor */\n  IndividualInvestor = 1,\n  /** Public company */\n  PublicCompany = 2,\n  /** Private company */\n  PrivateCompany = 3,\n  /** Individual trustee */\n  IndividualTrustee = 4,\n  /** Company trustee */\n  CompanyTrustee = 5,\n  /** Pension plan */\n  PensionPlan = 6,\n  /** Custodian under Gifts to Minors Act */\n  CustodianUnderGiftsToMinorsAct = 7,\n  /** Trusts */\n  Trusts = 8,\n  /** Fiduciaries */\n  Fiduciaries = 9,\n  /** Networking sub-account */\n  NetworkingSubAccount = 10,\n  /** Non-profit organization */\n  NonProfitOrganization = 11,\n  /** Corporate body */\n  CorporateBody = 12,\n  /** Nominee */\n  Nominee = 13,\n  /** Institutional customer */\n  InstitutionalCustomer = 14,\n  Combined = 15,\n  /** Member firm employee or associated person */\n  MemberFirmEmployee = 16,\n  /** Market making account */\n  MarketMakingAccount = 17,\n  /** Proprietary account */\n  ProprietaryAccount = 18,\n  /** Non-broker-dealer */\n  NonbrokerDealer = 19,\n  UnknownBeneficialOwnerType = 20,\n  /** Error account of firm */\n  FirmsErrorAccount = 21,\n  /** Firm agency average price account */\n  FirmAgencyAveragePriceAccount = 22,\n}\n", "export enum OrderCapacity {\n  /** Agency */\n  Agency = 'A',\n  /** Proprietary */\n  Proprietary = 'G',\n  /** Individual */\n  Individual = 'I',\n  Principal = 'P',\n  /** Riskless Principal */\n  RisklessPrincipal = 'R',\n  /** Agent for Other Member */\n  AgentForOtherMember = 'W',\n  /** Mixed capacity */\n  MixedCapacity = 'M',\n}\n", "/**\n * Restrictions associated with an order. If more than one restriction is applicable to an order, this field can contain multiple instructions separated by space.\n * tag: 529\n * @readonly\n * @enum {string} (MultipleCharValue)\n */\nexport enum OrderRestrictions {\n  /** Program Trade */\n  ProgramTrade = '1',\n  /** Index Arbitrage */\n  IndexArbitrage = '2',\n  /** Non-Index Arbitrage */\n  NonIndexArbitrage = '3',\n  /** Competing Market Maker */\n  CompetingMarketMaker = '4',\n  /** Acting as Market Maker or Specialist in the security */\n  ActingAsMarketMakerOrSpecialistInSecurity = '5',\n  /** Acting as Market Maker or Specialist in the underlying security of a derivative security */\n  ActingAsMarketMakerOrSpecialistInUnderlying = '6',\n  /** Foreign Entity (of foreign government or regulatory jurisdiction) */\n  ForeignEntity = '7',\n  /** External Market Participant */\n  ExternalMarketParticipant = '8',\n  /** External Inter-connected Market Linkage */\n  ExternalInterConnectedMarketLinkage = '9',\n  /** Riskless Arbitrage */\n  RisklessArbitrage = 'A',\n  /** Issuer Holding */\n  IssuerHolding = 'B',\n  /** Issue Price Stabilization */\n  IssuePriceStabilization = 'C',\n  /** Non-algorithmic */\n  NonAlgorithmic = 'D',\n  /** Algorithmic */\n  Algorithmic = 'E',\n  /** Cross */\n  Cross = 'F',\n  /** Insider Account */\n  InsiderAccount = 'G',\n  /** Significant Shareholder */\n  SignificantShareholder = 'H',\n  /** Normal Course Issuer Bid (NCIB) */\n  NormalCourseIssuerBid = 'I',\n}\n", "/**\n * Specifies scope of Order Mass Cancel Request.\n * tag: 530\n * @readonly\n * @enum {string} (char)\n */\nexport enum MassCancelRequestType {\n  /** Cancel orders for a security */\n  CancelOrdersForASecurity = '1',\n  /** Cancel orders for an underlying security */\n  CancelOrdersForAnUnderlyingSecurity = '2',\n  /** Cancel orders for a product */\n  CancelOrdersForAProduct = '3',\n  /** Cancel orders for a CFICode */\n  CancelOrdersForACFICode = '4',\n  /** Cancel orders for a security type */\n  CancelOrdersForASecurityType = '5',\n  /** Cancel orders for a trading session */\n  CancelOrdersForATradingSession = '6',\n  /** Cancel all orders */\n  CancelAllOrders = '7',\n  /** Cancel orders for a market */\n  CancelOrdersForAMarket = '8',\n  /** Cancel orders for a market segment */\n  CancelOrdersForAMarketSegment = '9',\n  /** Cancel orders for a security group */\n  CancelOrdersForASecurityGroup = 'A',\n  /** Cancel orders for an issuer */\n  CancelOrdersForSecurityIssuer = 'B',\n  /** Cancel orders for an issuer of underlying security */\n  CancelForIssuerOfUnderlyingSecurity = 'C',\n}\n", "/**\n * Specifies the action taken by counterparty order handling system as a result of the Order Mass Cancel Request\n * tag: 531\n * @readonly\n * @enum {string} (char)\n */\nexport enum MassCancelResponse {\n  /** Cancel Request Rejected - See MassCancelRejectReason (532) */\n  CancelRequestRejected = '0',\n  /** Cancel orders for a security */\n  CancelOrdersForASecurity = '1',\n  /** Cancel orders for an underlying security */\n  CancelOrdersForAnUnderlyingSecurity = '2',\n  /** Cancel orders for a product */\n  CancelOrdersForAProduct = '3',\n  /** Cancel orders for a CFI Code */\n  CancelOrdersForACFICode = '4',\n  /** Cancel orders for a security type */\n  CancelOrdersForASecurityType = '5',\n  /** Cancel orders for a trading session */\n  CancelOrdersForATradingSession = '6',\n  /** Cancel all orders */\n  CancelAllOrders = '7',\n  /** Cancel orders for a market */\n  CancelOrdersForAMarket = '8',\n  /** Cancel orders for a market segment */\n  CancelOrdersForAMarketSegment = '9',\n  /** Cancel orders for a security group */\n  CancelOrdersForASecurityGroup = 'A',\n  /** Cancel orders for an issuer */\n  CancelOrdersForASecuritiesIssuer = 'B',\n  /** Cancel orders for an issuer of underlying security */\n  CancelOrdersForIssuerOfUnderlyingSecurity = 'C',\n}\n", "/**\n * Reason Order Mass Cancel Request was rejected\n * tag: 532\n * @readonly\n * @enum {number} (int)\n */\nexport enum MassCancelRejectReason {\n  /** Mass Cancel Not Supported */\n  MassCancelNotSupported = 0,\n  /** Invalid or unknown security */\n  InvalidOrUnknownSecurity = 1,\n  /** Invalid or unknown underlying security */\n  InvalidOrUnknownUnderlyingSecurity = 2,\n  /** Invalid or unknown product */\n  InvalidOrUnknownProduct = 3,\n  /** Invalid or unknown CFI Code */\n  InvalidOrUnknownCFICode = 4,\n  /** Invalid or unknown security type */\n  InvalidOrUnknownSecurityType = 5,\n  /** Invalid or unknown trading session */\n  InvalidOrUnknownTradingSession = 6,\n  /** Invalid or unknown market */\n  InvalidOrUnknownMarket = 7,\n  /** Invalid or unknown market segment */\n  InvalidOrUnkownMarketSegment = 8,\n  /** Invalid or unknown security group */\n  InvalidOrUnknownSecurityGroup = 9,\n  /** Invalid or unknown security issuer */\n  InvalidOrUnknownSecurityIssuer = 10,\n  /** Invalid or unknown issuer of underlying security */\n  InvalidOrUnknownIssuerOfUnderlyingSecurity = 11,\n  /** Other */\n  Other = 99,\n}\n", "export enum QuoteType {\n  /** Indicative */\n  Indicative = 0,\n  /** Tradeable */\n  Tradeable = 1,\n  /** Restricted tradeable */\n  RestrictedTradeable = 2,\n  /** Counter (tradeable) */\n  Counter = 3,\n  /** Initially tradeable */\n  InitiallyTradeable = 4,\n}\n", "/**\n * Identifies whether an order is a margin order or a non-margin order. This is primarily used when sending orders to Japanese exchanges to indicate sell margin or buy to cover. The same tag could be assigned also by buy-side to indicate the intent to sell or buy margin and the sell-side to accept or reject (base on some validation criteria) the margin request.\n * tag: 544\n * @readonly\n * @enum {string} (char)\n */\nexport enum CashMargin {\n  /** Cash */\n  Cash = '1',\n  /** Margin Open */\n  MarginOpen = '2',\n  /** Margin Close */\n  MarginClose = '3',\n}\n", "/**\n * Specifies the market scope of the market data.\n * tag: 546\n * @readonly\n * @enum {string} (MultipleCharValue)\n */\nexport enum Scope {\n  /** Local Market (Exchange, ECN, ATS) */\n  LocalMarket = '1',\n  /** National */\n  National = '2',\n  /** Global */\n  Global = '3',\n}\n", "/**\n * Defines how a server handles distribution of a truncated book. Defaults to broker option.\n * tag: 547\n * @readonly\n * @enum {string} (Boolean)\n */\nexport enum MDImplicitDelete {\n  /** Server must send an explicit delete for bids or offers falling outside the requested MarketDepth of the request */\n  No = 'N',\n  /** Client has responsibility for implicitly deleting bids or offers falling outside the MarketDepth of the request */\n  Yes = 'Y',\n}\n", "/**\n * Type of cross being submitted to a market\n * tag: 549\n * @readonly\n * @enum {number} (int)\n */\nexport enum CrossType {\n  CrossAON = 1,\n  CrossIOC = 2,\n  CrossOneSide = 3,\n  CrossSamePrice = 4,\n  BasisCross = 5,\n  ContingentCross = 6,\n  VWAPCross = 7,\n  STSCross = 8,\n  CustomerToCustomer = 9,\n}\n", "export enum CrossPrioritization {\n  /** None */\n  None = 0,\n  /** Buy side is prioritized */\n  BuySideIsPrioritized = 1,\n  /** Sell side is prioritized */\n  SellSideIsPrioritized = 2,\n}\n", "/**\n * Number of Side repeating group instances.\n * tag: 552\n * @readonly\n * @enum {number} (NumInGroup)\n */\nexport enum NoSides {\n  /** One Side */\n  OneSide = 1,\n  /** Both Sides */\n  BothSides = 2,\n}\n", "/**\n * Identifies the type/criteria of Security List Request\n * tag: 559\n * @readonly\n * @enum {number} (int)\n */\nexport enum SecurityListRequestType {\n  /** Symbol */\n  Symbol = 0,\n  /** SecurityType and/or CFICode */\n  SecurityTypeAnd = 1,\n  /** Product */\n  Product = 2,\n  /** TradingSessionID */\n  TradingSessionID = 3,\n  /** All Securities */\n  AllSecurities = 4,\n  /** MarketID or MarketID + MarketSegmentID */\n  MarketIDOrMarketID = 5,\n}\n", "/**\n * The results returned to a Security Request message\n * tag: 560\n * @readonly\n * @enum {number} (int)\n */\nexport enum SecurityRequestResult {\n  /** Valid request */\n  ValidRequest = 0,\n  /** Invalid or unsupported request */\n  InvalidOrUnsupportedRequest = 1,\n  /** No instruments found that match selection criteria */\n  NoInstrumentsFound = 2,\n  /** Not authorized to retrieve instrument data */\n  NotAuthorizedToRetrieveInstrumentData = 3,\n  /** Instrument data temporarily unavailable */\n  InstrumentDataTemporarilyUnavailable = 4,\n  /** Request for instrument data not supported */\n  RequestForInstrumentDataNotSupported = 5,\n}\n", "/**\n * Indicates the method of execution reporting requested by issuer of the order.\n * tag: 563\n * @readonly\n * @enum {number} (int)\n */\nexport enum MultiLegRptTypeReq {\n  /** Report by mulitleg security only (do not report legs) */\n  ReportByMulitlegSecurityOnly = 0,\n  /** Report by multileg security and by instrument legs belonging to the multileg security */\n  ReportByMultilegSecurityAndInstrumentLegs = 1,\n  /** Report by instrument legs belonging to the multileg security only (do not report status of multileg security) */\n  ReportByInstrumentLegsOnly = 2,\n}\n", "/**\n * Indicates the reason a Trading Session Status Request was rejected.\n * tag: 567\n * @readonly\n * @enum {number} (int)\n */\nexport enum TradSesStatusRejReason {\n  /** Unknown or invalid TradingSessionID */\n  UnknownOrInvalidTradingSessionID = 1,\n  /** Other */\n  Other = 99,\n}\n", "/**\n * Type of Trade Capture Report.\n * tag: 569\n * @readonly\n * @enum {number} (int)\n */\nexport enum TradeRequestType {\n  /** All Trades */\n  AllTrades = 0,\n  /** Matched trades matching criteria provided on request (Parties, ExecID, TradeID, OrderID, Instrument, InputSource, etc.) */\n  MatchedTradesMatchingCriteria = 1,\n  /** Unmatched trades that match criteria */\n  UnmatchedTradesThatMatchCriteria = 2,\n  /** Unreported trades that match criteria */\n  UnreportedTradesThatMatchCriteria = 3,\n  /** Advisories that match criteria */\n  AdvisoriesThatMatchCriteria = 4,\n}\n", "/**\n * Indicates if the transaction was previously reported to the counterparty or market.\n * tag: 570\n * @readonly\n * @enum {string} (Boolean)\n */\nexport enum PreviouslyReported {\n  NotReportedToCounterparty = 'N',\n  PreviouslyReportedToCounterparty = 'Y',\n}\n", "/**\n * The status of this trade with respect to matching or comparison.\n * tag: 573\n * @readonly\n * @enum {string} (char)\n */\nexport enum MatchStatus {\n  /** Compared, matched or affirmed */\n  Compared = '0',\n  /** Uncompared, unmatched, or unaffirmed */\n  Uncompared = '1',\n  /** Advisory or alert */\n  AdvisoryOrAlert = '2',\n  Mismatched = '3',\n}\n", "/**\n * The point in the matching process at which this trade was matched.\n * tag: 574\n * @readonly\n * @enum {string} (String)\n */\nexport enum MatchType {\n  /** Exact match on Trade Date, Stock Symbol, Quantity, Price, Trade Type, and Special Trade Indicator plus four badges and execution time (within two-minute window) */\n  ExactMatchPlus4BadgesExecTime = 'A1',\n  /** Exact match on Trade Date, Stock Symbol, Quantity, Price, Trade Type, and Special Trade Indicator, plus four badges */\n  ExactMatchPlus4Badges = 'A2',\n  /** ACT Accepted Trade */\n  ACTAcceptedTrade = 'M3',\n  /** Exact match on Trade Date, Stock Symbol, Quantity, Price, Trade Type, and Special Trade Indicator, plus two badges and execution time (within two-minute window) */\n  ExactMatchPlus2BadgesExecTime = 'A3',\n  /** ACT Default Trade */\n  ACTDefaultTrade = 'M4',\n  /** Exact match on Trade Date, Stock Symbol, Quantity, Price, Trade Type, and Special Trade Indicator, plus two badges */\n  ExactMatchPlus2Badges = 'A4',\n  /** ACT Default After M2 */\n  ACTDefaultAfterM2 = 'M5',\n  /** Exact match on Trade Date, Stock Symbol, Quantity, Price, TradeType, and Special Trade Indicator plus execution time (within two-minute window) */\n  ExactMatchPlusExecTime = 'A5',\n  /** ACT M6 Match */\n  ACTM6Match = 'M6',\n  /** Compared records resulting from stamped advisories or specialist accepts/pair-offs */\n  StampedAdvisoriesOrSpecialistAccepts = 'AQ',\n  /** Summarized match using A1 exact match criteria except quantity is summaried */\n  A1ExactMatchSummarizedQuantity = 'S1',\n  /** Summarized match using A2 exact match criteria except quantity is summarized */\n  A2ExactMatchSummarizedQuantity = 'S2',\n  /** Summarized match using A3 exact match criteria except quantity is summarized */\n  A3ExactMatchSummarizedQuantity = 'S3',\n  /** Summarized match using A4 exact match criteria except quantity is summarized */\n  A4ExactMatchSummarizedQuantity = 'S4',\n  /** Summarized match using A5 exact match criteria except quantity is summarized */\n  A5ExactMatchSummarizedQuantity = 'S5',\n  /** Exact match on Trade Date, Stock Symbol, Quantity, Price, Trade Type, and Special Trade Indicator minus badges And times: ACT M1 match */\n  ExactMatchMinusBadgesTimes = 'M1',\n  /** Summarized match minus badges and times: ACT M2 Match */\n  SummarizedMatchMinusBadgesTimes = 'M2',\n  /** OCS Locked In: Non-ACT */\n  OCSLockedIn = 'MT',\n  /** One-Party Trade Report (privately negotiated trade) */\n  OnePartyTradeReport = '1',\n  /** Two-Party Trade Report (privately negotiated trade) */\n  TwoPartyTradeReport = '2',\n  /** Confirmed Trade Report (reporting from recognized markets) */\n  ConfirmedTradeReport = '3',\n  /** Auto-match */\n  AutoMatch = '4',\n  /** Cross Auction */\n  CrossAuction = '5',\n  /** Counter-Order Selection */\n  CounterOrderSelection = '6',\n  /** Call Auction */\n  CallAuction = '7',\n  /** Issuing/Buy Back Auction */\n  Issuing = '8',\n  /** Systematic Internaliser (SI) */\n  SystematicInternaliser = '9',\n  AutoMatchLastLook = '10',\n  CrossAuctionLastLook = '11',\n}\n", "export enum OddLot {\n  /** Treat as round lot (default) */\n  TreatAsRoundLot = 'N',\n  /** Treat as odd lot */\n  TreatAsOddLot = 'Y',\n}\n", "/**\n * Eligibility of this trade for clearing and central counterparty processing.\n * tag: 577\n * @readonly\n * @enum {number} (int)\n */\nexport enum ClearingInstruction {\n  /** Process normally */\n  ProcessNormally = 0,\n  /** Exclude from all netting */\n  ExcludeFromAllNetting = 1,\n  /** Bilateral netting only */\n  BilateralNettingOnly = 2,\n  /** Ex clearing */\n  ExClearing = 3,\n  /** Special trade */\n  SpecialTrade = 4,\n  /** Multilateral netting */\n  MultilateralNetting = 5,\n  /** Clear against central counterparty */\n  ClearAgainstCentralCounterparty = 6,\n  /** Exclude from central counterparty */\n  ExcludeFromCentralCounterparty = 7,\n  /** Manual mode (pre-posting and/or pre-giveup) */\n  ManualMode = 8,\n  /** Automatic posting mode (trade posting to the position account number specified) */\n  AutomaticPostingMode = 9,\n  /** Automatic give-up mode (trade give-up to the give-up destination number specified) */\n  AutomaticGiveUpMode = 10,\n  /** Qualified Service Representative QSR */\n  QualifiedServiceRepresentativeQSR = 11,\n  /** Customer trade */\n  CustomerTrade = 12,\n  /** Self clearing */\n  SelfClearing = 13,\n  /** Buy-in */\n  BuyIn = 14,\n}\n", "/**\n * Type of account associated with an order\n * tag: 581\n * @readonly\n * @enum {number} (int)\n */\nexport enum AccountType {\n  /** Account is carried on customer side of the books */\n  CarriedCustomerSide = 1,\n  /** Account is carried on non-customer side of books */\n  CarriedNonCustomerSide = 2,\n  /** House Trader */\n  HouseTrader = 3,\n  /** Floor Trader */\n  FloorTrader = 4,\n  /** Account is carried on non-customer side of books and is cross margined */\n  CarriedNonCustomerSideCrossMargined = 6,\n  /** Account is house trader and is cross margined */\n  HouseTraderCrossMargined = 7,\n  /** Joint back office account (JBO) */\n  JointBackOfficeAccount = 8,\n  /** Equities specialist */\n  EquitiesSpecialist = 9,\n  /** Options market maker */\n  OptionsMarketMaker = 10,\n  /** Options firm account */\n  OptionsFirmAccount = 11,\n  AccountCustomerNonCustomerOrders = 12,\n  AccountOrdersMultipleCustomers = 13,\n}\n", "export enum CustOrderCapacity {\n  /** Member trading for their own account */\n  MemberTradingForTheirOwnAccount = 1,\n  /** Clearing firm trading for its proprietary account */\n  ClearingFirmTradingForItsProprietaryAccount = 2,\n  /** Member trading for another member */\n  MemberTradingForAnotherMember = 3,\n  /** All other */\n  AllOther = 4,\n  RetailCustomer = 5,\n}\n", "/**\n * Specifies the type or scope of the mass order status request.\n * tag: 585\n * @readonly\n * @enum {number} (int)\n */\nexport enum MassStatusReqType {\n  /** Status for orders for a security */\n  StatusForOrdersForASecurity = 1,\n  /** Status for orders for an underlying security */\n  StatusForOrdersForAnUnderlyingSecurity = 2,\n  /** Status for orders for a product */\n  StatusForOrdersForAProduct = 3,\n  /** Status for orders for a CFI Code */\n  StatusForOrdersForACFICode = 4,\n  /** Status for orders for a security type */\n  StatusForOrdersForASecurityType = 5,\n  /** Status for orders for a trading session */\n  StatusForOrdersForATradingSession = 6,\n  /** Status for all orders */\n  StatusForAllOrders = 7,\n  /** Status for orders for a party identifier */\n  StatusForOrdersForAPartyID = 8,\n  /** Status for orders for an issuer */\n  StatusForSecurityIssuer = 9,\n  /** Status for orders for an issuer of underlying security */\n  StatusForIssuerOfUnderlyingSecurity = 10,\n}\n", "/**\n * Indicates whether or not automatic booking can occur.\n * tag: 589\n * @readonly\n * @enum {string} (char)\n */\nexport enum DayBookingInst {\n  /** Can trigger booking without reference to the order initiator (\"auto\") */\n  Auto = '0',\n  /** Speak with order initiator before booking (\"speak first\") */\n  SpeakWithOrderInitiatorBeforeBooking = '1',\n  /** Accumulate */\n  Accumulate = '2',\n}\n", "/**\n * Indicates what constitutes a bookable unit.\n * tag: 590\n * @readonly\n * @enum {string} (char)\n */\nexport enum BookingUnit {\n  /** Each partial execution is a bookable unit */\n  EachPartialExecutionIsABookableUnit = '0',\n  /** Aggregate partial executions on this order, and book one trade per order */\n  AggregatePartialExecutionsOnThisOrder = '1',\n  /** Aggregate executions for this symbol, side, and settlement date */\n  AggregateExecutionsForThisSymbol = '2',\n}\n", "/**\n * Indicates the method of preallocation.\n * tag: 591\n * @readonly\n * @enum {string} (char)\n */\nexport enum PreallocMethod {\n  /** Pro rata */\n  ProRata = '0',\n  /** Do not pro-rata - discuss first */\n  DoNotProRata = '1',\n}\n", "/**\n * Optional market assigned sub identifier for a trading phase within a trading session. Usage is determined by market or counterparties. Used by US based futures markets to identify exchange specific execution time bracket codes as required by US market regulations. Bilaterally agreed values of data type \"String\" that start with a character can be used for backward compatibility\n * tag: 625\n * @readonly\n * @enum {string} (String)\n */\nexport enum TradingSessionSubID {\n  /** Pre-Trading */\n  PreTrading = '1',\n  /** Opening or opening auction */\n  OpeningOrOpeningAuction = '2',\n  /** (Continuous) Trading */\n  Continuous = '3',\n  /** Closing or closing auction */\n  ClosingOrClosingAuction = '4',\n  /** Post-Trading */\n  PostTrading = '5',\n  /** Scheduled intraday auction */\n  ScheduledIntradayAuction = '6',\n  /** Quiescent */\n  Quiescent = '7',\n  /** Any auction */\n  AnyAuction = '8',\n  UnscheduledIntradayAuction = '9',\n  OutOfMainSessionTrading = '10',\n  PrivateAuction = '11',\n  PublicAuction = '12',\n  GroupAuction = '13',\n  OrderInitiatedAuction = '14',\n}\n", "export enum AllocType {\n  /** Calculated (includes MiscFees and NetMoney) */\n  Calculated = 1,\n  /** Preliminary (without MiscFees and NetMoney) */\n  Preliminary = 2,\n  /** Sellside calculated using preliminary (includes MiscFees and NetMoney) (Replaced) */\n  SellsideCalculatedUsingPreliminary = 3,\n  /** Sellside calculatedd without preliminary (sent unsolicited by sellside, includes MiscFees and NetMoney) (Replaced) */\n  SellsideCalculatedWithoutPreliminary = 4,\n  /** Ready-To-Book single order */\n  ReadyToBook = 5,\n  /** Buyside Ready-To-Book - combined set of orders (replaced) */\n  BuysideReadyToBook = 6,\n  /** Warehouse instruction */\n  WarehouseInstruction = 7,\n  /** Request to intermediary */\n  RequestToIntermediary = 8,\n  /** Accept */\n  Accept = 9,\n  /** Reject */\n  Reject = 10,\n  /** Accept Pending */\n  AcceptPending = 11,\n  /** Incomplete group */\n  IncompleteGroup = 12,\n  /** Complete group */\n  CompleteGroup = 13,\n  /** Reversal Pending */\n  ReversalPending = 14,\n  /** Reopen group */\n  ReopenGroup = 15,\n  /** Cancel group */\n  CancelGroup = 16,\n  /** Give-up */\n  Giveup = 17,\n  /** Take-up */\n  Takeup = 18,\n  /** Refuse take-up */\n  RefuseTakeup = 19,\n  /** Initiate reversal */\n  InitiateReversal = 20,\n  /** Reverse */\n  Reverse = 21,\n  /** Refuse reversal */\n  RefuseReversal = 22,\n  /** Sub-allocation give-up */\n  SubAllocationGiveup = 23,\n  /** Approve give-up */\n  ApproveGiveup = 24,\n  /** Approve take-up */\n  ApproveTakeup = 25,\n  NotionalValueAveragePxGroupAlloc = 26,\n}\n", "export enum ClearingFeeIndicator {\n  /** 1st year delegate trading for own account */\n  FirstYearDelegate = '1',\n  /** 2nd year delegate trading for own account */\n  SecondYearDelegate = '2',\n  /** 3rd year delegate trading for own account */\n  ThirdYearDelegate = '3',\n  /** 4th year delegate trading for own account */\n  FourthYearDelegate = '4',\n  /** 5th year delegate trading for own account */\n  FifthYearDelegate = '5',\n  /** 6th year delegate trading for own account */\n  SixthYearDelegate = '9',\n  /** CBOE Member */\n  CBOEMember = 'B',\n  /** Non-member and Customer */\n  NonMemberAndCustomer = 'C',\n  /** Equity Member and Clearing Member */\n  EquityMemberAndClearingMember = 'E',\n  /** Full and Associate Member trading for own account and as floor brokers */\n  FullAndAssociateMember = 'F',\n  /** 106.H and 106.J firms */\n  Firms106HAnd106J = 'H',\n  /** GIM, IDEM and COM Membership Interest Holders */\n  GIM = 'I',\n  /** Lessee 106.F Employees */\n  Lessee106FEmployees = 'L',\n  /** All other ownership types */\n  AllOtherOwnershipTypes = 'M',\n}\n", "/**\n * Indicates if the order is currently being worked. Applicable only for OrdStatus = \"New\". For open outcry markets this indicates that the order is being worked in the crowd. For electronic markets it indicates that the order has transitioned from a contingent order to a market order.\n * tag: 636\n * @readonly\n * @enum {string} (Boolean)\n */\nexport enum WorkingIndicator {\n  /** Order has been accepted but not yet in a working state */\n  NotWorking = 'N',\n  /** Order is currently being worked */\n  Working = 'Y',\n}\n", "/**\n * Indicates if a Cancel/Replace has caused an order to lose book priority.\n * tag: 638\n * @readonly\n * @enum {number} (int)\n */\nexport enum PriorityIndicator {\n  /** Priority unchanged */\n  PriorityUnchanged = 0,\n  /** Lost Priority as result of order change */\n  LostPriorityAsResultOfOrderChange = 1,\n}\n", "/**\n * Indicates that this message is to serve as the final and legal confirmation.\n * tag: 650\n * @readonly\n * @enum {string} (Boolean)\n */\nexport enum LegalConfirm {\n  /** Does not consitute a Legal Confirm */\n  DoesNotConsituteALegalConfirm = 'N',\n  /** Legal Confirm */\n  LegalConfirm = 'Y',\n}\n", "/**\n * Reason Quote was rejected:\n * tag: 658\n * @readonly\n * @enum {number} (int)\n */\nexport enum QuoteRequestRejectReason {\n  UnknownSymbol = 1,\n  /** Exchange (Security) Closed */\n  Exchange = 2,\n  QuoteRequestExceedsLimit = 3,\n  /** Too Late to enter */\n  TooLateToEnter = 4,\n  /** Invalid Price */\n  InvalidPrice = 5,\n  /** Not Authorized To Request Quote */\n  NotAuthorizedToRequestQuote = 6,\n  /** No Match For Inquiry */\n  NoMatchForInquiry = 7,\n  NoMarketForInstrument = 8,\n  /** No Inventory */\n  NoInventory = 9,\n  /** Pass */\n  Pass = 10,\n  InsufficientCredit = 11,\n  /** Exceeded clip size limit */\n  ExceededClipSizeLimit = 12,\n  /** Exceeded maximum notional order amount */\n  ExceededMaxNotionalOrderAmt = 13,\n  /** Exceeded DV01/PV01 limit */\n  ExceededDV01PV01Limit = 14,\n  /** Exceeded CS01 limit */\n  ExceededCS01Limit = 15,\n  UnavailablePriceLiquidity = 16,\n  UnmetRegulatoryRequirement = 17,\n  UnknownAccounts = 18,\n  InvalidMissingEntitlements = 19,\n  Other = 99,\n}\n", "/**\n * Used to identify the source of the Account (1) code. This is especially useful if the account is a new account that the Respondent may not have setup yet in their system.\n * tag: 660\n * @readonly\n * @enum {number} (int)\n */\nexport enum AcctIDSource {\n  /** BIC */\n  BIC = 1,\n  /** SID Code */\n  SIDCode = 2,\n  /** TFM (GSPTA) */\n  TFM = 3,\n  /** OMGEO (Alert ID) */\n  OMGEO = 4,\n  /** DTCC Code */\n  DTCCCode = 5,\n  SPSAID = 6,\n  /** Other (custom or proprietary) */\n  Other = 99,\n}\n", "/**\n * Identifies the status of the Confirmation.\n * tag: 665\n * @readonly\n * @enum {number} (int)\n */\nexport enum ConfirmStatus {\n  /** Received */\n  Received = 1,\n  /** Mismatched Account */\n  MismatchedAccount = 2,\n  /** Missing Settlement Instructions */\n  MissingSettlementInstructions = 3,\n  /** Confirmed */\n  Confirmed = 4,\n  /** Request Rejected */\n  RequestRejected = 5,\n}\n", "/**\n * Identifies the Confirmation transaction type.\n * tag: 666\n * @readonly\n * @enum {number} (int)\n */\nexport enum ConfirmTransType {\n  /** New */\n  New = 0,\n  /** Replace */\n  Replace = 1,\n  /** Cancel */\n  Cancel = 2,\n}\n", "/**\n * Identifies the form of delivery.\n * tag: 668\n * @readonly\n * @enum {number} (int)\n */\nexport enum DeliveryForm {\n  /** Book Entry (default) */\n  BookEntry = 1,\n  /** Bearer */\n  Bearer = 2,\n}\n", "/**\n * For Fixed Income, used instead of LegOrderQty(685) to requests the respondent to calculate the quantity based on the quantity on the opposite side of the swap.\n * tag: 690\n * @readonly\n * @enum {number} (int)\n */\nexport enum LegSwapType {\n  /** Par For Par */\n  ParForPar = 1,\n  /** Modified Duration */\n  ModifiedDuration = 2,\n  /** Risk */\n  Risk = 4,\n  /** Proceeds */\n  Proceeds = 5,\n}\n", "export enum QuotePriceType {\n  /** Percentage (i.e. percent of par) (often called \"dollar price\" for fixed income) */\n  Percent = 1,\n  /** Per unit (i.e. per share or contract) */\n  PerShare = 2,\n  /** Fixed Amount (absolute value) */\n  FixedAmount = 3,\n  /** Discount - percentage points below par */\n  Discount = 4,\n  /** Premium - percentage points over par */\n  Premium = 5,\n  Spread = 6,\n  /** TED Price */\n  TEDPrice = 7,\n  /** TED Yield */\n  TEDYield = 8,\n  /** Yield Spread (swaps) */\n  YieldSpread = 9,\n  /** Yield */\n  Yield = 10,\n  PriceSpread = 12,\n  /** Product ticks in halves */\n  ProductTicksInHalves = 13,\n  /** Product ticks in fourths */\n  ProductTicksInFourths = 14,\n  /** Product ticks in eighths */\n  ProductTicksInEighths = 15,\n  /** Product ticks in sixteenths */\n  ProductTicksInSixteenths = 16,\n  /** Product ticks in thirty-seconds */\n  ProductTicksInThirtySeconds = 17,\n  /** Product ticks in sixty-fourths */\n  ProductTicksInSixtyFourths = 18,\n  /** Product ticks in one-twenty-eighths */\n  ProductTicksInOneTwentyEighths = 19,\n  /** Normal rate representation (e.g. FX rate) */\n  NormalRateRepresentation = 20,\n  /** Inverse rate representation (e.g. FX rate) */\n  InverseRateRepresentation = 21,\n  BasisPoints = 22,\n  UpFrontPoints = 23,\n  InterestRate = 24,\n  /** Percentage of notional */\n  PercentageOfNotional = 25,\n}\n", "/**\n * Identifies the type of Quote Response.\n * tag: 694\n * @readonly\n * @enum {number} (int)\n */\nexport enum QuoteRespType {\n  /** Hit/Lift */\n  Hit = 1,\n  /** Counter */\n  Counter = 2,\n  /** Expired */\n  Expired = 3,\n  Cover = 4,\n  DoneAway = 5,\n  /** Pass */\n  Pass = 6,\n  EndTrade = 7,\n  /** Timed out */\n  TimedOut = 8,\n  Tied = 9,\n  TiedCover = 10,\n  Accept = 11,\n  TerminateContract = 12,\n}\n", "/**\n * Used to identify the type of quantity that is being returned.\n * tag: 703\n * @readonly\n * @enum {string} (String)\n */\nexport enum PosType {\n  /** Allocation Trade Qty */\n  AllocationTradeQty = 'ALC',\n  /** Option Assignment */\n  OptionAssignment = 'AS',\n  /** As-of Trade Qty */\n  AsOfTradeQty = 'ASF',\n  /** Delivery Qty */\n  DeliveryQty = 'DLV',\n  /** Electronic Trade Qty */\n  ElectronicTradeQty = 'ETR',\n  /** Option Exercise Qty */\n  OptionExerciseQty = 'EX',\n  /** End-of-Day Qty */\n  EndOfDayQty = 'FIN',\n  /** Intra-spread Qty */\n  IntraSpreadQty = 'IAS',\n  /** Inter-spread Qty */\n  InterSpreadQty = 'IES',\n  /** Adjustment Qty */\n  AdjustmentQty = 'PA',\n  /** Pit Trade Qty */\n  PitTradeQty = 'PIT',\n  /** Start-of-Day Qty */\n  StartOfDayQty = 'SOD',\n  /** Integral Split */\n  IntegralSplit = 'SPL',\n  /** Transaction from Assignment */\n  TransactionFromAssignment = 'TA',\n  /** Total Transaction Qty */\n  TotalTransactionQty = 'TOT',\n  /** Transaction Quantity */\n  TransactionQuantity = 'TQ',\n  /** Transfer Trade Qty */\n  TransferTradeQty = 'TRF',\n  /** Transaction from Exercise */\n  TransactionFromExercise = 'TX',\n  /** Cross Margin Qty */\n  CrossMarginQty = 'XM',\n  /** Receive Quantity */\n  ReceiveQuantity = 'RCV',\n  /** Corporate Action Adjustment */\n  CorporateActionAdjustment = 'CAA',\n  /** Delivery Notice Qty */\n  DeliveryNoticeQty = 'DN',\n  /** Exchange for Physical Qty */\n  ExchangeForPhysicalQty = 'EP',\n  /** Privately negotiated Trade Qty (Non-regulated) */\n  PrivatelyNegotiatedTradeQty = 'PNTN',\n  /** Net Delta Qty */\n  NetDeltaQty = 'DLT',\n  /** Credit Event Adjustment */\n  CreditEventAdjustment = 'CEA',\n  /** Succession Event Adjustment */\n  SuccessionEventAdjustment = 'SEA',\n  /** Net Qty */\n  NetQty = 'NET',\n  /** Gross Qty */\n  GrossQty = 'GRS',\n  /** Intraday Qty */\n  IntradayQty = 'ITD',\n  /** Gross non-delta-adjusted swaption position */\n  GrossLongNonDeltaAdjustedSwaptionPosition = 'NDAS',\n  /** Delta-adjusted paired swaption position */\n  LongDeltaAdjustedPairedSwaptionPosition = 'DAS',\n  ExpiringQuantity = 'EXP',\n  QuantityNotExercised = 'UNEX',\n  RequestedExerciseQuantity = 'REQ',\n  /** Cash futures equivalent quantity */\n  CashFuturesEquivalentQuantity = 'CFE',\n  LoanOrBorrowedQuantity = 'SECLN',\n}\n", "/**\n * Status of this position.\n * tag: 706\n * @readonly\n * @enum {number} (int)\n */\nexport enum PosQtyStatus {\n  /** Submitted */\n  Submitted = 0,\n  /** Accepted */\n  Accepted = 1,\n  /** Rejected */\n  Rejected = 2,\n}\n", "/**\n * Type of Position amount\n * tag: 707\n * @readonly\n * @enum {string} (String)\n */\nexport enum PosAmtType {\n  /** Cash amount (corporate event) */\n  CashAmount = 'CASH',\n  /** Cash residual amount */\n  CashResidualAmount = 'CRES',\n  /** Final mark-to-market amount */\n  FinalMarkToMarketAmount = 'FMTM',\n  /** Incremental mark-to-market */\n  IncrementalMarkToMarketAmount = 'IMTM',\n  /** Premium amount */\n  PremiumAmount = 'PREM',\n  /** Start of day mark-to-market */\n  StartOfDayMarkToMarketAmount = 'SMTM',\n  /** Trade variation amount */\n  TradeVariationAmount = 'TVAR',\n  /** Value adjusted amount */\n  ValueAdjustedAmount = 'VADJ',\n  /** Settlement value */\n  SettlementValue = 'SETL',\n  /** Initial trade coupon amount */\n  InitialTradeCouponAmount = 'ICPN',\n  /** Accrued coupon amount */\n  AccruedCouponAmount = 'ACPN',\n  /** Coupon amount */\n  CouponAmount = 'CPN',\n  /** Incremental accrued coupon */\n  IncrementalAccruedCoupon = 'IACPN',\n  /** Collateralized mark-to-market */\n  CollateralizedMarkToMarket = 'CMTM',\n  /** Incremental collateralized mark-to-market */\n  IncrementalCollateralizedMarkToMarket = 'ICMTM',\n  /** Compensation amount */\n  CompensationAmount = 'DLV',\n  /** Total banked amount */\n  TotalBankedAmount = 'BANK',\n  /** Total collateralized amount */\n  TotalCollateralizedAmount = 'COLAT',\n  /** Long paired swap or swaption notional value */\n  LongPairedSwapNotionalValue = 'LSNV',\n  /** Short paired swap or swaption notional value */\n  ShortPairedSwapNotionalValue = 'SSNV',\n  /** Start-of-day accrued coupon */\n  StartOfDayAccruedCoupon = 'SACPN',\n  /** Net present value */\n  NetPresentValue = 'NPV',\n  /** Start-of-day net present value */\n  StartOfDayNetPresentValue = 'SNPV',\n  /** Net cash flow */\n  NetCashFlow = 'NCF',\n  /** Present value of all fees */\n  PresentValueOfFees = 'PVFEES',\n  PresentValueOneBasisPoints = 'PV01',\n  /** The five year equivalent notional amount */\n  FiveYearEquivalentNotional = '5YREN',\n  /** Undiscounted mark-to-market */\n  UndiscountedMarkToMarket = 'UMTM',\n  /** Mark-to-model */\n  MarkToModel = 'MTD',\n  /** Mark-to-market variance */\n  MarkToMarketVariance = 'VMTM',\n  /** Mark-to-model variance */\n  MarkToModelVariance = 'VMTD',\n  /** Upfront payment */\n  UpfrontPayment = 'UPFRNT',\n  EndVale = 'ENDV',\n  OutstandingMarginLoan = 'MGNLN',\n  LoanValue = 'LNVL',\n}\n", "/**\n * Identifies the type of position transaction.\n * tag: 709\n * @readonly\n * @enum {number} (int)\n */\nexport enum PosTransType {\n  /** Exercise */\n  Exercise = 1,\n  /** Do not exercise */\n  DoNotExercise = 2,\n  /** Position adjustment */\n  PositionAdjustment = 3,\n  /** Position change submission / margin disposition */\n  PositionChangeSubmission = 4,\n  /** Pledge */\n  Pledge = 5,\n  /** Large trader submission */\n  LargeTraderSubmission = 6,\n  /** Large positions reporting submission */\n  LargePositionsReportingSubmission = 7,\n  /** Long holdings */\n  LongHoldings = 8,\n  InternalTransfer = 9,\n  TransferOfFirm = 10,\n  ExternalTransfer = 11,\n  /** Corporate action */\n  CorporateAction = 12,\n  Notification = 13,\n  PositionCreation = 14,\n  Closeout = 15,\n  Reopen = 16,\n}\n", "/**\n * Maintenance Action to be performed.\n * tag: 712\n * @readonly\n * @enum {number} (int)\n */\nexport enum PosMaintAction {\n  New = 1,\n  Replace = 2,\n  Cancel = 3,\n  Reverse = 4,\n}\n", "/**\n * Identifies a specific settlement session\n * tag: 716\n * @readonly\n * @enum {string} (String)\n */\nexport enum SettlSessID {\n  /** Intraday */\n  Intraday = 'ITD',\n  /** Regular Trading Hours */\n  RegularTradingHours = 'RTH',\n  /** Electronic Trading Hours */\n  ElectronicTradingHours = 'ETH',\n  /** End Of Day */\n  EndOfDay = 'EOD',\n}\n", "/**\n * Type of adjustment to be applied. Used for Position Change Submission (PCS), Position Adjustment (PAJ), and Customer Gross Margin (CGM).\n * tag: 718\n * @readonly\n * @enum {number} (int)\n */\nexport enum AdjustmentType {\n  /** Process request as margin disposition */\n  ProcessRequestAsMarginDisposition = 0,\n  /** Delta plus */\n  DeltaPlus = 1,\n  /** Delta minus */\n  DeltaMinus = 2,\n  /** Final */\n  Final = 3,\n  /** Customer specific position */\n  CustomerSpecificPosition = 4,\n}\n", "/**\n * Status of Position Maintenance Request\n * tag: 722\n * @readonly\n * @enum {number} (int)\n */\nexport enum PosMaintStatus {\n  /** Accepted */\n  Accepted = 0,\n  /** Accepted With Warnings */\n  AcceptedWithWarnings = 1,\n  /** Rejected */\n  Rejected = 2,\n  /** Completed */\n  Completed = 3,\n  /** Completed With Warnings */\n  CompletedWithWarnings = 4,\n}\n", "/**\n * Result of Position Maintenance Request.\n * tag: 723\n * @readonly\n * @enum {number} (int)\n */\nexport enum PosMaintResult {\n  /** Successful Completion - no warnings or errors */\n  SuccessfulCompletion = 0,\n  /** Rejected */\n  Rejected = 1,\n  /** Other */\n  Other = 99,\n}\n", "/**\n * Used to specify the type of position request being made.\n * tag: 724\n * @readonly\n * @enum {number} (int)\n */\nexport enum PosReqType {\n  /** Positions */\n  Positions = 0,\n  /** Trades */\n  Trades = 1,\n  /** Exercises */\n  Exercises = 2,\n  /** Assignments */\n  Assignments = 3,\n  /** Settlement Activity */\n  SettlementActivity = 4,\n  /** Backout Message */\n  BackoutMessage = 5,\n  /** Delta Positions */\n  DeltaPositions = 6,\n  /** Net Position */\n  NetPosition = 7,\n  /** Large Positions Reporting */\n  LargePositionsReporting = 8,\n  /** Exercise Position Reporting Submission */\n  ExercisePositionReportingSubmission = 9,\n  /** Position Limit Reporting Submission */\n  PositionLimitReportingSubmissing = 10,\n}\n", "/**\n * Identifies how the response to the request should be transmitted.\n * tag: 725\n * @readonly\n * @enum {number} (int)\n */\nexport enum ResponseTransportType {\n  Inband = 0,\n  OutOfBand = 1,\n}\n", "/**\n * Result of Request for Positions.\n * tag: 728\n * @readonly\n * @enum {number} (int)\n */\nexport enum PosReqResult {\n  /** Valid request */\n  ValidRequest = 0,\n  /** Invalid or unsupported request */\n  InvalidOrUnsupportedRequest = 1,\n  /** No positions found that match criteria */\n  NoPositionsFoundThatMatchCriteria = 2,\n  /** Not authorized to request positions */\n  NotAuthorizedToRequestPositions = 3,\n  /** Request for position not supported */\n  RequestForPositionNotSupported = 4,\n  Other = 99,\n}\n", "/**\n * Status of Request for Positions\n * tag: 729\n * @readonly\n * @enum {number} (int)\n */\nexport enum PosReqStatus {\n  /** Completed */\n  Completed = 0,\n  /** Completed With Warnings */\n  CompletedWithWarnings = 1,\n  /** Rejected */\n  Rejected = 2,\n}\n", "/**\n * Type of settlement price\n * tag: 731\n * @readonly\n * @enum {number} (int)\n */\nexport enum SettlPriceType {\n  /** Final */\n  Final = 1,\n  /** Theoretical */\n  Theoretical = 2,\n}\n", "/**\n * Method by which short positions are assigned to an exercise notice during exercise and assignment processing\n * tag: 744\n * @readonly\n * @enum {string} (char)\n */\nexport enum AssignmentMethod {\n  /** Pro rata */\n  ProRata = 'P',\n  /** Random */\n  Random = 'R',\n}\n", "/**\n * Exercise Method used to in performing assignment.\n * tag: 747\n * @readonly\n * @enum {string} (char)\n */\nexport enum ExerciseMethod {\n  /** Automatic */\n  Automatic = 'A',\n  /** Manual */\n  Manual = 'M',\n}\n", "/**\n * Result of Trade Request\n * tag: 749\n * @readonly\n * @enum {number} (int)\n */\nexport enum TradeRequestResult {\n  /** Successful (default) */\n  Successful = 0,\n  /** Invalid or unknown instrument */\n  InvalidOrUnknownInstrument = 1,\n  /** Invalid type of trade requested */\n  InvalidTypeOfTradeRequested = 2,\n  /** Invalid parties */\n  InvalidParties = 3,\n  /** Invalid transport type requested */\n  InvalidTransportTypeRequested = 4,\n  /** Invalid destination requested */\n  InvalidDestinationRequested = 5,\n  /** TradeRequestType not supported */\n  TradeRequestTypeNotSupported = 8,\n  /** Not authorized */\n  NotAuthorized = 9,\n  /** Other */\n  Other = 99,\n}\n", "/**\n * Status of Trade Request.\n * tag: 750\n * @readonly\n * @enum {number} (int)\n */\nexport enum TradeRequestStatus {\n  /** Accepted */\n  Accepted = 0,\n  /** Completed */\n  Completed = 1,\n  /** Rejected */\n  Rejected = 2,\n}\n", "export enum TradeReportRejectReason {\n  /** Successful (default) */\n  Successful = 0,\n  /** Invalid party information */\n  InvalidPartyInformation = 1,\n  /** Unknown instrument */\n  UnknownInstrument = 2,\n  /** Unauthorized to report trades */\n  UnauthorizedToReportTrades = 3,\n  /** Invalid trade type */\n  InvalidTradeType = 4,\n  /** Price exceeds current price band */\n  PriceExceedsCurrentPriceBand = 5,\n  /** Reference price not available */\n  ReferencePriceNotAvailable = 6,\n  /** Notional value exceeds threshold */\n  NotionalValueExceedsThreshold = 7,\n  /** Other */\n  Other = 99,\n}\n", "/**\n * Used to indicate if the side being reported on Trade Capture Report represents a leg of a multileg instrument or a single security.\n * tag: 752\n * @readonly\n * @enum {number} (int)\n */\nexport enum SideMultiLegReportingType {\n  /** Single Security (default if not specified) */\n  SingleSecurity = 1,\n  /** Individual leg of a multileg security */\n  IndividualLegOfAMultilegSecurity = 2,\n  /** Multileg Security */\n  MultilegSecurity = 3,\n}\n", "export enum TrdRegTimestampType {\n  ExecutionTime = 1,\n  TimeIn = 2,\n  TimeOut = 3,\n  BrokerReceipt = 4,\n  BrokerExecution = 5,\n  DeskReceipt = 6,\n  SubmissionToClearing = 7,\n  TimePriority = 8,\n  OrderbookEntryTime = 9,\n  OrderSubmissionTime = 10,\n  PubliclyReported = 11,\n  PublicReportUpdated = 12,\n  /** Non-publicly reported */\n  NonPubliclyReported = 13,\n  /** Non-public report updated */\n  NonPublicReportUpdated = 14,\n  /** Submitted for confirmation */\n  SubmittedForConfirmation = 15,\n  /** Updated for confirmation */\n  UpdatedForConfirmation = 16,\n  /** Confirmed */\n  Confirmed = 17,\n  /** Updated for clearing */\n  UpdatedForClearing = 18,\n  /** Cleared */\n  Cleared = 19,\n  /** Allocations submitted */\n  AllocationsSubmitted = 20,\n  /** Allocations updated */\n  AllocationsUpdated = 21,\n  /** Allocations completed */\n  AllocationsCompleted = 22,\n  /** Submitted to repository */\n  SubmittedToRepository = 23,\n  /** Post-trade continuation event */\n  PostTrdContntnEvnt = 24,\n  /** Post-trade valuation */\n  PostTradeValuation = 25,\n  PreviousTimePriority = 26,\n  IdentifierAssigned = 27,\n  PreviousIdentifierAssigned = 28,\n  OrderCancellationTime = 29,\n  OrderModificationTime = 30,\n  OrderRoutingTime = 31,\n  TradeCancellationTime = 32,\n  TradeModificationTime = 33,\n  ReferenceTimeForNBBO = 34,\n  /** Affirmed */\n  Affirmed = 35,\n}\n", "/**\n * Identifies the type of Confirmation message being sent.\n * tag: 773\n * @readonly\n * @enum {number} (int)\n */\nexport enum ConfirmType {\n  /** Status */\n  Status = 1,\n  /** Confirmation */\n  Confirmation = 2,\n  /** Confirmation Request Rejected (reason can be stated in Text (58) field) */\n  ConfirmationRequestRejected = 3,\n}\n", "/**\n * Identifies the reason for rejecting a Confirmation.\n * tag: 774\n * @readonly\n * @enum {number} (int)\n */\nexport enum ConfirmRejReason {\n  /** Incorrect or missing account */\n  MismatchedAccount = 1,\n  /** Incorrect or missing settlement instructions */\n  MissingSettlementInstructions = 2,\n  /** Unknown or missing IndividualAllocId(467) */\n  UnknownOrMissingIndividualAllocId = 3,\n  /** Transaction not recognized */\n  TransactionNotRecognized = 4,\n  /** Duplicate transaction */\n  DuplicateTransaction = 5,\n  /** Incorrect or missing instrument */\n  IncorrectOrMissingInstrument = 6,\n  /** Incorrect or missing price */\n  IncorrectOrMissingPrice = 7,\n  /** Incorrect or missing commission */\n  IncorrectOrMissingCommission = 8,\n  /** Incorrect or missing settlement date */\n  IncorrectOrMissingSettlDate = 9,\n  /** Incorrect or missing fund ID or fund name */\n  IncorrectOrMissingFundIDOrFundName = 10,\n  /** Incorrect or missing quantity */\n  IncorrectOrMissingQuantity = 11,\n  /** Incorrect or missing fees */\n  IncorrectOrMissingFees = 12,\n  /** Incorrect or missing tax */\n  IncorrectOrMissingTax = 13,\n  /** Incorrect or missing party */\n  IncorrectOrMissingParty = 14,\n  /** Incorrect or missing side */\n  IncorrectOrMissingSide = 15,\n  /** Incorrect or missing net-money */\n  IncorrectOrMissingNetMoney = 16,\n  /** Incorrect or missing trade date */\n  IncorrectOrMissingTradeDate = 17,\n  /** Incorrect or missing settlement currency instructions */\n  IncorrectOrMissingSettlCcyInstructions = 18,\n  /** Incorrect or missing capacity */\n  IncorrectOrMissingCapacity = 19,\n  Other = 99,\n}\n", "/**\n * Method for booking out this order. Used when notifying a broker that an order to be settled by that broker is to be booked out as an OTC derivative (e.g. CFD or similar).\n * tag: 775\n * @readonly\n * @enum {number} (int)\n */\nexport enum BookingType {\n  /** Regular booking */\n  RegularBooking = 0,\n  /** CFD (Contract for difference) */\n  CFD = 1,\n  /** Total Return Swap */\n  TotalReturnSwap = 2,\n}\n", "/**\n * Used to indicate whether settlement instructions are provided on an allocation instruction message, and if not, how they are to be derived.\n * tag: 780\n * @readonly\n * @enum {number} (int)\n */\nexport enum AllocSettlInstType {\n  /** Use default instructions */\n  UseDefaultInstructions = 0,\n  /** Derive from parameters provided */\n  DeriveFromParametersProvided = 1,\n  /** Full details provided */\n  FullDetailsProvided = 2,\n  /** SSI DB IDs provided */\n  SSIDBIDsProvided = 3,\n  /** Phone for instructions */\n  PhoneForInstructions = 4,\n}\n", "/**\n * Used to indicate whether a delivery instruction is used for securities or cash settlement.\n * tag: 787\n * @readonly\n * @enum {string} (char)\n */\nexport enum DlvyInstType {\n  /** Cash */\n  Cash = 'C',\n  /** Securities */\n  Securities = 'S',\n}\n", "/**\n * Type of financing termination.\n * tag: 788\n * @readonly\n * @enum {number} (int)\n */\nexport enum TerminationType {\n  /** Overnight */\n  Overnight = 1,\n  /** Term */\n  Term = 2,\n  /** Flexible */\n  Flexible = 3,\n  /** Open */\n  Open = 4,\n}\n", "/**\n * Identifies reason for rejection (of a settlement instruction request message).\n * tag: 792\n * @readonly\n * @enum {number} (int)\n */\nexport enum SettlInstReqRejCode {\n  /** Unable to process request */\n  UnableToProcessRequest = 0,\n  /** Unknown account */\n  UnknownAccount = 1,\n  /** No matching settlement instructions found */\n  NoMatchingSettlementInstructionsFound = 2,\n  /** Other */\n  Other = 99,\n}\n", "/**\n * Describes the specific type or purpose of an Allocation Report message\n * tag: 794\n * @readonly\n * @enum {number} (int)\n */\nexport enum AllocReportType {\n  /** Preliminary request to intermediary */\n  PreliminaryRequestToIntermediary = 2,\n  /** Sellside calculated using preliminary (includes MiscFees and NetMoney) */\n  SellsideCalculatedUsingPreliminary = 3,\n  /** Sellside calculated without preliminary (sent unsolicited by sellside, includes MiscFees and NetMoney) */\n  SellsideCalculatedWithoutPreliminary = 4,\n  /** Warehouse recap */\n  WarehouseRecap = 5,\n  /** Request to intermediary */\n  RequestToIntermediary = 8,\n  /** Accept */\n  Accept = 9,\n  /** Reject */\n  Reject = 10,\n  /** Accept Pending */\n  AcceptPending = 11,\n  /** Complete */\n  Complete = 12,\n  /** Reverse Pending */\n  ReversePending = 14,\n  /** Give-up */\n  Giveup = 15,\n  /** Take-up */\n  Takeup = 16,\n  /** Reversal */\n  Reversal = 17,\n  /** Alleged reversal */\n  Alleged = 18,\n  /** Sub-allocation give-up */\n  SubAllocationGiveup = 19,\n}\n", "/**\n * Reason for cancelling or replacing an Allocation Instruction or Allocation Report message\n * tag: 796\n * @readonly\n * @enum {number} (int)\n */\nexport enum AllocCancReplaceReason {\n  /** Original details incomplete/incorrect */\n  OriginalDetailsIncomplete = 1,\n  /** Change in underlying order details */\n  ChangeInUnderlyingOrderDetails = 2,\n  /** Cancelled by give-up firm */\n  CancelledByGiveupFirm = 3,\n  /** Other */\n  Other = 99,\n}\n", "/**\n * Type of account associated with a confirmation or other trade-level message\n * tag: 798\n * @readonly\n * @enum {number} (int)\n */\nexport enum AllocAccountType {\n  /** Account is carried pn customer side of books */\n  CarriedCustomerSide = 1,\n  /** Account is carried on non-customer side of books */\n  CarriedNonCustomerSide = 2,\n  /** House trader */\n  HouseTrader = 3,\n  /** Floor trader */\n  FloorTrader = 4,\n  /** Account is carried on non-customer side of books and is cross margined */\n  CarriedNonCustomerSideCrossMargined = 6,\n  /** Account is house trader and is cross margined */\n  HouseTraderCrossMargined = 7,\n  /** Joint back office account (JBO) */\n  JointBackOfficeAccount = 8,\n}\n", "/**\n * Type of PartySubID(523) value.\n * tag: 803\n * @readonly\n * @enum {number} (int)\n */\nexport enum PartySubIDType {\n  /** Firm */\n  Firm = 1,\n  /** Person */\n  Person = 2,\n  /** System */\n  System = 3,\n  /** Application */\n  Application = 4,\n  /** Full legal name of firm */\n  FullLegalNameOfFirm = 5,\n  /** Postal address */\n  PostalAddress = 6,\n  /** Phone number */\n  PhoneNumber = 7,\n  /** Email address */\n  EmailAddress = 8,\n  /** Contact name */\n  ContactName = 9,\n  /** Securities account number (for settlement instructions) */\n  SecuritiesAccountNumber = 10,\n  /** Registration number (for settlement instructions and confirmations) */\n  RegistrationNumber = 11,\n  /** Registered address (for confirmation purposes) */\n  RegisteredAddressForConfirmation = 12,\n  /** Regulatory status (for confirmation purposes) */\n  RegulatoryStatus = 13,\n  /** Registration name (for settlement instructions) */\n  RegistrationName = 14,\n  /** Cash account number (for settlement instructions) */\n  CashAccountNumber = 15,\n  /** BIC */\n  BIC = 16,\n  /** CSD participant member code */\n  CSDParticipantMemberCode = 17,\n  /** Registered address */\n  RegisteredAddress = 18,\n  /** Fund account name */\n  FundAccountName = 19,\n  /** Telex number */\n  TelexNumber = 20,\n  /** Fax number */\n  FaxNumber = 21,\n  /** Securities account name */\n  SecuritiesAccountName = 22,\n  /** Cash account name */\n  CashAccountName = 23,\n  /** Department */\n  Department = 24,\n  /** Location desk */\n  LocationDesk = 25,\n  /** Position account type */\n  PositionAccountType = 26,\n  /** Security locate ID */\n  SecurityLocateID = 27,\n  /** Market maker */\n  MarketMaker = 28,\n  /** Eligible counterparty */\n  EligibleCounterparty = 29,\n  /** Professional client */\n  ProfessionalClient = 30,\n  /** Location */\n  Location = 31,\n  /** Execution venue */\n  ExecutionVenue = 32,\n  /** Currency delivery identifier */\n  CurrencyDeliveryIdentifier = 33,\n  /** Address City */\n  AddressCity = 34,\n  /** Address State/Province */\n  AddressStateOrProvince = 35,\n  /** Address Postal Code */\n  AddressPostalCode = 36,\n  /** Address Street */\n  AddressStreet = 37,\n  /** Address Country (ISO country code) */\n  AddressISOCountryCode = 38,\n  /** ISO country code */\n  ISOCountryCode = 39,\n  /** Market segment */\n  MarketSegment = 40,\n  /** Customer account type */\n  CustomerAccountType = 41,\n  /** Omnibus account */\n  OmnibusAccount = 42,\n  /** Funds segregation type */\n  FundsSegregationType = 43,\n  GuaranteeFund = 44,\n  SwapDealer = 45,\n  MajorParticipant = 46,\n  FinancialEntity = 47,\n  USPerson = 48,\n  ReportingEntityIndicator = 49,\n  /** Elected clearing requirement exception */\n  ElectedClearingRequirementException = 50,\n  BusinessCenter = 51,\n  /** Reference text */\n  ReferenceText = 52,\n  /** Short-marking exempt account */\n  ShortMarkingExemptAccount = 53,\n  ParentFirmIdentifier = 54,\n  ParentFirmName = 55,\n  DealIdentifier = 56,\n  /** System trade identifier */\n  SystemTradeID = 57,\n  /** System trade sub-identifier */\n  SystemTradeSubID = 58,\n  FCMCode = 59,\n  DlvryTrmlCode = 60,\n  VolntyRptEntity = 61,\n  RptObligJursdctn = 62,\n  VolntyRptJursdctn = 63,\n  CompanyActivities = 64,\n  EEAreaDomiciled = 65,\n  ContractLinked = 66,\n  ContractAbove = 67,\n  VolntyRptPty = 68,\n  EndUser = 69,\n  LocationOrJurisdiction = 70,\n  DerivativesDealer = 71,\n  Domicile = 72,\n  ExemptFromRecognition = 73,\n  Payer = 74,\n  Receiver = 75,\n  SystematicInternaliser = 76,\n  PublishingEntityIndicator = 77,\n  FirstName = 78,\n  Surname = 79,\n  DateOfBirth = 80,\n  OrderTransmittingFirm = 81,\n  OrderTransmittingFirmBuyer = 82,\n  OrderTransmitterSeller = 83,\n  /** Legal Entity Identifier (ISO 17442) LEI */\n  LegalEntityIdentifier = 84,\n  SubSectorClassification = 85,\n  PartySide = 86,\n  LegalRegistrationCountry = 87,\n}\n", "/**\n * Response to allocation to be communicated to a counterparty through an intermediary, i.e. clearing house. Used in conjunction with AllocType = \"Request to Intermediary\" and AllocReportType = \"Request to Intermediary\"\n * tag: 808\n * @readonly\n * @enum {number} (int)\n */\nexport enum AllocIntermedReqType {\n  /** Pending Accept */\n  PendingAccept = 1,\n  /** Pending Release */\n  PendingRelease = 2,\n  /** Pending Reversal */\n  PendingReversal = 3,\n  /** Accept */\n  Accept = 4,\n  /** Block Level Reject */\n  BlockLevelReject = 5,\n  /** Account Level Reject */\n  AccountLevelReject = 6,\n}\n", "/**\n * Resolution taken when ApplQueueDepth (813) exceeds ApplQueueMax (812) or system specified maximum queue size.\n * tag: 814\n * @readonly\n * @enum {number} (int)\n */\nexport enum ApplQueueResolution {\n  /** No Action Taken */\n  NoActionTaken = 0,\n  /** Queue Flushed */\n  QueueFlushed = 1,\n  /** Overlay Last */\n  OverlayLast = 2,\n  /** End Session */\n  EndSession = 3,\n}\n", "/**\n * Action to take to resolve an application message queue (backlog).\n * tag: 815\n * @readonly\n * @enum {number} (int)\n */\nexport enum ApplQueueAction {\n  /** No Action Taken */\n  NoActionTaken = 0,\n  /** Queue Flushed */\n  QueueFlushed = 1,\n  /** Overlay Last */\n  OverlayLast = 2,\n  /** End Session */\n  EndSession = 3,\n}\n", "/**\n * Average pricing indicator.\n * tag: 819\n * @readonly\n * @enum {number} (int)\n */\nexport enum AvgPxIndicator {\n  /** No average pricing */\n  NoAveragePricing = 0,\n  /** Trade is part of an average price group identified by the AvgPxGroupID(1731) */\n  Trade = 1,\n  /** Last trade of the average price group identified by the AvgPxGroupID(1731) */\n  LastTrade = 2,\n  NotionalValueAveragePxGroupTrade = 3,\n  /** Trade is average priced */\n  AveragePricedTrade = 4,\n}\n", "/**\n * Identifies if, and how, the trade is to be allocated or split.\n * tag: 826\n * @readonly\n * @enum {number} (int)\n */\nexport enum TradeAllocIndicator {\n  /** Allocation not required */\n  AllocationNotRequired = 0,\n  /** Allocation required (give-up trade) allocation information not provided (incomplete) */\n  AllocationRequired = 1,\n  /** Use allocation provided with the trade */\n  UseAllocationProvidedWithTheTrade = 2,\n  /** Allocation give-up executor */\n  AllocationGiveUpExecutor = 3,\n  /** Allocation from executor */\n  AllocationFromExecutor = 4,\n  /** Allocation to claim account */\n  AllocationToClaimAccount = 5,\n  /** Trade split */\n  TradeSplit = 6,\n}\n", "/**\n * Part of trading cycle when an instrument expires. Field is applicable for derivatives.\n * tag: 827\n * @readonly\n * @enum {number} (int)\n */\nexport enum ExpirationCycle {\n  /** Expire on trading session close (default) */\n  ExpireOnTradingSessionClose = 0,\n  /** Expire on trading session open */\n  ExpireOnTradingSessionOpen = 1,\n  /** Trading eligibility expiration specified in the date and time fields [EventDate(866) and EventTime(1145)] associated with EventType(865)=7(Last Eligible Trade Date) */\n  SpecifiedExpiration = 2,\n}\n", "export enum TrdType {\n  /** Regular trade */\n  RegularTrade = 0,\n  /** Block trade */\n  BlockTrade = 1,\n  /** Exchange for physical (EFP) */\n  EFP = 2,\n  /** Transfer */\n  Transfer = 3,\n  /** Late trade */\n  LateTrade = 4,\n  /** T trade */\n  TTrade = 5,\n  /** Weighted average price trade */\n  WeightedAveragePriceTrade = 6,\n  /** Bunched trade */\n  BunchedTrade = 7,\n  /** Late bunched trade */\n  LateBunchedTrade = 8,\n  /** Prior reference price trade */\n  PriorReferencePriceTrade = 9,\n  /** After hours trade */\n  AfterHoursTrade = 10,\n  /** Exchange for risk (EFR) */\n  ExchangeForRisk = 11,\n  /** Exchange for swap (EFS) */\n  ExchangeForSwap = 12,\n  ExchangeOfFuturesFor = 13,\n  /** Exchange of options for options (EOO) */\n  ExchangeOfOptionsForOptions = 14,\n  /** Trading at settlement */\n  TradingAtSettlement = 15,\n  /** All or none */\n  AllOrNone = 16,\n  /** Futures large order execution */\n  FuturesLargeOrderExecution = 17,\n  /** Exchange of futures for external market futures (EFF) */\n  ExchangeOfFuturesForFutures = 18,\n  /** Option interim trade */\n  OptionInterimTrade = 19,\n  /** Option cabinet trade */\n  OptionCabinetTrade = 20,\n  /** Privately negotiated trade */\n  PrivatelyNegotiatedTrades = 22,\n  /** Substitution of futures for forwards */\n  SubstitutionOfFuturesForForwards = 23,\n  /** Error trade */\n  ErrorTrade = 24,\n  /** Special cum dividend (CD) */\n  SpecialCumDividend = 25,\n  /** Special ex dividend (XD) */\n  SpecialExDividend = 26,\n  /** Special cum coupon (CC) */\n  SpecialCumCoupon = 27,\n  /** Special ex coupon (XC) */\n  SpecialExCoupon = 28,\n  /** Cash settlement (CS) */\n  CashSettlement = 29,\n  SpecialPrice = 30,\n  /** Guaranteed delivery (GD) */\n  GuaranteedDelivery = 31,\n  /** Special cum rights (CR) */\n  SpecialCumRights = 32,\n  /** Special ex rights (XR) */\n  SpecialExRights = 33,\n  /** Special cum capital repayments (CP) */\n  SpecialCumCapitalRepayments = 34,\n  /** Special ex capital repayments (XP) */\n  SpecialExCapitalRepayments = 35,\n  /** Special cum bonus (CB) */\n  SpecialCumBonus = 36,\n  /** Special ex bonus (XB) */\n  SpecialExBonus = 37,\n  LargeTrade = 38,\n  /** Worked principal trade */\n  WorkedPrincipalTrade = 39,\n  /** Block trades */\n  BlockTrades = 40,\n  /** Name change */\n  NameChange = 41,\n  /** Portfolio transfer */\n  PortfolioTransfer = 42,\n  ProrogationBuy = 43,\n  ProrogationSell = 44,\n  /** Option exercise */\n  OptionExercise = 45,\n  /** Delta neutral transaction */\n  DeltaNeutralTransaction = 46,\n  /** Financing transaction */\n  FinancingTransaction = 47,\n  /** Non-standard settlement */\n  NonStandardSettlement = 48,\n  /** Derivative related transaction */\n  DerivativeRelatedTransaction = 49,\n  PortfolioTrade = 50,\n  /** Volume weighted average trade */\n  VolumeWeightedAverageTrade = 51,\n  /** Exchange granted trade */\n  ExchangeGrantedTrade = 52,\n  /** Repurchase agreement */\n  RepurchaseAgreement = 53,\n  OTC = 54,\n  /** Exchange basis facility (EBF) */\n  ExchangeBasisFacility = 55,\n  OpeningTrade = 56,\n  /** Netted trade */\n  NettedTrade = 57,\n  BlockSwapTrade = 58,\n  /** Credit event trade */\n  CreditEventTrade = 59,\n  /** Succession event trade */\n  SuccessionEventTrade = 60,\n  /** Give-up Give-in trade */\n  GiveUpGiveInTrade = 61,\n  DarkTrade = 62,\n  /** Technical trade */\n  TechnicalTrade = 63,\n  Benchmark = 64,\n  PackageTrade = 65,\n  RollTrade = 66,\n  ClosingPriceTrade = 67,\n  InterFundTransferTrade = 68,\n  NetAssetValueCalculatedTrade = 69,\n}\n", "/**\n * Further qualification to the trade type defined in TrdType(828).\n * tag: 829\n * @readonly\n * @enum {number} (int)\n */\nexport enum TrdSubType {\n  /** CMTA */\n  CMTA = 0,\n  /** Internal transfer or adjustment */\n  InternalTransferOrAdjustment = 1,\n  /** External transfer or transfer of account */\n  ExternalTransferOrTransferOfAccount = 2,\n  /** Reject for submitting side */\n  RejectForSubmittingSide = 3,\n  /** Advisory for contra side */\n  AdvisoryForContraSide = 4,\n  /** Offset due to an allocation */\n  OffsetDueToAnAllocation = 5,\n  /** Onset due to an allocation */\n  OnsetDueToAnAllocation = 6,\n  /** Differential spread */\n  DifferentialSpread = 7,\n  /** Implied spread leg executed against an outright */\n  ImpliedSpreadLegExecutedAgainstAnOutright = 8,\n  /** Transaction from exercise */\n  TransactionFromExercise = 9,\n  /** Transaction from assignment */\n  TransactionFromAssignment = 10,\n  /** ACATS */\n  ACATS = 11,\n  /** AI (Automated input facility disabled in response to an exchange request.) */\n  AI = 14,\n  /** B (Transaction between two member firms where neither member firm is registered as a market maker in the security in question and neither is a designated fund manager. Also used by broker dealers when dealing with another broker which is not a member firm. Non-order book securities only.) */\n  B = 15,\n  /** K (Transaction using block trade facility.) */\n  K = 16,\n  /** LC (Correction submitted more than three days after publication of the original trade report.) */\n  LC = 17,\n  /** M (Transaction, other than a transaction resulting from a stock swap or stock switch, between two market makers registered in that security including IDB or a public display system trades. Non-order book securities only.) */\n  M = 18,\n  /** N (Non-protected portfolio transaction or a fully disclosed portfolio transaction) */\n  N = 19,\n  NM = 20,\n  /** NR (Non-risk transaction in a SEATS security other than an AIM security) */\n  NR = 21,\n  /** P (Protected portfolio transaction or a worked principal agreement to effect a portfolio transaction which includes order book securities) */\n  P = 22,\n  /** PA (Protected transaction notification) */\n  PA = 23,\n  /** PC (Contra trade for transaction which took place on a previous day and which was automatically executed on the Exchange trading system) */\n  PC = 24,\n  /** PN (Worked principal notification for a portfolio transaction which includes order book securities) */\n  PN = 25,\n  R = 26,\n  /** RO (Transaction which resulted from the exercise of a traditional option or a stock-settled covered warrant) */\n  RO = 27,\n  /** RT (Risk transaction in a SEATS security, (excluding AIM security) reported by a market maker registered in that security) */\n  RT = 28,\n  /** SW (Transactions resulting from stock swap or a stock switch (one report is required for each line of stock)) */\n  SW = 29,\n  /** T (If reporting a single protected transaction) */\n  T = 30,\n  /** WN (Worked principal notification for a single order book security) */\n  WN = 31,\n  /** WT (Worked principal transaction (other than a portfolio transaction)) */\n  WT = 32,\n  /** Off Hours Trade */\n  OffHoursTrade = 33,\n  /** On Hours Trade */\n  OnHoursTrade = 34,\n  /** OTC Quote */\n  OTCQuote = 35,\n  /** Converted SWAP */\n  ConvertedSWAP = 36,\n  /** Crossed Trade (X) */\n  CrossedTrade = 37,\n  /** Interim Protected Trade (I) */\n  InterimProtectedTrade = 38,\n  /** Large in Scale (L) */\n  LargeInScale = 39,\n  /** Wash Trade */\n  WashTrade = 40,\n  TradeAtSettlement = 41,\n  AuctionTrade = 42,\n  TradeAtMarker = 43,\n  /** Default (Credit Event) */\n  CreditDefault = 44,\n  /** Restructuring (credit event) */\n  CreditRestructuring = 45,\n  /** Merger (succession event) */\n  Merger = 46,\n  /** Spin-off (succession event) */\n  SpinOff = 47,\n  MultilateralCompression = 48,\n  Balancing = 50,\n  BasisTradeIndexClose = 51,\n  TradeAtCashOpen = 52,\n  TrdSubmitVenueClrSettl = 53,\n  BilateralCompression = 54,\n}\n", "/**\n * Describes whether peg is static or floats\n * tag: 835\n * @readonly\n * @enum {number} (int)\n */\nexport enum PegMoveType {\n  /** Floating (default) */\n  Floating = 0,\n  /** Fixed */\n  Fixed = 1,\n}\n", "/**\n * Type of Peg Offset value\n * tag: 836\n * @readonly\n * @enum {number} (int)\n */\nexport enum PegOffsetType {\n  /** Price (default) */\n  Price = 0,\n  /** Basis Points */\n  BasisPoints = 1,\n  /** Ticks */\n  Ticks = 2,\n  /** Price Tier / Level */\n  PriceTier = 3,\n  /** Percentage */\n  Percentage = 4,\n}\n", "/**\n * Type of Peg Limit\n * tag: 837\n * @readonly\n * @enum {number} (int)\n */\nexport enum PegLimitType {\n  /** Or better (default) - price improvement allowed */\n  OrBetter = 0,\n  /** Strict - limit is a strict limit */\n  Strict = 1,\n  /** Or worse - for a buy the peg limit is a minimum and for a sell the peg limit is a maximum (for use for orders which have a price range) */\n  OrWorse = 2,\n}\n", "/**\n * If the calculated peg price is not a valid tick price, specifies whether to round the price to be more or less aggressive\n * tag: 838\n * @readonly\n * @enum {number} (int)\n */\nexport enum PegRoundDirection {\n  /** More aggressive - on a buy order round the price up to the nearest tick; on a sell order round down to the nearest tick */\n  MoreAggressive = 1,\n  /** More passive - on a buy order round down to the nearest tick; on a sell order round up to the nearest tick */\n  MorePassive = 2,\n}\n", "/**\n * The scope of the peg\n * tag: 840\n * @readonly\n * @enum {number} (int)\n */\nexport enum PegScope {\n  /** Local (Exchange, ECN, ATS) */\n  Local = 1,\n  /** National */\n  National = 2,\n  /** Global */\n  Global = 3,\n  /** National excluding local */\n  NationalExcludingLocal = 4,\n}\n", "/**\n * Describes whether discretionay price is static or floats\n * tag: 841\n * @readonly\n * @enum {number} (int)\n */\nexport enum DiscretionMoveType {\n  /** Floating (default) */\n  Floating = 0,\n  /** Fixed */\n  Fixed = 1,\n}\n", "/**\n * Type of Discretion Offset value\n * tag: 842\n * @readonly\n * @enum {number} (int)\n */\nexport enum DiscretionOffsetType {\n  /** Price (default) */\n  Price = 0,\n  /** Basis Points */\n  BasisPoints = 1,\n  /** Ticks */\n  Ticks = 2,\n  /** Price Tier / Level */\n  PriceTier = 3,\n}\n", "/**\n * Type of Discretion Limit\n * tag: 843\n * @readonly\n * @enum {number} (int)\n */\nexport enum DiscretionLimitType {\n  /** Or better (default) - price improvement allowed */\n  OrBetter = 0,\n  /** Strict - limit is a strict limit */\n  Strict = 1,\n  /** Or worse - for a buy the discretion price is a minimum and for a sell the discretion price is a maximum (for use for orders which have a price range) */\n  OrWorse = 2,\n}\n", "/**\n * If the calculated discretionary price is not a valid tick price, specifies whether to round the price to be more or less aggressive\n * tag: 844\n * @readonly\n * @enum {number} (int)\n */\nexport enum DiscretionRoundDirection {\n  /** More aggressive - on a buy order round the price up to the nearest tick; on a sell round down to the nearest tick */\n  MoreAggressive = 1,\n  /** More passive - on a buy order round down to the nearest tick; on a sell order round up to the nearest tick */\n  MorePassive = 2,\n}\n", "/**\n * The scope of the discretion\n * tag: 846\n * @readonly\n * @enum {number} (int)\n */\nexport enum DiscretionScope {\n  /** Local (Exchange, ECN, ATS) */\n  Local = 1,\n  /** National */\n  National = 2,\n  /** Global */\n  Global = 3,\n  /** National excluding local */\n  NationalExcludingLocal = 4,\n}\n", "export enum TargetStrategy {\n  /** VWAP */\n  VWAP = 1,\n  /** Participate (i.e. aim to be x percent of the market volume) */\n  Participate = 2,\n  /** Mininize market impact */\n  MininizeMarketImpact = 3,\n}\n", "/**\n * Indicator to identify whether this fill was a result of a liquidity provider providing or liquidity taker taking the liquidity.\n * tag: 851\n * @readonly\n * @enum {number} (int)\n */\nexport enum LastLiquidityInd {\n  NeitherAddedNorRemovedLiquidity = 0,\n  /** Added Liquidity */\n  AddedLiquidity = 1,\n  /** Removed Liquidity */\n  RemovedLiquidity = 2,\n  /** Liquidity Routed Out */\n  LiquidityRoutedOut = 3,\n  /** Auction execution */\n  Auction = 4,\n  TriggeredStopOrder = 5,\n  TriggeredContingencyOrder = 6,\n  TriggeredMarketOrder = 7,\n  RemovedLiquidityAfterFirmOrderCommitment = 8,\n  AuctionExecutionAfterFirmOrderCommitment = 9,\n  Unknown = 10,\n  Other = 11,\n}\n", "/**\n * Indicates if a trade should be reported via a market reporting service.\n * tag: 852\n * @readonly\n * @enum {string} (Boolean)\n */\nexport enum PublishTrdIndicator {\n  /** Do Not Report Trade */\n  DoNotReportTrade = 'N',\n  /** Report Trade */\n  ReportTrade = 'Y',\n}\n", "/**\n * Reason for short sale.\n * tag: 853\n * @readonly\n * @enum {number} (int)\n */\nexport enum ShortSaleReason {\n  /** Dealer Sold Short */\n  DealerSoldShort = 0,\n  /** Dealer Sold Short Exempt */\n  DealerSoldShortExempt = 1,\n  /** Selling Customer Sold Short */\n  SellingCustomerSoldShort = 2,\n  /** Selling Customer Sold Short Exempt */\n  SellingCustomerSoldShortExempt = 3,\n  /** Qualified Service Representative (QSR) or Automatic Give-up (AGU) Contra Side Sold Short */\n  QualifiedServiceRepresentative = 4,\n  /** QSR or AGU Contra Side Sold Short Exempt */\n  QSROrAGUContraSideSoldShortExempt = 5,\n}\n", "/**\n * Type of quantity specified in quantity field. ContractMultiplier (tag 231) is required when QtyType = 1 (Contracts). UnitOfMeasure (tag 996) and TimeUnit (tag 997) are required when QtyType = 2 (Units of Measure per Time Unit).\n * tag: 854\n * @readonly\n * @enum {number} (int)\n */\nexport enum QtyType {\n  /** Units (shares, par, currency) */\n  Units = 0,\n  /** Contracts */\n  Contracts = 1,\n  /** Unit of Measure per Time Unit */\n  UnitsOfMeasurePerTimeUnit = 2,\n}\n", "/**\n * Type of Trade Report\n * tag: 856\n * @readonly\n * @enum {number} (int)\n */\nexport enum TradeReportType {\n  /** Submit */\n  Submit = 0,\n  /** Alleged */\n  Alleged = 1,\n  /** Accept */\n  Accept = 2,\n  /** Decline */\n  Decline = 3,\n  Addendum = 4,\n  No = 5,\n  /** Trade Report Cancel */\n  TradeReportCancel = 6,\n  /** (Locked-In) Trade Break */\n  LockedIn = 7,\n  /** Defaulted */\n  Defaulted = 8,\n  /** Invalid CMTA */\n  InvalidCMTA = 9,\n  /** Pended */\n  Pended = 10,\n  /** Alleged New */\n  AllegedNew = 11,\n  /** Alleged Addendum */\n  AllegedAddendum = 12,\n  /** Alleged No/Was */\n  AllegedNo = 13,\n  /** Alleged Trade Report Cancel */\n  AllegedTradeReportCancel = 14,\n  /** Alleged (Locked-In) Trade Break */\n  AllegedTradeBreak = 15,\n  Verify = 16,\n  Dispute = 17,\n  NonMaterialUpdate = 18,\n}\n", "/**\n * Indicates how the orders being booked and allocated by an AllocationInstruction or AllocationReport message are identified, e.g. by explicit definition in the OrdAllocGrp or ExecAllocGrp components, or not identified explicitly.\n * tag: 857\n * @readonly\n * @enum {number} (int)\n */\nexport enum AllocNoOrdersType {\n  /** Not specified */\n  NotSpecified = 0,\n  /** Explicit list provided */\n  ExplicitListProvided = 1,\n}\n", "/**\n * Code to represent the type of event\n * tag: 865\n * @readonly\n * @enum {number} (int)\n */\nexport enum EventType {\n  /** Put */\n  Put = 1,\n  /** Call */\n  Call = 2,\n  /** Tender */\n  Tender = 3,\n  /** Sinking fund call */\n  SinkingFundCall = 4,\n  /** Activation */\n  Activation = 5,\n  /** Inactivation */\n  Inactiviation = 6,\n  /** Last eligible trade date */\n  LastEligibleTradeDate = 7,\n  /** Swap start date */\n  SwapStartDate = 8,\n  /** Swap end date */\n  SwapEndDate = 9,\n  /** Swap roll date */\n  SwapRollDate = 10,\n  /** Swap next start date */\n  SwapNextStartDate = 11,\n  /** Swap next roll date */\n  SwapNextRollDate = 12,\n  /** First delivery date */\n  FirstDeliveryDate = 13,\n  /** Last delivery date */\n  LastDeliveryDate = 14,\n  /** Initial inventory due date */\n  InitialInventoryDueDate = 15,\n  /** Final inventory due date */\n  FinalInventoryDueDate = 16,\n  /** First intent date */\n  FirstIntentDate = 17,\n  /** Last intent date */\n  LastIntentDate = 18,\n  /** Position removal date */\n  PositionRemovalDate = 19,\n  /** Minimum notice */\n  MinimumNotice = 20,\n  /** Delivery start time */\n  DeliveryStartTime = 21,\n  /** Delivery end time */\n  DeliveryEndTime = 22,\n  FirstNoticeDate = 23,\n  LastNoticeDate = 24,\n  /** First exercise date */\n  FirstExerciseDate = 25,\n  /** Redemption date */\n  RedemptionDate = 26,\n  /** Trade continuation effective date */\n  TrdCntntnEfctvDt = 27,\n  /** Other */\n  Other = 99,\n}\n", "/**\n * Code to represent the type of instrument attribute\n * tag: 871\n * @readonly\n * @enum {number} (int)\n */\nexport enum InstrAttribType {\n  /** Flat (securities pay interest on a current basis but are traded without interest) */\n  Flat = 1,\n  /** Zero coupon */\n  ZeroCoupon = 2,\n  /** Interest bearing (for Euro commercial paper when not issued at discount) */\n  InterestBearing = 3,\n  /** No periodic payments */\n  NoPeriodicPayments = 4,\n  /** Variable rate */\n  VariableRate = 5,\n  /** Less fee for put */\n  LessFeeForPut = 6,\n  /** Stepped coupon */\n  SteppedCoupon = 7,\n  CouponPeriod = 8,\n  /** When [and if] issued */\n  When = 9,\n  /** Original issue discount */\n  OriginalIssueDiscount = 10,\n  /** Callable, puttable */\n  Callable = 11,\n  /** Escrowed to Maturity */\n  EscrowedToMaturity = 12,\n  EscrowedToRedemptionDate = 13,\n  /** Pre-refunded */\n  PreRefunded = 14,\n  /** In default */\n  InDefault = 15,\n  /** Unrated */\n  Unrated = 16,\n  /** Taxable */\n  Taxable = 17,\n  /** Indexed */\n  Indexed = 18,\n  /** Subject To Alternative Minimum Tax */\n  SubjectToAlternativeMinimumTax = 19,\n  OriginalIssueDiscountPrice = 20,\n  /** Callable below maturity value */\n  CallableBelowMaturityValue = 21,\n  /** Callable without notice by mail to holder unless registered */\n  CallableWithoutNotice = 22,\n  /** Price tick rules for security */\n  PriceTickRulesForSecurity = 23,\n  /** Trade type eligibility details for security */\n  TradeTypeEligibilityDetailsForSecurity = 24,\n  /** Instrument denominator */\n  InstrumentDenominator = 25,\n  /** Instrument numerator */\n  InstrumentNumerator = 26,\n  /** Instrument price precision */\n  InstrumentPricePrecision = 27,\n  /** Instrument strike price */\n  InstrumentStrikePrice = 28,\n  /** Tradeable indicator */\n  TradeableIndicator = 29,\n  /** Instrument is eligible to accept anonymous orders */\n  InstrumentEligibleAnonOrders = 30,\n  /** Minimum guaranteed fill volume */\n  MinGuaranteedFillVolume = 31,\n  /** Minimum guaranteed fill status */\n  MinGuaranteedFillStatus = 32,\n  /** Trade at settlement (TAS) eligibility */\n  TradeAtSettlementEligibility = 33,\n  TestInstrument = 34,\n  DummyInstrument = 35,\n  /** Negative settlement price eligibility */\n  NegativeSettlementPriceEligibility = 36,\n  /** Negative strike price eligibility */\n  NegativeStrikePriceEligibility = 37,\n  USStdContractInd = 38,\n  /** Admitted to trading on a trading venue */\n  AdmittedToTradingOnTradingVenue = 39,\n  /** Average daily notional amount */\n  AverageDailyNotionalAmount = 40,\n  /** Average daily number of trades */\n  AverageDailyNumberTrades = 41,\n  Text = 99,\n}\n", "/**\n * The program under which a commercial paper offering is exempt from SEC registration identified by the paragraph number(s) within the US Securities Act of 1933 or as identified below.\n * tag: 875\n * @readonly\n * @enum {number} (int)\n */\nexport enum CPProgram {\n  Program3a3 = 1,\n  Program42 = 2,\n  Program3a2 = 3,\n  Program3a3And3c7 = 4,\n  Program3a4 = 5,\n  Program3a5 = 6,\n  Program3a7 = 7,\n  Program3c7 = 8,\n  /** Other */\n  Other = 99,\n}\n", "/**\n * Defines the unit for a miscellaneous fee.\n * tag: 891\n * @readonly\n * @enum {number} (int)\n */\nexport enum MiscFeeBasis {\n  Absolute = 0,\n  PerUnit = 1,\n  Percentage = 2,\n}\n", "/**\n * Indicates whether this message is the last in a sequence of messages for those messages that support fragmentation, such as Allocation Instruction, Mass Quote, Security List, Derivative Security List\n * tag: 893\n * @readonly\n * @enum {string} (Boolean)\n */\nexport enum LastFragment {\n  /** Not Last Message */\n  NotLastMessage = 'N',\n  /** Last Message */\n  LastMessage = 'Y',\n}\n", "/**\n * Reason for Collateral Assignment\n * tag: 895\n * @readonly\n * @enum {number} (int)\n */\nexport enum CollAsgnReason {\n  /** Initial */\n  Initial = 0,\n  /** Scheduled */\n  Scheduled = 1,\n  /** Time Warning */\n  TimeWarning = 2,\n  MarginDeficiency = 3,\n  MarginExcess = 4,\n  /** Forward Collateral Demand */\n  ForwardCollateralDemand = 5,\n  /** Event of default */\n  EventOfDefault = 6,\n  /** Adverse tax event */\n  AdverseTaxEvent = 7,\n  TransferDeposit = 8,\n  TransferWithdrawal = 9,\n  Pledge = 10,\n}\n", "/**\n * Collateral inquiry qualifiers:\n * tag: 896\n * @readonly\n * @enum {number} (int)\n */\nexport enum CollInquiryQualifier {\n  /** Trade Date */\n  TradeDate = 0,\n  /** GC Instrument */\n  GCInstrument = 1,\n  /** Collateral Instrument */\n  CollateralInstrument = 2,\n  /** Substitution Eligible */\n  SubstitutionEligible = 3,\n  /** Not Assigned */\n  NotAssigned = 4,\n  /** Partially Assigned */\n  PartiallyAssigned = 5,\n  /** Fully Assigned */\n  FullyAssigned = 6,\n  /** Outstanding Trades (Today < end date) */\n  OutstandingTrades = 7,\n}\n", "/**\n * Collateral Assignment Transaction Type\n * tag: 903\n * @readonly\n * @enum {number} (int)\n */\nexport enum CollAsgnTransType {\n  /** New */\n  New = 0,\n  /** Replace */\n  Replace = 1,\n  /** Cancel */\n  Cancel = 2,\n  /** Release */\n  Release = 3,\n  /** Reverse */\n  Reverse = 4,\n}\n", "/**\n * Type of collateral assignment response.\n * tag: 905\n * @readonly\n * @enum {number} (int)\n */\nexport enum CollAsgnRespType {\n  /** Received */\n  Received = 0,\n  /** Accepted */\n  Accepted = 1,\n  /** Declined */\n  Declined = 2,\n  /** Rejected */\n  Rejected = 3,\n  TransactionPending = 4,\n  TransactionCompletedWithWarning = 5,\n}\n", "/**\n * Collateral Assignment Reject Reason\n * tag: 906\n * @readonly\n * @enum {number} (int)\n */\nexport enum CollAsgnRejectReason {\n  /** Unknown deal (order / trade) */\n  UnknownDeal = 0,\n  /** Unknown or invalid instrument */\n  UnknownOrInvalidInstrument = 1,\n  /** Unauthorized transaction */\n  UnauthorizedTransaction = 2,\n  /** Insufficient collateral */\n  InsufficientCollateral = 3,\n  /** Invalid type of collateral */\n  InvalidTypeOfCollateral = 4,\n  /** Excessive substitution */\n  ExcessiveSubstitution = 5,\n  /** Other */\n  Other = 99,\n}\n", "/**\n * Collateral Status\n * tag: 910\n * @readonly\n * @enum {number} (int)\n */\nexport enum CollStatus {\n  /** Unassigned */\n  Unassigned = 0,\n  /** Partially Assigned */\n  PartiallyAssigned = 1,\n  /** Assignment Proposed */\n  AssignmentProposed = 2,\n  /** Assigned (Accepted) */\n  Assigned = 3,\n  /** Challenged */\n  Challenged = 4,\n  Reused = 5,\n}\n", "/**\n * Indicates whether this message is the last report message in response to a request message, e.g. OrderMassStatusRequest(35=AF), TradeCaptureReportRequest(35=AD).\n * tag: 912\n * @readonly\n * @enum {string} (Boolean)\n */\nexport enum LastRptRequested {\n  /** Not last message */\n  NotLastMessage = 'N',\n  /** Last message */\n  LastMessage = 'Y',\n}\n", "/**\n * Identifies type of settlement\n * tag: 919\n * @readonly\n * @enum {number} (int)\n */\nexport enum DeliveryType {\n  /** \"Versus Payment\": Deliver (if sell) or Receive (if buy) vs. (against) Payment */\n  VersusPayment = 0,\n  /** \"Free\": Deliver (if sell) or Receive (if buy) Free */\n  Free = 1,\n  /** Tri-Party */\n  TriParty = 2,\n  /** Hold In Custody */\n  HoldInCustody = 3,\n  DeliverByValue = 4,\n}\n", "/**\n * Indicates the action required by a User Request Message\n * tag: 924\n * @readonly\n * @enum {number} (int)\n */\nexport enum UserRequestType {\n  /** Log On User */\n  LogOnUser = 1,\n  /** Log Off User */\n  LogOffUser = 2,\n  /** Change Password For User */\n  ChangePasswordForUser = 3,\n  /** Request Individual User Status */\n  RequestIndividualUserStatus = 4,\n  /** Request Throttle Limit */\n  RequestThrottleLimit = 5,\n}\n", "/**\n * Indicates the status of a user\n * tag: 926\n * @readonly\n * @enum {number} (int)\n */\nexport enum UserStatus {\n  /** Logged In */\n  LoggedIn = 1,\n  /** Not Logged In */\n  NotLoggedIn = 2,\n  /** User Not Recognised */\n  UserNotRecognised = 3,\n  /** Password Incorrect */\n  PasswordIncorrect = 4,\n  /** Password Changed */\n  PasswordChanged = 5,\n  /** Other */\n  Other = 6,\n  /** Forced user logout by Exchange */\n  ForcedUserLogoutByExchange = 7,\n  /** Session shutdown warning */\n  SessionShutdownWarning = 8,\n  /** Throttle parameters changed */\n  ThrottleParametersChanged = 9,\n}\n", "/**\n * Indicates the status of a network connection\n * tag: 928\n * @readonly\n * @enum {number} (int)\n */\nexport enum StatusValue {\n  /** Connected */\n  Connected = 1,\n  /** Not Connected - down expected up */\n  NotConnectedUnexpected = 2,\n  /** Not Connected - down expected down */\n  NotConnectedExpected = 3,\n  /** In Process */\n  InProcess = 4,\n}\n", "export enum NetworkRequestType {\n  /** Snapshot */\n  Snapshot = 1,\n  /** Subscribe */\n  Subscribe = 2,\n  /** Stop Subscribing */\n  StopSubscribing = 4,\n  /** Level of Detail, then NoCompID's becomes required */\n  LevelOfDetail = 8,\n}\n", "/**\n * Indicates the type of Network Response Message.\n * tag: 937\n * @readonly\n * @enum {number} (int)\n */\nexport enum NetworkStatusResponseType {\n  /** Full */\n  Full = 1,\n  /** Incremental Update */\n  IncrementalUpdate = 2,\n}\n", "/**\n * Trade Report Status\n * tag: 939\n * @readonly\n * @enum {number} (int)\n */\nexport enum TrdRptStatus {\n  /** Accepted */\n  Accepted = 0,\n  /** Rejected */\n  Rejected = 1,\n  /** Cancelled */\n  Cancelled = 2,\n  /** Accepted with errors */\n  AcceptedWithErrors = 3,\n  /** Pending New */\n  PendingNew = 4,\n  /** Pending Cancel */\n  PendingCancel = 5,\n  /** Pending Replace */\n  PendingReplace = 6,\n  /** Terminated */\n  Terminated = 7,\n  PendingVerification = 8,\n  DeemedVerified = 9,\n  Verified = 10,\n  Disputed = 11,\n}\n", "/**\n * Specifies the affirmation status of the confirmation.\n * tag: 940\n * @readonly\n * @enum {number} (int)\n */\nexport enum AffirmStatus {\n  /** Received */\n  Received = 1,\n  /** Confirm rejected, i.e. not affirmed */\n  ConfirmRejected = 2,\n  /** Affirmed */\n  Affirmed = 3,\n}\n", "/**\n * Action proposed for an Underlying Instrument instance.\n * tag: 944\n * @readonly\n * @enum {number} (int)\n */\nexport enum CollAction {\n  /** Retain */\n  Retain = 0,\n  /** Add */\n  Add = 1,\n  /** Remove */\n  Remove = 2,\n}\n", "/**\n * Status of Collateral Inquiry\n * tag: 945\n * @readonly\n * @enum {number} (int)\n */\nexport enum CollInquiryStatus {\n  /** Accepted */\n  Accepted = 0,\n  /** Accepted With Warnings */\n  AcceptedWithWarnings = 1,\n  /** Completed */\n  Completed = 2,\n  /** Completed With Warnings */\n  CompletedWithWarnings = 3,\n  /** Rejected */\n  Rejected = 4,\n}\n", "export enum CollInquiryResult {\n  /** Successful (default) */\n  Successful = 0,\n  /** Invalid or unknown instrument */\n  InvalidOrUnknownInstrument = 1,\n  /** Invalid or unknown collateral type */\n  InvalidOrUnknownCollateralType = 2,\n  /** Invalid Parties */\n  InvalidParties = 3,\n  /** Invalid Transport Type requested */\n  InvalidTransportTypeRequested = 4,\n  /** Invalid Destination requested */\n  InvalidDestinationRequested = 5,\n  /** No collateral found for the trade specified */\n  NoCollateralFoundForTheTradeSpecified = 6,\n  /** No collateral found for the order specified */\n  NoCollateralFoundForTheOrderSpecified = 7,\n  /** Collateral inquiry type not supported */\n  CollateralInquiryTypeNotSupported = 8,\n  /** Unauthorized for collateral inquiry */\n  UnauthorizedForCollateralInquiry = 9,\n  /** Other (further information in Text (58) field) */\n  Other = 99,\n}\n", "/**\n * Datatype of the parameter\n * tag: 959\n * @readonly\n * @enum {number} (int)\n */\nexport enum StrategyParameterType {\n  /** Int */\n  Int = 1,\n  /** Length */\n  Length = 2,\n  /** NumInGroup */\n  NumInGroup = 3,\n  /** SeqNum */\n  SeqNum = 4,\n  /** TagNum */\n  TagNum = 5,\n  /** float */\n  Float = 6,\n  /** Qty */\n  Qty = 7,\n  /** Price */\n  Price = 8,\n  /** PriceOffset */\n  PriceOffset = 9,\n  /** Amt */\n  Amt = 10,\n  /** Percentage */\n  Percentage = 11,\n  /** Char */\n  Char = 12,\n  /** Boolean */\n  Boolean = 13,\n  /** String */\n  String = 14,\n  /** MultipleCharValue */\n  MultipleCharValue = 15,\n  /** Currency */\n  Currency = 16,\n  /** Exchange */\n  Exchange = 17,\n  /** MonthYear */\n  MonthYear = 18,\n  /** UTCTimestamp */\n  UTCTimestamp = 19,\n  /** UTCTimeOnly */\n  UTCTimeOnly = 20,\n  /** LocalMktDate */\n  LocalMktDate = 21,\n  /** UTCDateOnly */\n  UTCDateOnly = 22,\n  /** data */\n  Data = 23,\n  /** MultipleStringValue */\n  MultipleStringValue = 24,\n  /** Country */\n  Country = 25,\n  /** Language */\n  Language = 26,\n  /** TZTimeOnly */\n  TZTimeOnly = 27,\n  /** TZTimestamp */\n  TZTimestamp = 28,\n  /** Tenor */\n  Tenor = 29,\n}\n", "/**\n * Indicates the current state of the instrument.\n * tag: 965\n * @readonly\n * @enum {string} (String)\n */\nexport enum SecurityStatus {\n  Active = '1',\n  Inactive = '2',\n  ActiveClosingOrdersOnly = '3',\n  Expired = '4',\n  Delisted = '5',\n  KnockedOut = '6',\n  KnockOutRevoked = '7',\n  PendingExpiry = '8',\n  Suspended = '9',\n  Published = '10',\n  PendingDeletion = '11',\n}\n", "/**\n * Used for derivatives that deliver into cash underlying.\n * tag: 974\n * @readonly\n * @enum {string} (String)\n */\nexport enum UnderlyingCashType {\n  /** FIXED */\n  FIXED = 'FIXED',\n  /** DIFF */\n  DIFF = 'DIFF',\n}\n", "/**\n * Indicates order settlement period for the underlying instrument.\n * tag: 975\n * @readonly\n * @enum {number} (int)\n */\nexport enum UnderlyingSettlementType {\n  /** T+1 */\n  TPlus1 = 2,\n  /** T+3 */\n  TPlus3 = 4,\n  /** T+4 */\n  TPlus4 = 5,\n}\n", "/**\n * Specifies the action taken or to be taken for the specified instrument or list of instruments.\n * tag: 980\n * @readonly\n * @enum {string} (char)\n */\nexport enum SecurityUpdateAction {\n  /** Add */\n  Add = 'A',\n  /** Delete */\n  Delete = 'D',\n  /** Modify */\n  Modify = 'M',\n}\n", "/**\n * Expiration Quantity type\n * tag: 982\n * @readonly\n * @enum {number} (int)\n */\nexport enum ExpirationQtyType {\n  /** Auto Exercise */\n  AutoExercise = 1,\n  /** Non Auto Exercise */\n  NonAutoExercise = 2,\n  /** Final Will Be Exercised */\n  FinalWillBeExercised = 3,\n  /** Contrary Intention */\n  ContraryIntention = 4,\n  /** Difference */\n  Difference = 5,\n}\n", "/**\n * Identifies whether the allocation is to be sub-allocated or allocated to a third party\n * tag: 992\n * @readonly\n * @enum {number} (int)\n */\nexport enum IndividualAllocType {\n  /** Sub Allocate */\n  SubAllocate = 1,\n  /** Third Party Allocation */\n  ThirdPartyAllocation = 2,\n}\n", "export enum UnitOfMeasure {\n  /** Billion cubic feet */\n  BillionCubicFeet = 'Bcf',\n  /** Allowances */\n  Allowances = 'Alw',\n  /** Cubic Meters */\n  CubicMeters = 'CBM',\n  Barrels = 'Bbl',\n  /** gigajoules */\n  Gigajoules = 'GJ',\n  BoardFeet = 'BDFT',\n  HeatRate = 'kHR',\n  /** Bushels */\n  Bushels = 'Bu',\n  /** Kilowatt hours */\n  KilowattHours = 'kWh',\n  /** Amount of currency */\n  Currency = 'Ccy',\n  MegaHeatRate = 'MHR',\n  /** Cooling degree day */\n  CoolingDegreeDay = 'CDD',\n  /** One Million BTU */\n  OneMillionBTU = 'MMBtu',\n  /** Certified emissions reduction */\n  CertifiedEmissionsReduction = 'CER',\n  /** Megawatt hours */\n  MegawattHours = 'MWh',\n  /** Critical precipitation day */\n  CriticalPrecipDay = 'CPD',\n  Therms = 'thm',\n  /** Climate reserve tonnes */\n  ClimateReserveTonnes = 'CRT',\n  /** Tons of carbon dioxide */\n  TonsOfCarbonDioxide = 'tnCO2',\n  Hundredweight = 'cwt',\n  /** Days */\n  Day = 'day',\n  /** Dry metric tons */\n  DryMetricTons = 'dt',\n  /** Environmental allowance certificates */\n  EnvAllwncCert = 'EnvAllwnc',\n  /** Environmental credit */\n  EnvironmentalCredit = 'EnvCrd',\n  /** Environmental Offset */\n  EnvironmentalOffset = 'EnvOfst',\n  /** Grams */\n  Grams = 'g',\n  /** Gallons */\n  Gallons = 'Gal',\n  GrossTons = 'GT',\n  /** Heating degree day */\n  HeatingDegreeDay = 'HDD',\n  /** Index point */\n  IndexPoint = 'IPNT',\n  /** Kilograms */\n  Kilograms = 'kg',\n  /** kiloliters */\n  Kiloliters = 'kL',\n  /** Kilowatt year (electrical capacity) */\n  KilowattYear = 'kW-a',\n  /** Kilowatt day (electrical capacity) */\n  KilowattDay = 'kW-d',\n  /** Kilowatt hour (electrical capacity) */\n  KilowattHour = 'kW-h',\n  /** Kilowatt month (electrical capacity) */\n  KilowattMonth = 'kW-M',\n  /** Kilowatt-Minute (electrical capacity) */\n  KilowattMinute = 'kW-min',\n  /** liters */\n  Liters = 'L',\n  /** pounds */\n  Pounds = 'lbs',\n  /** Megawatt year (electrical capacity) */\n  MegawattYear = 'MW-a',\n  /** Megawatt day (electrical capacity) */\n  MegawattDay = 'MW-d',\n  /** Megawatt hour (electrical capacity) */\n  MegawattHour = 'MW-h',\n  /** Megawatt month (electrical capacity) */\n  MegawattMonth = 'MW-M',\n  /** Megawatt minute (electrical capacity) */\n  MegawattMinute = 'MW-min',\n  /** Troy ounces */\n  TroyOunces = 'oz_tr',\n  /** Principal with relation to debt instrument */\n  PrincipalWithRelationToDebtInstrument = 'PRINC',\n  MetricTons = 't',\n  Tons = 'tn',\n  /** Are */\n  Are = 'a',\n  /** Acre */\n  Acre = 'ac',\n  /** Centiliter */\n  Centiliter = 'cL',\n  /** Centimeter */\n  Centimeter = 'cM',\n  /** Diesel gallon equivalent */\n  DieselGallonEquivalent = 'DGE',\n  /** Foot */\n  Foot = 'ft',\n  /** GB Gallon */\n  GBGallon = 'Gal_gb',\n  /** Gasonline gallon equivalent */\n  GasolineGallonEquivalent = 'GGE',\n  /** Hectare */\n  Hectare = 'ha',\n  /** Inch */\n  Inch = 'in',\n  /** Kilometer */\n  Kilometer = 'kM',\n  /** Meter */\n  Meter = 'M',\n  /** Mile */\n  Mile = 'mi',\n  /** Milliliter */\n  Milliliter = 'mL',\n  /** Millimeter */\n  Millimeter = 'mM',\n  /** US ounce */\n  USOunce = 'oz',\n  /** Piece */\n  Piece = 'pc',\n  /** US Pint */\n  USPint = 'pt',\n  /** GB pint */\n  GBPint = 'pt_gb',\n  /** US Quart */\n  USQuart = 'qt',\n  /** GB Quart */\n  GBQuart = 'qt_gb',\n  /** Square centimeter */\n  SquareCentimeter = 'SqcM',\n  /** Square foot */\n  SquareFoot = 'Sqft',\n  /** Square inch */\n  SquareInch = 'Sqin',\n  /** Square kilometer */\n  SquareKilometer = 'SqkM',\n  /** Square meter */\n  SquareMeter = 'SqM',\n  /** Square mile */\n  SquareMile = 'Sqmi',\n  /** Square millimeter */\n  SquareMillimeter = 'SqmM',\n  /** Square yard */\n  SquareYard = 'Sqyd',\n  /** Yard */\n  Yard = 'yd',\n  /** Million Barrels */\n  MillionBarrels = 'MMbbl',\n  /** US Dollars */\n  USDollars = 'USD',\n}\n", "export enum TimeUnit {\n  /** Hour */\n  Hour = 'H',\n  /** Minute */\n  Minute = 'Min',\n  /** Second */\n  Second = 'S',\n  /** Day */\n  Day = 'D',\n  /** Week */\n  Week = 'Wk',\n  /** Month */\n  Month = 'Mo',\n  /** Year */\n  Year = 'Yr',\n  /** Quarter */\n  Quarter = 'Q',\n  EndOfMonth = 'EOM',\n  Flexible = 'F',\n}\n", "/**\n * Specifies the method under which a trade quantity was allocated.\n * tag: 1002\n * @readonly\n * @enum {number} (int)\n */\nexport enum AllocMethod {\n  /** Automatic */\n  Automatic = 1,\n  /** Guarantor */\n  Guarantor = 2,\n  /** Manual */\n  Manual = 3,\n  /** Broker assigned */\n  BrokerAssigned = 4,\n}\n", "/**\n * A trade that is being submitted for a trade date prior to the current trade or clearing date, e.g. in an open outcry market an out trade being submitted for the previous trading session or trading day.\n * tag: 1015\n * @readonly\n * @enum {string} (char)\n */\nexport enum AsOfIndicator {\n  /** false - trade is not an AsOf trade */\n  False = '0',\n  /** true - trade is an AsOf trade */\n  True = '1',\n}\n", "/**\n * Describes the type of book for which the feed is intended. Used when multiple feeds are provided over the same connection\n * tag: 1021\n * @readonly\n * @enum {number} (int)\n */\nexport enum MDBookType {\n  /** Top of Book */\n  TopOfBook = 1,\n  /** Price Depth */\n  PriceDepth = 2,\n  /** Order Depth */\n  OrderDepth = 3,\n}\n", "/**\n * Used to describe the origin of the market data entry.\n * tag: 1024\n * @readonly\n * @enum {number} (int)\n */\nexport enum MDOriginType {\n  /** Book */\n  Book = 0,\n  /** Off-Book */\n  OffBook = 1,\n  /** Cross */\n  Cross = 2,\n  QuoteDrivenMarket = 3,\n  /** Dark order book */\n  DarkOrderBook = 4,\n  AuctionDrivenMarket = 5,\n  QuoteNegotiation = 6,\n  VoiceNegotiation = 7,\n  HybridMarket = 8,\n  OtherMarket = 9,\n}\n", "export enum CustOrderHandlingInst {\n  /** Phone simple */\n  PhoneSimple = 'A',\n  /** G Order(FINRA OATS), FCM API or FIX(FIA Execution Source) */\n  GOrderAndFCMAPIorFIX = 'G',\n  /** Phone complex */\n  PhoneComplex = 'B',\n  /** Add-on order */\n  AddOnOrder = 'ADD',\n  /** FCM provided screen */\n  FCMProvidedScreen = 'C',\n  /** All or none */\n  AllOrNone = 'AON',\n  /** Other provided screen */\n  OtherProvidedScreen = 'D',\n  /** Conditional order */\n  ConditionalOrder = 'CND',\n  /** Client provided platform controlled by FCM */\n  ClientProvidedPlatformControlledByFCM = 'E',\n  /** Cash not held */\n  CashNotHeld = 'CNH',\n  /** Client provided platform direct to exchange */\n  ClientProvidedPlatformDirectToExchange = 'F',\n  /** Delivery instructions - cash */\n  DeliveryInstructionsCash = 'CSH',\n  /** Directed order */\n  DirectedOrder = 'DIR',\n  /** Algo engine */\n  AlgoEngine = 'H',\n  /** Discretionary limit order */\n  DiscretionaryLimitOrder = 'DLO',\n  /** Price at execution (price added at initial order entry, trading, middle office or time of give-up) */\n  PriceAtExecution = 'J',\n  /** Exchange for physical transaction */\n  ExchangeForPhysicalTransaction = 'E.W',\n  /** Desk - electronic */\n  DeskElectronic = 'W',\n  /** Fill or kill */\n  FillOrKill = 'FOK',\n  /** Desk - pit */\n  DeskPit = 'X',\n  /** Client - electronic */\n  ClientElectronic = 'Y',\n  /** Intraday cross */\n  IntraDayCross = 'IDX',\n  /** Client - pit */\n  ClientPit = 'Z',\n  /** Imbalance only */\n  ImbalanceOnly = 'IO',\n  /** Immediate or cancel */\n  ImmediateOrCancel = 'IOC',\n  /** Intermarket sweep order */\n  IntermarketSweepOrder = 'ISO',\n  /** Limit on open */\n  LimitOnOpen = 'LOO',\n  /** Limit on Close */\n  LimitOnClose = 'LOC',\n  /** Market at Open */\n  MarketAtOpen = 'MAO',\n  /** Market at close */\n  MarketAtClose = 'MAC',\n  /** Market on open */\n  MarketOnOpen = 'MOO',\n  /** Market on close */\n  MarketOnClose = 'MOC',\n  /** Merger related transfer position */\n  MergerRelatedTransferPosition = 'MPT',\n  /** Minimum quantity */\n  MinimumQuantity = 'MQT',\n  /** Market to limit */\n  MarketToLimit = 'MTL',\n  /** Delivery instructions - next day */\n  DeliveryInstructionsNextDay = 'ND',\n  /** Not held */\n  NotHeld = 'NH',\n  /** Options related transaction */\n  OptionsRelatedTransaction = 'OPT',\n  /** Over the day */\n  OverTheDay = 'OVD',\n  /** Pegged */\n  Pegged = 'PEG',\n  /** Reserve size order */\n  ReserveSizeOrder = 'RSV',\n  /** Stop stock transaction */\n  StopStockTransaction = 'S.W',\n  /** Scale */\n  Scale = 'SCL',\n  /** Delivery instructions - sellers option */\n  DeliveryInstructionsSellersOption = 'SLR',\n  /** Time order */\n  TimeOrder = 'TMO',\n  /** Trailing stop */\n  TrailingStop = 'TS',\n  /** Work */\n  Work = 'WRK',\n  /** Stay on offerside */\n  StayOnOfferside = 'F0',\n  /** Go along */\n  GoAlong = 'F3',\n  /** Participate do not initiate */\n  ParticipateDoNotInitiate = 'F6',\n  /** Strict scale */\n  StrictScale = 'F7',\n  /** Try to scale */\n  TryToScale = 'F8',\n  /** Stay on bidside */\n  StayOnBidside = 'F9',\n  /** No cross */\n  NoCross = 'FA',\n  /** OK to cross */\n  OKToCross = 'FB',\n  /** Call first */\n  CallFirst = 'FC',\n  /** Percent of volume */\n  PercentOfVolume = 'FD',\n  /** Reinstate on system failure */\n  ReinstateOnSystemFailure = 'FH',\n  /** Institution only */\n  InstitutionOnly = 'FI',\n  /** Reinstate on trading halt */\n  ReinstateOnTradingHalt = 'FJ',\n  /** Cancel on trading half */\n  CancelOnTradingHalf = 'FK',\n  /** Last peg */\n  LastPeg = 'FL',\n  /** Mid-price peg */\n  MidPricePeg = 'FM',\n  /** Non-negotiable */\n  NonNegotiable = 'FN',\n  /** Opening peg */\n  OpeningPeg = 'FO',\n  /** Market peg */\n  MarketPeg = 'FP',\n  /** Cancel on system failure */\n  CancelOnSystemFailure = 'FQ',\n  /** Primary peg */\n  PrimaryPeg = 'FR',\n  /** Suspend */\n  Suspend = 'FS',\n  /** Fixed peg to local best bid or offer at time of order */\n  FixedPegToLocalBBO = 'FT',\n  /** Peg to VWAP */\n  PegToVWAP = 'FW',\n  /** Trade along */\n  TradeAlong = 'FX',\n  /** Try to stop */\n  TryToStop = 'FY',\n  /** Cancel if not best */\n  CancelIfNotBest = 'FZ',\n  /** Strict limit */\n  StrictLimit = 'Fb',\n  /** Ignore price validity checks */\n  IgnorePriceValidityChecks = 'Fc',\n  /** Peg to Limit Price */\n  PegToLimitPrice = 'Fd',\n  /** Work to target strategy */\n  WorkToTargetStrategy = 'Fe',\n}\n", "export enum OrderHandlingInstSource {\n  /** FINRA OATS */\n  FINRAOATS = 1,\n  /** FIA Execution Source Code */\n  FIAExecutionSourceCode = 2,\n}\n", "export enum DeskType {\n  /** Agency */\n  Agency = 'A',\n  /** Arbitrage */\n  Arbitrage = 'AR',\n  /** Block trading */\n  BlockTrading = 'B',\n  /** Convertible desk */\n  ConvertibleDesk = 'C',\n  /** Central risk books */\n  CentralRiskBooks = 'CR',\n  /** Derivatives */\n  Derivatives = 'D',\n  /** Equity capital markets */\n  EquityCapitalMarkets = 'EC',\n  /** International */\n  International = 'IN',\n  /** Institutional */\n  Institutional = 'IS',\n  /** Other */\n  Other = 'O',\n  /** Preferred trading */\n  PreferredTrading = 'PF',\n  /** Proprietary */\n  Proprietary = 'PR',\n  /** Program trading */\n  ProgramTrading = 'PT',\n  /** Sales */\n  Sales = 'S',\n  /** Swaps */\n  Swaps = 'SW',\n  /** Trading desk or system non-market maker */\n  TradingDeskSystem = 'T',\n  /** Treasury */\n  Treasury = 'TR',\n  /** Floor Broker */\n  FloorBroker = 'FB',\n}\n", "/**\n * The status of this execution acknowledgement message.\n * tag: 1036\n * @readonly\n * @enum {string} (char)\n */\nexport enum ExecAckStatus {\n  /** Received, not yet processed */\n  Received = '0',\n  /** Accepted */\n  Accepted = '1',\n  /** Don't know / Rejected */\n  DontKnow = '2',\n}\n", "/**\n * conveys how the collateral should be/has been applied\n * tag: 1043\n * @readonly\n * @enum {number} (int)\n */\nexport enum CollApplType {\n  /** Specific Deposit */\n  SpecificDeposit = 0,\n  /** General */\n  General = 1,\n}\n", "/**\n * Specifies whether the UnderlyingFxRate(1045) should be multiplied or divided.\n * tag: 1046\n * @readonly\n * @enum {string} (char)\n */\nexport enum UnderlyingFXRateCalc {\n  /** Divide */\n  Divide = 'D',\n  /** Multiply */\n  Multiply = 'M',\n}\n", "/**\n * Indicates whether the resulting position after a trade should be an opening position or closing position. Used for omnibus accounting - where accounts are held on a gross basis instead of being netted together.\n * tag: 1047\n * @readonly\n * @enum {string} (char)\n */\nexport enum AllocPositionEffect {\n  /** Open */\n  Open = 'O',\n  /** Close */\n  Close = 'C',\n  /** Rolled */\n  Rolled = 'R',\n  /** FIFO */\n  FIFO = 'F',\n}\n", "/**\n * Identifies role of dealer; Agent, Principal, RisklessPrincipal\n * tag: 1048\n * @readonly\n * @enum {string} (char)\n */\nexport enum DealingCapacity {\n  /** Agent */\n  Agent = 'A',\n  /** Principal */\n  Principal = 'P',\n  /** Riskless Principal */\n  RisklessPrincipal = 'R',\n}\n", "/**\n * Method under which assignment was conducted\n * tag: 1049\n * @readonly\n * @enum {string} (char)\n */\nexport enum InstrmtAssignmentMethod {\n  /** Pro rata */\n  ProRata = 'P',\n  /** Random */\n  Random = 'R',\n}\n", "/**\n * Used to identify whether the order initiator is an aggressor or not in the trade.\n * tag: 1057\n * @readonly\n * @enum {string} (Boolean)\n */\nexport enum AggressorIndicator {\n  /** Order initiator is aggressor */\n  OrderInitiatorIsAggressor = 'Y',\n  /** Order initiator is passive */\n  OrderInitiatorIsPassive = 'N',\n}\n", "/**\n * Identifies market data quote type.\n * tag: 1070\n * @readonly\n * @enum {number} (int)\n */\nexport enum MDQuoteType {\n  /** Indicative */\n  Indicative = 0,\n  /** Tradeable */\n  Tradeable = 1,\n  /** Restricted Tradeable */\n  RestrictedTradeable = 2,\n  /** Counter */\n  Counter = 3,\n  /** Indicative and Tradeable */\n  IndicativeAndTradeable = 4,\n}\n", "/**\n * Used to specify the source for the identifier in RefOrderID(1080). This can be an identifier provided in order depth market data when hitting (taking) a specific order or to identify what type of order or quote reference is being provided when seeking credit limit check. In the context of US CAT this can be used to identify related orders and quotes which are parent, previous, or manual orders or quotes. Previous relates to orders changing their unique system assigned order identifier.\n * tag: 1081\n * @readonly\n * @enum {string} (char)\n */\nexport enum RefOrderIDSource {\n  SecondaryOrderID = '0',\n  OrderID = '1',\n  MDEntryID = '2',\n  QuoteEntryID = '3',\n  OriginalOrderID = '4',\n  QuoteID = '5',\n  QuoteReqID = '6',\n  PreviousOrderIdentifier = '7',\n  PreviousQuoteIdentifier = '8',\n  ParentOrderIdentifier = '9',\n  ManualOrderIdentifier = 'A',\n}\n", "/**\n * Instructs when to refresh DisplayQty (1138).\n * tag: 1083\n * @readonly\n * @enum {string} (char)\n */\nexport enum DisplayWhen {\n  /** Immediate (after each fill) */\n  Immediate = '1',\n  /** Exhaust (when DisplayQty = 0) */\n  Exhaust = '2',\n}\n", "/**\n * Defines what value to use in DisplayQty (1138). If not specified the default DisplayMethod is \"1\"\n * tag: 1084\n * @readonly\n * @enum {string} (char)\n */\nexport enum DisplayMethod {\n  /** Initial (use original DisplayQty) */\n  Initial = '1',\n  /** New (use RefreshQty) */\n  New = '2',\n  /** Random (randomize value) */\n  Random = '3',\n  /** Undisclosed (invisible order) */\n  Undisclosed = '4',\n}\n", "/**\n * Defines the type of price protection the customer requires on their order.\n * tag: 1092\n * @readonly\n * @enum {string} (char)\n */\nexport enum PriceProtectionScope {\n  /** None */\n  None = '0',\n  /** Local (Exchange, ECN, ATS) */\n  Local = '1',\n  /** National (Across all national markets) */\n  National = '2',\n  /** Global (Across all markets) */\n  Global = '3',\n}\n", "/**\n * Defines the lot type assigned to the order.\n * tag: 1093\n * @readonly\n * @enum {string} (char)\n */\nexport enum LotType {\n  /** Odd Lot */\n  OddLot = '1',\n  /** Round Lot */\n  RoundLot = '2',\n  /** Block Lot */\n  BlockLot = '3',\n  /** Round lot based upon UnitOfMeasure(996) */\n  RoundLotBasedUpon = '4',\n}\n", "/**\n * Defines the type of peg.\n * tag: 1094\n * @readonly\n * @enum {number} (int)\n */\nexport enum PegPriceType {\n  /** Last peg (last sale) */\n  LastPeg = 1,\n  /** Mid-price peg (midprice of inside quote) */\n  MidPricePeg = 2,\n  /** Opening peg */\n  OpeningPeg = 3,\n  /** Market peg */\n  MarketPeg = 4,\n  /** Primary peg (primary market - buy at bid or sell at offer) */\n  PrimaryPeg = 5,\n  /** Peg to VWAP */\n  PegToVWAP = 7,\n  /** Trailing Stop Peg */\n  TrailingStopPeg = 8,\n  /** Peg to Limit Price */\n  PegToLimitPrice = 9,\n  ShortSaleMinPricePeg = 10,\n}\n", "/**\n * Defines when the trigger will hit, i.e. the action specified by the trigger instructions will come into effect.\n * tag: 1100\n * @readonly\n * @enum {string} (char)\n */\nexport enum TriggerType {\n  /** Partial Execution */\n  PartialExecution = '1',\n  /** Specified Trading Session */\n  SpecifiedTradingSession = '2',\n  /** Next Auction */\n  NextAuction = '3',\n  /** Price Movement */\n  PriceMovement = '4',\n  /** On Order Entry or order modification entry */\n  OnOrderEntryOrModification = '5',\n}\n", "/**\n * Defines the type of action to take when the trigger hits.\n * tag: 1101\n * @readonly\n * @enum {string} (char)\n */\nexport enum TriggerAction {\n  /** Activate */\n  Activate = '1',\n  /** Modify */\n  Modify = '2',\n  /** Cancel */\n  Cancel = '3',\n}\n", "/**\n * The type of price that the trigger is compared to.\n * tag: 1107\n * @readonly\n * @enum {string} (char)\n */\nexport enum TriggerPriceType {\n  /** Best Offer */\n  BestOffer = '1',\n  /** Last Trade */\n  LastTrade = '2',\n  /** Best Bid */\n  BestBid = '3',\n  /** Best Bid or Last Trade */\n  BestBidOrLastTrade = '4',\n  /** Best Offer or Last Trade */\n  BestOfferOrLastTrade = '5',\n  /** Best Mid */\n  BestMid = '6',\n}\n", "/**\n * Defines the type of price protection the customer requires on their order.\n * tag: 1108\n * @readonly\n * @enum {string} (char)\n */\nexport enum TriggerPriceTypeScope {\n  /** None */\n  None = '0',\n  /** Local (Exchange, ECN, ATS) */\n  Local = '1',\n  /** National (Across all national markets) */\n  National = '2',\n  /** Global (Across all markets) */\n  Global = '3',\n}\n", "/**\n * The side from which the trigger price is reached.\n * tag: 1109\n * @readonly\n * @enum {string} (char)\n */\nexport enum TriggerPriceDirection {\n  /** Trigger if the price of the specified type goes UP to or through the specified Trigger Price. */\n  Up = 'U',\n  /** Trigger if the price of the specified type goes DOWN to or through the specified Trigger Price. */\n  Down = 'D',\n}\n", "/**\n * The OrdType the order should have after the trigger has hit. Required to express orders that change from Limit to Market. Other values from OrdType (40) may be used if appropriate and bilaterally agreed upon.\n * tag: 1111\n * @readonly\n * @enum {string} (char)\n */\nexport enum TriggerOrderType {\n  /** Market */\n  Market = '1',\n  /** Limit */\n  Limit = '2',\n}\n", "/**\n * Defines the type of interest behind a trade (fill or partial fill).\n * tag: 1115\n * @readonly\n * @enum {string} (char)\n */\nexport enum OrderCategory {\n  /** Order */\n  Order = '1',\n  /** Quote */\n  Quote = '2',\n  /** Privately Negotiated Trade */\n  PrivatelyNegotiatedTrade = '3',\n  /** Multileg order */\n  MultilegOrder = '4',\n  /** Linked order */\n  LinkedOrder = '5',\n  /** Quote Request */\n  QuoteRequest = '6',\n  /** Implied Order */\n  ImpliedOrder = '7',\n  /** Cross Order */\n  CrossOrder = '8',\n  /** Streaming price (quote) */\n  StreamingPrice = '9',\n  /** Internal Cross Order */\n  InternalCrossOrder = 'A',\n}\n", "/**\n * Specified how the TradeCaptureReport(35=AE) should be handled by the respondent.\n * tag: 1123\n * @readonly\n * @enum {string} (char)\n */\nexport enum TradeHandlingInstr {\n  /** Trade confirmation */\n  TradeConfirmation = '0',\n  /** Two-party report */\n  TwoPartyReport = '1',\n  /** One-party report for matching */\n  OnePartyReportForMatching = '2',\n  OnePartyReportForPassThrough = '3',\n  /** Automated floor order routing */\n  AutomatedFloorOrderRouting = '4',\n  /** Two-party report for claim */\n  TwoPartyReportForClaim = '5',\n  /** One-party report */\n  OnePartyReport = '6',\n  ThirdPtyRptForPassThrough = '7',\n  OnePartyReportAutoMatch = '8',\n}\n", "/**\n * Specifies the application layer version being applied at the message level.\n * tag: 1128\n * @readonly\n * @enum {string} (String)\n */\nexport enum ApplVerID {\n  /** FIX27 */\n  FIX27 = '0',\n  /** FIX30 */\n  FIX30 = '1',\n  /** FIX40 */\n  FIX40 = '2',\n  /** FIX41 */\n  FIX41 = '3',\n  /** FIX42 */\n  FIX42 = '4',\n  /** FIX43 */\n  FIX43 = '5',\n  /** FIX44 */\n  FIX44 = '6',\n  /** FIX50 */\n  FIX50 = '7',\n  /** FIX50SP1 */\n  FIX50SP1 = '8',\n  /** FIX50SP2 */\n  FIX50SP2 = '9',\n  /** FIXLatest */\n  FIXLatest = '10',\n}\n", "/**\n * The ID source of ExDestination\n * tag: 1133\n * @readonly\n * @enum {string} (char)\n */\nexport enum ExDestinationIDSource {\n  /** BIC (Bank Identification Code) (ISO 9362) */\n  BIC = 'B',\n  /** Generally accepted market participant identifier (e.g. NASD mnemonic) */\n  GeneralIdentifier = 'C',\n  /** Proprietary / Custom code */\n  Proprietary = 'D',\n  /** ISO Country Code */\n  ISOCountryCode = 'E',\n  /** MIC (ISO 10383 - Market Identifier Code) */\n  MIC = 'G',\n}\n", "/**\n * Indicates that an implied market should be created for either the legs of a multi-leg instrument (Implied-in) or for the multi-leg instrument based on the existence of the legs (Implied-out). Determination as to whether implied markets should be created is generally done at the level of the multi-leg instrument. Commonly used in listed derivatives.\n * tag: 1144\n * @readonly\n * @enum {number} (int)\n */\nexport enum ImpliedMarketIndicator {\n  /** Not implied */\n  NotImplied = 0,\n  /** Implied-in - The existence of a multi-leg instrument is implied by the legs of that instrument */\n  ImpliedIn = 1,\n  /** Implied-out - The existence of the underlying legs are implied by the multi-leg instrument */\n  ImpliedOut = 2,\n  /** Both Implied-in and Implied-out */\n  BothImpliedInAndImpliedOut = 3,\n}\n", "/**\n * Used to identify the reporting mode of the settlement obligation which is either preliminary or final\n * tag: 1159\n * @readonly\n * @enum {number} (int)\n */\nexport enum SettlObligMode {\n  /** Preliminary */\n  Preliminary = 1,\n  /** Final */\n  Final = 2,\n}\n", "/**\n * Transaction Type - required except where SettlInstMode is 5=Reject SSI request\n * tag: 1162\n * @readonly\n * @enum {string} (char)\n */\nexport enum SettlObligTransType {\n  /** Cancel */\n  Cancel = 'C',\n  /** New */\n  New = 'N',\n  /** Replace */\n  Replace = 'R',\n  /** Restate */\n  Restate = 'T',\n}\n", "/**\n * Used to identify whether these delivery instructions are for the buyside or the sellside.\n * tag: 1164\n * @readonly\n * @enum {string} (char)\n */\nexport enum SettlObligSource {\n  /** Instructions of Broker */\n  InstructionsOfBroker = '1',\n  /** Instructions for Institution */\n  InstructionsForInstitution = '2',\n  /** Investor */\n  Investor = '3',\n  /** Buyer's settlement instructions */\n  BuyersSettlementInstructions = '4',\n  /** Seller's settlement instructions */\n  SellersSettlementInstructions = '5',\n}\n", "/**\n * Identifies the status of an individual quote. See also QuoteStatus(297) which is used for single Quotes.\n * tag: 1167\n * @readonly\n * @enum {number} (int)\n */\nexport enum QuoteEntryStatus {\n  /** Accepted */\n  Accepted = 0,\n  /** Rejected */\n  Rejected = 5,\n  /** Removed from Market */\n  RemovedFromMarket = 6,\n  /** Expired */\n  Expired = 7,\n  /** Locked Market Warning */\n  LockedMarketWarning = 12,\n  /** Cross Market Warning */\n  CrossMarketWarning = 13,\n  /** Canceled due to Lock Market */\n  CanceledDueToLockMarket = 14,\n  /** Canceled due to Cross Market */\n  CanceledDueToCrossMarket = 15,\n  /** Active */\n  Active = 16,\n}\n", "/**\n * Specifies whether a quote is public, i.e. available to the market, or private, i.e. available to a specified counterparty only.\n * tag: 1171\n * @readonly\n * @enum {string} (Boolean)\n */\nexport enum PrivateQuote {\n  /** Private Quote */\n  PrivateQuote = 'Y',\n  /** Public Quote */\n  PublicQuote = 'N',\n}\n", "/**\n * Specifies the type of respondents requested.\n * tag: 1172\n * @readonly\n * @enum {number} (int)\n */\nexport enum RespondentType {\n  /** All market participants */\n  AllMarketParticipants = 1,\n  /** Specified market participants */\n  SpecifiedMarketParticipants = 2,\n  /** All Market Makers */\n  AllMarketMakers = 3,\n  /** Primary Market Maker(s) */\n  PrimaryMarketMaker = 4,\n}\n", "/**\n * Identifies an event related to a SecurityTradingStatus(326). An event occurs and is gone, it is not a state that applies for a period of time.\n * tag: 1174\n * @readonly\n * @enum {number} (int)\n */\nexport enum SecurityTradingEvent {\n  /** Order imbalance, auction is extended */\n  OrderImbalance = 1,\n  /** Trading resumes (after Halt) */\n  TradingResumes = 2,\n  /** Price Volatility Interruption */\n  PriceVolatilityInterruption = 3,\n  /** Change of Trading Session */\n  ChangeOfTradingSession = 4,\n  /** Change of Trading Subsession */\n  ChangeOfTradingSubsession = 5,\n  /** Change of Security Trading Status */\n  ChangeOfSecurityTradingStatus = 6,\n  /** Change of Book Type */\n  ChangeOfBookType = 7,\n  /** Change of Market Depth */\n  ChangeOfMarketDepth = 8,\n  /** Corporate action */\n  CorporateAction = 9,\n}\n", "/**\n * Type of statistics\n * tag: 1176\n * @readonly\n * @enum {number} (int)\n */\nexport enum StatsType {\n  /** Exchange Last */\n  ExchangeLast = 1,\n  /** High / Low Price */\n  High = 2,\n  /** Average Price (VWAP, TWAP ... ) */\n  AveragePrice = 3,\n  /** Turnover (Price * Qty) */\n  Turnover = 4,\n}\n", "/**\n * Specifies the type of secondary size.\n * tag: 1178\n * @readonly\n * @enum {number} (int)\n */\nexport enum MDSecSizeType {\n  Customer = 1,\n  CustomerProfessional = 2,\n  DoNotTradeThrough = 3,\n}\n", "/**\n * Settlement method for a contract or instrument. Additional values may be used with bilateral agreement.\n * tag: 1193\n * @readonly\n * @enum {string} (String)\n */\nexport enum SettlMethod {\n  /** Cash settlement required */\n  CashSettlementRequired = 'C',\n  /** Physical settlement required */\n  PhysicalSettlementRequired = 'P',\n  Election = 'E',\n}\n", "/**\n * Type of exercise of a derivatives security\n * tag: 1194\n * @readonly\n * @enum {number} (int)\n */\nexport enum ExerciseStyle {\n  /** European */\n  European = 0,\n  /** American */\n  American = 1,\n  /** Bermuda */\n  Bermuda = 2,\n  /** Other */\n  Other = 99,\n}\n", "/**\n * Method for price quotation\n * tag: 1196\n * @readonly\n * @enum {string} (String)\n */\nexport enum PriceQuoteMethod {\n  /** Standard, money per unit of a physical */\n  Standard = 'STD',\n  /** Index */\n  Index = 'INX',\n  /** Interest rate Index */\n  InterestRateIndex = 'INT',\n  /** Percent of Par */\n  PercentOfPar = 'PCTPAR',\n}\n", "/**\n * Specifies the type of valuation method applied.\n * tag: 1197\n * @readonly\n * @enum {string} (String)\n */\nexport enum ValuationMethod {\n  /** premium style */\n  PremiumStyle = 'EQTY',\n  /** futures style mark-to-market */\n  FuturesStyleMarkToMarket = 'FUT',\n  /** futures style with an attached cash adjustment */\n  FuturesStyleWithAnAttachedCashAdjustment = 'FUTDA',\n  /** CDS style collateralization of market to market and coupon */\n  CDSStyleCollateralization = 'CDS',\n  /** CDS in delivery - use recovery rate to calculate obligation */\n  CDSInDeliveryUseRecoveryRateToCalculate = 'CDSD',\n}\n", "/**\n * Indicates whether instruments are pre-listed only or can also be defined via user request\n * tag: 1198\n * @readonly\n * @enum {number} (int)\n */\nexport enum ListMethod {\n  /** pre-listed only */\n  PreListedOnly = 0,\n  /** user requested */\n  UserRequested = 1,\n}\n", "/**\n * Specifies the type of tick rule which is being described\n * tag: 1209\n * @readonly\n * @enum {number} (int)\n */\nexport enum TickRuleType {\n  /** Regular trading */\n  RegularTrading = 0,\n  /** Variable cabinet */\n  VariableCabinet = 1,\n  /** Fixed cabinet */\n  FixedCabinet = 2,\n  /** Traded as a spread leg */\n  TradedAsASpreadLeg = 3,\n  /** Settled as a spread leg */\n  SettledAsASpreadLeg = 4,\n  TradedAsSpread = 5,\n}\n", "/**\n * Unit of measure for the Maturity Month Year Increment\n * tag: 1302\n * @readonly\n * @enum {number} (int)\n */\nexport enum MaturityMonthYearIncrementUnits {\n  /** Months */\n  Months = 0,\n  /** Days */\n  Days = 1,\n  /** Weeks */\n  Weeks = 2,\n  /** Years */\n  Years = 3,\n}\n", "/**\n * Format used to generate the MaturityMonthYear for each option\n * tag: 1303\n * @readonly\n * @enum {number} (int)\n */\nexport enum MaturityMonthYearFormat {\n  /** YearMonth Only (default) */\n  YearMonthOnly = 0,\n  /** YearMonthDay */\n  YearMonthDay = 1,\n  /** YearMonthWeek */\n  YearMonthWeek = 2,\n}\n", "/**\n * Describes the how the price limits are expressed.\n * tag: 1306\n * @readonly\n * @enum {number} (int)\n */\nexport enum PriceLimitType {\n  /** Price (default) */\n  Price = 0,\n  /** Ticks */\n  Ticks = 1,\n  /** Percentage */\n  Percentage = 2,\n}\n", "/**\n * If provided, then Instrument occurrence has explicitly changed\n * tag: 1324\n * @readonly\n * @enum {string} (char)\n */\nexport enum ListUpdateAction {\n  /** Add */\n  Add = 'A',\n  /** Delete */\n  Delete = 'D',\n  /** Modify */\n  Modify = 'M',\n  /** Snapshot */\n  Snapshot = 'S',\n}\n", "/**\n * Status of a FIX session\n * tag: 1409\n * @readonly\n * @enum {number} (int)\n */\nexport enum SessionStatus {\n  /** Session active */\n  SessionActive = 0,\n  /** Session password changed */\n  SessionPasswordChanged = 1,\n  /** Session password due to expire */\n  SessionPasswordDueToExpire = 2,\n  /** New session password does not comply with policy */\n  NewSessionPasswordDoesNotComplyWithPolicy = 3,\n  /** Session logout complete */\n  SessionLogoutComplete = 4,\n  /** Invalid username or password */\n  InvalidUsernameOrPassword = 5,\n  /** Account locked */\n  AccountLocked = 6,\n  /** Logons are not allowed at this time */\n  LogonsAreNotAllowedAtThisTime = 7,\n  /** Password expired */\n  PasswordExpired = 8,\n  /** Received MsgSeqNum(34) is too low. */\n  ReceivedMsgSeqNumTooLow = 9,\n  /** Received NextExpectedMsgSeqNum(789) is too high. */\n  ReceivedNextExpectedMsgSeqNumTooHigh = 10,\n}\n", "/**\n * Identifies an event related to a TradSesStatus(340). An event occurs and is gone, it is not a state that applies for a period of time.\n * tag: 1368\n * @readonly\n * @enum {number} (int)\n */\nexport enum TradSesEvent {\n  /** Trading resumes (after Halt) */\n  TradingResumes = 0,\n  /** Change of Trading Session */\n  ChangeOfTradingSession = 1,\n  /** Change of Trading Subsession */\n  ChangeOfTradingSubsession = 2,\n  /** Change of Trading Status */\n  ChangeOfTradingStatus = 3,\n}\n", "/**\n * Specifies the type of action requested\n * tag: 1373\n * @readonly\n * @enum {number} (int)\n */\nexport enum MassActionType {\n  /** Suspend orders */\n  SuspendOrders = 1,\n  /** Release orders from suspension */\n  ReleaseOrdersFromSuspension = 2,\n  /** Cancel orders */\n  CancelOrders = 3,\n}\n", "/**\n * Specifies scope of Order Mass Action Request.\n * tag: 1374\n * @readonly\n * @enum {number} (int)\n */\nexport enum MassActionScope {\n  /** All orders for a security */\n  AllOrdersForASecurity = 1,\n  /** All orders for an underlying security */\n  AllOrdersForAnUnderlyingSecurity = 2,\n  /** All orders for a product */\n  AllOrdersForAProduct = 3,\n  /** All orders for a CFI Code */\n  AllOrdersForACFICode = 4,\n  /** All orders for a security type */\n  AllOrdersForASecurityType = 5,\n  /** All orders for a trading session */\n  AllOrdersForATradingSession = 6,\n  /** All orders */\n  AllOrders = 7,\n  /** All orders for a market */\n  AllOrdersForAMarket = 8,\n  /** All orders for a market segment (or multiple segments) */\n  AllOrdersForAMarketSegment = 9,\n  /** All orders for a security group */\n  AllOrdersForASecurityGroup = 10,\n  /** All orders for an issuer */\n  CancelForSecurityIssuer = 11,\n  /** All orders for an issuer of underlying security */\n  CancelForIssuerOfUnderlyingSecurity = 12,\n}\n", "/**\n * Specifies the action taken by counterparty order handling system as a result of the action type indicated in MassActionType of the Order Mass Action Request.\n * tag: 1375\n * @readonly\n * @enum {number} (int)\n */\nexport enum MassActionResponse {\n  /** Rejected - See MassActionRejectReason(1376) */\n  Rejected = 0,\n  /** Accepted */\n  Accepted = 1,\n  /** Completed */\n  Completed = 2,\n}\n", "/**\n * Reason Order Mass Action Request was rejected\n * tag: 1376\n * @readonly\n * @enum {number} (int)\n */\nexport enum MassActionRejectReason {\n  /** Mass action not supported */\n  MassActionNotSupported = 0,\n  /** Invalid or unknown security */\n  InvalidOrUnknownSecurity = 1,\n  /** Invalid or unknown underlying security */\n  InvalidOrUnknownUnderlyingSecurity = 2,\n  /** Invalid or unknown product */\n  InvalidOrUnknownProduct = 3,\n  /** Invalid or unknown CFI Code */\n  InvalidOrUnknownCFICode = 4,\n  /** Invalid or unknown security type */\n  InvalidOrUnknownSecurityType = 5,\n  /** Invalid or unknown trading session */\n  InvalidOrUnknownTradingSession = 6,\n  /** Invalid or unknown market */\n  InvalidOrUnknownMarket = 7,\n  /** Invalid or unknown market segment */\n  InvalidOrUnknownMarketSegment = 8,\n  /** Invalid or unknown security group */\n  InvalidOrUnknownSecurityGroup = 9,\n  /** Invalid or unknown issuer */\n  InvalidOrUnknownSecurityIssuer = 10,\n  /** Invalid or unknown issuer of underlying security */\n  InvalidOrUnknownIssuerOfUnderlyingSecurity = 11,\n  /** Other */\n  Other = 99,\n}\n", "/**\n * Specifies the type of multileg order. Defines whether the security is pre-defined or user-defined. Note that MultilegModel(1377)=2(User-defined, Non-Securitized, Multileg) does not apply for Securities.\n * tag: 1377\n * @readonly\n * @enum {number} (int)\n */\nexport enum MultilegModel {\n  /** Predefined Multileg Security */\n  PredefinedMultilegSecurity = 0,\n  /** User-defined Multileg Security */\n  UserDefinedMultilegSecurity = 1,\n  /** User-defined, Non-Securitized, Multileg */\n  UserDefined = 2,\n}\n", "export enum MultilegPriceMethod {\n  /** Net Price */\n  NetPrice = 0,\n  /** Reversed Net Price */\n  ReversedNetPrice = 1,\n  /** Yield Difference */\n  YieldDifference = 2,\n  /** Individual */\n  Individual = 3,\n  /** Contract Weighted Average Price */\n  ContractWeightedAveragePrice = 4,\n  /** Multiplied Price */\n  MultipliedPrice = 5,\n}\n", "/**\n * Defines the type of contingency.\n * tag: 1385\n * @readonly\n * @enum {number} (int)\n */\nexport enum ContingencyType {\n  /** One Cancels the Other (OCO) */\n  OneCancelsTheOther = 1,\n  /** One Triggers the Other (OTO) */\n  OneTriggersTheOther = 2,\n  /** One Updates the Other (OUO) - Absolute Quantity Reduction */\n  OneUpdatesTheOtherAbsolute = 3,\n  /** One Updates the Other (OUO) - Proportional Quantity Reduction */\n  OneUpdatesTheOtherProportional = 4,\n  /** Bid and Offer */\n  BidAndOffer = 5,\n  /** Bid and Offer OCO */\n  BidAndOfferOCO = 6,\n}\n", "/**\n * Identifies the reason for rejection of a New Order List message. Note that OrdRejReason(103) is used if the rejection is based on properties of an individual order part of the List.\n * tag: 1386\n * @readonly\n * @enum {number} (int)\n */\nexport enum ListRejectReason {\n  /** Broker / Exchange option */\n  BrokerCredit = 0,\n  /** Exchange closed */\n  ExchangeClosed = 2,\n  /** Too late to enter */\n  TooLateToEnter = 4,\n  /** Unknown order */\n  UnknownOrder = 5,\n  /** Duplicate Order (e.g. dupe ClOrdID) */\n  DuplicateOrder = 6,\n  /** Unsupported order characteristic */\n  UnsupportedOrderCharacteristic = 11,\n  /** Other */\n  Other = 99,\n}\n", "/**\n * Indicates if a trade should be or has been published via a market publication service. The indicator governs all publication services of the recipient. Replaces PublishTrdIndicator(852).\n * tag: 1390\n * @readonly\n * @enum {number} (int)\n */\nexport enum TradePublishIndicator {\n  /** Do Not Publish Trade */\n  DoNotPublishTrade = 0,\n  /** Publish Trade */\n  PublishTrade = 1,\n  /** Deferred Publication */\n  DeferredPublication = 2,\n  Published = 3,\n}\n", "/**\n * Type of Application Message Request being made.\n * tag: 1347\n * @readonly\n * @enum {number} (int)\n */\nexport enum ApplReqType {\n  /** Retransmission of application messages for the specified Applications */\n  Retransmission = 0,\n  /** Subscription to the specified Applications */\n  Subscription = 1,\n  /** Request for the last ApplLastSeqNum published for the specified Applications */\n  RequestLastSeqNum = 2,\n  /** Request valid set of Applications */\n  RequestApplications = 3,\n  /** Unsubscribe to the specified Applications */\n  Unsubscribe = 4,\n  /** Cancel retransmission */\n  CancelRetransmission = 5,\n  /** Cancel retransmission and unsubscribe to the specified applications */\n  CancelRetransmissionUnsubscribe = 6,\n}\n", "/**\n * Used to indicate the type of acknowledgement being sent.\n * tag: 1348\n * @readonly\n * @enum {number} (int)\n */\nexport enum ApplResponseType {\n  /** Request successfully processed */\n  RequestSuccessfullyProcessed = 0,\n  /** Application does not exist */\n  ApplicationDoesNotExist = 1,\n  /** Messages not available */\n  MessagesNotAvailable = 2,\n}\n", "/**\n * Used to return an error code or text associated with a response to an Application Request.\n * tag: 1354\n * @readonly\n * @enum {number} (int)\n */\nexport enum ApplResponseError {\n  /** Application does not exist */\n  ApplicationDoesNotExist = 0,\n  /** Messages requested are not available */\n  MessagesRequestedAreNotAvailable = 1,\n  /** User not authorized for application */\n  UserNotAuthorizedForApplication = 2,\n}\n", "/**\n * Type of report\n * tag: 1426\n * @readonly\n * @enum {number} (int)\n */\nexport enum ApplReportType {\n  /** Reset ApplSeqNum to new value specified in ApplNewSeqNum(1399) */\n  ApplSeqNumReset = 0,\n  /** Reports that the last message has been sent for the ApplIDs Refer to RefApplLastSeqNum(1357) for the application sequence number of the last message. */\n  LastMessageSent = 1,\n  /** Heartbeat message indicating that Application identified by RefApplID(1355) is still alive. Refer to RefApplLastSeqNum(1357) for the application sequence number of the previous message. */\n  ApplicationAlive = 2,\n  /** Application message re-send completed. */\n  ResendComplete = 3,\n}\n", "/**\n * Time unit in which the OrderDelay(1428) is expressed\n * tag: 1429\n * @readonly\n * @enum {number} (int)\n */\nexport enum OrderDelayUnit {\n  /** Seconds (default if not specified) */\n  Seconds = 0,\n  /** Tenths of a second */\n  TenthsOfASecond = 1,\n  /** Hundredths of a second */\n  HundredthsOfASecond = 2,\n  /** milliseconds */\n  Milliseconds = 3,\n  /** microseconds */\n  Microseconds = 4,\n  /** nanoseconds */\n  Nanoseconds = 5,\n  /** minutes */\n  Minutes = 10,\n  /** hours */\n  Hours = 11,\n  /** days */\n  Days = 12,\n  /** weeks */\n  Weeks = 13,\n  /** months */\n  Months = 14,\n  /** years */\n  Years = 15,\n}\n", "/**\n * Identifies the type of venue where a trade was executed.\n * tag: 1430\n * @readonly\n * @enum {string} (char)\n */\nexport enum VenueType {\n  /** Electronic exchange */\n  Electronic = 'E',\n  /** Pit */\n  Pit = 'P',\n  /** Ex-pit */\n  ExPit = 'X',\n  /** Clearinghouse */\n  ClearingHouse = 'C',\n  RegisteredMarket = 'R',\n  OffMarket = 'O',\n  /** Central limit order book */\n  CentralLimitOrderBook = 'B',\n  /** Quote driven market */\n  QuoteDrivenMarket = 'Q',\n  /** Dark order book */\n  DarkOrderBook = 'D',\n  AuctionDrivenMarket = 'A',\n  QuoteNegotiation = 'N',\n  VoiceNegotiation = 'V',\n  HybridMarket = 'H',\n  OtherMarket = 'z',\n}\n", "/**\n * The reason for updating the RefOrdID\n * tag: 1431\n * @readonly\n * @enum {number} (int)\n */\nexport enum RefOrdIDReason {\n  /** GTC from previous day */\n  GTCFromPreviousDay = 0,\n  /** Partial Fill Remaining */\n  PartialFillRemaining = 1,\n  /** Order Changed */\n  OrderChanged = 2,\n}\n", "export enum OrigCustOrderCapacity {\n  /** Member trading for their own account */\n  MemberTradingForTheirOwnAccount = 1,\n  /** Clearing Firm trading for its proprietary account */\n  ClearingFirmTradingForItsProprietaryAccount = 2,\n  /** Member trading for another member */\n  MemberTradingForAnotherMember = 3,\n  /** All other */\n  AllOther = 4,\n}\n", "/**\n * Type of pricing model used\n * tag: 1434\n * @readonly\n * @enum {number} (int)\n */\nexport enum ModelType {\n  /** Utility provided standard model */\n  UtilityProvidedStandardModel = 0,\n  /** Proprietary (user supplied) model */\n  ProprietaryModel = 1,\n}\n", "/**\n * Indicates the type of multiplier being applied to the contract. Can be optionally used to further define what unit ContractMultiplier(tag 231) is expressed in.\n * tag: 1435\n * @readonly\n * @enum {number} (int)\n */\nexport enum ContractMultiplierUnit {\n  /** Shares */\n  Shares = 0,\n  /** Hours */\n  Hours = 1,\n  /** Days */\n  Days = 2,\n}\n", "/**\n * The industry standard flow schedule by which electricity or natural gas is traded. Schedules may exist by regions and on-peak and off-peak status, such as \"Western Peak\".\n * tag: 1439\n * @readonly\n * @enum {number} (int)\n */\nexport enum FlowScheduleType {\n  /** NERC Eastern Off-Peak */\n  NERCEasternOffPeak = 0,\n  /** NERC Western Off-Peak */\n  NERCWesternOffPeak = 1,\n  /** NERC Calendar-All Days in month */\n  NERCCalendarAllDaysInMonth = 2,\n  /** NERC Eastern Peak */\n  NERCEasternPeak = 3,\n  /** NERC Western Peak */\n  NERCWesternPeak = 4,\n  /** All times */\n  AllTimes = 5,\n  /** On peak */\n  OnPeak = 6,\n  /** Off peak */\n  OffPeak = 7,\n  /** Base */\n  Base = 8,\n  /** Block */\n  Block = 9,\n  /** Other */\n  Other = 99,\n}\n", "export enum RateSource {\n  /** Bloomberg */\n  Bloomberg = 0,\n  /** Reuters */\n  Reuters = 1,\n  /** Telerate */\n  Telerate = 2,\n  ISDARateOption = 3,\n  /** Other */\n  Other = 99,\n}\n", "/**\n * Indicates whether the rate source specified is a primary or secondary source.\n * tag: 1447\n * @readonly\n * @enum {number} (int)\n */\nexport enum RateSourceType {\n  /** Primary */\n  Primary = 0,\n  /** Secondary */\n  Secondary = 1,\n}\n", "export enum RestructuringType {\n  /** Full Restructuring */\n  FullRestructuring = 'FR',\n  /** Modified Restructuring */\n  ModifiedRestructuring = 'MR',\n  /** Modified Mod Restructuring */\n  ModifiedModRestructuring = 'MM',\n  /** No Restructuring specified */\n  NoRestructuringSpecified = 'XR',\n}\n", "export enum Seniority {\n  /** Senior Secured */\n  SeniorSecured = 'SD',\n  /** Senior */\n  Senior = 'SR',\n  /** Subordinated */\n  Subordinated = 'SB',\n  Junior = 'JR',\n  Mezzanine = 'MZ',\n  SeniorNonPreferred = 'SN',\n}\n", "/**\n * Specifies a type of Security List.\n * tag: 1470\n * @readonly\n * @enum {number} (int)\n */\nexport enum SecurityListType {\n  /** Industry Classification */\n  IndustryClassification = 1,\n  /** Trading List */\n  TradingList = 2,\n  /** Market / Market Segment List */\n  Market = 3,\n  /** Newspaper List */\n  NewspaperList = 4,\n}\n", "/**\n * Specifies a specific source for a SecurityListType. Relevant when a certain type can be provided from various sources.\n * tag: 1471\n * @readonly\n * @enum {number} (int)\n */\nexport enum SecurityListTypeSource {\n  /** ICB (Industry Classification Benchmark) published by Dow Jones and FTSE - www.icbenchmark.com */\n  ICB = 1,\n  /** NAICS (North American Industry Classification System). Replaced SIC (Standard Industry Classification) www.census.gov/naics or www.naics.com. */\n  NAICS = 2,\n  /** GICS (Global Industry Classification Standard) published by Standards & Poor */\n  GICS = 3,\n}\n", "/**\n * Category of news message.\n * tag: 1473\n * @readonly\n * @enum {number} (int)\n */\nexport enum NewsCategory {\n  /** Company News */\n  CompanyNews = 0,\n  /** Marketplace News */\n  MarketplaceNews = 1,\n  /** Financial Market News */\n  FinancialMarketNews = 2,\n  /** Technical News */\n  TechnicalNews = 3,\n  /** Other News */\n  OtherNews = 99,\n}\n", "/**\n * Type of reference to another News(35=B) message item.\n * tag: 1477\n * @readonly\n * @enum {number} (int)\n */\nexport enum NewsRefType {\n  /** Replacement */\n  Replacement = 0,\n  /** Other language */\n  OtherLanguage = 1,\n  /** Complimentary */\n  Complimentary = 2,\n  Withdrawal = 3,\n}\n", "/**\n * Specifies how the strike price is determined at the point of option exercise. The strike may be fixed throughout the life of the option, set at expiration to the value of the underlying, set to the average value of the underlying , or set to the optimal value of the underlying.\n * tag: 1478\n * @readonly\n * @enum {number} (int)\n */\nexport enum StrikePriceDeterminationMethod {\n  /** Fixed strike (default if not specified) */\n  FixedStrike = 1,\n  /** Strike set at expiration to underlying or other value (lookback floating) */\n  StrikeSetAtExpiration = 2,\n  /** Strike set to average of underlying settlement price across the life of the option */\n  StrikeSetToAverageAcrossLife = 3,\n  /** Strike set to optimal value */\n  StrikeSetToOptimalValue = 4,\n}\n", "/**\n * Specifies the boundary condition to be used for the strike price relative to the underlying price at the point of option exercise.\n * tag: 1479\n * @readonly\n * @enum {number} (int)\n */\nexport enum StrikePriceBoundaryMethod {\n  /** Less than underlying price is in-the-money (ITM) */\n  LessThan = 1,\n  /** Less than or equal to the underlying price is in-the-money(ITM) */\n  LessThanOrEqual = 2,\n  /** Equal to the underlying price is in-the-money(ITM) */\n  Equal = 3,\n  /** Greater than or equal to underlying price is in-the-money(ITM) */\n  GreaterThanOrEqual = 4,\n  /** Greater than underlying is in-the-money(ITM) */\n  GreaterThan = 5,\n}\n", "/**\n * Specifies how the underlying price is determined at the point of option exercise. The underlying price may be set to the current settlement price, set to a special reference, set to the optimal value of the underlying during the defined period (\"Look-back\") or set to the average value of the underlying during the defined period (\"Asian option\").\n * tag: 1481\n * @readonly\n * @enum {number} (int)\n */\nexport enum UnderlyingPriceDeterminationMethod {\n  /** Regular */\n  Regular = 1,\n  /** Special reference */\n  SpecialReference = 2,\n  /** Optimal value (Lookback) */\n  OptimalValue = 3,\n  /** Average value (Asian option) */\n  AverageValue = 4,\n}\n", "/**\n * Indicates the type of valuation method or payout trigger for an in-the-money option.\n * tag: 1482\n * @readonly\n * @enum {number} (int)\n */\nexport enum OptPayoutType {\n  /** Vanilla */\n  Vanilla = 1,\n  /** Capped */\n  Capped = 2,\n  /** Digital (Binary) */\n  Binary = 3,\n  /** Asian */\n  Asian = 4,\n  /** Barrier */\n  Barrier = 5,\n  /** Digital Barrier */\n  DigitalBarrier = 6,\n  /** Lookback */\n  Lookback = 7,\n  /** Other path dependent */\n  OtherPathDependent = 8,\n  /** Other */\n  Other = 99,\n}\n", "/**\n * Identifies the type of complex event.\n * tag: 1484\n * @readonly\n * @enum {number} (int)\n */\nexport enum ComplexEventType {\n  /** Capped */\n  Capped = 1,\n  /** Trigger */\n  Trigger = 2,\n  /** Knock-in up */\n  KnockInUp = 3,\n  /** Knock-in down */\n  KnockInDown = 4,\n  /** Knock-out up */\n  KnockOutUp = 5,\n  /** Knock-out down */\n  KnockOutDown = 6,\n  /** Underlying */\n  Underlying = 7,\n  /** Reset Barrier */\n  ResetBarrier = 8,\n  /** Rolling Barrier */\n  RollingBarrier = 9,\n  /** One-touch */\n  OneTouch = 10,\n  /** No-touch */\n  NoTouch = 11,\n  /** Double one-touch */\n  DblOneTouch = 12,\n  /** Double no-touch */\n  DblNoTouch = 13,\n  /** Foreign exchange composite */\n  FXComposite = 14,\n  /** Foreign exchange Quanto */\n  FXQuanto = 15,\n  /** Foreign exchange cross currency */\n  FXCrssCcy = 16,\n  /** Strike spread */\n  StrkSpread = 17,\n  /** Calendar spread */\n  ClndrSpread = 18,\n  /** Price observation (Asian or Lookback) */\n  PxObsvtn = 19,\n  /** Pass-through */\n  PassThrough = 20,\n  /** Strike schedule */\n  StrkSched = 21,\n  /** Equity valuation */\n  EquityValuation = 22,\n  /** Dividend valuation */\n  DividendValuation = 23,\n}\n", "/**\n * Specifies the boundary condition to be used for the event price relative to the underlying price at the point the complex event outcome takes effect as determined by the ComplexEventPriceTimeType.\n * tag: 1487\n * @readonly\n * @enum {number} (int)\n */\nexport enum ComplexEventPriceBoundaryMethod {\n  /** Less than ComplexEventPrice(1486) */\n  LessThanComplexEventPrice = 1,\n  /** Less than or equal to ComplexEventPrice(1486) */\n  LessThanOrEqualToComplexEventPrice = 2,\n  /** Equal to ComplexEventPrice(1486) */\n  EqualToComplexEventPrice = 3,\n  /** Greater than or equal to ComplexEventPrice(1486) */\n  GreaterThanOrEqualToComplexEventPrice = 4,\n  /** Greater than ComplexEventPrice(1486) */\n  GreaterThanComplexEventPrice = 5,\n}\n", "/**\n * Specifies when the complex event outcome takes effect. The outcome of a complex event is a payout or barrier action as specified by the ComplexEventType(1484).\n * tag: 1489\n * @readonly\n * @enum {number} (int)\n */\nexport enum ComplexEventPriceTimeType {\n  /** Expiration */\n  Expiration = 1,\n  /** Immediate (At Any Time) */\n  Immediate = 2,\n  /** Specified Date/Time */\n  SpecifiedDate = 3,\n  Close = 4,\n  Open = 5,\n  OfficialSettlPrice = 6,\n  DerivativesClose = 7,\n  /** As specified in Master Confirmation */\n  AsSpecifiedMasterConfirmation = 8,\n}\n", "export enum ComplexEventCondition {\n  /** And */\n  And = 1,\n  /** Or */\n  Or = 2,\n}\n", "/**\n * Type of stream assignment request.\n * tag: 1498\n * @readonly\n * @enum {number} (int)\n */\nexport enum StreamAsgnReqType {\n  /** Stream assignment for new customer(s) */\n  StreamAssignmentForNewCustomer = 1,\n  /** Stream assignment for existing customer(s) */\n  StreamAssignmentForExistingCustomer = 2,\n}\n", "/**\n * Reason code for stream assignment request reject.\n * tag: 1502\n * @readonly\n * @enum {number} (int)\n */\nexport enum StreamAsgnRejReason {\n  /** Unknown client */\n  UnknownClient = 0,\n  /** Exceeds maximum size */\n  ExceedsMaximumSize = 1,\n  /** Unknown or Invalid currency pair */\n  UnknownOrInvalidCurrencyPair = 2,\n  /** No available stream */\n  NoAvailableStream = 3,\n  /** Other */\n  Other = 99,\n}\n", "/**\n * Type of acknowledgement.\n * tag: 1503\n * @readonly\n * @enum {number} (int)\n */\nexport enum StreamAsgnAckType {\n  /** Assignment Accepted */\n  AssignmentAccepted = 0,\n  /** Assignment Rejected */\n  AssignmentRejected = 1,\n}\n", "/**\n * The type of assignment being affected in the Stream Assignment Report.\n * tag: 1617\n * @readonly\n * @enum {number} (int)\n */\nexport enum StreamAsgnType {\n  /** Assignment */\n  Assignment = 1,\n  /** Rejected */\n  Rejected = 2,\n  /** Terminate/Unassign */\n  Terminate = 3,\n}\n", "/**\n * Matching Instruction for the order.\n * tag: 1625\n * @readonly\n * @enum {number} (int)\n */\nexport enum MatchInst {\n  /** Match */\n  Match = 1,\n  /** Do Not Match */\n  DoNotMatch = 2,\n}\n", "/**\n * Defines the scope of TriggerAction(1101) when it is set to \"cancel\" (3).\n * tag: 1628\n * @readonly\n * @enum {number} (int)\n */\nexport enum TriggerScope {\n  /** This order (default) */\n  ThisOrder = 0,\n  /** Other order (use RefID) */\n  OtherOrder = 1,\n  /** All other orders for the given security */\n  AllOtherOrdersForGivenSecurity = 2,\n  /** All other orders for the given security and price */\n  AllOtherOrdersForGivenSecurityAndPrice = 3,\n  /** All other orders for the given security and side */\n  AllOtherOrdersForGivenSecurityAndSide = 4,\n  /** All other orders for the given security, price and side */\n  AllOtherOrdersForGivenSecurityPriceAndSide = 5,\n}\n", "/**\n * Identifies the type of limit amount expressed in LastLimitAmt(1632) and LimitAmtRemaining(1633).\n * tag: 1631\n * @readonly\n * @enum {number} (int)\n */\nexport enum LimitAmtType {\n  /** Credit limit */\n  CreditLimit = 0,\n  /** Gross position limit */\n  GrossPositionLimit = 1,\n  /** Net position limit */\n  NetPositionLimit = 2,\n  /** Risk exposure limit */\n  RiskExposureLimit = 3,\n  /** Long position limit */\n  LongPositionLimit = 4,\n  /** Short position limit */\n  ShortPositionLimit = 5,\n}\n", "/**\n * Qualifier for MarginRequirementInquiry to identify a specific report.\n * tag: 1637\n * @readonly\n * @enum {number} (int)\n */\nexport enum MarginReqmtInqQualifier {\n  /** Summary */\n  Summary = 0,\n  /** Detail */\n  Detail = 1,\n  /** Excess/Deficit */\n  ExcessDeficit = 2,\n  /** Net Position */\n  NetPosition = 3,\n}\n", "/**\n * Type of MarginRequirementReport.\n * tag: 1638\n * @readonly\n * @enum {number} (int)\n */\nexport enum MarginReqmtRptType {\n  /** Summary */\n  Summary = 0,\n  /** Detail */\n  Detail = 1,\n  /** Excess/Deficit */\n  ExcessDeficit = 2,\n}\n", "/**\n * Result returned in response to MarginRequirementInquiry.\n * tag: 1641\n * @readonly\n * @enum {number} (int)\n */\nexport enum MarginReqmtInqResult {\n  /** Successful (default) */\n  Successful = 0,\n  /** Invalid or unknown instrument */\n  InvalidOrUnknownInstrument = 1,\n  /** Invalid or unknown margin class */\n  InvalidOrUnknownMarginClass = 2,\n  /** Invalid Parties */\n  InvalidParties = 3,\n  /** Invalid Transport Type requested */\n  InvalidTransportTypeReq = 4,\n  /** Invalid Destination requested */\n  InvalidDestinationReq = 5,\n  /** No margin requirement found */\n  NoMarginReqFound = 6,\n  /** Margin requirement inquiry qualifier not supported */\n  MarginReqInquiryQualifierNotSupported = 7,\n  /** Unauthorized for margin requirement inquiry */\n  UnauthorizedForMarginReqInquiry = 8,\n  /** Other (further information in Text (58) field) */\n  Other = 99,\n}\n", "/**\n * Type of margin requirement amount being specified.\n * tag: 1644\n * @readonly\n * @enum {number} (int)\n */\nexport enum MarginAmtType {\n  AdditionalMargin = 1,\n  AdjustedMargin = 2,\n  UnadjustedMargin = 3,\n  BinaryAddOnAmount = 4,\n  CashBalanceAmount = 5,\n  ConcentrationMargin = 6,\n  CoreMargin = 7,\n  DeliveryMargin = 8,\n  DiscretionaryMargin = 9,\n  FuturesSpreadMargin = 10,\n  InitialMargin = 11,\n  LiquidatingMargin = 12,\n  MarginCallAmount = 13,\n  MarginDeficitAmount = 14,\n  MarginExcessAmount = 15,\n  OptionPremiumAmount = 16,\n  PremiumMargin = 17,\n  ReserveMargin = 18,\n  SecurityCollateralAmount = 19,\n  StressTestAddOnAmount = 20,\n  SuperMargin = 21,\n  TotalMargin = 22,\n  VariationMargin = 23,\n  SecondaryVariationMargin = 24,\n  /** Rolled up margin deficit */\n  RolledUpMarginDeficit = 25,\n  SpreadResponseMargin = 26,\n  SystemicRiskMargin = 27,\n  CurveRiskMargin = 28,\n  IndexSpreadRiskMargin = 29,\n  SectorRiskMargin = 30,\n  JumpToDefaultRiskMargin = 31,\n  BasisRiskMargin = 32,\n  InterestRateRiskMargin = 33,\n  JumpToHealthRiskMargin = 34,\n  OtherRiskMargin = 35,\n}\n", "/**\n * The type of instrument relationship\n * tag: 1648\n * @readonly\n * @enum {number} (int)\n */\nexport enum RelatedInstrumentType {\n  /** \"hedges for\" instrument */\n  HedgesForInstrument = 1,\n  /** Underlier */\n  Underlier = 2,\n  /** Equity equivalent */\n  EquityEquivalent = 3,\n  /** Nearest exchange traded contract */\n  NearestExchangeTradedContract = 4,\n  RetailEquivalent = 5,\n  Leg = 6,\n}\n", "/**\n * Indicates market maker participation in security.\n * tag: 1655\n * @readonly\n * @enum {number} (int)\n */\nexport enum MarketMakerActivity {\n  /** No participation */\n  NoParticipation = 0,\n  /** Buy participation */\n  BuyParticipation = 1,\n  /** Sell participation */\n  SellParticipation = 2,\n  /** Both buy and sell participation */\n  BothBuyAndSellParticipation = 3,\n}\n", "/**\n * Result of a request as identified by the appropriate request ID field\n * tag: 1511\n * @readonly\n * @enum {number} (int)\n */\nexport enum RequestResult {\n  /** Valid request */\n  ValidRequest = 0,\n  /** Invalid or unsupported request */\n  InvalidOrUnsupportedRequest = 1,\n  /** No data found that match selection criteria */\n  NoDataFound = 2,\n  /** Not authorized to retrieve data */\n  NotAuthorized = 3,\n  /** Data temporarily unavailable */\n  DataTemporarilyUnavailable = 4,\n  /** Request for data not supported */\n  RequestForDataNotSupported = 5,\n  /** Other (further information in RejectText (1328) field) */\n  Other = 99,\n}\n", "/**\n * Used to specify the type of the party relationship.\n * tag: 1515\n * @readonly\n * @enum {number} (int)\n */\nexport enum PartyRelationship {\n  /** Is also */\n  IsAlso = 0,\n  /** Clears for */\n  ClearsFor = 1,\n  /** Clears through */\n  ClearsThrough = 2,\n  /** Trades for */\n  TradesFor = 3,\n  /** Trades through */\n  TradesThrough = 4,\n  /** Sponsors */\n  Sponsors = 5,\n  /** Sponsored through */\n  SponsoredThrough = 6,\n  /** Provides guarantee for */\n  ProvidesGuaranteeFor = 7,\n  /** Is guaranteed by */\n  IsGuaranteedBy = 8,\n  /** Member of */\n  MemberOf = 9,\n  /** Has members */\n  HasMembers = 10,\n  /** Provides marketplace for */\n  ProvidesMarketplaceFor = 11,\n  /** Participant of marketplace */\n  ParticipantOfMarketplace = 12,\n  /** Carries positions for */\n  CarriesPositionsFor = 13,\n  /** Posts trades to */\n  PostsTradesTo = 14,\n  /** Enters trades for */\n  EntersTradesFor = 15,\n  /** Enters trades through */\n  EntersTradesThrough = 16,\n  /** Provides quotes to */\n  ProvidesQuotesTo = 17,\n  /** Requests quotes from */\n  RequestsQuotesFrom = 18,\n  /** Invests for */\n  InvestsFor = 19,\n  /** Invests through */\n  InvestsThrough = 20,\n  /** Brokers trades for */\n  BrokersTradesFor = 21,\n  /** Brokers trades through */\n  BrokersTradesThrough = 22,\n  /** Provides trading services for */\n  ProvidesTradingServicesFor = 23,\n  /** Uses trading services of */\n  UsesTradingServicesOf = 24,\n  /** Approves of */\n  ApprovesOf = 25,\n  /** Approved by */\n  ApprovedBy = 26,\n  /** Parent firm for */\n  ParentFirmFor = 27,\n  /** Subsidiary of */\n  SubsidiaryOf = 28,\n  /** Regulatory owner of */\n  RegulatoryOwnerOf = 29,\n  /** Owned by (regulatory) */\n  OwnedByRegulatory = 30,\n  /** Controls */\n  Controls = 31,\n  /** Is controlled by */\n  IsControlledBy = 32,\n  /** Legal / titled owner of */\n  LegalOwnerOf = 33,\n  /** Owned by (legal / title) */\n  OwnedByLegal = 34,\n  /** Beneficial owner of */\n  BeneficialOwnerOf = 35,\n  /** Owned by (beneficial) */\n  OwnedByBeneficial = 36,\n  /** Settles for */\n  SettlesFor = 37,\n  /** Settles through */\n  SettlesThrough = 38,\n}\n", "/**\n * Used to specify the type of risk limit amount or position limit quantity or margin requirement amounts.\n * tag: 1530\n * @readonly\n * @enum {number} (int)\n */\nexport enum RiskLimitType {\n  CreditLimit = 0,\n  /** Gross limit */\n  GrossLimit = 1,\n  /** Net limit */\n  NetLimit = 2,\n  /** Exposure */\n  Exposure = 3,\n  /** Long limit */\n  LongLimit = 4,\n  /** Short limit */\n  ShortLimit = 5,\n  /** Cash margin */\n  CashMargin = 6,\n  /** Additional margin */\n  AdditionalMargin = 7,\n  /** Total margin */\n  TotalMargin = 8,\n  LimitConsumed = 9,\n  ClipSize = 10,\n  /** Maximum notional order size */\n  MaxNotionalOrderSize = 11,\n  DV01PV01Limit = 12,\n  CS01Limit = 13,\n  VolumeLimitPerTimePeriod = 14,\n  VolFilledPctOrdVolTmPeriod = 15,\n  NotlFilledPctNotlTmPeriod = 16,\n  TransactionExecutionLimitPerTimePeriod = 17,\n}\n", "/**\n * Operator to perform on the instrument(s) specified\n * tag: 1535\n * @readonly\n * @enum {number} (int)\n */\nexport enum InstrumentScopeOperator {\n  /** Include */\n  Include = 1,\n  /** Exclude */\n  Exclude = 2,\n}\n", "/**\n * Indicates the status of the party identified with PartyDetailID(1691).\n * tag: 1672\n * @readonly\n * @enum {number} (int)\n */\nexport enum PartyDetailStatus {\n  /** Active (default if not specified) */\n  Active = 0,\n  /** Suspended */\n  Suspended = 1,\n  /** Halted */\n  Halted = 2,\n}\n", "/**\n * Qualifies the value of PartyDetailRole(1693).\n * tag: 1674\n * @readonly\n * @enum {number} (int)\n */\nexport enum PartyDetailRoleQualifier {\n  /** Agency */\n  Agency = 0,\n  /** Principal */\n  Principal = 1,\n  /** Riskless principal */\n  RisklessPrincipal = 2,\n  ExchangeOrderSubmitter = 30,\n  /** General clearing member */\n  GeneralClearingMember = 3,\n  /** Individual clearing member */\n  IndividualClearingMember = 4,\n  PreferredMarketMaker = 5,\n  DirectedMarketMaker = 6,\n  /** Bank */\n  Bank = 7,\n  Hub = 8,\n  PrimaryTrdRepository = 9,\n  OrigTrdRepository = 10,\n  AddtnlIntlTrdRepository = 11,\n  AddtnlDomesticTrdRepository = 12,\n  /** Related exchange */\n  RelatedExchange = 13,\n  /** Options exchange */\n  OptionsExchange = 14,\n  /** Specified exchange */\n  SpecifiedExchange = 15,\n  ConstituentExchange = 16,\n  ExemptFromTradeReporting = 17,\n  Current = 18,\n  New = 19,\n  DesignatedSponsor = 20,\n  Specialist = 21,\n  /** Algorithm */\n  Algorithm = 22,\n  /** Firm or legal entity */\n  FirmOrLegalEntity = 23,\n  /** Natural person */\n  NaturalPerson = 24,\n  RegularTrader = 25,\n  HeadTrader = 26,\n  Supervisor = 27,\n  TriParty = 28,\n  Lender = 29,\n}\n", "/**\n * Used to indicate the status of the trade submission (not the trade report)\n * tag: 1523\n * @readonly\n * @enum {number} (int)\n */\nexport enum TrdAckStatus {\n  /** Accepted */\n  Accepted = 0,\n  /** Rejected */\n  Rejected = 1,\n  /** Received */\n  Received = 2,\n}\n", "/**\n * Allows classification of instruments according to a set of high level reasons. Classification reasons describe the classes in which the instrument participates.\n * tag: 1583\n * @readonly\n * @enum {number} (int)\n */\nexport enum SecurityClassificationReason {\n  /** Fee */\n  Fee = 0,\n  /** Credit Controls */\n  CreditControls = 1,\n  /** Margin */\n  Margin = 2,\n  /** Entitlement / Eligibility */\n  EntitlementOrEligibility = 3,\n  /** Market Data */\n  MarketData = 4,\n  /** Account Selection */\n  AccountSelection = 5,\n  /** Delivery Process */\n  DeliveryProcess = 6,\n  /** Sector */\n  Sector = 7,\n}\n", "/**\n * Specifies the reason for an amount type when reported on a position. Useful when multiple instances of the same amount type are reported.\n * tag: 1585\n * @readonly\n * @enum {number} (int)\n */\nexport enum PosAmtReason {\n  /** Options settlement */\n  OptionsSettlement = 0,\n  /** Pending erosion adjustment */\n  PendingErosionAdjustment = 1,\n  /** Final erosion adjustment */\n  FinalErosionAdjustment = 2,\n  /** Tear-up coupon amount */\n  TearUpCouponAmount = 3,\n  PriceAlignmentInterest = 4,\n  /** Delivery invoice charges */\n  DeliveryInvoiceCharges = 5,\n  /** Delivery storage charges */\n  DeliveryStorageCharges = 6,\n}\n", "/**\n * Indicates to recipient whether trade is clearing at execution prices LastPx(tag 31) or alternate clearing prices SideClearingTradePrice(tag 1597).\n * tag: 1598\n * @readonly\n * @enum {number} (int)\n */\nexport enum SideClearingTradePriceType {\n  /** Trade Clearing at Execution Price */\n  TradeClearingAtExecutionPrice = 0,\n  /** Trade Clearing at Alternate Clearing Price */\n  TradeClearingAtAlternateClearingPrice = 1,\n}\n", "/**\n * Identifies the reason a security definition request is being rejected.\n * tag: 1607\n * @readonly\n * @enum {number} (int)\n */\nexport enum SecurityRejectReason {\n  /** Invalid instrument requested */\n  InvalidInstrumentRequested = 1,\n  /** Instrument already exists */\n  InstrumentAlreadyExists = 2,\n  /** Request type not supported */\n  RequestTypeNotSupported = 3,\n  /** System unavailable for instrument creation */\n  SystemUnavailableForInstrumentCreation = 4,\n  /** Ineligible instrument group */\n  IneligibleInstrumentGroup = 5,\n  /** Instrument ID unavailable */\n  InstrumentIDUnavailable = 6,\n  /** Invalid or missing data on option leg */\n  InvalidOrMissingDataOnOptionLeg = 7,\n  /** Invalid or missing data on future leg */\n  InvalidOrMissingDataOnFutureLeg = 8,\n  /** Invalid or missing data on FX leg */\n  InvalidOrMissingDataOnFXLeg = 10,\n  /** Invalid leg price specified */\n  InvalidLegPriceSpecified = 11,\n  /** Invalid instrument structure specified */\n  InvalidInstrumentStructureSpecified = 12,\n}\n", "/**\n * Indicates whether a message was queued as a result of throttling.\n * tag: 1609\n * @readonly\n * @enum {number} (int)\n */\nexport enum ThrottleStatus {\n  /** Throttle limit not exceeded, not queued */\n  ThrottleLimitNotExceededNotQueued = 0,\n  /** Queued due to throttle limit exceeded */\n  QueuedDueToThrottleLimitExceeded = 1,\n}\n", "/**\n * Action to take should throttle limit be exceeded.\n * tag: 1611\n * @readonly\n * @enum {number} (int)\n */\nexport enum ThrottleAction {\n  /** Queue inbound */\n  QueueInbound = 0,\n  /** Queue outbound */\n  QueueOutbound = 1,\n  /** Reject */\n  Reject = 2,\n  /** Disconnect */\n  Disconnect = 3,\n  /** Warning */\n  Warning = 4,\n}\n", "/**\n * Type of throttle.\n * tag: 1612\n * @readonly\n * @enum {number} (int)\n */\nexport enum ThrottleType {\n  /** Inbound Rate */\n  InboundRate = 0,\n  /** Outstanding Requests */\n  OutstandingRequests = 1,\n}\n", "/**\n * Describes action recipient should take if a throttle limit were exceeded.\n * tag: 1685\n * @readonly\n * @enum {number} (int)\n */\nexport enum ThrottleInst {\n  /** Reject if throttle limit exceeded */\n  RejectIfThrottleLimitExceeded = 0,\n  /** Queue if throttle limit exceeded */\n  QueueIfThrottleLimitExceeded = 1,\n}\n", "/**\n * Indicates whether a message decrements the number of outstanding requests, e.g. one where ThrottleType = Outstanding Requests.\n * tag: 1686\n * @readonly\n * @enum {number} (int)\n */\nexport enum ThrottleCountIndicator {\n  /** Outstanding requests unchanged */\n  OutstandingRequestsUnchanged = 0,\n  /** Outstanding requests decreased */\n  OutstandingRequestsDecreased = 1,\n}\n", "/**\n * An indicator to override the normal procedure to roll up allocations for the same take-up firm.\n * tag: 1735\n * @readonly\n * @enum {number} (int)\n */\nexport enum AllocationRollupInstruction {\n  /** Roll up */\n  Rollup = 0,\n  /** Do not roll up */\n  DoNotRollUp = 1,\n}\n", "/**\n * Identifies the status of a reversal transaction.\n * tag: 1738\n * @readonly\n * @enum {number} (int)\n */\nexport enum AllocReversalStatus {\n  /** Completed */\n  Completed = 0,\n  /** Refused */\n  Refused = 1,\n  /** Cancelled */\n  Cancelled = 2,\n}\n", "/**\n * Type of reference obligation for credit derivatives contracts.\n * tag: 1739\n * @readonly\n * @enum {string} (String)\n */\nexport enum ObligationType {\n  /** Bond */\n  Bond = '0',\n  /** Convertible bond */\n  ConvertBond = '1',\n  /** Mortgage */\n  Mortgage = '2',\n  /** Loan */\n  Loan = '3',\n}\n", "/**\n * Method used for negotiation of contract price.\n * tag: 1740\n * @readonly\n * @enum {number} (int)\n */\nexport enum TradePriceNegotiationMethod {\n  /** Percent of par */\n  PercentPar = 0,\n  /** Deal spread */\n  DealSpread = 1,\n  /** Upfront points */\n  UpfrontPnts = 2,\n  /** Upfront amount */\n  UpfrontAmt = 3,\n  /** Percent of par and upfront amount */\n  ParUpfrontAmt = 4,\n  /** Deal spread and upfront amount */\n  SpreadUpfrontAmt = 5,\n  /** Upfront points and upfront amount */\n  UpfrontPntsAmt = 6,\n}\n", "/**\n * Type of price used to determine upfront payment for swaps contracts.\n * tag: 1741\n * @readonly\n * @enum {number} (int)\n */\nexport enum UpfrontPriceType {\n  /** Percentage (i.e. percent of par) (often called \"dollar price\" for fixed income) */\n  Percentage = 1,\n  /** Fixed amount (absolute value) */\n  FixedAmount = 3,\n}\n", "/**\n * Indicates whether a restriction applies to short selling a security.\n * tag: 1687\n * @readonly\n * @enum {number} (int)\n */\nexport enum ShortSaleRestriction {\n  /** No restrictions */\n  NoRestrictions = 0,\n  /** Security is not shortable */\n  SecurityNotShortable = 1,\n  /** Security not shortable at or below the best bid */\n  SecurityNotShortableAtOrBelowBestBid = 2,\n  /** Security is not shortable without pre-borrow */\n  SecurityNotShortableWithoutPreBorrow = 3,\n}\n", "/**\n * Indicates the reason a short sale order is exempted from applicable regulation (e.g. Reg SHO addendum (b)(1) in the U.S.).\n * tag: 1688\n * @readonly\n * @enum {number} (int)\n */\nexport enum ShortSaleExemptionReason {\n  ExemptionReasonUnknown = 0,\n  IncomingSSE = 1,\n  AboveNationalBestBid = 2,\n  DelayedDelivery = 3,\n  OddLot = 4,\n  DomesticArbitrage = 5,\n  InternationalArbitrage = 6,\n  UnderwriterOrSyndicateDistribution = 7,\n  RisklessPrincipal = 8,\n  VWAP = 9,\n}\n", "/**\n * Indicates whether application level recovery is needed.\n * tag: 1744\n * @readonly\n * @enum {number} (int)\n */\nexport enum ApplLevelRecoveryIndicator {\n  /** Application level recovery is not needed (default) */\n  NoApplRecoveryNeeded = 0,\n  /** Application level recovery is needed */\n  ApplRecoveryNeeded = 1,\n}\n", "/**\n * Type of risk limit information.\n * tag: 1760\n * @readonly\n * @enum {number} (int)\n */\nexport enum RiskLimitRequestType {\n  /** Definitions(Default) */\n  Definitions = 1,\n  /** Utilization */\n  Utilization = 2,\n  /** Definitions and utilization */\n  DefinitionsAndUtilizations = 3,\n}\n", "/**\n * Result of risk limit definition request.\n * tag: 1761\n * @readonly\n * @enum {number} (int)\n */\nexport enum RiskLimitRequestResult {\n  /** Successful (default) */\n  Successful = 0,\n  /** Invalid party(-ies) */\n  InvalidParty = 1,\n  /** Invalid related party(-ies) */\n  InvalidRelatedParty = 2,\n  /** Invalid risk limit type(s) */\n  InvalidRiskLimitType = 3,\n  /** Invalid risk limit ID(s) */\n  InvalidRiskLimitID = 4,\n  /** Invalid risk limit amount(s) */\n  InvalidRiskLimitAmount = 5,\n  /** Invalid risk/warning level action(s) */\n  InvalidRiskWarningLevelAction = 6,\n  /** Invalid risk instrument scope(s) */\n  InvalidRiskInstrumentScope = 7,\n  /** Risk limit actions not supported */\n  RiskLimitActionsNotSupported = 8,\n  /** Warning levels not supported */\n  WarningLevelsNotSupported = 9,\n  /** Warning level actions not supported */\n  WarningLevelActionsNotSupported = 10,\n  /** Risk instrument scope not supported */\n  RiskInstrumentScopeNotSupported = 11,\n  /** Risk limit not approved for party(-ies) */\n  RiskLimitNotApprovedForParty = 12,\n  /** Risk limit already defined for party(-ies) */\n  RiskLimitAlreadyDefinedForParty = 13,\n  /** Instrument not approved for party(-ies) */\n  InstrumentNotApprovedForParty = 14,\n  /** Not authorized */\n  NotAuthorized = 98,\n  /** Other */\n  Other = 99,\n}\n", "/**\n * Identifies the action to take or risk model to assume should risk limit be exceeded or breached for the specified party.\n * tag: 1767\n * @readonly\n * @enum {number} (int)\n */\nexport enum RiskLimitAction {\n  /** Queue inbound */\n  QueueInbound = 0,\n  /** Queue outbound */\n  QueueOutbound = 1,\n  /** Reject */\n  Reject = 2,\n  /** Disconnect */\n  Disconnect = 3,\n  /** Warning */\n  Warning = 4,\n  PingCreditCheckWithRevalidation = 5,\n  PingCreditCheckNoRevalidation = 6,\n  PushCreditCheckWithRevalidation = 7,\n  PushCreditCheckNoRevalidation = 8,\n  Suspend = 9,\n  HaltTrading = 10,\n}\n", "/**\n * Type of entitlement.\n * tag: 1775\n * @readonly\n * @enum {number} (int)\n */\nexport enum EntitlementType {\n  /** Trade */\n  Trade = 0,\n  /** Make markets */\n  MakeMarkets = 1,\n  /** Hold positions */\n  HoldPositions = 2,\n  /** Perform give-ups */\n  PerformGiveUps = 3,\n  /** Submit Indications of Interest (IOIs) */\n  SubmitIOIs = 4,\n  /** Subscribe to market data */\n  SubscribeMarketData = 5,\n  ShortWithPreBorrow = 6,\n  SubmitQuoteRequests = 7,\n  RespondToQuoteRequests = 8,\n}\n", "/**\n * Datatype of the entitlement attribute.\n * tag: 1779\n * @readonly\n * @enum {number} (int)\n */\nexport enum EntitlementAttribDatatype {\n  /** int */\n  Int = 1,\n  /** Length */\n  Length = 2,\n  /** NumInGroup */\n  NumInGroup = 3,\n  /** SeqNum */\n  SeqNum = 4,\n  /** TagNum */\n  TagNum = 5,\n  /** float */\n  Float = 6,\n  /** Qty */\n  Qty = 7,\n  /** Price */\n  Price = 8,\n  /** PriceOffset */\n  PriceOffset = 9,\n  /** Amt */\n  Amt = 10,\n  /** Percentage */\n  Percentage = 11,\n  /** char */\n  Char = 12,\n  /** Boolean */\n  Boolean = 13,\n  /** String */\n  String = 14,\n  /** MultipleCharValue */\n  MultipleCharValue = 15,\n  /** Currency */\n  Currency = 16,\n  /** Exchange */\n  Exchange = 17,\n  /** MonthYear */\n  MonthYear = 18,\n  /** UTCTimestamp */\n  UTCTimestamp = 19,\n  /** UTCTimeOnly */\n  UTCTimeOnly = 20,\n  /** LocalMktDate */\n  LocalMktDate = 21,\n  /** UTCDateOnly */\n  UTCDateOnly = 22,\n  /** data */\n  Data = 23,\n  /** MultipleStringValue */\n  MultipleStringValue = 24,\n  /** Country */\n  Country = 25,\n  /** Language */\n  Language = 26,\n  /** TZTimeOnly */\n  TZTimeOnly = 27,\n  /** TZTimestamp */\n  TZTimestamp = 28,\n  /** Tenor */\n  Tenor = 29,\n  /** DayOfMonth */\n  DayOfMonth = 30,\n  /** XMLData */\n  XMLData = 31,\n  /** Pattern */\n  Pattern = 32,\n  /** Reserved100Plus */\n  Reserved100Plus = 33,\n  /** Reserved1000Plus */\n  Reserved1000Plus = 34,\n  /** Reserved4000Plus */\n  Reserved4000Plus = 35,\n}\n", "/**\n * Indicates how control of trading session and subsession transitions are performed.\n * tag: 1785\n * @readonly\n * @enum {number} (int)\n */\nexport enum TradSesControl {\n  /** Automatic (Default) */\n  Automatic = 0,\n  /** Manual */\n  Manual = 1,\n}\n", "/**\n * Define the type of trade volume applicable for the MinTradeVol(562) and MaxTradeVol(1140)\n * tag: 1786\n * @readonly\n * @enum {number} (int)\n */\nexport enum TradeVolType {\n  /** Number of units (e.g. share, par, currency, contracts) (default) */\n  NumberOfUnits = 0,\n  /** Number of round lots */\n  NumberOfRoundLots = 1,\n}\n", "/**\n * The type of event affecting an order. The last event type within the OrderEventGrp component indicates the ExecType(150) value resulting from the series of events (ExecType(150) values are shown in brackets).\n * tag: 1796\n * @readonly\n * @enum {number} (int)\n */\nexport enum OrderEventType {\n  /** Added (0=New) */\n  Added = 1,\n  /** Modified (5=Replaced) */\n  Modified = 2,\n  /** Deleted (4=Canceled) */\n  Deleted = 3,\n  /** Partially Filled (F=Trade) */\n  PartiallyFilled = 4,\n  /** Filled (F=Trade) */\n  Filled = 5,\n  /** Suspended (9=Suspended) */\n  Suspended = 6,\n  /** Released (N=Released) */\n  Released = 7,\n  /** Restated (D=Restated) */\n  Restated = 8,\n  /** Locked (M=Locked) */\n  Locked = 9,\n  /** Triggered (L=Triggered or Activated by System) */\n  Triggered = 10,\n  /** Activated (L=Triggered or Activated by System) */\n  Activated = 11,\n}\n", "/**\n * Action that caused the event to occur.\n * tag: 1798\n * @readonly\n * @enum {number} (int)\n */\nexport enum OrderEventReason {\n  /** Add order request */\n  AddOrderRequest = 1,\n  /** Modify order request */\n  ModifyOrderRequest = 2,\n  /** Delete order request */\n  DeleteOrderRequest = 3,\n  /** Order entered out-of-band */\n  OrderEnteredOOB = 4,\n  /** Order modified out-of-band */\n  OrderModifiedOOB = 5,\n  /** Order deleted out-of-band */\n  OrderDeletedOOB = 6,\n  /** Order activated or triggered */\n  OrderActivatedOrTriggered = 7,\n  /** Order expired */\n  OrderExpired = 8,\n  /** Reserve order refreshed */\n  ReserveOrderRefreshed = 9,\n  /** Away market better */\n  AwayMarketBetter = 10,\n  /** Corporate action */\n  CorporateAction = 11,\n  /** Start of day */\n  StartOfDay = 12,\n  /** End of day */\n  EndOfDay = 13,\n}\n", "/**\n * Type of auction order.\n * tag: 1803\n * @readonly\n * @enum {number} (int)\n */\nexport enum AuctionType {\n  /** None */\n  None = 0,\n  /** Block order auction */\n  BlockOrderAuction = 1,\n  /** Directed order auction */\n  DirectedOrderAuction = 2,\n  /** Exposure order auction */\n  ExposureOrderAuction = 3,\n  /** Flash order auction */\n  FlashOrderAuction = 4,\n  /** Facilitation order auction */\n  FacilitationOrderAuction = 5,\n  /** Solicitation order auction */\n  SolicitationOrderAuction = 6,\n  /** Price improvement mechanism (PIM) */\n  PriceImprovementMechanism = 7,\n  /** Directed Order price improvement mechanism (PIM) */\n  DirectedOrderPriceImprovementMechanism = 8,\n}\n", "/**\n * Instruction related to system generated auctions, e.g. flash order auctions.\n * tag: 1805\n * @readonly\n * @enum {number} (int)\n */\nexport enum AuctionInstruction {\n  /** Automatic auction permitted (default) */\n  AutomatedAuctionPermitted = 0,\n  /** Automatic auction not permitted */\n  AutomatedAuctionNotPermitted = 1,\n}\n", "/**\n * Indicates whether an order is locked and for what reason.\n * tag: 1807\n * @readonly\n * @enum {number} (int)\n */\nexport enum LockType {\n  /** Not locked */\n  NotLocked = 0,\n  /** Away market better */\n  AwayMarketNetter = 1,\n  /** Three tick locked */\n  ThreeTickLocked = 2,\n  /** Locked by market maker */\n  LockedByMarketMaker = 3,\n  /** Directed order lock */\n  DirectedOrderLock = 4,\n  MultilegLock = 5,\n  /** Market order lock */\n  MarketOrderLock = 6,\n  /** Pre-assignment lock */\n  PreAssignmentLock = 7,\n}\n", "/**\n * Instruction to define conditions under which to release a locked order or parts of it.\n * tag: 1810\n * @readonly\n * @enum {number} (int)\n */\nexport enum ReleaseInstruction {\n  /** Intermarket Sweep Order (ISO) */\n  ISO = 1,\n  /** No Away Market Better check */\n  NoAwayMarketBetterCheck = 2,\n}\n", "/**\n * Information subject to disclosure.\n * tag: 1813\n * @readonly\n * @enum {number} (int)\n */\nexport enum DisclosureType {\n  /** Volume */\n  Volume = 1,\n  /** Price */\n  Price = 2,\n  /** Side */\n  Side = 3,\n  /** AON */\n  AON = 4,\n  General = 5,\n  /** Clearing account */\n  ClearingAccount = 6,\n  /** CMTA account */\n  CMTAAccount = 7,\n}\n", "/**\n * Instruction to disclose information or to use default value of the receiver.\n * tag: 1814\n * @readonly\n * @enum {number} (int)\n */\nexport enum DisclosureInstruction {\n  /** No */\n  No = 0,\n  /** Yes */\n  Yes = 1,\n  /** Use default setting */\n  UseDefaultSetting = 2,\n}\n", "/**\n * Designates the capacity in which the order is submitted for trading by the market participant.\n * tag: 1815\n * @readonly\n * @enum {number} (int)\n */\nexport enum TradingCapacity {\n  /** Customer */\n  Customer = 1,\n  /** Customer professional */\n  CustomerProfessional = 2,\n  /** Broker-dealer */\n  BrokerDealer = 3,\n  /** Customer broker-dealer */\n  CustomerBrokerDealer = 4,\n  /** Principal */\n  Principal = 5,\n  /** Market maker */\n  MarketMaker = 6,\n  /** Away market maker */\n  AwayMarketMaker = 7,\n  /** Systematic internaliser */\n  SystematicInternaliser = 8,\n}\n", "/**\n * Designates the account type to be used for the order when submitted to clearing.\n * tag: 1816\n * @readonly\n * @enum {number} (int)\n */\nexport enum ClearingAccountType {\n  /** Customer */\n  Customer = 1,\n  /** Firm */\n  Firm = 2,\n  /** Market maker */\n  MarketMaker = 3,\n}\n", "/**\n * Source for the price of a related entity, e.g. price of the underlying instrument in an Underlying Price Contingency (UPC) order. Can be used together with RelatedHighPrice (1819) and/or RelatedLowPrice (1820).\n * tag: 1821\n * @readonly\n * @enum {number} (int)\n */\nexport enum RelatedPriceSource {\n  /** NBB (National Best Bid) */\n  NBBid = 1,\n  /** NBO (National Best Offer) */\n  NBOffer = 2,\n}\n", "/**\n * Indicates how the minimum quantity should be applied when executing the order.\n * tag: 1822\n * @readonly\n * @enum {number} (int)\n */\nexport enum MinQtyMethod {\n  /** Once (applies only to first execution) */\n  Once = 1,\n  /** Multiple (applies to every execution) */\n  Multiple = 2,\n}\n", "/**\n * Indicates whether order has been triggered during its lifetime. Applies to cases where original information, e.g. OrdType(40), is modified when the order is triggered.\n * tag: 1823\n * @readonly\n * @enum {number} (int)\n */\nexport enum Triggered {\n  /** Not triggered (default) */\n  NotTriggered = 0,\n  /** Triggered */\n  Triggered = 1,\n  /** Stop order triggered */\n  StopOrderTriggered = 2,\n  /** One Cancels the Other (OCO) order triggered */\n  OCOOrderTriggered = 3,\n  /** One Triggers the Other (OTO) order triggered */\n  OTOOrderTriggered = 4,\n  /** One Updates the Other (OUO) order triggered */\n  OUOOrderTriggered = 5,\n}\n", "/**\n * Time unit associated with the event.\n * tag: 1827\n * @readonly\n * @enum {string} (String)\n */\nexport enum EventTimeUnit {\n  /** Hour */\n  Hour = 'H',\n  /** Minute */\n  Minute = 'Min',\n  /** Second */\n  Second = 'S',\n  /** Day */\n  Day = 'D',\n  /** Week */\n  Week = 'Wk',\n  /** Month */\n  Month = 'Mo',\n  /** Year */\n  Year = 'Yr',\n}\n", "/**\n * Identifies the origin of the order.\n * tag: 1724\n * @readonly\n * @enum {number} (int)\n */\nexport enum OrderOrigination {\n  /** Order received from a customer */\n  OrderReceivedFromCustomer = 1,\n  /** Order received from within the firm */\n  OrderReceivedFromWithinFirm = 2,\n  /** Order received from another broker-dealer */\n  OrderReceivedFromAnotherBrokerDealer = 3,\n  /** Order received from a customer or originated from within the firm */\n  OrderReceivedFromCustomerOrWithFirm = 4,\n  /** Order received from a direct access or sponsored access customer */\n  OrderReceivedFromDirectAccessCustomer = 5,\n  OrderReceivedFromForeignDealerEquivalent = 6,\n  OrderReceivedFromExecutionOnlyService = 7,\n}\n", "/**\n * Indicates whether the trade or position being reported was cleared through a clearing organization.\n * tag: 1832\n * @readonly\n * @enum {number} (int)\n */\nexport enum ClearedIndicator {\n  NotCleared = 0,\n  Cleared = 1,\n  Submitted = 2,\n  Rejected = 3,\n}\n", "/**\n * Additional information related to the pricing of a commodity swaps position, specifically an indicator referring to the position type.\n * tag: 1833\n * @readonly\n * @enum {number} (int)\n */\nexport enum ContractRefPosType {\n  /** Two component intercommodity spread */\n  TwoComponentIntercommoditySpread = 0,\n  /** Index or basket */\n  IndexOrBasket = 1,\n  /** Two component locational basis */\n  TwoComponentLocationBasis = 2,\n  /** Other */\n  Other = 99,\n}\n", "/**\n * Used to describe the ownership of the position.\n * tag: 1834\n * @readonly\n * @enum {number} (int)\n */\nexport enum PositionCapacity {\n  /** Principal */\n  Principal = 0,\n  /** Agent */\n  Agent = 1,\n  /** Customer */\n  Customer = 2,\n  /** Counterparty */\n  Counterparty = 3,\n}\n", "/**\n * Price conditions in effect at the time of the trade. Multiple price conditions can be in effect at the same time. Price conditions are usually required to be reported in markets that have regulations on price execution at a market or national best bid or offer, and the trade price differs from the best bid or offer.\n * tag: 1839\n * @readonly\n * @enum {number} (int)\n */\nexport enum TradePriceCondition {\n  /** Special cum dividend (CD) */\n  SpecialCumDividend = 0,\n  /** Special cum rights (CR) */\n  SpecialCumRights = 1,\n  /** Special ex dividend (XD) */\n  SpecialExDividend = 2,\n  /** Special ex rights (XR) */\n  SpecialExRights = 3,\n  /** Special cum coupon (CC) */\n  SpecialCumCoupon = 4,\n  /** Special cum capital repayments (CP) */\n  SpecialCumCapitalRepayments = 5,\n  /** Special ex coupon (XC) */\n  SpecialExCoupon = 6,\n  /** Special ex capital repayments (XP) */\n  SpecialExCapitalRepayments = 7,\n  /** Cash settlement (CS) */\n  CashSettlement = 8,\n  /** Special cum bonus (CB) */\n  SpecialCumBonus = 9,\n  SpecialPrice = 10,\n  /** Special ex bonus (XB) */\n  SpecialExBonus = 11,\n  /** Guaranteed delivery (GD) */\n  GuaranteedDelivery = 12,\n  SpecialDividend = 13,\n  PriceImprovement = 14,\n  NonPriceFormingTrade = 15,\n  TradeExemptedFromTradingObligation = 16,\n  PricePending = 17,\n  PriceNotApplicable = 18,\n}\n", "export enum TradeAllocStatus {\n  /** Pending clear */\n  PendingClear = 0,\n  /** Claimed */\n  Claimed = 1,\n  /** Cleared */\n  Cleared = 2,\n  /** Rejected */\n  Rejected = 3,\n}\n", "/**\n * Indicates the type of trade quantity in TradeQty(1843).\n * tag: 1842\n * @readonly\n * @enum {number} (int)\n */\nexport enum TradeQtyType {\n  /** Cleared quantity */\n  ClearedQuantity = 0,\n  /** Long side claimed quantity */\n  LongSideClaimedQuantity = 1,\n  /** Short side claimed quantity */\n  ShortSideClaimedQuantity = 2,\n  /** Long side rejected quantity */\n  LongSideRejectedQuantity = 3,\n  /** Short side rejected quantity */\n  ShortSideRejectedQuantity = 4,\n  /** Pending quantity */\n  PendingQuantity = 5,\n  /** Transaction quantity */\n  TransactionQuantity = 6,\n  RemainingQuantity = 7,\n  PreviousRemainingQuantity = 8,\n}\n", "/**\n * Instruction on how to add a trade to an allocation group when it is being given-up.\n * tag: 1848\n * @readonly\n * @enum {number} (int)\n */\nexport enum TradeAllocGroupInstruction {\n  /** Add to an existing allocation group if one exists. */\n  Add = 0,\n  /** Do not add the trade to an allocation group. */\n  DoNotAdd = 1,\n}\n", "/**\n * Indicates the trade is a result of an offset or onset.\n * tag: 1849\n * @readonly\n * @enum {number} (int)\n */\nexport enum OffsetInstruction {\n  Offset = 0,\n  Onset = 1,\n}\n", "/**\n * Describes the source of the identifier that RelatedTradeID(1856) represents.\n * tag: 1857\n * @readonly\n * @enum {number} (int)\n */\nexport enum RelatedTradeIDSource {\n  /** Non-FIX source */\n  NonFIXSource = 0,\n  /** Trade ID */\n  TradeID = 1,\n  /** Secondary trade ID */\n  SecondaryTradeID = 2,\n  /** Trade report ID */\n  TradeReportID = 3,\n  /** Firm trade ID */\n  FirmTradeID = 4,\n  /** Secondary firm Trade ID */\n  SecondaryFirmTradeID = 5,\n  /** Regulatory trade ID */\n  RegulatoryTradeID = 6,\n}\n", "/**\n * Describes the source of the identifier that RelatedPositionID(1862) represents.\n * tag: 1863\n * @readonly\n * @enum {number} (int)\n */\nexport enum RelatedPositionIDSource {\n  /** Position maintenance report ID - PosMaintRptID(721) */\n  PosMaintRptID = 1,\n  /** Position transfer ID - TransferID(2437) */\n  TransferID = 2,\n  /** Position entity ID - PositionID(2618) */\n  PositionEntityID = 3,\n}\n", "/**\n * Acknowledgement status of a Quote(35=S) or QuoteCancel(35=Z) message submission.\n * tag: 1865\n * @readonly\n * @enum {number} (int)\n */\nexport enum QuoteAckStatus {\n  /** Received, not yet processed */\n  ReceivedNotYetProcessed = 0,\n  /** Accepted */\n  Accepted = 1,\n  /** Rejected */\n  Rejected = 2,\n}\n", "/**\n * Type of value to be checked.\n * tag: 1869\n * @readonly\n * @enum {number} (int)\n */\nexport enum ValueCheckType {\n  PriceCheck = 1,\n  NotionalValueCheck = 2,\n  QuantityCheck = 3,\n}\n", "/**\n * Action to be taken for the ValueCheckType(1869).\n * tag: 1870\n * @readonly\n * @enum {number} (int)\n */\nexport enum ValueCheckAction {\n  DoNotCheck = 0,\n  Check = 1,\n  BestEffort = 2,\n}\n", "/**\n * Result party detail definition request.\n * tag: 1877\n * @readonly\n * @enum {number} (int)\n */\nexport enum PartyDetailRequestResult {\n  /** Successful (default) */\n  Successful = 0,\n  /** Invalid party(-ies) */\n  InvalidParty = 1,\n  /** Invalid related party(-ies) */\n  InvalidRelatedParty = 2,\n  /** Invalid party status(es) */\n  InvalidPartyStatus = 3,\n  /** Not authorized */\n  NotAuthorized = 98,\n  /** Other */\n  Other = 99,\n}\n", "/**\n * Status of party details definition request.\n * tag: 1878\n * @readonly\n * @enum {number} (int)\n */\nexport enum PartyDetailRequestStatus {\n  /** Accepted */\n  Accepted = 0,\n  /** Accepted with changes */\n  AcceptedWithChanges = 1,\n  /** Rejected */\n  Rejected = 2,\n  /** Acceptance pending */\n  AcceptancePending = 3,\n}\n", "/**\n * Status of party detail definition for one party.\n * tag: 1879\n * @readonly\n * @enum {number} (int)\n */\nexport enum PartyDetailDefinitionStatus {\n  /** Accepted */\n  Accepted = 0,\n  /** Accepted with changes */\n  AcceptedWithChanges = 1,\n  /** Rejected */\n  Rejected = 2,\n}\n", "/**\n * Result of risk limit definition request.\n * tag: 1881\n * @readonly\n * @enum {number} (int)\n */\nexport enum EntitlementRequestResult {\n  /** Successful (default) */\n  Successful = 0,\n  /** Invalid party(-ies) */\n  InvalidParty = 1,\n  /** Invalid related party(-ies) */\n  InvalidRelatedParty = 2,\n  /** Invalid entitlement type(s) */\n  InvalidEntitlementType = 3,\n  /** Invalid entitlement ID(s) / ref ID(s) */\n  InvalidEntitlementID = 4,\n  /** Invalid entitlement attribute(s) */\n  InvalidEntitlementAttribute = 5,\n  /** Invalid instrument scope(s) */\n  InvalidInstrumentScope = 6,\n  /** Invalid market segment scope(s) */\n  InvalidMarketSegmentScope = 7,\n  /** Invalid start date */\n  InvalidStartDate = 8,\n  /** Invalid end date */\n  InvalidEndDate = 9,\n  /** Instrument scope not supported */\n  InstrumentScopeNotSupported = 10,\n  /** Market segment scope not supported */\n  MarketSegmentScopeNotSupported = 11,\n  /** Entitlement not approved for party(-ies) */\n  EntitlementNotApprovedForParty = 12,\n  /** Entitlement already defined for party(-ies) */\n  EntitlementAlreadyDefinedForParty = 13,\n  /** Instrument not approved for party(-ies) */\n  InstrumentNotApprovedForParty = 14,\n  /** Not authorized */\n  NotAuthorized = 98,\n  /** Other */\n  Other = 99,\n}\n", "/**\n * Status of entitlement definition for one party.\n * tag: 1883\n * @readonly\n * @enum {number} (int)\n */\nexport enum EntitlementStatus {\n  /** Accepted */\n  Accepted = 0,\n  /** Accepted with changes */\n  AcceptedWithChanges = 1,\n  /** Rejected */\n  Rejected = 2,\n  Pending = 3,\n  Requested = 4,\n  Deferred = 5,\n}\n", "/**\n * Used to indicate the status of the trade match report submission.\n * tag: 1896\n * @readonly\n * @enum {number} (int)\n */\nexport enum TradeMatchAckStatus {\n  /** Received, not yet processed */\n  ReceivedNotProcessed = 0,\n  /** Accepted */\n  Accepted = 1,\n  /** Rejected */\n  Rejected = 2,\n}\n", "/**\n * Reason the trade match report submission was rejected.\n * tag: 1897\n * @readonly\n * @enum {number} (int)\n */\nexport enum TradeMatchRejectReason {\n  /** Successful */\n  Successful = 0,\n  /** Invalid party information */\n  InvalidPartyInformation = 1,\n  /** Unknown instrument */\n  UnknownInstrument = 2,\n  /** Not authorized to report trades */\n  Unauthorized = 3,\n  /** Invalid trade type */\n  InvalidTradeType = 4,\n  /** Other */\n  Other = 99,\n}\n", "/**\n * Describes the format of the PriceMovementValue(1921).\n * tag: 1923\n * @readonly\n * @enum {number} (int)\n */\nexport enum PriceMovementType {\n  /** Amount */\n  Amount = 0,\n  /** Percentage */\n  Percentage = 1,\n}\n", "/**\n * Identifies the event which caused origination of the identifier in RegulatoryTradeID(1903). When more than one event is the cause, use the higher enumeration value. For example, if the identifier is originated due to an allocated trade which was cleared and reported, use the enumeration value 2 (Clearing).\n * tag: 1904\n * @readonly\n * @enum {number} (int)\n */\nexport enum RegulatoryTradeIDEvent {\n  InitialBlockTrade = 0,\n  Allocation = 1,\n  /** Clearing */\n  Clearing = 2,\n  /** Compression */\n  Compression = 3,\n  /** Novation */\n  Novation = 4,\n  /** Termination */\n  Termination = 5,\n  /** Post-trade valuation */\n  PostTrdVal = 6,\n}\n", "export enum RegulatoryTradeIDType {\n  Current = 0,\n  Previous = 1,\n  Block = 2,\n  Related = 3,\n  ClearedBlockTrade = 4,\n  TradingVenueTransactionIdentifier = 5,\n  ReportTrackingNumber = 6,\n}\n", "/**\n * Specifies the party's or parties' intention to clear the trade.\n * tag: 1924\n * @readonly\n * @enum {number} (int)\n */\nexport enum ClearingIntention {\n  /** Do not intend to clear */\n  DoNotIntendToClear = 0,\n  /** Intend to clear */\n  IntendToClear = 1,\n}\n", "/**\n * Specifies how a trade was confirmed.\n * tag: 1927\n * @readonly\n * @enum {number} (int)\n */\nexport enum ConfirmationMethod {\n  /** Non-electronic */\n  NonElectronic = 0,\n  /** Electronic */\n  Electronic = 1,\n  /** Unconfirmed */\n  Unconfirmed = 2,\n}\n", "/**\n * Indication of how a trade was verified.\n * tag: 1931\n * @readonly\n * @enum {number} (int)\n */\nexport enum VerificationMethod {\n  /** Non-electronic */\n  NonElectronic = 0,\n  /** Electronic */\n  Electronic = 1,\n}\n", "/**\n * Specifies whether a party to a swap is using an exception to a clearing requirement. In the US, one such clearing requirement is CFTC's rule pursuant to CEA Section 2(h)(1).\n * tag: 1932\n * @readonly\n * @enum {number} (int)\n */\nexport enum ClearingRequirementException {\n  /** No exception */\n  NoException = 0,\n  Exception = 1,\n  EndUserException = 2,\n  InterAffiliateException = 3,\n  TreasuryAffiliateException = 4,\n  CooperativeException = 5,\n}\n", "/**\n * Used to specify whether the principal is paying or receiving the fixed rate in an interest rate swap.\n * tag: 1933\n * @readonly\n * @enum {string} (String)\n */\nexport enum IRSDirection {\n  Pay = 'PAY',\n  /** Principal is receiving fixed rate */\n  Rcv = 'RCV',\n  /** Swap is float/float or fixed/fixed */\n  NA = 'NA',\n}\n", "/**\n * Type of regulatory report.\n * tag: 1934\n * @readonly\n * @enum {number} (int)\n */\nexport enum RegulatoryReportType {\n  RT = 0,\n  PET = 1,\n  Snapshot = 2,\n  Confirmation = 3,\n  RTPET = 4,\n  PETConfirmation = 5,\n  RTPETConfirmation = 6,\n  PostTrade = 7,\n  Verification = 8,\n  PstTrdEvnt = 9,\n  PstTrdEvntRTReportable = 10,\n  LMTF = 11,\n  DATF = 12,\n  VOLO = 13,\n  FWAF = 14,\n  IDAF = 15,\n  VOLW = 16,\n  FULF = 17,\n  FULA = 18,\n  FULV = 19,\n  FULJ = 20,\n  COAF = 21,\n  Order = 22,\n  ChildOrder = 23,\n  OrderRoute = 24,\n  Trade = 25,\n  Quote = 26,\n  Supplement = 27,\n  NewTransaction = 28,\n  TransactionCorrection = 29,\n  TransactionModification = 30,\n  CollateralUpdate = 31,\n  MarginUpdate = 32,\n  TransactionReportedInError = 33,\n  TerminationEarlyTermination = 34,\n}\n", "export enum TradeCollateralization {\n  /** Uncollateralized */\n  Uncollateralized = 0,\n  /** Partially collateralized */\n  PartiallyCollateralized = 1,\n  /** One-way collaterallization */\n  OneWayCollaterallization = 2,\n  /** Fully collateralized */\n  FullyCollateralized = 3,\n  NetExposure = 4,\n}\n", "/**\n * Specifies the post-execution trade continuation or lifecycle event. Additional values may be used by mutual agreement of the counterparties.\n * tag: 1937\n * @readonly\n * @enum {number} (int)\n */\nexport enum TradeContinuation {\n  /** Novation */\n  Novation = 0,\n  /** Partial novation */\n  PartialNovation = 1,\n  TradeUnwind = 2,\n  PartialTradeUnwind = 3,\n  /** Exercise */\n  Exercise = 4,\n  Netting = 5,\n  /** Full netting */\n  FullNetting = 6,\n  /** Partial netting */\n  PartialNetting = 7,\n  Amendment = 8,\n  /** Increase */\n  Increase = 9,\n  /** Credit event */\n  CreditEvent = 10,\n  /** Strategic restructuring */\n  StrategicRestructuring = 11,\n  /** Succession event reorganization */\n  SuccessionEventReorganization = 12,\n  /** Succession event renaming */\n  SuccessionEventRenaming = 13,\n  /** Porting */\n  Porting = 14,\n  Withdrawl = 15,\n  Void = 16,\n  /** Account transfer */\n  AccountTransfer = 17,\n  /** Give up */\n  GiveUp = 18,\n  /** TakeUp */\n  TakeUp = 19,\n  /** Average pricing */\n  AveragePricing = 20,\n  /** Reversal */\n  Reversal = 21,\n  /** Allocation/Trade posting */\n  AllocTrdPosting = 22,\n  Cascade = 23,\n  /** Delivery */\n  Delivery = 24,\n  /** Option assignment */\n  OptionAsgn = 25,\n  /** Expiration */\n  Expiration = 26,\n  /** Maturity */\n  Maturity = 27,\n  /** Equal position adjustment */\n  EqualPosAdj = 28,\n  UnequalPosAdj = 29,\n  Correction = 30,\n  EarlyTermination = 31,\n  Rerate = 32,\n  Other = 99,\n}\n", "/**\n * The broad asset category for assessing risk exposure.\n * tag: 1938\n * @readonly\n * @enum {number} (int)\n */\nexport enum AssetClass {\n  /** Interest rate */\n  InterestRate = 1,\n  /** Currency */\n  Currency = 2,\n  /** Credit */\n  Credit = 3,\n  /** Equity */\n  Equity = 4,\n  /** Commodity */\n  Commodity = 5,\n  /** Other */\n  Other = 6,\n  /** Cash */\n  Cash = 7,\n  /** Debt */\n  Debt = 8,\n  Fund = 9,\n  /** Loan facility */\n  LoanFacility = 10,\n  Index = 11,\n}\n", "/**\n * The subcategory description of the asset class.\n * tag: 1939\n * @readonly\n * @enum {number} (int)\n */\nexport enum AssetSubClass {\n  /** Single currency */\n  SingleCurrency = 1,\n  /** Cross currency */\n  CrossCurrency = 2,\n  /** Basket [for multi-currency] */\n  Basket = 3,\n  /** Single name */\n  SingleName = 4,\n  /** Credit index */\n  CreditIndex = 5,\n  /** Index tranche */\n  IndexTranche = 6,\n  /** Credit basket */\n  CreditBasket = 7,\n  /** Exotic */\n  Exotic = 8,\n  /** Common */\n  Common = 9,\n  /** Preferred */\n  Preferred = 10,\n  /** Equity index */\n  EquityIndex = 11,\n  /** Equity basket */\n  EquityBasket = 12,\n  /** Metals */\n  Metals = 13,\n  /** Bullion */\n  Bullion = 14,\n  /** Energy */\n  Energy = 15,\n  /** Commodity index */\n  CommodityIndex = 16,\n  /** Agricultural */\n  Agricultural = 17,\n  /** Environmental */\n  Environmental = 18,\n  /** Freight */\n  Freight = 19,\n  /** Government */\n  Government = 20,\n  /** Agency */\n  Agency = 21,\n  /** Corporate */\n  Corporate = 22,\n  /** Financing */\n  Financing = 23,\n  /** Money market */\n  MoneyMarket = 24,\n  /** Mortgage */\n  Mortgage = 25,\n  /** Municipal */\n  Municipal = 26,\n  /** Mutual fund */\n  MutualFund = 27,\n  /** Collective investment vehicle */\n  CollectiveInvestmentVehicle = 28,\n  InvestmentProgram = 29,\n  SpecializedAccountProgram = 30,\n  /** Term loan */\n  TermLoan = 31,\n  /** Bridge loan */\n  BridgeLoan = 32,\n  /** Letter of credit */\n  LetterOfCredit = 33,\n  /** Dividend index */\n  DividendIndex = 34,\n  /** Stock dividend */\n  StockDividend = 35,\n  /** Exchange traded fund */\n  ExchangeTradedFund = 36,\n  /** Volatility index */\n  VolatilityIndex = 37,\n  /** FX cross rates */\n  FXCrossRates = 38,\n  /** FX emerging markets */\n  FXEmergingMarkets = 39,\n  /** FX Majors */\n  FXMajors = 40,\n  /** Fertilizer */\n  Fertilizer = 41,\n  /** Industrial product */\n  IndustrialProduct = 42,\n  /** Inflation */\n  Inflation = 43,\n  /** Paper */\n  Paper = 44,\n  /** Polypropylene */\n  Polypropylene = 45,\n  /** Official economic statistics */\n  OfficialEconomicStatistics = 46,\n  OtherC10 = 47,\n  Other = 48,\n}\n", "/**\n * The classification or type of swap. Additional values may be used by mutual agreement of the counterparties.\n * tag: 1941\n * @readonly\n * @enum {string} (String)\n */\nexport enum SwapClass {\n  /** Basis swap */\n  BasisSwap = 'BS',\n  /** Index swap */\n  IndexSwap = 'IX',\n  /** Broad-based security swap */\n  BroadBasedSecuritySwap = 'BB',\n  /** Basket swap */\n  BasketSwap = 'SK',\n}\n", "/**\n * Coupon type of the bond.\n * tag: 1946\n * @readonly\n * @enum {number} (int)\n */\nexport enum CouponType {\n  /** Zero */\n  Zero = 0,\n  /** Fixed rate */\n  FixedRate = 1,\n  /** Floating rate */\n  FloatingRate = 2,\n  /** Structured */\n  Structured = 3,\n}\n", "/**\n * Time unit associated with the frequency of the bond's coupon payment.\n * tag: 1949\n * @readonly\n * @enum {string} (String)\n */\nexport enum CouponFrequencyUnit {\n  /** Day */\n  Day = 'D',\n  /** Week */\n  Week = 'Wk',\n  /** Month */\n  Month = 'Mo',\n  /** Year */\n  Year = 'Yr',\n  /** Hour */\n  Hour = 'H',\n  /** Minute */\n  Minute = 'Min',\n  /** Second */\n  Second = 'S',\n  /** Term */\n  Term = 'T',\n}\n", "/**\n * The day count convention used in interest calculations for a bond or an interest bearing security. Absence of this field for a bond or an interest bearing security transaction implies a \"flat\" trade, i.e. no accrued interest determined at time of the transaction.\n * tag: 1950\n * @readonly\n * @enum {number} (int)\n */\nexport enum CouponDayCount {\n  OneOne = 0,\n  ThirtyThreeSixtyUS = 1,\n  ThirtyThreeSixtySIA = 2,\n  ThirtyThreeSixtyM = 3,\n  ThirtyEThreeSixty = 4,\n  ThirtyEThreeSixtyISDA = 5,\n  ActThreeSixty = 6,\n  ActThreeSixtyFiveFixed = 7,\n  ActActAFB = 8,\n  ActActICMA = 9,\n  ActActISMAUltimo = 10,\n  ActActISDA = 11,\n  BusTwoFiftyTwo = 12,\n  ThirtyEPlusThreeSixty = 13,\n  ActThreeSixtyFiveL = 14,\n  NLThreeSixtyFive = 15,\n  NLThreeSixty = 16,\n  Act364 = 17,\n  ThirtyThreeSixtyFive = 18,\n  ThirtyActual = 19,\n  ThirtyThreeSixtyICMA = 20,\n  ThirtyETwoThreeSixty = 21,\n  ThirtyEThreeThreeSixty = 22,\n  Other = 99,\n}\n", "/**\n * Indicates the seniority level of the lien in a loan.\n * tag: 1954\n * @readonly\n * @enum {number} (int)\n */\nexport enum LienSeniority {\n  /** Unknown */\n  Unknown = 0,\n  /** First lien */\n  FirstLien = 1,\n  /** Second lien */\n  SecondLien = 2,\n  /** Third lien */\n  ThirdLien = 3,\n}\n", "/**\n * Specifies the type of loan when the credit default swap's reference obligation is a loan.\n * tag: 1955\n * @readonly\n * @enum {number} (int)\n */\nexport enum LoanFacility {\n  /** Bridge loan */\n  BridgeLoan = 0,\n  /** Letter of credit */\n  LetterOfCredit = 1,\n  /** Revolving loan */\n  RevolvingLoan = 2,\n  /** Swingline funding */\n  SwinglineFunding = 3,\n  /** Term loan */\n  TermLoan = 4,\n  /** Trade claim */\n  TradeClaim = 5,\n}\n", "/**\n * Specifies the type of reference entity for first-to-default CDS basket contracts.\n * tag: 1956\n * @readonly\n * @enum {number} (int)\n */\nexport enum ReferenceEntityType {\n  /** Asian */\n  Asian = 1,\n  /** Australian and New Zealand */\n  AustralianNewZealand = 2,\n  /** European emerging markets */\n  EuropeanEmergingMarkets = 3,\n  /** Japanese */\n  Japanese = 4,\n  /** North American high yield */\n  NorthAmericanHighYield = 5,\n  /** North American insurance */\n  NorthAmericanInsurance = 6,\n  /** North American investment grade */\n  NorthAmericanInvestmentGrade = 7,\n  /** Singaporean */\n  Singaporean = 8,\n  /** Western European */\n  WesternEuropean = 9,\n  /** Western European insurance */\n  WesternEuropeanInsurance = 10,\n}\n", "/**\n * Indication that a block trade will be allocated.\n * tag: 1980\n * @readonly\n * @enum {number} (int)\n */\nexport enum BlockTrdAllocIndicator {\n  /** Block to be allocated */\n  BlockToBeAllocated = 0,\n  /** Block not to be allocated */\n  BlockNotToBeAllocated = 1,\n  AllocatedTrade = 2,\n}\n", "/**\n * Type of reference obligation for credit derivatives contracts.\n * tag: 2012\n * @readonly\n * @enum {string} (String)\n */\nexport enum UnderlyingObligationType {\n  /** Bond */\n  Bond = '0',\n  /** Convertible bond */\n  ConvertibleBond = '1',\n  /** Mortgage */\n  Mortgage = '2',\n  /** Loan */\n  Loan = '3',\n}\n", "/**\n * The type of quote used to determine the cash settlement price.\n * tag: 40027\n * @readonly\n * @enum {number} (int)\n */\nexport enum CashSettlQuoteMethod {\n  /** Bid */\n  Bid = 0,\n  /** Mid */\n  Mid = 1,\n  /** Offer */\n  Offer = 2,\n}\n", "export enum CashSettlValuationMethod {\n  /** Market */\n  Market = 0,\n  /** Highest */\n  Highest = 1,\n  /** Average market */\n  AverageMarket = 2,\n  /** Average highest */\n  AverageHighest = 3,\n  /** Blended market */\n  BlendedMarket = 4,\n  /** Blended highest */\n  BlendedHighest = 5,\n  /** Average blended market */\n  AverageBlendedMarket = 6,\n  /** Average blended highest */\n  AverageBlendedHighest = 7,\n}\n", "/**\n * Type of swap stream.\n * tag: 40050\n * @readonly\n * @enum {number} (int)\n */\nexport enum StreamType {\n  /** Payment / cash settlement */\n  PaymentCashSettlement = 0,\n  /** Physical delivery */\n  PhysicalDelivery = 1,\n}\n", "/**\n * Type of provisions.\n * tag: 40091\n * @readonly\n * @enum {number} (int)\n */\nexport enum ProvisionType {\n  /** Mandatory early termination */\n  MandatoryEarlyTermination = 0,\n  /** Optional early termination */\n  OptionalEarlyTermination = 1,\n  /** Cancelable */\n  Cancelable = 2,\n  Extendable = 3,\n  /** Mutual early termination */\n  MutualEarlyTermination = 4,\n  Evergreen = 5,\n  Callable = 6,\n  Puttable = 7,\n}\n", "/**\n * Time unit associated with the provision's tenor period.\n * tag: 40097\n * @readonly\n * @enum {string} (String)\n */\nexport enum ProvisionDateTenorUnit {\n  /** Day */\n  Day = 'D',\n  /** Week */\n  Week = 'Wk',\n  /** Month */\n  Month = 'Mo',\n  /** Year */\n  Year = 'Yr',\n}\n", "/**\n * Used to identify the calculation agent. The calculation agent may be identified in ProvisionCalculationAgent(40098) or in the ProvisionParties component.\n * tag: 40098\n * @readonly\n * @enum {number} (int)\n */\nexport enum ProvisionCalculationAgent {\n  /** Exercising party */\n  ExercisingParty = 0,\n  /** Non-exercising party */\n  NonExercisingParty = 1,\n  /** As specified in the master agreement */\n  MasterAgreeent = 2,\n  /** As specified in the standard terms supplement */\n  Supplement = 3,\n}\n", "/**\n * If optional early termination is not available to both parties then this component identifies the buyer of the option through its side of the trade.\n * tag: 40099\n * @readonly\n * @enum {number} (int)\n */\nexport enum ProvisionOptionSinglePartyBuyerSide {\n  /** Buy */\n  Buy = 1,\n  /** Sell */\n  Sell = 2,\n}\n", "/**\n * An ISDA defined cash settlement method used for the determination of the applicable cash settlement amount. The method is defined in the 2006 ISDA Definitions, Section 18.3. Cash Settlement Methods, paragraph (e).\n * tag: 40108\n * @readonly\n * @enum {number} (int)\n */\nexport enum ProvisionCashSettlMethod {\n  /** Cash price */\n  CashPrice = 0,\n  /** Cash price alternate */\n  CashPriceAlternate = 1,\n  /** Par yield curve adjusted */\n  ParYieldCurveAdjusted = 2,\n  /** Zero coupon yield curve adjusted */\n  ZeroCouponYieldCurveAdjusted = 3,\n  /** Par yield curve unadjusted */\n  ParYieldCurveUnadjusted = 4,\n  /** Cross currency */\n  CrossCurrency = 5,\n  /** Collateralized price */\n  CollateralizedPrice = 6,\n}\n", "/**\n * Identifies the type of quote to be used.\n * tag: 40111\n * @readonly\n * @enum {number} (int)\n */\nexport enum ProvisionCashSettlQuoteType {\n  /** Bid */\n  Bid = 0,\n  /** Mid */\n  Mid = 1,\n  /** Offer */\n  Offer = 2,\n  ExercisingPartyPays = 3,\n}\n", "/**\n * Time unit associated with the interval to the first (and possibly only) exercise date in the exercise period.\n * tag: 40126\n * @readonly\n * @enum {string} (String)\n */\nexport enum ProvisionOptionExerciseEarliestDateOffsetUnit {\n  /** Day */\n  Day = 'D',\n  /** Week */\n  Week = 'Wk',\n  /** Month */\n  Month = 'Mo',\n  /** Year */\n  Year = 'Yr',\n}\n", "/**\n * Specifies the type of date (e.g. adjusted for holidays).\n * tag: 40144\n * @readonly\n * @enum {number} (int)\n */\nexport enum ProvisionOptionExerciseFixedDateType {\n  /** Unadjusted */\n  Unadjusted = 0,\n  /** Adjusted */\n  Adjusted = 1,\n}\n", "/**\n * Specifies the type of date (e.g. adjusted for holidays).\n * tag: 40173\n * @readonly\n * @enum {number} (int)\n */\nexport enum ProvisionCashSettlPaymentDateType {\n  /** Unadjusted */\n  Unadjusted = 0,\n  /** Adjusted */\n  Adjusted = 1,\n}\n", "/**\n * Time unit associated with protection term events.\n * tag: 40196\n * @readonly\n * @enum {string} (String)\n */\nexport enum ProtectionTermEventUnit {\n  /** Day */\n  Day = 'D',\n  /** Week */\n  Week = 'Wk',\n  /** Month */\n  Month = 'Mo',\n  /** Year */\n  Year = 'Yr',\n}\n", "/**\n * Day type for events that specify a period and unit.\n * tag: 40197\n * @readonly\n * @enum {number} (int)\n */\nexport enum ProtectionTermEventDayType {\n  /** Business */\n  Business = 0,\n  /** Calendar */\n  Calendar = 1,\n  /** Commodity business */\n  CommodityBusiness = 2,\n  /** Currency business */\n  CurrencyBusiness = 3,\n  /** Exchange business */\n  ExchangeBusiness = 4,\n  /** Scheduled trading day */\n  ScheduledTradingDay = 5,\n}\n", "/**\n * Protection term event qualifier. Used to further qualify ProtectionTermEventType(40192).\n * tag: 40200\n * @readonly\n * @enum {string} (char)\n */\nexport enum ProtectionTermEventQualifier {\n  RestructuringMultipleHoldingObligations = 'H',\n  RestructuringMultipleCreditEventNotices = 'E',\n  FloatingRateInterestShortfall = 'C',\n}\n", "/**\n * Type of payment.\n * tag: 40213\n * @readonly\n * @enum {number} (int)\n */\nexport enum PaymentType {\n  /** Brokerage */\n  Brokerage = 0,\n  /** Upfront fee */\n  UpfrontFee = 1,\n  /** Independent amount / collateral */\n  IndependentAmountCollateral = 2,\n  /** Principal exchange */\n  PrincipalExchange = 3,\n  /** Novation / termination */\n  NovationTermination = 4,\n  /** Early termination provision */\n  EarlyTerminationProvision = 5,\n  /** Cancelable provision */\n  CancelableProvision = 6,\n  /** Extendible provision */\n  ExtendibleProvision = 7,\n  /** Cap rate provision */\n  CapRateProvision = 8,\n  /** Floor rate provision */\n  FloorRateProvision = 9,\n  /** Option premium */\n  OptionPremium = 10,\n  /** Settlement payment */\n  SettlementPayment = 11,\n  /** Cash settlement */\n  CashSettl = 12,\n  SecurityLending = 13,\n  Rebate = 14,\n  /** Other */\n  Other = 99,\n}\n", "/**\n * The side of the party paying the payment.\n * tag: 40214\n * @readonly\n * @enum {number} (int)\n */\nexport enum PaymentPaySide {\n  /** Buy */\n  Buy = 1,\n  /** Sell */\n  Sell = 2,\n}\n", "/**\n * Payment settlement style.\n * tag: 40227\n * @readonly\n * @enum {number} (int)\n */\nexport enum PaymentSettlStyle {\n  /** Standard */\n  Standard = 0,\n  /** Net */\n  Net = 1,\n  /** Standard and net */\n  StandardfNet = 2,\n}\n", "/**\n * Identifies the type of payment stream associated with the swap.\n * tag: 40738\n * @readonly\n * @enum {number} (int)\n */\nexport enum PaymentStreamType {\n  /** Periodic (default) */\n  Periodic = 0,\n  /** Initial */\n  Initial = 1,\n  /** Single */\n  Single = 2,\n  /** Dividend */\n  Dividend = 3,\n  /** Interest */\n  Interest = 4,\n  /** Dividend return */\n  DividendReturn = 5,\n  /** Price return */\n  PriceReturn = 6,\n  /** Total return */\n  TotalReturn = 7,\n  /** Variance */\n  Variance = 8,\n  /** Correlation */\n  Correlation = 9,\n}\n", "/**\n * The method of calculating discounted payment amounts\n * tag: 40744\n * @readonly\n * @enum {number} (int)\n */\nexport enum PaymentStreamDiscountType {\n  /** Standard */\n  Standard = 0,\n  /** Forward Rate Agreement (FRA) */\n  FRA = 1,\n}\n", "/**\n * Compounding method.\n * tag: 40747\n * @readonly\n * @enum {number} (int)\n */\nexport enum PaymentStreamCompoundingMethod {\n  /** None */\n  None = 0,\n  /** Flat */\n  Flat = 1,\n  /** Straight */\n  Straight = 2,\n  /** Spread exclusive */\n  SpreadExclusive = 3,\n}\n", "/**\n * Time unit associated with the frequency of payments.\n * tag: 40754\n * @readonly\n * @enum {string} (String)\n */\nexport enum PaymentStreamPaymentFrequencyUnit {\n  /** Day */\n  Day = 'D',\n  /** Week */\n  Week = 'Wk',\n  /** Month */\n  Month = 'Mo',\n  /** Year */\n  Year = 'Yr',\n  /** Term */\n  Term = 'T',\n}\n", "/**\n * Time unit multiplier for the relative initial fixing date offset.\n * tag: 40760\n * @readonly\n * @enum {string} (String)\n */\nexport enum PaymentStreamPaymentDateOffsetUnit {\n  /** Day */\n  Day = 'D',\n  /** Week */\n  Week = 'Wk',\n  /** Month */\n  Month = 'Mo',\n  /** Year */\n  Year = 'Yr',\n}\n", "/**\n * Used to specify the day of the week in which the reset occurs for payments that reset on a weekly basis.\n * tag: 40766\n * @readonly\n * @enum {string} (String)\n */\nexport enum PaymentStreamResetWeeklyRollConvention {\n  /** Monday */\n  Monday = 'MON',\n  /** Tuesday */\n  Tuesday = 'TUE',\n  /** Wednesday */\n  Wednesday = 'WED',\n  /** Thursday */\n  Thursday = 'THU',\n  /** Friday */\n  Friday = 'FRI',\n  /** Saturday */\n  Saturday = 'SAT',\n  /** Sunday */\n  Sunday = 'SUN',\n}\n", "/**\n * The source of the payment stream floating rate index.\n * tag: 40790\n * @readonly\n * @enum {number} (int)\n */\nexport enum PaymentStreamRateIndexSource {\n  /** Bloomberg */\n  Bloomberg = 0,\n  /** Reuters */\n  Reuters = 1,\n  /** Telerate */\n  Telerate = 2,\n  /** Other */\n  Other = 99,\n}\n", "/**\n * Time unit associated with the floating rate index.\n * tag: 40791\n * @readonly\n * @enum {string} (String)\n */\nexport enum PaymentStreamRateIndexCurveUnit {\n  /** Day */\n  Day = 'D',\n  /** Week */\n  Week = 'Wk',\n  /** Month */\n  Month = 'Mo',\n  /** Year */\n  Year = 'Yr',\n}\n", "/**\n * Identifies whether the rate spread is applied to a long or short position.\n * tag: 40795\n * @readonly\n * @enum {number} (int)\n */\nexport enum PaymentStreamRateSpreadPositionType {\n  /** Short */\n  Short = 0,\n  /** Long */\n  Long = 1,\n}\n", "/**\n * Specifies the yield calculation treatment for the index.\n * tag: 40796\n * @readonly\n * @enum {number} (int)\n */\nexport enum PaymentStreamRateTreatment {\n  /** Bond equivalent yield */\n  BondEquivalentYield = 0,\n  /** Money market yield */\n  MoneyMarketYield = 1,\n}\n", "/**\n * Reference to the buyer of the cap rate option through its trade side.\n * tag: 40798\n * @readonly\n * @enum {number} (int)\n */\nexport enum PaymentStreamCapRateBuySide {\n  /** Buyer of the trade */\n  Buyer = 1,\n  /** Seller of the trade */\n  Seller = 2,\n}\n", "/**\n * Reference to the buyer of the floor rate option through its trade side.\n * tag: 40801\n * @readonly\n * @enum {number} (int)\n */\nexport enum PaymentStreamFloorRateBuySide {\n  /** Buyer of the trade */\n  Buyer = 1,\n  /** Seller of the trade */\n  Seller = 2,\n}\n", "/**\n * When rate averaging is applicable, used to specify whether a weighted or unweighted average calculation method is to be used.\n * tag: 40806\n * @readonly\n * @enum {number} (int)\n */\nexport enum PaymentStreamAveragingMethod {\n  /** Unweighted */\n  Unweighted = 0,\n  /** Weighted */\n  Weighted = 1,\n}\n", "/**\n * The specification of any provisions for calculating payment obligations when a floating rate is negative (either due to a quoted negative floating rate or by operation of a spread that is subtracted from the floating rate).\n * tag: 40807\n * @readonly\n * @enum {number} (int)\n */\nexport enum PaymentStreamNegativeRateTreatment {\n  /** Zero interest rate method */\n  ZeroInterestRateMethod = 0,\n  /** Negative interest rate method */\n  NegativeInterestRateMethod = 1,\n}\n", "/**\n * Time unit associated with the inflation lag period.\n * tag: 40809\n * @readonly\n * @enum {string} (String)\n */\nexport enum PaymentStreamInflationLagUnit {\n  /** Day */\n  Day = 'D',\n  /** Week */\n  Week = 'Wk',\n  /** Month */\n  Month = 'Mo',\n  /** Year */\n  Year = 'Yr',\n}\n", "/**\n * The inflation lag period day type.\n * tag: 40810\n * @readonly\n * @enum {number} (int)\n */\nexport enum PaymentStreamInflationLagDayType {\n  /** Business */\n  Business = 0,\n  /** Calendar */\n  Calendar = 1,\n  /** Commodity business */\n  CommodityBusiness = 2,\n  /** Currency business */\n  CurrencyBusiness = 3,\n  /** Exchange business */\n  ExchangeBusiness = 4,\n  /** Scheduled trading day */\n  ScheduledTradingDay = 5,\n}\n", "/**\n * The method used when calculating the Inflation Index Level from multiple points - the most common is Linear.\n * tag: 40811\n * @readonly\n * @enum {number} (int)\n */\nexport enum PaymentStreamInflationInterpolationMethod {\n  /** None */\n  None = 0,\n  /** Linear zero yield */\n  LinearZeroYield = 1,\n}\n", "/**\n * The method of Forward Rate Agreement (FRA) discounting, if any, that will apply.\n * tag: 40816\n * @readonly\n * @enum {number} (int)\n */\nexport enum PaymentStreamFRADiscounting {\n  /** None */\n  None = 0,\n  /** International Swaps and Derivatives Association (ISDA) */\n  ISDA = 1,\n  /** Australian Financial Markets Association (AFMA) */\n  AFMA = 2,\n}\n", "/**\n * Specifies the type of date (e.g. adjusted for holidays).\n * tag: 40827\n * @readonly\n * @enum {number} (int)\n */\nexport enum NonDeliverableFixingDateType {\n  /** Unadjusted */\n  Unadjusted = 0,\n  /** Adjusted */\n  Adjusted = 1,\n}\n", "/**\n * Type of schedule.\n * tag: 40829\n * @readonly\n * @enum {number} (int)\n */\nexport enum PaymentScheduleType {\n  /** Notional */\n  Notional = 0,\n  /** Cash flow */\n  CashFlow = 1,\n  /** FX linked notional */\n  FXLinkedNotional = 2,\n  /** Fixed rate */\n  FixedRate = 3,\n  /** Future value notional */\n  FutureValueNotional = 4,\n  /** Known amount */\n  KnownAmount = 5,\n  /** Floating rate multiplier */\n  FloatingRateMultiplier = 6,\n  /** Spread */\n  Spread = 7,\n  /** Cap rate */\n  CapRate = 8,\n  /** Floor rate */\n  FloorRate = 9,\n  /** Non-deliverable settlement payment dates */\n  NonDeliverableSettlPaymentDates = 10,\n  /** Non-deliverable settlement calculation dates */\n  NonDeliverableSettlCalculationDates = 11,\n  /** Non-deliverable fixing dates. */\n  NonDeliverableFXFixingDates = 12,\n  /** Settlement period notional */\n  SettlPeriodNotnl = 13,\n  /** Settlement period price */\n  SettlPeriodPx = 14,\n  /** Calculation period */\n  CalcPeriod = 15,\n  /** Dividend accrual rate multiplier */\n  DividendAccrualRateMultiplier = 16,\n  /** Dividend accrual rate spread */\n  DividendAccrualRateSpread = 17,\n  /** Dividend accrual cap rate */\n  DividendAccrualCapRate = 18,\n  /** Dividend accrual floor rate */\n  DividendAccrualFloorRate = 19,\n  /** Compounding rate multiplier */\n  CompoundingRateMultiplier = 20,\n  /** Compounding rate spread */\n  CompoundingRateSpread = 21,\n  /** Compounding cap rate */\n  CompoundingCapRate = 22,\n  /** Compounding floor rate */\n  CompoundingFloorRate = 23,\n}\n", "/**\n * Specifies whether the PaymentScheduleStepRate(40847) or PaymentScheduleStepOffsetValue(40846) should be applied to the initial notional or the previous notional in order to calculate the notional step change amount.\n * tag: 40849\n * @readonly\n * @enum {number} (int)\n */\nexport enum PaymentScheduleStepRelativeTo {\n  /** Initial */\n  Initial = 0,\n  /** Previous */\n  Previous = 1,\n}\n", "/**\n * Stub type.\n * tag: 40873\n * @readonly\n * @enum {number} (int)\n */\nexport enum PaymentStubType {\n  /** Initial */\n  Initial = 0,\n  /** Final */\n  Final = 1,\n  /** Compounding initial */\n  CompoundingInitial = 2,\n  /** Compounding final */\n  CompoundingFinal = 3,\n}\n", "/**\n * Optional indication whether stub is shorter or longer than the regular swap period.\n * tag: 40874\n * @readonly\n * @enum {number} (int)\n */\nexport enum PaymentStubLength {\n  /** Short */\n  Short = 0,\n  /** Long */\n  Long = 1,\n}\n", "/**\n * Specifies the day type of the relative payment date offset.\n * tag: 40920\n * @readonly\n * @enum {number} (int)\n */\nexport enum PaymentStreamPaymentDateOffsetDayType {\n  /** Business */\n  Business = 0,\n  /** Calendar */\n  Calendar = 1,\n  /** Commodity business */\n  CommodityBusiness = 2,\n  /** Currency business */\n  CurrencyBusiness = 3,\n  /** Exchange business */\n  ExchangeBusiness = 4,\n  /** Scheduled trading day */\n  ScheduledTradingDay = 5,\n}\n", "/**\n * The business day convention used for adjusting dates. The value defined here applies to all adjustable dates in the instrument unless specifically overridden.\n * tag: 40921\n * @readonly\n * @enum {number} (int)\n */\nexport enum BusinessDayConvention {\n  NotApplicable = 0,\n  /** None (current day) */\n  None = 1,\n  FollowingDay = 2,\n  FloatingRateNote = 3,\n  ModifiedFollowingDay = 4,\n  PrecedingDay = 5,\n  ModifiedPrecedingDay = 6,\n  NearestDay = 7,\n}\n", "/**\n * The convention for determining a sequence of dates. It is used in conjunction with a specified frequency. The value defined here applies to all adjustable dates in the instrument unless specifically overridden. Additional values may be used by mutual agreement of the counterparties.\n * tag: 40922\n * @readonly\n * @enum {string} (String)\n */\nexport enum DateRollConvention {\n  /** 1st day of the month */\n  FirstDay = '1',\n  /** 2nd day of the month */\n  SecondDay = '2',\n  /** 3rd day of the month */\n  ThirdDay = '3',\n  /** 4th day of the month */\n  FourthDay = '4',\n  /** 5th day of the month */\n  FifthDay = '5',\n  /** 6thd day of the month */\n  SixthDay = '6',\n  /** 7th day of the month */\n  SeventhDay = '7',\n  /** 8th day of the month */\n  EighthDay = '8',\n  /** 9th day of the month */\n  NinthDay = '9',\n  /** 10th day of the month */\n  TenthDay = '10',\n  /** 11th day of the month */\n  EleventhDay = '11',\n  /** 12th day of the month */\n  TwelvthDay = '12',\n  /** 13th day of the month */\n  ThirteenthDay = '13',\n  /** 14th day of the month */\n  ForteenthDay = '14',\n  /** 15th day of the month */\n  FifteenthDay = '15',\n  /** 16th day of the month */\n  SixteenthDay = '16',\n  /** 17th day of the month */\n  SeventeenthDay = '17',\n  /** 18th day of the month */\n  EighteenthDay = '18',\n  /** 19th day of the month */\n  NineteenthDay = '19',\n  /** 20th day of the month */\n  TwentiethDay = '20',\n  /** 21st day of the month */\n  TwentyFirstDay = '21',\n  /** 22nd day of the month */\n  TwentySecondDay = '22',\n  /** 23rd day of the month */\n  TwentyThirdDay = '23',\n  /** 24th day of the month */\n  TwentyFourthDay = '24',\n  /** 25th day of the month */\n  TwentyFifthDay = '25',\n  /** 26th day of the month */\n  TwentySixthDay = '26',\n  /** 27th day of the month */\n  TwentySeventhDay = '27',\n  /** 28th day of the month */\n  TwentyEigthDa28y = '28',\n  /** 29th day of the month */\n  TwentyNinthDay = '29',\n  /** 30th day of the month */\n  ThirtiethDay = '30',\n  EOM = 'EOM',\n  /** The floating rate note convention or Eurodollar convention. */\n  FRN = 'FRN',\n  /** The International Money Market settlement date, i.e. the 3rd Wednesday of the month. */\n  IMM = 'IMM',\n  /** The last trading day/expiration day of the Canadian Derivatives Exchange. */\n  IMMCAD = 'IMMCAD',\n  /** The last trading day of the Sydney Futures Exchange Australian 90-day bank accepted bill futures contract. */\n  IMMAUD = 'IMMAUD',\n  /** The last trading day of the Sydney Futures Exchange New Zealand 90-day bank bill futures contract. */\n  IMMNZD = 'IMMNZD',\n  /** The Sydney Futures Exchange 90-day bank accepted bill futures settlement dates. */\n  SFE = 'SFE',\n  /** No adjustment */\n  NONE = 'NONE',\n  /** The 13-week and 26-week U.S. Treasury Bill auction dates. */\n  TBILL = 'TBILL',\n  /** Monday */\n  MON = 'MON',\n  /** Tuesday */\n  TUE = 'TUE',\n  /** Wednesday */\n  WED = 'WED',\n  /** Thursday */\n  THU = 'THU',\n  /** Friday */\n  FRI = 'FRI',\n  /** Saturday */\n  SAT = 'SAT',\n  /** Sunday */\n  SUN = 'SUN',\n}\n", "export enum AttachmentEncodingType {\n  Base64 = 0,\n  RawBinary = 1,\n}\n", "/**\n * Specifies the negotiation method to be used.\n * tag: 2115\n * @readonly\n * @enum {number} (int)\n */\nexport enum NegotiationMethod {\n  AutoSpot = 0,\n  NegotiatedSpot = 1,\n  PhoneSpot = 2,\n}\n", "/**\n * Specifies the period type.\n * tag: 41011\n * @readonly\n * @enum {number} (int)\n */\nexport enum ComplexEventPeriodType {\n  /** Asian Out */\n  AsianOut = 0,\n  /** Asian In */\n  AsianIn = 1,\n  /** Barrier Cap */\n  BarrierCap = 2,\n  /** Barrier Floor */\n  BarrierFloor = 3,\n  /** Knock Out */\n  KnockOut = 4,\n  /** Knock In */\n  KnockIn = 5,\n}\n", "/**\n * Specifies the day type of the relative date offset.\n * tag: 41024\n * @readonly\n * @enum {number} (int)\n */\nexport enum ComplexEventDateOffsetDayType {\n  /** Business */\n  Business = 0,\n  /** Calendar */\n  Calendar = 1,\n  /** Commodity business */\n  CommodityBusiness = 2,\n  /** Currency business */\n  CurrencyBusiness = 3,\n  /** Exchange business */\n  ExchangeBusiness = 4,\n  /** Scheduled trading day */\n  ScheduledTradingDay = 5,\n}\n", "/**\n * Specifies when the payout is to occur.\n * tag: 2121\n * @readonly\n * @enum {number} (int)\n */\nexport enum ComplexOptPayoutTime {\n  /** Close */\n  Close = 0,\n  /** Open */\n  Open = 1,\n  /** Official settlement */\n  OfficialSettl = 2,\n  /** Valuation time */\n  ValuationTime = 3,\n  /** Exchange settlement time */\n  ExcahgneSettlTime = 4,\n  /** Derivatives close */\n  DerivativesClose = 5,\n  /** As specified in master confirmation */\n  AsSpecified = 6,\n}\n", "/**\n * For foreign exchange Quanto option feature.\n * tag: 2126\n * @readonly\n * @enum {number} (int)\n */\nexport enum ComplexEventQuoteBasis {\n  /** Currency 1 per currency 2 */\n  Currency1PerCurrency2 = 0,\n  /** Currency 2 per currency 1 */\n  Currency2PerCurrency1 = 1,\n}\n", "/**\n * The notifying party is the party that notifies the other party when a credit event has occurred by means of a credit event notice. If more than one party is referenced as being the notifying party then either party may notify the other of a credit event occurring.\n * tag: 2134\n * @readonly\n * @enum {number} (int)\n */\nexport enum ComplexEventCreditEventNotifyingParty {\n  /** Seller notifies */\n  SellerNotifies = 0,\n  /** Buyer notifies */\n  BuyerNotifies = 1,\n  /** Seller or buyer notifies */\n  SellerOrBuyerNotifies = 2,\n}\n", "/**\n * Specifies the type of delivery schedule.\n * tag: 41038\n * @readonly\n * @enum {number} (int)\n */\nexport enum DeliveryScheduleType {\n  /** Notional */\n  Notional = 0,\n  /** Delivery */\n  Delivery = 1,\n  /** Physical settlement period */\n  PhysicalSettlPeriods = 2,\n}\n", "/**\n * Specifies the tolerance value type.\n * tag: 41046\n * @readonly\n * @enum {number} (int)\n */\nexport enum DeliveryScheduleToleranceType {\n  /** Absolute */\n  Absolute = 0,\n  /** Percentage */\n  Percentage = 1,\n}\n", "/**\n * Specifies the commodity delivery flow type.\n * tag: 41049\n * @readonly\n * @enum {number} (int)\n */\nexport enum DeliveryScheduleSettlFlowType {\n  /** All times */\n  AllTimes = 0,\n  /** On peak */\n  OnPeak = 1,\n  /** Off peak */\n  OffPeak = 2,\n  /** Base */\n  Base = 3,\n  /** Block hours */\n  BlockHours = 4,\n  /** Other */\n  Other = 5,\n}\n", "/**\n * Indicates whether holidays are included in the settlement periods. Required for electricity contracts.\n * tag: 41050\n * @readonly\n * @enum {number} (int)\n */\nexport enum DeliveryScheduleSettlHolidaysProcessingInstruction {\n  /** Do not include holidays */\n  DoNotIncludeHolidays = 0,\n  /** Include holidays */\n  IncludeHolidays = 1,\n}\n", "/**\n * Specifies the day or group of days for delivery.\n * tag: 41052\n * @readonly\n * @enum {number} (int)\n */\nexport enum DeliveryScheduleSettlDay {\n  /** Monday */\n  Monday = 1,\n  /** Tuesday */\n  Tuesday = 2,\n  /** Wednesday */\n  Wednesday = 3,\n  /** Thursday */\n  Thursday = 4,\n  /** Friday */\n  Friday = 5,\n  /** Saturday */\n  Saturday = 6,\n  /** Sunday */\n  Sunday = 7,\n  /** All weekdays */\n  AllWeekdays = 8,\n  /** All days */\n  AllDays = 9,\n  /** All weekends */\n  AllWeekends = 10,\n}\n", "/**\n * Specifies the format of the delivery start and end time values.\n * tag: 41057\n * @readonly\n * @enum {number} (int)\n */\nexport enum DeliveryScheduleSettlTimeType {\n  Hour = 0,\n  Timestamp = 1,\n}\n", "/**\n * Specifies the type of delivery stream.\n * tag: 41058\n * @readonly\n * @enum {number} (int)\n */\nexport enum DeliveryStreamType {\n  /** Periodic (default if not specified) */\n  Periodic = 0,\n  /** Initial */\n  Initial = 1,\n  /** Single */\n  Single = 2,\n}\n", "/**\n * Specifies under what conditions the buyer and seller should be excused of their delivery obligations.\n * tag: 41063\n * @readonly\n * @enum {number} (int)\n */\nexport enum DeliveryStreamDeliveryRestriction {\n  Firm = 1,\n  NonFirm = 2,\n  ForceMajeure = 3,\n  SystemFirm = 4,\n  UnitFirm = 5,\n}\n", "/**\n * Specifies the condition of title transfer.\n * tag: 41069\n * @readonly\n * @enum {number} (int)\n */\nexport enum DeliveryStreamTitleTransferCondition {\n  /** Transfers with risk of loss */\n  Transfers = 0,\n  /** Does not transfer with risk of loss */\n  DoesNotTransfer = 1,\n}\n", "/**\n * Indicates whether the tolerance is at the seller's or buyer's option.\n * tag: 41075\n * @readonly\n * @enum {number} (int)\n */\nexport enum DeliveryStreamToleranceOptionSide {\n  /** Buyer */\n  Buyer = 1,\n  /** Seller */\n  Seller = 2,\n}\n", "/**\n * A reference to the party able to choose whether the gas is delivered for a particular period as found in a swing or interruptible contract.\n * tag: 41080\n * @readonly\n * @enum {number} (int)\n */\nexport enum DeliveryStreamElectingPartySide {\n  /** Buyer */\n  Buyer = 0,\n  /** Seller */\n  Seller = 1,\n}\n", "/**\n * The sub-classification or notional schedule type of the swap.\n * tag: 1575\n * @readonly\n * @enum {string} (String)\n */\nexport enum SwapSubClass {\n  /** Amortizing notional schedule */\n  Amortizing = 'AMTZ',\n  /** Compounding */\n  Compounding = 'COMP',\n  /** Constant notional schedule */\n  ConstantNotionalSchedule = 'CNST',\n  /** Accreting notional schedule */\n  AccretingNotionalSchedule = 'ACRT',\n  /** Custom notional schedule */\n  CustomNotionalSchedule = 'CUST',\n}\n", "/**\n * Specifies the type of trade strategy.\n * tag: 2141\n * @readonly\n * @enum {string} (String)\n */\nexport enum StrategyType {\n  /** Straddle */\n  Straddle = 'STD',\n  /** Strangle */\n  Strangle = 'STG',\n  /** Butterfly */\n  Butterfly = 'BF',\n  /** Condor */\n  Condor = 'CNDR',\n  /** Callable inversible snowball */\n  CallableInversibleSnowball = 'CISN',\n  /** Other */\n  Other = 'OTHER',\n}\n", "/**\n * Specifies the consequences of bullion settlement disruption events.\n * tag: 2143\n * @readonly\n * @enum {number} (int)\n */\nexport enum SettlDisruptionProvision {\n  /** Negotiation */\n  Negotiation = 1,\n  /** Cancellation and payment */\n  Cancellation = 2,\n}\n", "/**\n * The consequences of market disruption events.\n * tag: 41087\n * @readonly\n * @enum {number} (int)\n */\nexport enum MarketDisruptionProvision {\n  /** Not applicable */\n  NotApplicable = 0,\n  /** Applicable */\n  Applicable = 1,\n  /** As specified in master agreement */\n  AsInMasterAgreement = 2,\n  /** As specified in confirmation */\n  AsInConfirmation = 3,\n}\n", "/**\n * Specifies the location of the fallback provision documentation.\n * tag: 41088\n * @readonly\n * @enum {number} (int)\n */\nexport enum MarketDisruptionFallbackProvision {\n  /** As specified in master agreement */\n  MasterAgreement = 0,\n  /** As specified in confirmation */\n  Confirmation = 1,\n}\n", "/**\n * The type of reference price underlier.\n * tag: 41097\n * @readonly\n * @enum {number} (int)\n */\nexport enum MarketDisruptionFallbackUnderlierType {\n  /** Basket */\n  Basket = 0,\n  /** Bond */\n  Bond = 1,\n  /** Cash */\n  Cash = 2,\n  /** Commodity */\n  Commodity = 3,\n  /** Convertible bond */\n  ConvertibleBond = 4,\n  /** Equity */\n  Equity = 5,\n  /** Exchange traded fund */\n  ExchangeTradedFund = 6,\n  /** Future */\n  Future = 7,\n  /** Index */\n  Index = 8,\n  /** Loan */\n  Loan = 9,\n  /** Mortgage */\n  Mortgage = 10,\n  /** Mutual fund */\n  MutualFund = 11,\n}\n", "/**\n * Indicates whether follow-up confirmation of exercise (written or electronic) is required following telephonic notice by the buyer to the seller or seller's agent.\n * tag: 41111\n * @readonly\n * @enum {number} (int)\n */\nexport enum ExerciseConfirmationMethod {\n  /** Not required */\n  NotRequired = 0,\n  /** Non-electronic */\n  NonElectronic = 1,\n  /** Electronic */\n  Electronic = 2,\n  /** Unknown at time of report */\n  Unknown = 3,\n}\n", "/**\n * Specifies the type of date. When specified it applies not only to the current date but to all subsequent dates in the group until overridden with a new type.\n * tag: 41139\n * @readonly\n * @enum {number} (int)\n */\nexport enum OptionExerciseDateType {\n  /** Unadjusted */\n  Unadjusted = 0,\n  /** Adjusted */\n  Adjusted = 1,\n}\n", "/**\n * Specifies the day type of the relative payment date offset.\n * tag: 41159\n * @readonly\n * @enum {number} (int)\n */\nexport enum PaymentDateOffsetDayType {\n  /** Business */\n  Business = 0,\n  /** Calendar */\n  Calendar = 1,\n  /** Commodity business */\n  Commodity = 2,\n  /** Currency business */\n  Currency = 3,\n  /** Exchange business */\n  Exchange = 4,\n  /** Scheduled trading day */\n  Scheduled = 5,\n}\n", "/**\n * Forward start premium type.\n * tag: 41160\n * @readonly\n * @enum {number} (int)\n */\nexport enum PaymentForwardStartType {\n  /** Prepaid */\n  Prepaid = 0,\n  /** Post-paid */\n  Postpaid = 1,\n  /** Variable */\n  Variable = 2,\n  /** Fixed */\n  Fixed = 3,\n}\n", "/**\n * Specifies how weather index units are to be calculated.\n * tag: 41199\n * @readonly\n * @enum {number} (int)\n */\nexport enum PaymentStreamSettlLevel {\n  Average = 0,\n  Maximum = 1,\n  Minimum = 2,\n  Cumulative = 3,\n}\n", "/**\n * Identifies whether the rate spread is an absolute value to be added to the index rate or a percentage of the index rate.\n * tag: 41206\n * @readonly\n * @enum {number} (int)\n */\nexport enum PaymentStreamRateSpreadType {\n  /** Absolute */\n  Absolute = 0,\n  /** Percentage */\n  Percentage = 1,\n}\n", "/**\n * The distribution of pricing days.\n * tag: 41214\n * @readonly\n * @enum {number} (int)\n */\nexport enum PaymentStreamPricingDayDistribution {\n  /** All */\n  All = 0,\n  /** First */\n  First = 1,\n  /** Last */\n  Last = 2,\n  /** Penultimate */\n  Penultimate = 3,\n}\n", "/**\n * The day of the week on which pricing takes place.\n * tag: 41228\n * @readonly\n * @enum {number} (int)\n */\nexport enum PaymentStreamPricingDayOfWeek {\n  /** Every day (the default if not specified) */\n  EveryDay = 0,\n  /** Monday */\n  Monday = 1,\n  /** Tuesday */\n  Tuesday = 2,\n  /** Wednesday */\n  Wednesday = 3,\n  /** Thursday */\n  Thursday = 4,\n  /** Friday */\n  Friday = 5,\n  /** Saturday */\n  Saturday = 6,\n  /** Sunday */\n  Sunday = 7,\n}\n", "/**\n * Time unit associated with the nearby settlement day.\n * tag: 41267\n * @readonly\n * @enum {string} (String)\n */\nexport enum StreamCommodityNearbySettlDayUnit {\n  /** Week */\n  Week = 'Wk',\n  /** Month */\n  Month = 'Mo',\n}\n", "/**\n * Type of data source identifier.\n * tag: 41282\n * @readonly\n * @enum {number} (int)\n */\nexport enum StreamCommodityDataSourceIDType {\n  /** City (4 character business center code) */\n  City = 0,\n  /** Airport (IATA standard) */\n  Airport = 1,\n  /** Weather station WBAN (Weather Bureau Army Navy) */\n  WeatherStation = 2,\n  /** Weather index WMO (World Meteorological Organization) */\n  WeatherIndex = 3,\n}\n", "/**\n * The commodity's notional or quantity delivery frequency.\n * tag: 41308\n * @readonly\n * @enum {number} (int)\n */\nexport enum StreamNotionalCommodityFrequency {\n  /** Term */\n  Term = 0,\n  /** Per business day */\n  PerBusinessDay = 1,\n  /** Per calculation period */\n  PerCalculationPeriod = 2,\n  /** Per settlement period */\n  PerSettlPeriod = 3,\n  /** Per calendar day */\n  PerCalendarDay = 4,\n  /** Per hour */\n  PerHour = 5,\n  /** Per month */\n  PerMonth = 6,\n}\n", "/**\n * Status of risk limit report.\n * tag: 2316\n * @readonly\n * @enum {number} (int)\n */\nexport enum RiskLimitReportStatus {\n  /** Accepted */\n  Accepted = 0,\n  /** Rejected */\n  Rejected = 1,\n}\n", "/**\n * The reason for rejecting the PartyRiskLimitsReport(35=CM) or PartyRiskLimitsUpdateReport(35=CR).\n * tag: 2317\n * @readonly\n * @enum {number} (int)\n */\nexport enum RiskLimitReportRejectReason {\n  /** Unknown RiskLimitReportID(1667) */\n  UnkRiskLmtRprtID = 0,\n  /** Unknown party */\n  UnkPty = 1,\n  /** Other */\n  Other = 99,\n}\n", "/**\n * Specifies the transaction type of the risk limit check request.\n * tag: 2320\n * @readonly\n * @enum {number} (int)\n */\nexport enum RiskLimitCheckTransType {\n  /** New */\n  New = 0,\n  /** Cancel */\n  Cancel = 1,\n  /** Replace */\n  Replace = 2,\n}\n", "/**\n * Specifies the type of limit check message.\n * tag: 2321\n * @readonly\n * @enum {number} (int)\n */\nexport enum RiskLimitCheckType {\n  Submit = 0,\n  LimitConsumed = 1,\n}\n", "/**\n * Specifies the type of limit amount check being requested.\n * tag: 2323\n * @readonly\n * @enum {number} (int)\n */\nexport enum RiskLimitCheckRequestType {\n  AllOrNone = 0,\n  Partial = 1,\n}\n", "/**\n * Indicates the status of the risk limit check request.\n * tag: 2325\n * @readonly\n * @enum {number} (int)\n */\nexport enum RiskLimitCheckRequestStatus {\n  Approved = 0,\n  PartiallyApproved = 1,\n  /** Rejected */\n  Rejected = 2,\n  /** Approval pending */\n  ApprovalPending = 3,\n  /** Cancelled */\n  Cancelled = 4,\n}\n", "/**\n * Result of the credit limit check request.\n * tag: 2326\n * @readonly\n * @enum {number} (int)\n */\nexport enum RiskLimitCheckRequestResult {\n  /** Successful (default) */\n  Successful = 0,\n  /** Invalid party */\n  InvalidParty = 1,\n  /** Requested amount exceeds credit limit */\n  ReqExceedsCreditLimit = 2,\n  /** Requested amount exceeds clip size limit */\n  ReqExceedsClipSizeLimit = 3,\n  /** Request exceeds maximum notional order amount */\n  ReqExceedsMaxNotional = 4,\n  /** Other */\n  Other = 99,\n}\n", "/**\n * Specifies the type of action to take or was taken for a given party.\n * tag: 2329\n * @readonly\n * @enum {number} (int)\n */\nexport enum PartyActionType {\n  /** Suspend */\n  Suspend = 0,\n  /** Halt trading */\n  HaltTrading = 1,\n  /** Reinstate */\n  Reinstate = 2,\n}\n", "/**\n * Specifies the action taken as a result of the PartyActionType(2239) of the PartyActionRequest(35=DH) message.\n * tag: 2332\n * @readonly\n * @enum {number} (int)\n */\nexport enum PartyActionResponse {\n  Accepted = 0,\n  Completed = 1,\n  Rejected = 2,\n}\n", "/**\n * Specifies the reason the PartyActionRequest(35=DH) was rejected.\n * tag: 2333\n * @readonly\n * @enum {number} (int)\n */\nexport enum PartyActionRejectReason {\n  /** Invalid party or parties */\n  InvalidParty = 0,\n  /** Unknown requesting party */\n  UnkReqParty = 1,\n  /** Not authorized */\n  NotAuthorized = 98,\n  /** Other */\n  Other = 99,\n}\n", "/**\n * Specifies which type of identifier is specified in RefRiskLimitCheckID(2334) field.\n * tag: 2335\n * @readonly\n * @enum {number} (int)\n */\nexport enum RefRiskLimitCheckIDType {\n  /** RiskLimitRequestID(1666) */\n  RiskLimitRequestID = 0,\n  /** RiskLimitCheckID(2319) */\n  RiskLimitCheckID = 1,\n  /** Out of band identifier */\n  OutOfBandID = 3,\n}\n", "/**\n * Specifies the type of credit limit check model workflow to apply for the specified party\n * tag: 2339\n * @readonly\n * @enum {number} (int)\n */\nexport enum RiskLimitCheckModelType {\n  None = 0,\n  PlusOneModel = 1,\n  PingModel = 2,\n  PushModel = 3,\n}\n", "/**\n * Indicates the status of the risk limit check performed on a trade.\n * tag: 2343\n * @readonly\n * @enum {number} (int)\n */\nexport enum RiskLimitCheckStatus {\n  Accepted = 0,\n  Rejected = 1,\n  ClaimRequired = 2,\n  PreDefinedLimitCheckSucceeded = 3,\n  PreDefinedLimitCheckFailed = 4,\n  PreDefinedAutoAcceptRuleInvoked = 5,\n  PreDefinedAutoRejectRuleInvoked = 6,\n  AcceptedByClearingFirm = 7,\n  RejectedByClearingFirm = 8,\n  Pending = 9,\n  AcceptedByCreditHub = 10,\n  RejectedByCreditHub = 11,\n  PendingCreditHubCheck = 12,\n  AcceptedByExecVenue = 13,\n  RejectedByExecVenue = 14,\n}\n", "/**\n * Specifies the regulatory mandate or rule that the transaction complies with.\n * tag: 2347\n * @readonly\n * @enum {number} (int)\n */\nexport enum RegulatoryTransactionType {\n  None = 0,\n  SEFRequiredTransaction = 1,\n  SEFPermittedTransaction = 2,\n}\n", "/**\n * Indicates the processing mode for a batch of messages.\n * tag: 50002\n * @readonly\n * @enum {number} (int)\n */\nexport enum BatchProcessMode {\n  /** Update/incremental (default if not specified) */\n  Update = 0,\n  Snapshot = 1,\n}\n", "/**\n * Identifies the class or source of DeliveryStreamDeliveryPoint(41062).\n * tag: 42192\n * @readonly\n * @enum {number} (int)\n */\nexport enum DeliveryStreamDeliveryPointSource {\n  /** Proprietary */\n  Proprietary = 0,\n  EIC = 1,\n}\n", "/**\n * The type of identification taxonomy used to identify the security.\n * tag: 2375\n * @readonly\n * @enum {string} (char)\n */\nexport enum TaxonomyType {\n  ISINOrAltInstrmtID = 'I',\n  InterimTaxonomy = 'E',\n}\n", "/**\n * Specifies the scope to which the RegulatoryTradeID(1903) applies. Used when a trade must be assigned more than one identifier, e.g. one for the clearing member and another for the client on a cleared trade as with the principal model in Europe.\n * tag: 2397\n * @readonly\n * @enum {number} (int)\n */\nexport enum RegulatoryTradeIDScope {\n  /** Clearing member */\n  ClearingMember = 1,\n  /** Client */\n  Client = 2,\n}\n", "/**\n * Subtype of an entitlement specified in EntitlementType(1775).\n * tag: 2402\n * @readonly\n * @enum {number} (int)\n */\nexport enum EntitlementSubType {\n  OrderEntry = 1,\n  HItLift = 2,\n  ViewIndicativePx = 3,\n  ViewExecutablePx = 4,\n  SingleQuote = 5,\n  StreamingQuotes = 6,\n  SingleBroker = 7,\n  MultiBrokers = 8,\n}\n", "/**\n * Quote model type\n * tag: 2403\n * @readonly\n * @enum {number} (int)\n */\nexport enum QuoteModelType {\n  QuoteEntry = 1,\n  QuoteModification = 2,\n}\n", "/**\n * Specifies how the transaction was executed, e.g. via an automated execution platform or other method.\n * tag: 2405\n * @readonly\n * @enum {number} (int)\n */\nexport enum ExecMethod {\n  Unspecified = 0,\n  Manual = 1,\n  Automated = 2,\n  VoiceBrokered = 3,\n}\n", "/**\n * Indicates the contingency attribute for a trade in an asset class that may be contingent on the clearing of a corresponding paired trade (for example Exchange for Physical (EFP), Exchange for Swap (EFS), Exchange for Related (EFR) or Exchange for Option (EFO), collectively called EFRPs). Once the paired trade clears or fails to clear, the related trade (the trade which carries this attribute) ceases to exist.\n * tag: 2387\n * @readonly\n * @enum {number} (int)\n */\nexport enum TradeContingency {\n  DoesNotApply = 0,\n  ContingentTrade = 1,\n  NonContingentTrade = 2,\n}\n", "/**\n * Used to further clarify the value of PaymentType(40213).\n * tag: 40993\n * @readonly\n * @enum {number} (int)\n */\nexport enum PaymentSubType {\n  /** Initial (principal exchange) */\n  Initial = 0,\n  /** Intermediate (principal exchange) */\n  Intermediate = 1,\n  /** Final (principal exchange) */\n  Final = 2,\n  /** Prepaid (premium forward) */\n  Prepaid = 3,\n  /** Postpaid (premium forward) */\n  Postpaid = 4,\n  /** Variable (premium forward) */\n  Variable = 5,\n  /** Fixed (premium forward) */\n  Fixed = 6,\n  Swap = 7,\n  /** Conditional (principal exchange on exercise) */\n  Conditional = 8,\n  FixedRate = 9,\n  FloatingRate = 10,\n}\n", "/**\n * Status of mass order request.\n * tag: 2425\n * @readonly\n * @enum {number} (int)\n */\nexport enum MassOrderRequestStatus {\n  /** Accepted */\n  Accepted = 1,\n  /** Accepted with additional events */\n  AcceptedWithAdditionalEvents = 2,\n  /** Rejected */\n  Rejected = 3,\n}\n", "/**\n * Request result of mass order request.\n * tag: 2426\n * @readonly\n * @enum {number} (int)\n */\nexport enum MassOrderRequestResult {\n  /** Successful */\n  Successful = 0,\n  /** Response level not supported */\n  ResponseLevelNotSupported = 1,\n  /** Invalid market */\n  InvalidMarket = 2,\n  /** Invalid market segment */\n  InvalidMarketSegment = 3,\n  /** Other */\n  Other = 99,\n}\n", "/**\n * The level of response requested from receiver of mass order messages. A default value should be bilaterally agreed.\n * tag: 2427\n * @readonly\n * @enum {number} (int)\n */\nexport enum OrderResponseLevel {\n  NoAck = 0,\n  MinimumAck = 1,\n  AckEach = 2,\n  SummaryAck = 3,\n}\n", "/**\n * Specifies the action to be taken for the given order.\n * tag: 2429\n * @readonly\n * @enum {string} (char)\n */\nexport enum OrderEntryAction {\n  /** Add */\n  Add = '1',\n  /** Modify */\n  Modify = '2',\n  /** Delete / Cancel */\n  Delete = '3',\n  /** Suspend */\n  Suspend = '4',\n  /** Release */\n  Release = '5',\n}\n", "/**\n * The initiating event when an ExecutionReport(35=8) is sent.\n * tag: 2431\n * @readonly\n * @enum {number} (int)\n */\nexport enum ExecTypeReason {\n  /** Order added upon request */\n  OrdAddedOnRequest = 1,\n  /** Order replaced upon request */\n  OrdReplacedOnRequest = 2,\n  /** Order cancelled upon request */\n  OrdCxldOnRequest = 3,\n  /** Unsolicited order cancellation */\n  UnsolicitedOrdCxl = 4,\n  /** Non-resting order added upon request */\n  NonRestingOrdAddedOnRequest = 5,\n  /** Order replaced with non-resting order upon request */\n  OrdReplacedWithNonRestingOrdOnRequest = 6,\n  /** Trigger order replaced upon request */\n  TriggerOrdReplacedOnRequest = 7,\n  /** Suspended order replaced upon request */\n  SuspendedOrdReplacedOnRequest = 8,\n  /** Suspended order canceled upon request */\n  SuspendedOrdCxldOnRequest = 9,\n  /** Order cancellation pending */\n  OrdCxlPending = 10,\n  /** Pending cancellation executed */\n  PendingCxlExecuted = 11,\n  /** Resting order triggered */\n  RestingOrdTriggered = 12,\n  /** Suspended order activated */\n  SuspendedOrdActivated = 13,\n  /** Active order suspended */\n  ActiveOrdSuspended = 14,\n  /** Order expired */\n  OrdExpired = 15,\n}\n", "/**\n * Indicates the type of transfer transaction.\n * tag: 2439\n * @readonly\n * @enum {number} (int)\n */\nexport enum TransferTransType {\n  /** New */\n  New = 0,\n  /** Replace */\n  Replace = 1,\n  /** Cancel */\n  Cancel = 2,\n}\n", "/**\n * Indicates the type of transfer request.\n * tag: 2440\n * @readonly\n * @enum {number} (int)\n */\nexport enum TransferType {\n  /** Request transfer */\n  RequestTransfer = 0,\n  /** Accept transfer */\n  AcceptTransfer = 1,\n  /** Decline transfer */\n  DeclineTransfer = 2,\n}\n", "/**\n * Indicates the type of transfer.\n * tag: 2441\n * @readonly\n * @enum {number} (int)\n */\nexport enum TransferScope {\n  /** Inter-firm transfer */\n  InterFirmTransfer = 0,\n  /** Intra-firm transfer */\n  IntraFirmTransfer = 1,\n  /** Clearing Member Trade Assignment */\n  CMTA = 2,\n}\n", "/**\n * Status of the transfer.\n * tag: 2442\n * @readonly\n * @enum {number} (int)\n */\nexport enum TransferStatus {\n  /** Received */\n  Received = 0,\n  /** Rejected by intermediary */\n  RejectedByIntermediary = 1,\n  /** Accept pending */\n  AcceptPending = 2,\n  /** Accepted */\n  Accepted = 3,\n  /** Declined */\n  Declined = 4,\n  /** Cancelled */\n  Cancelled = 5,\n}\n", "/**\n * Reason the transfer instruction was rejected.\n * tag: 2443\n * @readonly\n * @enum {number} (int)\n */\nexport enum TransferRejectReason {\n  /** Success */\n  Success = 0,\n  /** Invalid party */\n  InvalidParty = 1,\n  /** Unknown instrument */\n  UnknownInstrument = 2,\n  /** Not authorized to submit transfers */\n  UnauthorizedToSubmitXfer = 3,\n  /** Unknown position */\n  UnknownPosition = 4,\n  /** Other */\n  Other = 99,\n}\n", "/**\n * Indicates the type of transfer report.\n * tag: 2444\n * @readonly\n * @enum {number} (int)\n */\nexport enum TransferReportType {\n  /** Submit */\n  Submit = 0,\n  /** Alleged */\n  Alleged = 1,\n}\n", "/**\n * Calculation method used to determine settlement price.\n * tag: 2451\n * @readonly\n * @enum {number} (int)\n */\nexport enum SettlPriceDeterminationMethod {\n  /** Unknown */\n  Unknown = 0,\n  /** Last trade price */\n  LastTradePrice = 1,\n  /** Last bid price */\n  LastBidPrice = 2,\n  /** Last offer price */\n  LastOfferPrice = 3,\n  MidPrice = 4,\n  AverageLastTradePrice = 5,\n  AverageLastTradePeriod = 6,\n  UnderlyingPrice = 7,\n  CalculatedPrice = 8,\n  ManualPrice = 9,\n}\n", "/**\n * Type of statistic value.\n * tag: 2456\n * @readonly\n * @enum {number} (int)\n */\nexport enum MDStatisticType {\n  Count = 1,\n  AverageVolume = 2,\n  TotalVolume = 3,\n  Distribution = 4,\n  Ratio = 5,\n  Liquidity = 6,\n  VWAP = 7,\n  Volatility = 8,\n  Duration = 9,\n  Tick = 10,\n  AverageValue = 11,\n  TotalValue = 12,\n  High = 13,\n  Low = 14,\n  Midpoint = 15,\n  First = 16,\n  Last = 17,\n  Final = 18,\n  ExchangeBest = 19,\n  ExchangeBestWithVolume = 20,\n  ConsolidatedBest = 21,\n  ConsolidatedBestWithVolume = 22,\n  /** Time weighted average price (TWAP) */\n  TWAP = 23,\n  AverageDuration = 24,\n  AveragePrice = 25,\n  TotalFees = 26,\n  TotalBenefits = 27,\n  MedianValue = 28,\n  AverageLiquidity = 29,\n  MedianDuration = 30,\n}\n", "/**\n * Entities used as basis for the statistics.\n * tag: 2457\n * @readonly\n * @enum {number} (int)\n */\nexport enum MDStatisticScope {\n  /** Bid prices */\n  BidPrices = 1,\n  /** Offer prices */\n  OfferPrices = 2,\n  /** Bid depth */\n  BidDepth = 3,\n  /** Offer depth */\n  OfferDepth = 4,\n  /** Orders */\n  Orders = 5,\n  /** Quotes */\n  Quotes = 6,\n  /** Orders and Quotes */\n  OrdersAndQuotes = 7,\n  /** Trades */\n  Trades = 8,\n  /** Trade prices */\n  TradePrices = 9,\n  /** Auction prices */\n  AuctionPrices = 10,\n  /** Opening prices */\n  OpeningPrices = 11,\n  /** Closing prices */\n  ClosingPrices = 12,\n  /** Settlement prices */\n  SettlementPrices = 13,\n  /** Underlying prices */\n  UnderlyingPrices = 14,\n  /** Open interest */\n  OpenInterest = 15,\n  /** Index values */\n  IndexValues = 16,\n  /** Margin rates */\n  MarginRates = 17,\n  Outages = 18,\n  /** Scheduled auctions */\n  ScheduledAuctions = 19,\n  /** Reference prices */\n  ReferencePrices = 20,\n  TradeValue = 21,\n  MarketDataFeeItems = 22,\n  Rebates = 23,\n  Discounts = 24,\n  Payments = 25,\n  Taxes = 26,\n  Levies = 27,\n  Benefits = 28,\n  /** Fees */\n  Fees = 29,\n  /** Orders and RFQs (Request for quotes) */\n  OrdersRFQs = 30,\n  /** Market makers */\n  MarketMakers = 31,\n  TradingInterruptions = 32,\n  TradingSuspensions = 33,\n  NoQuotes = 34,\n  /** Request for quotes */\n  RequestForQuotes = 35,\n  TradeVolume = 36,\n}\n", "/**\n * Sub-scope of the statistics to further reduce the entities used as basis for the statistics.\n * tag: 2458\n * @readonly\n * @enum {number} (int)\n */\nexport enum MDStatisticSubScope {\n  Visible = 1,\n  Hidden = 2,\n  Indicative = 3,\n  Tradeable = 4,\n  Passive = 5,\n  MarketConsensus = 6,\n  Power = 7,\n  HardwareError = 8,\n  SoftwareError = 9,\n  NetworkError = 10,\n  Failed = 11,\n  Executed = 12,\n  Entered = 13,\n  Modified = 14,\n  Cancelled = 15,\n  /** Market data access */\n  MarketDataAccess = 16,\n  /** Terminal access */\n  TerminalAccess = 17,\n  Volume = 18,\n  Cleared = 19,\n  Settled = 20,\n  Other = 21,\n  Monetary = 22,\n  NonMonetary = 23,\n  Gross = 24,\n  LargeInScale = 25,\n  NeitherHiddenNorLargeInScale = 26,\n  CorporateAction = 27,\n  VenueDecision = 28,\n  MinimumTimePeriod = 29,\n  Open = 30,\n  NotExecuted = 31,\n  Aggressive = 32,\n  Directed = 33,\n}\n", "/**\n * Scope details of the statistics to reduce the number of events being used as basis for the statistics.\n * tag: 2459\n * @readonly\n * @enum {number} (int)\n */\nexport enum MDStatisticScopeType {\n  /** Entry rate */\n  EntryRate = 1,\n  /** Modification rate */\n  ModificationRate = 2,\n  /** Cancel rate */\n  CancelRate = 3,\n  /** Downward move */\n  DownwardMove = 4,\n  /** Upward move */\n  UpwardMove = 5,\n}\n", "/**\n * Type of interval over which statistic is calculated.\n * tag: 2464\n * @readonly\n * @enum {number} (int)\n */\nexport enum MDStatisticIntervalType {\n  SlidingWindow = 1,\n  SlidingWindowPeak = 2,\n  FixedDateRange = 3,\n  FixedTimeRange = 4,\n  CurrentTimeUnit = 5,\n  PreviousTimeUnit = 6,\n  MaximumRange = 7,\n  MaximumRangeUpToPreviousTimeUnit = 8,\n}\n", "/**\n * Ratios between various entities.\n * tag: 2472\n * @readonly\n * @enum {number} (int)\n */\nexport enum MDStatisticRatioType {\n  BuyersToSellers = 1,\n  UpticksToDownticks = 2,\n  MarketMakerToNonMarketMaker = 3,\n  AutomatedToNonAutomated = 4,\n  OrdersToTrades = 5,\n  QuotesToTrades = 6,\n  OrdersAndQuotesToTrades = 7,\n  FailedToTotalTradedValue = 8,\n  BenefitsToTotalTradedValue = 9,\n  FeesToTotalTradedValue = 10,\n  TradeVolumeToTotalTradedVolume = 11,\n  OrdersToTotalNumberOrders = 12,\n}\n", "/**\n * Result returned in response to MarketDataStatisticsRequest (35=DO).\n * tag: 2473\n * @readonly\n * @enum {number} (int)\n */\nexport enum MDStatisticRequestResult {\n  /** Successful (default) */\n  Successful = 0,\n  /** Invalid or unknown market */\n  InvalidOrUnknownMarket = 1,\n  /** Invalid or unknown market segment */\n  InvalidOrUnknownMarketSegment = 2,\n  /** Invalid or unknown security list */\n  InvalidOrUnknownSecurityList = 3,\n  /** Invalid or unknown instrument(s) */\n  InvalidOrUnknownInstruments = 4,\n  /** Invalid parties */\n  InvalidParties = 5,\n  /** Trade date out of supported range */\n  TradeDateOutOfSupportedRange = 6,\n  /** Statistic type not supported */\n  UnsupportedStatisticType = 7,\n  /** Scope or sub-scope not supported */\n  UnsupportedScopeOrSubScope = 8,\n  /** Scope type not supported */\n  UnsupportedScopeType = 9,\n  /** Market depth not supported */\n  MarketDepthNotSupported = 10,\n  /** Frequency not supported */\n  FrequencyNotSupported = 11,\n  /** Statistic interval not supported */\n  UnsupportedStatisticInterval = 12,\n  /** Statistic date range not supported */\n  UnsupportedStatisticDateRange = 13,\n  /** Statistic time range not supported */\n  UnsupportedStatisticTimeRange = 14,\n  /** Ratio type not supported */\n  UnsupportedRatioType = 15,\n  /** Invalid or unknown trade input source */\n  InvalidOrUnknownTradeInputSource = 16,\n  /** Invalid or unknown trading session */\n  InvalidOrUnknownTradingSession = 17,\n  /** Unauthorized for statistic request */\n  UnauthorizedForStatisticRequest = 18,\n  /** Other (further information in Text (58) field) */\n  Other = 99,\n}\n", "/**\n * Status for a statistic to indicate its availability.\n * tag: 2477\n * @readonly\n * @enum {number} (int)\n */\nexport enum MDStatisticStatus {\n  /** Active (default) */\n  Active = 1,\n  /** Inactive (not disseminated) */\n  Inactive = 2,\n}\n", "/**\n * Type of statistical value.\n * tag: 2479\n * @readonly\n * @enum {number} (int)\n */\nexport enum MDStatisticValueType {\n  /** Absolute */\n  Absolute = 1,\n  /** Percentage */\n  Percentage = 2,\n}\n", "/**\n * Indicates the broad product or asset classification. May be used to provide grouping for the product taxonomy (Product(460), SecurityType(167), etc.) and/or the risk taxonomy (AssetClass(1938), AssetSubClass(1939), AssetType(1940), etc.).\n * tag: 2210\n * @readonly\n * @enum {number} (int)\n */\nexport enum AssetGroup {\n  Financials = 1,\n  Commodities = 2,\n  AlternativeInvestments = 3,\n}\n", "/**\n * Reject reason code for rejecting the collateral report.\n * tag: 2487\n * @readonly\n * @enum {number} (int)\n */\nexport enum CollRptRejectReason {\n  /** Unknown trade or transaction */\n  UnknownTrade = 0,\n  /** Unknown or invalid instrument */\n  UnknownInstrument = 1,\n  /** Unknown or invalid counterparty */\n  UnknownCounterparty = 2,\n  /** Unknown or invalid position */\n  UnknownPosition = 3,\n  /** Unacceptable or invalid type of collateral */\n  UnacceptableCollateral = 4,\n  /** Other */\n  Other = 99,\n}\n", "/**\n * The status of the collateral report.\n * tag: 2488\n * @readonly\n * @enum {number} (int)\n */\nexport enum CollRptStatus {\n  /** Accepted (successfully processed) */\n  Accepted = 0,\n  /** Received (not yet processed) */\n  Received = 1,\n  /** Rejected */\n  Rejected = 2,\n}\n", "/**\n * Indicates the type of relative value measurement being specified.\n * tag: 2530\n * @readonly\n * @enum {number} (int)\n */\nexport enum RelativeValueType {\n  ASWSpread = 1,\n  OIS = 2,\n  ZSpread = 3,\n  DiscountMargin = 4,\n  ISpread = 5,\n  OAS = 6,\n  GSpread = 7,\n  CDSBasis = 8,\n  CDSInterpolatedBasis = 9,\n  DV01 = 10,\n  PV01 = 11,\n  CS01 = 12,\n}\n", "/**\n * Specifies the side of the relative value.\n * tag: 2532\n * @readonly\n * @enum {number} (int)\n */\nexport enum RelativeValueSide {\n  /** Bid */\n  Bid = 1,\n  /** Mid */\n  Mid = 2,\n  /** Offer */\n  Offer = 3,\n}\n", "/**\n * Technical event within market data feed.\n * tag: 2535\n * @readonly\n * @enum {number} (int)\n */\nexport enum MDReportEvent {\n  StartInstrumentRefData = 1,\n  EndInstrumentRefData = 2,\n  StartOffMarketTrades = 3,\n  EndOffMarketTrades = 4,\n  StartOrderBookTrades = 5,\n  EndOrderBookTrades = 6,\n  StartOpenInterest = 7,\n  EndOpenInterest = 8,\n  StartSettlementPrices = 9,\n  EndSettlementPrices = 10,\n  StartStatsRefData = 11,\n  EndStatsRefData = 12,\n  StartStatistics = 13,\n  EndStatistics = 14,\n}\n", "/**\n * Status of market segment.\n * tag: 2542\n * @readonly\n * @enum {number} (int)\n */\nexport enum MarketSegmentStatus {\n  Active = 1,\n  Inactive = 2,\n  Published = 3,\n}\n", "/**\n * Used to classify the type of market segment.\n * tag: 2543\n * @readonly\n * @enum {number} (int)\n */\nexport enum MarketSegmentType {\n  Pool = 1,\n  Retail = 2,\n  Wholesale = 3,\n}\n", "/**\n * Type of relationship between two or more market segments.\n * tag: 2547\n * @readonly\n * @enum {number} (int)\n */\nexport enum MarketSegmentRelationship {\n  MarketSegmentPoolMember = 1,\n  RetailSegment = 2,\n  WholesaleSegment = 3,\n}\n", "/**\n * Indicates whether single sided quotes are allowed.\n * tag: 2559\n * @readonly\n * @enum {string} (Boolean)\n */\nexport enum QuoteSideIndicator {\n  No = 'N',\n  Yes = 'Y',\n}\n", "/**\n * Specifies the kind of priority given to customers.\n * tag: 2570\n * @readonly\n * @enum {number} (int)\n */\nexport enum CustomerPriority {\n  NoPriority = 0,\n  UnconditionalPriority = 1,\n}\n", "/**\n * Specifies a suitable settlement sub-method for a given settlement method.\n * tag: 2579\n * @readonly\n * @enum {number} (int)\n */\nexport enum SettlSubMethod {\n  Shares = 1,\n  Derivatives = 2,\n  PaymentVsPayment = 3,\n  Notional = 4,\n  Cascade = 5,\n  Repurchase = 6,\n  Other = 99,\n}\n", "/**\n * Specifies how the calculation will be made.\n * tag: 2592\n * @readonly\n * @enum {number} (int)\n */\nexport enum CalculationMethod {\n  Automatic = 0,\n  Manual = 1,\n}\n", "/**\n * The type of value in CurrentCollateralAmount(1704).\n * tag: 2632\n * @readonly\n * @enum {number} (int)\n */\nexport enum CollateralAmountType {\n  /** Market valuation (the default) */\n  MarketValuation = 0,\n  /** Portfolio value before processing pledge request */\n  PortfolioValue = 1,\n  /** Value confirmed as \"locked-up\" for processing a pledge request */\n  ValueConfirmed = 2,\n  /** Credit value of collateral at CCP processing a pledge request */\n  CollateralCreditValue = 3,\n  AdditionalCollateralValue = 4,\n  EstimatedMarketValuation = 5,\n}\n", "/**\n * Indicates what type of commission is being expressed in CommissionAmount(2640).\n * tag: 2641\n * @readonly\n * @enum {number} (int)\n */\nexport enum CommissionAmountType {\n  /** Unspecified */\n  Unspecified = 0,\n  Acceptance = 1,\n  Broker = 2,\n  ClearingBroker = 3,\n  Retail = 4,\n  SalesCommission = 5,\n  LocalCommission = 6,\n  /** Research payment */\n  ResearchPayment = 7,\n}\n", "/**\n * The default election for determining settlement price.\n * tag: 42217\n * @readonly\n * @enum {number} (int)\n */\nexport enum CashSettlPriceDefault {\n  Close = 0,\n  Hedge = 1,\n}\n", "/**\n * Specifies the fallback provisions for the hedging party in the determination of the final settlement price.\n * tag: 2599\n * @readonly\n * @enum {number} (int)\n */\nexport enum ComplexEventPVFinalPriceElectionFallback {\n  Close = 0,\n  HedgeElection = 1,\n}\n", "/**\n * Defines the contract event which the receiver of the derivative is entitled to the dividend.\n * tag: 42246\n * @readonly\n * @enum {number} (int)\n */\nexport enum DividendEntitlementEvent {\n  ExDate = 0,\n  RecordDate = 1,\n}\n", "/**\n * Indicates how the gross cash dividend amount per share is determined.\n * tag: 42247\n * @readonly\n * @enum {number} (int)\n */\nexport enum DividendAmountType {\n  RecordAmount = 0,\n  ExAmount = 1,\n  PaidAmount = 2,\n  PerMasterConfirm = 3,\n}\n", "/**\n * Defines the treatment of non-cash dividends.\n * tag: 42258\n * @readonly\n * @enum {number} (int)\n */\nexport enum NonCashDividendTreatment {\n  PotentialAdjustment = 0,\n  CashEquivalent = 1,\n}\n", "/**\n * Defines how the composition of dividends is to be determined.\n * tag: 42259\n * @readonly\n * @enum {number} (int)\n */\nexport enum DividendComposition {\n  EquityAmountReceiver = 0,\n  CalculationAgent = 1,\n}\n", "/**\n * The quote side from which the index price is to be determined.\n * tag: 2601\n * @readonly\n * @enum {number} (int)\n */\nexport enum StrikeIndexQuote {\n  Bid = 0,\n  /** Mid */\n  Mid = 1,\n  /** Offer */\n  Offer = 2,\n}\n", "/**\n * Defines how adjustments will be made to the contract should one or more of the extraordinary events occur.\n * tag: 2602\n * @readonly\n * @enum {number} (int)\n */\nexport enum ExtraordinaryEventAdjustmentMethod {\n  CalculationAgent = 0,\n  OptionsExchange = 1,\n}\n", "/**\n * Defines applicable periods for interpolation.\n * tag: 42604\n * @readonly\n * @enum {number} (int)\n */\nexport enum PaymentStreamInterpolationPeriod {\n  Initial = 0,\n  InitialAndFinal = 1,\n  Final = 2,\n  AnyPeriod = 3,\n}\n", "/**\n * For a variance swap specifies how PaymentStreamLinkStrikePrice(42673) is expressed.\n * tag: 42674\n * @readonly\n * @enum {number} (int)\n */\nexport enum PaymentStreamLinkStrikePriceType {\n  /** Volatility */\n  Volatility = 0,\n  /** Variance */\n  Variance = 1,\n}\n", "/**\n * Indicates which price to use to satisfy the boundary condition.\n * tag: 42679\n * @readonly\n * @enum {number} (int)\n */\nexport enum PaymentStreamRealizedVarianceMethod {\n  Previous = 0,\n  Last = 1,\n  Both = 2,\n}\n", "/**\n * Type of fee elected for the break provision.\n * tag: 42707\n * @readonly\n * @enum {number} (int)\n */\nexport enum ProvisionBreakFeeElection {\n  /** Flat fee */\n  FlatFee = 0,\n  /** Amortized fee */\n  AmortizedFee = 1,\n  /** Funding fee */\n  FundingFee = 2,\n  /** Flat fee and funding fee */\n  FlatAndFundingFee = 3,\n  /** Amortized fee and funding fee */\n  AmortizedAndFundingFee = 4,\n}\n", "/**\n * Specifies the valuation type applicable to the return rate date.\n * tag: 42710\n * @readonly\n * @enum {number} (int)\n */\nexport enum ReturnRateDateMode {\n  /** Price valuation */\n  PriceValuation = 0,\n  /** Dividend valuation */\n  DividendValuation = 1,\n}\n", "/**\n * Specifies the type of price sequence of the return rate.\n * tag: 42736\n * @readonly\n * @enum {number} (int)\n */\nexport enum ReturnRatePriceSequence {\n  /** Initial */\n  Initial = 0,\n  /** Interim */\n  Interim = 1,\n  /** Final */\n  Final = 2,\n}\n", "/**\n * Specifies how or the timing when the quote is to be obtained.\n * tag: 42748\n * @readonly\n * @enum {number} (int)\n */\nexport enum ReturnRateQuoteTimeType {\n  Open = 0,\n  OfficialSettlPx = 1,\n  Xetra = 2,\n  Close = 3,\n  DerivativesClose = 4,\n  High = 5,\n  Low = 6,\n  /** As specified in the master confirmation */\n  AsSpecifiedInMasterConfirmation = 7,\n}\n", "/**\n * Indicates whether an ISDA price option applies, and if applicable which type of price.\n * tag: 42759\n * @readonly\n * @enum {number} (int)\n */\nexport enum ReturnRateValuationPriceOption {\n  /** None (the default) */\n  None = 0,\n  FuturesPrice = 1,\n  OptionsPrice = 2,\n}\n", "/**\n * The basis of the return price.\n * tag: 42766\n * @readonly\n * @enum {number} (int)\n */\nexport enum ReturnRatePriceBasis {\n  Gross = 0,\n  /** Net */\n  Net = 1,\n  /** Accrued */\n  Accrued = 2,\n  /** Clean net */\n  CleanNet = 3,\n}\n", "/**\n * Specifies whether the ReturnRatePrice(42767) is expressed in absolute or relative terms.\n * tag: 42769\n * @readonly\n * @enum {number} (int)\n */\nexport enum ReturnRatePriceType {\n  /** Absolute terms */\n  AbsoluteTerms = 0,\n  /** Percentage of notional */\n  PercentageOfNotional = 1,\n}\n", "/**\n * For equity swaps this specifies the conditions that govern the adjustment to the number of units of the swap.\n * tag: 42787\n * @readonly\n * @enum {number} (int)\n */\nexport enum StreamNotionalAdjustments {\n  Execution = 0,\n  PortfolioRebalancing = 1,\n  Standard = 2,\n}\n", "/**\n * Specifies the conditions that govern the adjustment to the number of units of the return swap.\n * tag: 2617\n * @readonly\n * @enum {number} (int)\n */\nexport enum UnderlyingNotionalAdjustments {\n  Execution = 0,\n  PortfolioRebalancing = 1,\n  Standard = 2,\n}\n", "export enum RemunerationIndicator {\n  /** No remuneration paid */\n  NoRemunerationPaid = 0,\n  /** Remuneration paid */\n  RemunerationPaid = 1,\n}\n", "/**\n * The status of risk limits for a party.\n * tag: 2355\n * @readonly\n * @enum {number} (int)\n */\nexport enum PartyRiskLimitStatus {\n  Disabled = 0,\n  Enabled = 1,\n}\n", "/**\n * Indicates that the order or trade originates from a computer program or algorithm requiring little-to-no human intervention.\n * tag: 2667\n * @readonly\n * @enum {number} (int)\n */\nexport enum AlgorithmicTradeIndicator {\n  /** Non-algorithmic trade */\n  NonAlgorithmicTrade = 0,\n  AlgorithmicTrade = 1,\n}\n", "export enum TrdRegPublicationType {\n  PreTradeTransparencyWaiver = 0,\n  PostTradeDeferral = 1,\n  ExemptFromPublication = 2,\n  OrderLevelPublicationToSubscribers = 3,\n  PriceLevelPublicationToSubscribers = 4,\n  OrderLevelPublicationToThePublic = 5,\n  PublicationInternalToExecutionVenue = 6,\n}\n", "export enum TrdRegPublicationReason {\n  NoBookOrderDueToAverageSpreadPrice = 0,\n  NoBookOrderDueToRefPrice = 1,\n  NoBookOrderDueToOtherConditions = 2,\n  NoPublicPriceDueToRefPrice = 3,\n  NoPublicPriceDueToIlliquid = 4,\n  NoPublicPriceDueToOrderSize = 5,\n  DeferralDueToLargeInScale = 6,\n  DeferralDueToIlliquid = 7,\n  DeferralDueToSizeSpecific = 8,\n  NoPublicPriceDueToLargeInScale = 9,\n  NoPublicPriceSizeDueToOrderHidden = 10,\n  ExemptedDueToSecuritiesFinancingTransaction = 11,\n  ExemptedDueToESCBPolicyTransaction = 12,\n  ExceptionDueToReportByPaper = 13,\n  ExceptionDueToTradeExecutedWithNonReportingParty = 14,\n  ExceptionDueToIntraFirmOrder = 15,\n  ReportedOutsideReportingHours = 16,\n  NoPublicPxDueToPreTradeWaiver = 17,\n}\n", "/**\n * Indicates whether the order or quote was crossed with another order or quote having the same context, e.g. having accounts with a common ownership.\n * tag: 2523\n * @readonly\n * @enum {number} (int)\n */\nexport enum CrossedIndicator {\n  NoCross = 0,\n  CrossRejected = 1,\n  CrossAccepted = 2,\n}\n", "/**\n * The type of order attribute.\n * tag: 2594\n * @readonly\n * @enum {number} (int)\n */\nexport enum OrderAttributeType {\n  AggregatedOrder = 0,\n  PendingAllocation = 1,\n  LiquidityProvisionActivityOrder = 2,\n  RiskReductionOrder = 3,\n  AlgorithmicOrder = 4,\n  SystematicInternaliserOrder = 5,\n  AllExecutionsSubmittedToAPA = 6,\n  OrderExecutionInstructedByClient = 7,\n  LargeInScale = 8,\n  Hidden = 9,\n  SubjectToEUSTO = 10,\n  SubjectToUKSTO = 11,\n  RepresentativeOrder = 12,\n  LinkageType = 13,\n  ExemptFromSTO = 14,\n}\n", "export enum TradeReportingIndicator {\n  NotReported = 0,\n  /** Trade has been or will be reported by a trading venue as an \"on-book\" trade */\n  OnBook = 1,\n  /** Trade has or will be reported as a seller trade by the authorised reporter */\n  SISeller = 2,\n  /** Trade has or will be reported as a buyer trade by the authorised reporter */\n  SIBuyer = 3,\n  /** Trade has or will be reported as a seller trade by an entity other than the authorised reporter */\n  NonSISeller = 4,\n  /** Trade has been or will be reported under a sub-delegation arrangement by an investment firm to a reporting facility (e.g. APA) on behalf of another investment firm */\n  SubDelegationByFirm = 5,\n  Reportable = 6,\n  /** Trade has been or will be reported as a buyer trade by an entity other than the authorised reporter */\n  NonSIBuyer = 7,\n  /** Trade has been or will be reported by a trading venue as an \"off-book\" trade */\n  OffBook = 8,\n  NotReportable = 9,\n}\n", "/**\n * Reason for submission of mass action.\n * tag: 2675\n * @readonly\n * @enum {number} (int)\n */\nexport enum MassActionReason {\n  /** No special reason (default) */\n  None = 0,\n  TradingRiskControl = 1,\n  ClearingRiskControl = 2,\n  MarketMakerProtection = 3,\n  StopTrading = 4,\n  EmergencyAction = 5,\n  SessionLossLogout = 6,\n  DuplicateLogin = 7,\n  ProductNotTraded = 8,\n  InstrumentNotTraded = 9,\n  CompleInstrumentDeleted = 10,\n  CircuitBreakerActivated = 11,\n  /** Other */\n  Other = 99,\n}\n", "/**\n * Reason for order being unaffected by mass action even though it belongs to the orders covered by MassActionScope(1374).\n * tag: 2677\n * @readonly\n * @enum {number} (int)\n */\nexport enum NotAffectedReason {\n  /** Order suspended */\n  OrderSuspended = 0,\n  /** Instrument suspended */\n  InstrumentSuspended = 1,\n}\n", "/**\n * Change of ownership of an order to a specific party.\n * tag: 2679\n * @readonly\n * @enum {number} (int)\n */\nexport enum OrderOwnershipIndicator {\n  /** No change of ownership (default) */\n  NoChange = 0,\n  ExecutingPartyChange = 1,\n  EnteringPartyChange = 2,\n  SpecifiedPartyChange = 3,\n}\n", "/**\n * Specifies an option instrument's \"in the money\" condition.\n * tag: 2681\n * @readonly\n * @enum {number} (int)\n */\nexport enum InTheMoneyCondition {\n  StandardITM = 0,\n  ATMITM = 1,\n  ATMCallITM = 2,\n  ATMPutITM = 3,\n}\n", "/**\n * Identifies the type of execution destination for the order.\n * tag: 2704\n * @readonly\n * @enum {number} (int)\n */\nexport enum ExDestinationType {\n  NoRestriction = 0,\n  TradedOnlyOnTradingVenue = 1,\n  TradedOnlyOnSI = 2,\n  TradedOnTradingVenueOrSI = 3,\n}\n", "/**\n * Market condition. In the context of ESMA RTS 8 it is important that trading venues communicate the condition of the market, particularly \"stressed\" and \"exceptional\", in order to provide incentives for firms contributing to liquidity.\n * tag: 2705\n * @readonly\n * @enum {number} (int)\n */\nexport enum MarketCondition {\n  Normal = 0,\n  Stressed = 1,\n  Exceptional = 2,\n}\n", "/**\n * The type of attribute for the quote.\n * tag: 2707\n * @readonly\n * @enum {number} (int)\n */\nexport enum QuoteAttributeType {\n  QuoteAboveStandardMarketSize = 0,\n  QuoteAboveSpecificInstrumentSize = 1,\n  QuoteApplicableForLiquidtyProvisionActivity = 2,\n  QuoteIssuerStatus = 3,\n  BidOrAskRequest = 4,\n}\n", "/**\n * Qualifier for price. May be used when the price needs to be explicitly qualified.\n * tag: 2710\n * @readonly\n * @enum {number} (int)\n */\nexport enum PriceQualifier {\n  AccruedInterestIsFactored = 0,\n  TaxIsFactored = 1,\n  BondAmortizationIsFactored = 2,\n}\n", "export enum MDValueTier {\n  /** Range 1 */\n  Range1 = 1,\n  /** Range 2 */\n  Range2 = 2,\n  /** Range 3 */\n  Range3 = 3,\n}\n", "/**\n * Identifies whether the current entry contributes to the trade or transaction economics, i.e. affects NetMoney(118).\n * tag: 2712\n * @readonly\n * @enum {number} (int)\n */\nexport enum MiscFeeQualifier {\n  Contributes = 0,\n  DoesNotContribute = 1,\n}\n", "/**\n * Further sub classification of the CommissionAmountType(2641).\n * tag: 2725\n * @readonly\n * @enum {number} (int)\n */\nexport enum CommissionAmountSubType {\n  /** Research payment account (RPA) */\n  ResearchPaymentAccount = 0,\n  /** Commission sharing agreement (CSA) */\n  CommissionSharingAgreement = 1,\n  OtherTypeResearchPayment = 2,\n}\n", "/**\n * Final price type of the commodity as specified by the trading venue.\n * tag: 2736\n * @readonly\n * @enum {number} (int)\n */\nexport enum CommodityFinalPriceType {\n  /** Argus McCloskey */\n  ArgusMcCloskey = 0,\n  /** Baltic */\n  Baltic = 1,\n  /** Exchange */\n  Exchange = 2,\n  /** Global Coal */\n  GlobalCoal = 3,\n  /** IHS McCloskey */\n  IHSMcCloskey = 4,\n  /** Platts */\n  Platts = 5,\n  /** Other */\n  Other = 99,\n}\n", "/**\n * Reference data entry's date-time type.\n * tag: 2748\n * @readonly\n * @enum {number} (int)\n */\nexport enum ReferenceDataDateType {\n  AdmitToTradeRequestDate = 0,\n  AdmitToTradeApprovalDate = 1,\n  AdmitToTradeOrFirstTradeDate = 2,\n  TerminationDate = 3,\n}\n", "/**\n * Indicates the type of return or payout trigger for the swap or forward.\n * tag: 2753\n * @readonly\n * @enum {number} (int)\n */\nexport enum ReturnTrigger {\n  /** Dividend */\n  Dividend = 1,\n  /** Variance */\n  Variance = 2,\n  /** Volatility */\n  Volatility = 3,\n  /** Total return */\n  TotalReturn = 4,\n  /** Contract for difference */\n  ContractForDifference = 5,\n  /** Credit default */\n  CreditDefault = 6,\n  /** Spread bet */\n  SpreadBet = 7,\n  /** Price */\n  Price = 8,\n  /** Forward price of underlying instrument */\n  ForwardPriceUnderlyingInstrument = 9,\n  /** Other */\n  Other = 99,\n}\n", "/**\n * The average pricing model used for block trades.\n * tag: 2763\n * @readonly\n * @enum {number} (int)\n */\nexport enum AveragePriceType {\n  TimeWeightedAveragePrice = 0,\n  VolumeWeightedAveragePrice = 1,\n  PercentOfVolumeAveragePrice = 2,\n  LimitOrderAveragePrice = 3,\n}\n", "/**\n * Status of the trade give-up relative to the group identified in AllocGroupID(1730).\n * tag: 2767\n * @readonly\n * @enum {number} (int)\n */\nexport enum AllocGroupStatus {\n  Added = 0,\n  Canceled = 1,\n  Replaced = 2,\n  Changed = 3,\n  Pending = 4,\n}\n", "/**\n * Status of the AllocationInstructionAlertRequest(35=DU).\n * tag: 2768\n * @readonly\n * @enum {number} (int)\n */\nexport enum AllocRequestStatus {\n  /** Accepted */\n  Accepted = 0,\n  /** Rejected */\n  Rejected = 1,\n}\n", "/**\n * Type of matching exception.\n * tag: 2773\n * @readonly\n * @enum {number} (int)\n */\nexport enum MatchExceptionType {\n  /** No matching confirmation */\n  NoMatchingConfirmation = 0,\n  /** No matching allocation */\n  NoMatchingAllocation = 1,\n  /** Allocation data element missing */\n  AllocationDataElementMissing = 2,\n  /** Confirmation data element missing */\n  ConfirmationDataElementMissing = 3,\n  /** Data difference not within tolerance */\n  DataDifferenceNotWithinTolerance = 4,\n  /** Match within tolerance */\n  MatchWithinTolerance = 5,\n  /** Other */\n  Other = 99,\n}\n", "/**\n * Identifies the data point used in the matching operation which resulted in an exception.\n * tag: 2774\n * @readonly\n * @enum {number} (int)\n */\nexport enum MatchExceptionElementType {\n  /** Accrued interest */\n  AccruedInterest = 1,\n  /** Deal price */\n  DealPrice = 2,\n  TradeDate = 3,\n  SettlementDate = 4,\n  SideIndicator = 5,\n  TradedCurrency = 6,\n  AccountID = 7,\n  ExecutingBrokerID = 8,\n  /** Settlement currency and amount */\n  SettlementCurrencyAndAmount = 9,\n  InvestmentManagerID = 10,\n  /** Net amount */\n  NetAmount = 11,\n  PlaceOfSettlement = 12,\n  /** Commissions */\n  Commissions = 13,\n  SecurityIdentifier = 14,\n  /** Quantity allocated */\n  QualityAllocated = 15,\n  /** Principal */\n  Principal = 16,\n  /** Fees */\n  Fees = 17,\n  /** Tax */\n  Tax = 18,\n}\n", "export enum MatchExceptionToleranceValueType {\n  FixedAmount = 1,\n  /** Percentage */\n  Percentage = 2,\n}\n", "/**\n * Data point's matching type.\n * tag: 2782\n * @readonly\n * @enum {number} (int)\n */\nexport enum MatchingDataPointIndicator {\n  /** Mandatory */\n  Mandatory = 1,\n  /** Optional */\n  Optional = 2,\n}\n", "/**\n * Identifies the trade aggregation transaction type.\n * tag: 2788\n * @readonly\n * @enum {number} (int)\n */\nexport enum TradeAggregationTransType {\n  /** New */\n  New = 0,\n  /** Cancel */\n  Cancel = 1,\n  /** Replace */\n  Replace = 2,\n}\n", "/**\n * Status of the trade aggregation request.\n * tag: 2790\n * @readonly\n * @enum {number} (int)\n */\nexport enum TradeAggregationRequestStatus {\n  /** Accepted */\n  Accepted = 0,\n  /** Rejected */\n  Rejected = 1,\n}\n", "/**\n * Reason for trade aggregation request being rejected.\n * tag: 2791\n * @readonly\n * @enum {number} (int)\n */\nexport enum TradeAggregationRejectReason {\n  /** Unknown order(s) */\n  UnknownOrders = 0,\n  /** Unknown execution/fill(s) */\n  UnknownExecutionFills = 1,\n  /** Other */\n  Other = 99,\n}\n", "/**\n * Indicates the type of the currency rate being used. This is relevant for currencies that have offshore rate that different from onshore rate.\n * tag: 2795\n * @readonly\n * @enum {number} (int)\n */\nexport enum OffshoreIndicator {\n  Regular = 0,\n  Offshore = 1,\n  Onshore = 2,\n}\n", "/**\n * Identifies the message transaction type.\n * tag: 2804\n * @readonly\n * @enum {number} (int)\n */\nexport enum PayReportTransType {\n  /** New */\n  New = 0,\n  /** Replace */\n  Replace = 1,\n  Status = 2,\n}\n", "/**\n * Identifies status of the payment report.\n * tag: 2806\n * @readonly\n * @enum {number} (int)\n */\nexport enum PayReportStatus {\n  /** Received, not yet processed */\n  Received = 0,\n  /** Accepted */\n  Accepted = 1,\n  /** Rejected */\n  Rejected = 2,\n  Disputed = 3,\n}\n", "/**\n * Identifies the message transaction type.\n * tag: 2811\n * @readonly\n * @enum {number} (int)\n */\nexport enum PayRequestTransType {\n  /** New */\n  New = 0,\n  /** Cancel */\n  Cancel = 1,\n}\n", "/**\n * Identifies status of the request being responded to.\n * tag: 2813\n * @readonly\n * @enum {number} (int)\n */\nexport enum PayRequestStatus {\n  /** Received, not yet processed */\n  Received = 0,\n  /** Accepted */\n  Accepted = 1,\n  /** Rejected */\n  Rejected = 2,\n  Disputed = 3,\n}\n", "/**\n * Payment side of this individual payment from the requesting firm's perspective.\n * tag: 2819\n * @readonly\n * @enum {number} (int)\n */\nexport enum PostTradePaymentDebitOrCredit {\n  /** Debit / Pay */\n  DebitPay = 0,\n  /** Credit / Receive */\n  CreditReceive = 1,\n}\n", "/**\n * Used to indicate the status of a post-trade payment.\n * tag: 2823\n * @readonly\n * @enum {number} (int)\n */\nexport enum PostTradePaymentStatus {\n  New = 0,\n  Initiated = 1,\n  Pending = 2,\n  Confirmed = 3,\n  Rejected = 4,\n}\n", "export enum DuplicateClOrdIDIndicator {\n  /** Unique ClOrdID(11) */\n  UniqueClOrdID = 'N',\n  /** Duplicate ClOrdID(11) */\n  DuplicateClOrdID = 'Y',\n}\n", "/**\n * Indicates the type of entity who initiated an event, e.g. modification or cancellation of an order or quote.\n * tag: 2830\n * @readonly\n * @enum {string} (char)\n */\nexport enum EventInitiatorType {\n  /** Customer or client */\n  CustomerOrClient = 'C',\n  /** Exchange or execution venue */\n  ExchangeOrExecutionVenue = 'E',\n  /** Firm or broker */\n  FirmOrBroker = 'F',\n}\n", "/**\n * Type of NBBO information.\n * tag: 2831\n * @readonly\n * @enum {number} (int)\n */\nexport enum NBBOEntryType {\n  Bid = 0,\n  Offer = 1,\n  /** Mid-price */\n  MidPrice = 2,\n}\n", "/**\n * Source of NBBO information.\n * tag: 2834\n * @readonly\n * @enum {number} (int)\n */\nexport enum NBBOSource {\n  NotApplicable = 0,\n  Direct = 1,\n  SIP = 2,\n  Hybrid = 3,\n}\n", "/**\n * Used to indicate whether the quoting system allows only one quote to be active at a time for the quote issuer or market maker.\n * tag: 2837\n * @readonly\n * @enum {string} (Boolean)\n */\nexport enum SingleQuoteIndicator {\n  /** Multiple quotes allowed */\n  MultipleQuotesAllowed = 'N',\n  /** Only one quote allowed */\n  OnlyOneQuoteAllowed = 'Y',\n}\n", "/**\n * Indicates whether a given timestamp was manually captured.\n * tag: 2839\n * @readonly\n * @enum {string} (Boolean)\n */\nexport enum TrdRegTimestampManualIndicator {\n  /** Not manually captured */\n  NotManuallyCaptured = 'N',\n  /** Manually captured */\n  ManuallyCaptured = 'Y',\n}\n", "/**\n * Indicates the type of investment the cash collateral is re-invested in.\n * tag: 2844\n * @readonly\n * @enum {number} (int)\n */\nexport enum CollateralReinvestmentType {\n  MoneyMarketFund = 0,\n  OtherComingledPool = 1,\n  RepoMarket = 2,\n  DirectPurchaseOfSecurities = 3,\n  OtherInvestments = 4,\n}\n", "/**\n * Specifies the funding source used to finance margin or collateralized loan.\n * tag: 2846\n * @readonly\n * @enum {number} (int)\n */\nexport enum FundingSource {\n  Repo = 0,\n  Cash = 1,\n  FreeCedits = 2,\n  CustomerShortSales = 3,\n  BrokerShortSales = 4,\n  UnsecuredBorrowing = 5,\n  Other = 99,\n}\n", "/**\n * Indicates whether the margin described is posted or received.\n * tag: 2851\n * @readonly\n * @enum {number} (int)\n */\nexport enum MarginDirection {\n  Posted = 0,\n  Received = 1,\n}\n", "/**\n * Type of attribute(s) or characteristic(s) associated with the transaction.\n * tag: 2872\n * @readonly\n * @enum {number} (int)\n */\nexport enum TransactionAttributeType {\n  ExclusiveArrangement = 0,\n  CollateralReuse = 1,\n  CollateralArrangmentType = 2,\n}\n", "export enum RoutingArrangmentIndicator {\n  /** No routing arrangement in place */\n  NoRoutingArrangmentInPlace = 0,\n  /** Routing arrangement in place */\n  RoutingArrangementInPlace = 1,\n}\n", "/**\n * Describes the source of the identifier that RelatedOrderID(2887) represents.\n * tag: 2888\n * @readonly\n * @enum {number} (int)\n */\nexport enum RelatedOrderIDSource {\n  /** Non-FIX Source */\n  NonFIXSource = 0,\n  SystemOrderIdentifier = 1,\n  ClientOrderIdentifier = 2,\n  SecondaryOrderIdentifier = 3,\n  SecondaryClientOrderIdentifier = 4,\n}\n", "/**\n * Describes the type of relationship between the order identified by RelatedOrderID(2887) and the order outside of the RelatedOrderGrp component.\n * tag: 2890\n * @readonly\n * @enum {number} (int)\n */\nexport enum OrderRelationship {\n  /** Not specified */\n  NotSpecified = 0,\n  OrderAggregation = 1,\n  OrderSplit = 2,\n}\n", "/**\n * Identifies class or source of the Currency(15) value.\n * tag: 2897\n * @readonly\n * @enum {string} (String)\n */\nexport enum CurrencyCodeSource {\n  /** CUSIP */\n  CUSIP = '1',\n  /** SEDOL */\n  SEDOL = '2',\n  /** ISIN */\n  ISINNumber = '4',\n  /** ISO Currency Code (ISO 4217) */\n  ISOCurrencyCode = '6',\n  FinancialInstrumentGlobalIdentifier = 'S',\n  /** Digital Token Identifier (ISO 24165) */\n  DigitalTokenIdentifier = 'Y',\n}\n", "/**\n * Indicate whether a trade is eligible to be reported to more than one regulatory jurisdictions, e.g. due to overlapping reporting rules that require reporting to different jurisdictions.\n * tag: 2963\n * @readonly\n * @enum {number} (int)\n */\nexport enum MultiJurisdictionReportingIndicator {\n  /** Trade not eligible for multi-jurisdiction reporting */\n  NotMultiJrsdctnEligible = 0,\n  /** Trade eligible for multi-jurisdiction reporting */\n  MultiJrsdctnEligible = 1,\n}\n", "/**\n * Indicate the instruction for self-match prevention when the incoming (aggressive) order has the same SelfMatchPreventionID(2362) as a resting (passive) order.\n * tag: 2964\n * @readonly\n * @enum {number} (int)\n */\nexport enum SelfMatchPreventionInstruction {\n  CancelAggressive = 1,\n  CancelPassive = 2,\n  CancelAggressivePassive = 3,\n}\n", "/**\n * Status of the SettlementStatusRequest(35=EC) message being responded to.\n * tag: 2966\n * @readonly\n * @enum {number} (int)\n */\nexport enum SettlStatusRequestStatus {\n  /** Received, not yet processed */\n  Received = 0,\n  /** Accepted */\n  Accepted = 1,\n  Rejected = 2,\n}\n", "/**\n * Status of the report being responded to.\n * tag: 2973\n * @readonly\n * @enum {number} (int)\n */\nexport enum SettlStatusReportStatus {\n  /** Received, not yet processed */\n  Received = 0,\n  /** Accepted */\n  Accepted = 1,\n  Rejected = 2,\n}\n", "/**\n * Type of trade attribute defining a subgroup in an allocation group.\n * tag: 2980\n * @readonly\n * @enum {number} (int)\n */\nexport enum AllocGroupSubQtyType {\n  /** Trade type */\n  TradeType = 1,\n  /** Trade publication indicator */\n  TradePublicationIndicator = 2,\n  /** Order handling instruction */\n  OrderHandlingInstruction = 3,\n}\n", "/**\n * Specifies the source of the price(s) of the security used in the calculation of the metrics or analytics data.\n * tag: 2993\n * @readonly\n * @enum {number} (int)\n */\nexport enum MetricsCalculationPriceSource {\n  Realtime = 1,\n  EndOfDay = 2,\n}\n", "/**\n * Identifies the model used for asset valuation or pricing calculations.\n * tag: 2994\n * @readonly\n * @enum {number} (int)\n */\nexport enum AssetValuationModel {\n  /** Black-Scholes */\n  BlackScholes = 1,\n  /** Whaley */\n  Whaley = 2,\n  /** Bachelier */\n  Bachelier = 3,\n  /** Kirk */\n  Kirk = 4,\n  /** Curran */\n  Curran = 5,\n  /** Black-76 */\n  Black76 = 6,\n  /** Binomial */\n  Binomial = 7,\n  /** Other model */\n  OtherModel = 99,\n}\n", "/**\n * Identifies the message transaction type.\n * tag: 3016\n * @readonly\n * @enum {number} (int)\n */\nexport enum AlgoCertificateRequestTransType {\n  /** New */\n  New = 0,\n  /** Cancel */\n  Cancel = 1,\n}\n", "/**\n * Status of the AlgoCertificateRequest(35=EH) message being responded to.\n * tag: 3017\n * @readonly\n * @enum {number} (int)\n */\nexport enum AlgoCertificateRequestStatus {\n  /** Received, not yet processed */\n  Received = 0,\n  /** Accepted */\n  Accepted = 1,\n  Rejected = 2,\n}\n", "/**\n * Identifies the message transaction type.\n * tag: 3020\n * @readonly\n * @enum {number} (int)\n */\nexport enum AlgoCertificateReportTransType {\n  /** New */\n  New = 0,\n  /** Cancel */\n  Cancel = 1,\n  /** Replace */\n  Replace = 2,\n}\n", "/**\n * Status of the report being responded to.\n * tag: 3021\n * @readonly\n * @enum {number} (int)\n */\nexport enum AlgoCertificateReportStatus {\n  /** Received, not yet processed */\n  Received = 0,\n  /** Accepted */\n  Accepted = 1,\n  Rejected = 2,\n}\n", "/**\n * Status of the certification as provided by the regulatory authority.\n * tag: 3022\n * @readonly\n * @enum {number} (int)\n */\nexport enum AlgoCertificateStatus {\n  Draft = 0,\n  Approved = 1,\n  Submitted = 2,\n}\n", "/**\n * Identifies whether the value of a measure needs to be over or under a specific threshold to be successful.\n * tag: 3058\n * @readonly\n * @enum {number} (int)\n */\nexport enum TestThresholdType {\n  /** Under */\n  Under = 0,\n  /** Over */\n  Over = 1,\n}\n", "/**\n * Identifies the message transaction type.\n * tag: 3064\n * @readonly\n * @enum {number} (int)\n */\nexport enum TestSuiteRequestTransType {\n  /** New */\n  New = 0,\n  /** Cancel */\n  Cancel = 1,\n}\n", "/**\n * Status of the TestSuiteDefinitionRequest(35=EL) message being responded to.\n * tag: 3065\n * @readonly\n * @enum {number} (int)\n */\nexport enum TestSuiteRequestStatus {\n  /** Received, not yet processed */\n  Received = 0,\n  /** Accepted */\n  Accepted = 1,\n  Rejected = 2,\n}\n", "/**\n * Specifies the type of action to take or that was taken for a given test suite.\n * tag: 3067\n * @readonly\n * @enum {number} (int)\n */\nexport enum TestActionType {\n  /** Start */\n  Start = 0,\n  /** Stop */\n  Stop = 1,\n  /** State */\n  State = 2,\n}\n", "/**\n * Status of the TestActionRequest(35=EN) message being responded to.\n * tag: 3068\n * @readonly\n * @enum {number} (int)\n */\nexport enum TestActionRequestStatus {\n  /** Received, not yet processed */\n  Received = 0,\n  /** Accepted */\n  Accepted = 1,\n  Rejected = 2,\n}\n", "/**\n * Specifies the activity state the test suite is in.\n * tag: 3069\n * @readonly\n * @enum {number} (int)\n */\nexport enum TestSuiteActivityState {\n  Scheduled = 0,\n  Completed = 1,\n  Cancelled = 2,\n}\n", "/**\n * Identifies the overall test result of a group of individual test scenarios.\n * tag: 3070\n * @readonly\n * @enum {number} (int)\n */\nexport enum TestSuiteStatus {\n  /** Undefined */\n  Undefined = 0,\n  /** Pass */\n  Pass = 1,\n  /** Fail */\n  Fail = 2,\n  /** Warning */\n  Warning = 3,\n}\n", "export enum Message {\n  /** The Heartbeat monitors the status of the communication link and identifies when the last of a string of messages was not received. */\n  Heartbeat = '0',\n  /** The test request message forces a heartbeat from the opposing application. The test request message checks sequence numbers or verifies communication line status. The opposite application responds to the Test Request with a Heartbeat containing the TestReqID. */\n  TestRequest = '1',\n  /** The resend request is sent by the receiving application to initiate the retransmission of messages. This function is utilized if a sequence number gap is detected, if the receiving application lost a message, or as a function of the initialization process. */\n  ResendRequest = '2',\n  /** The reject message should be issued when a message is received but cannot be properly processed due to a session-level rule violation. An example of when a reject may be appropriate would be the receipt of a message with invalid basic data which successfully passes de-encryption, CheckSum and BodyLength checks. */\n  Reject = '3',\n  /** The sequence reset message is used by the sending application to reset the incoming sequence number on the opposing side. */\n  SequenceReset = '4',\n  /** The logout message initiates or confirms the termination of a FIX session. Disconnection without the exchange of logout messages should be interpreted as an abnormal condition. */\n  Logout = '5',\n  IOI = '6',\n  /** Advertisement messages are used to announce completed transactions. The advertisement message can be transmitted in various transaction types; NEW, CANCEL and REPLACE. All message types other than NEW modify the state of a previously transmitted advertisement identified in AdvRefID. */\n  Advertisement = '7',\n  ExecutionReport = '8',\n  /** The order cancel reject message is issued by the broker upon receipt of a cancel request or cancel/replace request message which cannot be honored. */\n  OrderCancelReject = '9',\n  /** The logon message authenticates a user establishing a connection to a remote system. The logon message must be the first message sent by the application requesting to initiate a FIX session. */\n  Logon = 'A',\n  /** The news message is a general free format message between the broker and institution. The message contains flags to identify the news item's urgency and to allow sorting by subject company (symbol). The News message can be originated at either the broker or institution side, or exchanges and other marketplace venues. */\n  News = 'B',\n  /** The email message is similar to the format and purpose of the News message, however, it is intended for private use between two parties. */\n  Email = 'C',\n  NewOrderSingle = 'D',\n  /** The NewOrderList Message can be used in one of two ways depending on which market conventions are being followed. */\n  NewOrderList = 'E',\n  /** The order cancel request message requests the cancellation of all of the remaining quantity of an existing order. Note that the Order Cancel/Replace Request should be used to partially cancel (reduce) an order). */\n  OrderCancelRequest = 'F',\n  OrderCancelReplaceRequest = 'G',\n  /** The order status request message is used by the institution to generate an order status message back from the broker. */\n  OrderStatusRequest = 'H',\n  AllocationInstruction = 'J',\n  /** The List Cancel Request message type is used by institutions wishing to cancel previously submitted lists either before or during execution. */\n  ListCancelRequest = 'K',\n  /** The List Execute message type is used by institutions to instruct the broker to begin execution of a previously submitted list. This message may or may not be used, as it may be mirroring a phone conversation. */\n  ListExecute = 'L',\n  /** The list status request message type is used by institutions to instruct the broker to generate status messages for a list. */\n  ListStatusRequest = 'M',\n  /** The list status message is issued as the response to a List Status Request message sent in an unsolicited fashion by the sell-side. It indicates the current state of the orders within the list as they exist at the broker's site. This message may also be used to respond to the List Cancel Request. */\n  ListStatus = 'N',\n  AllocationInstructionAck = 'P',\n  /** The Don\u2019t Know Trade (DK) message notifies a trading partner that an electronically received execution has been rejected. This message can be thought of as an execution reject message. */\n  DontKnowTrade = 'Q',\n  /** In some markets it is the practice to request quotes from brokers prior to placement of an order. The quote request message is used for this purpose. This message is commonly referred to as an Request For Quote (RFQ) */\n  QuoteRequest = 'R',\n  /** The Quote message is used as the response to a Quote Request or a Quote Response message in both indicative, tradeable, and restricted tradeable quoting markets. */\n  Quote = 'S',\n  /** The Settlement Instructions message provides the broker\u2019s, the institution\u2019s, or the intermediary\u2019s instructions for trade settlement. This message has been designed so that it can be sent from the broker to the institution, from the institution to the broker, or from either to an independent \"standing instructions\" database or matching system or, for CIV, from an intermediary to a fund manager. */\n  SettlementInstructions = 'T',\n  /** Some systems allow the transmission of real-time quote, order, trade, trade volume, open interest, and/or other price information on a subscription basis. A MarketDataRequest(35=V) is a general request for market data on specific securities or forex quotes. The values in the fields provided within the request will serve as further filter criteria for the result set. */\n  MarketDataRequest = 'V',\n  /** The Market Data messages are used as the response to a Market Data Request message. In all cases, one Market Data message refers only to one Market Data Request. It can be used to transmit a 2-sided book of orders or list of quotes, a list of trades, index values, opening, closing, settlement, high, low, or VWAP prices, the trade volume or open interest for a security, or any combination of these. */\n  MarketDataSnapshotFullRefresh = 'W',\n  /** The Market Data message for incremental updates may contain any combination of new, changed, or deleted Market Data Entries, for any combination of instruments, with any combination of trades, imbalances, quotes, index values, open, close, settlement, high, low, and VWAP prices, trade volume and open interest so long as the maximum FIX message size is not exceeded. All of these types of Market Data Entries can be changed and deleted. */\n  MarketDataIncrementalRefresh = 'X',\n  /** The Market Data Request Reject is used when the broker cannot honor the Market Data Request, due to business or technical reasons. Brokers may choose to limit various parameters, such as the size of requests, whether just the top of book or the entire book may be displayed, and whether Full or Incremental updates must be used. */\n  MarketDataRequestReject = 'Y',\n  QuoteCancel = 'Z',\n  QuoteStatusRequest = 'a',\n  /** Mass Quote Acknowledgement is used as the application level response to a Mass Quote message. */\n  MassQuoteAck = 'b',\n  SecurityDefinitionRequest = 'c',\n  SecurityDefinition = 'd',\n  /** The Security Status Request message provides for the ability to request the status of a security. One or more Security Status messages are returned as a result of a Security Status Request message. */\n  SecurityStatusRequest = 'e',\n  /** The Security Status message provides for the ability to report changes in status to a security. The Security Status message contains fields to indicate trading status, corporate actions, financial status of the company. The Security Status message is used by one trading entity (for instance an exchange) to report changes in the state of a security. */\n  SecurityStatus = 'f',\n  /** The Trading Session Status Request is used to request information on the status of a market. With the move to multiple sessions occurring for a given trading party (morning and evening sessions for instance) there is a need to be able to provide information on what product is trading on what market. */\n  TradingSessionStatusRequest = 'g',\n  /** The Trading Session Status provides information on the status of a market. For markets multiple trading sessions on multiple-markets occurring (morning and evening sessions for instance), this message is able to provide information on what products are trading on what market during what trading session. */\n  TradingSessionStatus = 'h',\n  /** The Mass Quote message can contain quotes for multiple securities to support applications that allow for the mass quoting of an option series. Two levels of repeating groups have been provided to minimize the amount of data required to submit a set of quotes for a class of options (e.g. all option series for IBM). */\n  MassQuote = 'i',\n  /** The Business Message Reject message can reject an application-level message which fulfills session-level rules and cannot be rejected via any other means. Note if the message fails a session-level rule (e.g. body length is incorrect), a session-level Reject message should be issued. */\n  BusinessMessageReject = 'j',\n  BidRequest = 'k',\n  BidResponse = 'l',\n  /** The strike price message is used to exchange strike price information for principal trades. It can also be used to exchange reference prices for agency trades. */\n  ListStrikePrice = 'm',\n  XMLnonFIX = 'n',\n  /** The Registration Instructions message type may be used by institutions or retail intermediaries wishing to electronically submit registration information to a broker or fund manager (for CIV) for an order or for an allocation. */\n  RegistrationInstructions = 'o',\n  /** The Registration Instructions Response message type may be used by broker or fund manager (for CIV) in response to a Registration Instructions message submitted by an institution or retail intermediary for an order or for an allocation. */\n  RegistrationInstructionsResponse = 'p',\n  /** The order mass cancel request message requests the cancellation of all of the remaining quantity of a group of orders matching criteria specified within the request. NOTE: This message can only be used to cancel order messages (reduce the full quantity). */\n  OrderMassCancelRequest = 'q',\n  /** The Order Mass Cancel Report is used to acknowledge an Order Mass Cancel Request. Note that each affected order that is canceled is acknowledged with a separate Execution Report or Order Cancel Reject message. */\n  OrderMassCancelReport = 'r',\n  /** Used to submit a cross order into a market. The cross order contains two order sides (a buy and a sell). The cross order is identified by its CrossID. */\n  NewOrderCross = 's',\n  /** Used to modify a cross order previously submitted using the New Order - Cross message. See Order Cancel Replace Request for details concerning message usage. */\n  CrossOrderCancelReplaceRequest = 't',\n  /** Used to fully cancel the remaining open quantity of a cross order. */\n  CrossOrderCancelRequest = 'u',\n  /** The Security Type Request message is used to return a list of security types available from a counterparty or market. */\n  SecurityTypeRequest = 'v',\n  /** The Security Type Request message is used to return a list of security types available from a counterparty or market. */\n  SecurityTypes = 'w',\n  /** The Security List Request message is used to return a list of securities from the counterparty that match criteria provided on the request */\n  SecurityListRequest = 'x',\n  /** The Security List message is used to return a list of securities that matches the criteria specified in a Security List Request. */\n  SecurityList = 'y',\n  /** The Derivative Security List Request message is used to return a list of securities from the counterparty that match criteria provided on the request */\n  DerivativeSecurityListRequest = 'z',\n  /** The Derivative Security List message is used to return a list of securities that matches the criteria specified in a Derivative Security List Request. */\n  DerivativeSecurityList = 'AA',\n  /** The New Order - Multileg is provided to submit orders for securities that are made up of multiple securities, known as legs. */\n  NewOrderMultileg = 'AB',\n  /** Used to modify a multileg order previously submitted using the New Order - Multileg message. See Order Cancel Replace Request for details concerning message usage. */\n  MultilegOrderCancelReplace = 'AC',\n  TradeCaptureReportRequest = 'AD',\n  TradeCaptureReport = 'AE',\n  /** The order mass status request message requests the status for orders matching criteria specified within the request. */\n  OrderMassStatusRequest = 'AF',\n  /** The Quote Request Reject message is used to reject Quote Request messages for all quoting models. */\n  QuoteRequestReject = 'AG',\n  /** In tradeable and restricted tradeable quoting markets \u2013 Quote Requests are issued by counterparties interested in ascertaining the market for an instrument. Quote Requests are then distributed by the market to liquidity providers who make markets in the instrument. The RFQ Request is used by liquidity providers to indicate to the market for which instruments they are interested in receiving Quote Requests. It can be used to register interest in receiving quote requests for a single instrument or for multiple instruments */\n  RFQRequest = 'AH',\n  QuoteStatusReport = 'AI',\n  QuoteResponse = 'AJ',\n  /** The Confirmation messages are used to provide individual trade level confirmations from the sell side to the buy side. In versions of FIX prior to version 4.4, this role was performed by the allocation message. Unlike the allocation message, the confirmation message operates at an allocation account (trade) level rather than block level, allowing for the affirmation or rejection of individual confirmations. */\n  Confirmation = 'AK',\n  /** The Position Maintenance Request message allows the position owner to submit requests to the holder of a position which will result in a specific action being taken which will affect the position. Generally, the holder of the position is a central counter party or clearing organization but can also be a party providing investment services. */\n  PositionMaintenanceRequest = 'AL',\n  /** The Position Maintenance Report message is sent by the holder of a position in response to a Position Maintenance Request and is used to confirm that a request has been successfully processed or rejected. */\n  PositionMaintenanceReport = 'AM',\n  /** The Request For Positions message is used by the owner of a position to request a Position Report from the holder of the position, usually the central counter party or clearing organization. The request can be made at several levels of granularity. */\n  RequestForPositions = 'AN',\n  /** The Request for Positions Ack message is returned by the holder of the position in response to a Request for Positions message. The purpose of the message is to acknowledge that a request has been received and is being processed. */\n  RequestForPositionsAck = 'AO',\n  /** The Position Report message is returned by the holder of a position in response to a Request for Position message. The purpose of the message is to report all aspects of a position and may be provided on a standing basis to report end of day positions to an owner. */\n  PositionReport = 'AP',\n  TradeCaptureReportRequestAck = 'AQ',\n  TradeCaptureReportAck = 'AR',\n  AllocationReport = 'AS',\n  /** The Allocation Report Ack message is used to acknowledge the receipt of and provide status for an Allocation Report message. */\n  AllocationReportAck = 'AT',\n  /** The Confirmation Ack (aka Affirmation) message is used to respond to a Confirmation message. */\n  ConfirmationAck = 'AU',\n  /** The Settlement Instruction Request message is used to request standing settlement instructions from another party. */\n  SettlementInstructionRequest = 'AV',\n  /** Assignment Reports are sent from a clearing house to counterparties, such as a clearing firm as a result of the assignment process. */\n  AssignmentReport = 'AW',\n  /** An initiator that requires collateral from a respondent sends a Collateral Request. The initiator can be either counterparty to a trade in a two party model or an intermediary such as an ATS or clearinghouse in a three party model. A Collateral Assignment is expected as a response to a request for collateral. */\n  CollateralRequest = 'AX',\n  /** Used to assign collateral to cover a trading position. This message can be sent unsolicited or in reply to a Collateral Request message. */\n  CollateralAssignment = 'AY',\n  /** Used to respond to a Collateral Assignment message. */\n  CollateralResponse = 'AZ',\n  /** Used to report collateral status when responding to a Collateral Inquiry message. */\n  CollateralReport = 'BA',\n  /** Used to inquire for collateral status. */\n  CollateralInquiry = 'BB',\n  /** This message is send either immediately after logging on to inform a network (counterparty system) of the type of updates required or to at any other time in the FIX conversation to change the nature of the types of status updates required. It can also be used with a NetworkRequestType of Snapshot to request a one-off report of the status of a network (or counterparty) system. Finally this message can also be used to cancel a request to receive updates into the status of the counterparties on a network by sending a NetworkRequestStatusMessage with a NetworkRequestType of StopSubscribing. */\n  NetworkCounterpartySystemStatusRequest = 'BC',\n  /** This message is sent in response to a Network (Counterparty System) Status Request Message. */\n  NetworkCounterpartySystemStatusResponse = 'BD',\n  /** This message is used to initiate a user action, logon, logout or password change. It can also be used to request a report on a user's status. */\n  UserRequest = 'BE',\n  /** This message is used to respond to a user request message, it reports the status of the user after the completion of any action requested in the user request message. */\n  UserResponse = 'BF',\n  CollateralInquiryAck = 'BG',\n  /** The Confirmation Request message is used to request a Confirmation message. */\n  ConfirmationRequest = 'BH',\n  /** The Contrary Intention Report is used for reporting of contrary expiration quantities for Saturday expiring options. This information is required by options exchanges for regulatory purposes. */\n  ContraryIntentionReport = 'BO',\n  /** This message is used for reporting updates to a product security master file. Updates could be the result of corporate actions or other business events. Updates may include additions, modifications or deletions. */\n  SecurityDefinitionUpdateReport = 'BP',\n  /** The Security List Update Report is used for reporting updates to a Contract Security Masterfile. Updates could be due to Corporate Actions or other business events. Update may include additions, modifications and deletions. */\n  SecurityListUpdateReport = 'BK',\n  /** Used to report changes in position, primarily in equity options, due to modifications to the underlying due to corporate actions */\n  AdjustedPositionReport = 'BL',\n  /** This message is used in a 3-party allocation model (buy-side and sell-side using a central clearing entity) where notification of group creation and group updates to counterparties is needed. The message will also carry trade information that comprised the group to the counterparties. */\n  AllocationInstructionAlert = 'BM',\n  /** The Execution Report Acknowledgement message is an optional message that provides dual functionality to notify a trading partner that an electronically received execution has either been accepted or rejected (DK'd). */\n  ExecutionAck = 'BN',\n  /** The Trading Session List message is sent as a response to a Trading Session List Request. The Trading Session List should contain the characteristics of the trading session and the current state of the trading session. */\n  TradingSessionList = 'BJ',\n  /** The Trading Session List Request is used to request a list of trading sessions available in a market place and the state of those trading sessions. A successful request will result in a response from the counterparty of a Trading Session List (MsgType=BJ) message that contains a list of zero or more trading sessions. */\n  TradingSessionListRequest = 'BI',\n  /** The Settlement Obligation Report message provides a central counterparty, institution, or individual counterparty with a capacity for reporting the final details of a currency settlement obligation. */\n  SettlementObligationReport = 'BQ',\n  /** The Derivative Security List Update Report message is used to send updates to an option family or the strikes that comprise an option family. */\n  DerivativeSecurityListUpdateReport = 'BR',\n  /** The Trading Session List Update Report is used by marketplaces to provide intra-day updates of trading sessions when there are changes to one or more trading sessions. */\n  TradingSessionListUpdateReport = 'BS',\n  /** The Market Definition Request message is used to request for market structure information from the Respondent that receives this request. */\n  MarketDefinitionRequest = 'BT',\n  /** The MarketDefinition(35=BU) message is used to respond to MarketDefinitionRequest(35=BT). In a subscription, it will be used to provide the initial snapshot of the information requested. Subsequent updates are provided by the MarketDefinitionUpdateReport(35=BV). */\n  MarketDefinition = 'BU',\n  /** In a subscription for market structure information, this message is used once the initial snapshot of the information has been sent using the MarketDefinition(35=BU) message. */\n  MarketDefinitionUpdateReport = 'BV',\n  /** This message is used to request a retransmission of a set of one or more messages generated by the application specified in RefApplID (1355). */\n  ApplicationMessageRequest = 'BW',\n  /** This message is used to acknowledge an Application Message Request providing a status on the request (i.e. whether successful or not). This message does not provide the actual content of the messages to be resent. */\n  ApplicationMessageRequestAck = 'BX',\n  /** This message is used for three difference purposes: to reset the ApplSeqNum (1181) of a specified ApplID (1180). to indicate that the last message has been sent for a particular ApplID, or as a keep-alive mechanism for ApplIDs with infrequent message traffic. */\n  ApplicationMessageReport = 'BY',\n  /** The Order Mass Action Report is used to acknowledge an Order Mass Action Request. Note that each affected order that is suspended or released or canceled is acknowledged with a separate Execution Report for each order. */\n  OrderMassActionReport = 'BZ',\n  /** The Order Mass Action Request message can be used to request the suspension or release of a group of orders that match the criteria specified within the request. This is equivalent to individual Order Cancel Replace Requests for each order with or without adding \"S\" to the ExecInst values. It can also be used for mass order cancellation. */\n  OrderMassActionRequest = 'CA',\n  /** The User Notification message is used to notify one or more users of an event or information from the sender of the message. This message is usually sent unsolicited from a marketplace (e.g. Exchange, ECN) to a market participant. */\n  UserNotification = 'CB',\n  /** In certain markets where market data aggregators fan out to end clients the pricing streams provided by the price makers, the price maker may assign the clients to certain pricing streams that the price maker publishes via the aggregator. An example of this use is in the FX markets where clients may be assigned to different pricing streams based on volume bands and currency pairs. */\n  StreamAssignmentRequest = 'CC',\n  /** he StreamAssignmentReport message is in response to the StreamAssignmentRequest message. It provides information back to the aggregator as to which clients to assign to receive which price stream based on requested CCY pair. This message can be sent unsolicited to the Aggregator from the Price Maker. */\n  StreamAssignmentReport = 'CD',\n  /** This message is used to respond to the Stream Assignment Report, to either accept or reject an unsolicited assingment. */\n  StreamAssignmentReportACK = 'CE',\n  /** The PartyDetailsListRequest is used to request party detail information. */\n  PartyDetailsListRequest = 'CF',\n  /** The PartyDetailsListReport message is used to disseminate party details between counterparties. PartyDetailsListReport messages may be sent in response to a PartyDetailsListRequest message or sent unsolicited. */\n  PartyDetailsListReport = 'CG',\n  MarginRequirementInquiry = 'CH',\n  /** Used to respond to a Margin Requirement Inquiry. */\n  MarginRequirementInquiryAck = 'CI',\n  /** The Margin Requirement Report returns information about margin requirement either as on overview across all margin accounts or on a detailed level due to the inquiry making use of the optional Instrument component block. Application sequencing can be used to re-request a range of reports. */\n  MarginRequirementReport = 'CJ',\n  /** The PartyDetailsListUpdateReport(35=CK) is used to disseminate updates to party detail information. */\n  PartyDetailsListUpdateReport = 'CK',\n  /** The PartyRiskLimitsRequest message is used to request for risk information for specific parties, specific party roles or specific instruments. */\n  PartyRiskLimitsRequest = 'CL',\n  /** The PartyRiskLimitsReport message is used to communicate party risk limits. The message can either be sent as a response to the PartyRiskLimitsRequest message or can be published unsolicited. */\n  PartyRiskLimitsReport = 'CM',\n  SecurityMassStatusRequest = 'CN',\n  SecurityMassStatus = 'CO',\n  AccountSummaryReport = 'CQ',\n  /** The PartyRiskLimitsUpdateReport(35=CR) is used to convey incremental changes to risk limits. It is similar to the regular report but uses the PartyRiskLimitsUpdateGrp component instead of the PartyRiskLimitsGrp component to include an update action. */\n  PartyRiskLimitsUpdateReport = 'CR',\n  /** PartyRiskLimitDefinitionRequest is used for defining new risk limits. */\n  PartyRiskLimitsDefinitionRequest = 'CS',\n  /** PartyRiskLimitDefinitionRequestAck is used for accepting (with or without changes) or rejecting the definition of risk limits. */\n  PartyRiskLimitsDefinitionRequestAck = 'CT',\n  /** The PartyEntitlementsRequest message is used to request for entitlement information for one or more party(-ies), specific party role(s), or specific instruments(s). */\n  PartyEntitlementsRequest = 'CU',\n  /** The PartyEntitlementsReport is used to report entitlements for one or more parties, party role(s), or specific instrument(s). */\n  PartyEntitlementsReport = 'CV',\n  QuoteAck = 'CW',\n  PartyDetailsDefinitionRequest = 'CX',\n  /** The PartyDetailsDefinitionRequestAck(35=CY) is used as a response to the PartyDetailsDefinitionRequest(35=CX) message. The request can be accepted (with or without changes) or rejected. */\n  PartyDetailsDefinitionRequestAck = 'CY',\n  /** The PartyEntitlementsUpdateReport(35=CZ) is used to convey incremental changes to party entitlements. It is similar to the PartyEntitlementsReport(35=CV). This message uses the PartyEntitlementsUpdateGrp component which includes the ability to specify an update action using ListUpdateAction(1324). */\n  PartyEntitlementsUpdateReport = 'CZ',\n  PartyEntitlementsDefinitionRequest = 'DA',\n  /** The PartyEntitlementsDefinitionRequestAck(35=DB) is used as a response to the PartyEntitlemensDefinitionRequest(35=DA) to accept (with or without changes) or reject the definition of party entitlements. */\n  PartyEntitlementsDefinitionRequestAck = 'DB',\n  /** The TradeMatchReport(35=DC) message is used by exchanges and ECN\u2019s to report matched trades to central counterparties (CCPs) as an atomic event. The message is used to express the one-to-one, one-to-many and many-to-many matches as well as implied matches in which more complex instruments can match with simpler instruments. */\n  TradeMatchReport = 'DC',\n  /** The TradeMatchReportAck(35=DD) is used to respond to theTradeMatchReport(35=DC) message. It may be used to report on the status of the request (e.g. accepting the request or rejecting the request). */\n  TradeMatchReportAck = 'DD',\n  /** PartyRiskLimitsReportAck is an optional message used as a response to the PartyRiskLimitReport(35=CM) or PartyRiskLimitUpdateReport(35=CR) messages to acknowledge or reject those messages. */\n  PartyRiskLimitsReportAck = 'DE',\n  /** PartyRiskLimitCheckRequest is used to request for approval of credit or risk limit amount intended to be used by a party in a transaction from another party that holds the information. */\n  PartyRiskLimitCheckRequest = 'DF',\n  /** PartyRiskLimitCheckRequestAck is used to acknowledge a PartyRiskLimitCheckRequest(35=DF) message and to respond whether the limit check request was approved or not. When used to accept the PartyRiskLimitCheckRequest(35=DF) message the Respondent may also include the limit amount that was approved. */\n  PartyRiskLimitCheckRequestAck = 'DG',\n  /** The PartyActionRequest message is used suspend or halt the specified party from further trading activities at the Respondent. The Respondent must respond with a PartyActionReport(35=DI) message. */\n  PartyActionRequest = 'DH',\n  /** Used to respond to the PartyActionRequest(35=DH) message, indicating whether the request has been received, accepted or rejected. Can also be used in an unsolicited manner to report party actions, e.g. reinstatements after a manual intervention out of band. */\n  PartyActionReport = 'DI',\n  MassOrder = 'DJ',\n  MassOrderAck = 'DK',\n  /** The PositionTransferInstruction(35=DL) is sent by clearing firms to CCPs to initiate position transfers, or to accept or decline position transfers. */\n  PositionTransferInstruction = 'DL',\n  PositionTransferInstructionAck = 'DM',\n  /** The PositionTransferReport(35=DN) is sent by CCPs to clearing firms indicating of positions that are to be transferred to the clearing firm, or to report on status of the transfer to the clearing firms involved in the transfer process. */\n  PositionTransferReport = 'DN',\n  MarketDataStatisticsRequest = 'DO',\n  MarketDataStatisticsReport = 'DP',\n  /** CollateralReportAck(35=DQ) is used as a response to the CollateralReport(35=BA). It can be used to reject a CollateralReport(35=BA) when the content of the report is invalid based on the business rules of the receiver. The message may also be used to acknowledge receipt of a valid CollateralReport(35=BA). */\n  CollateralReportAck = 'DQ',\n  MarketDataReport = 'DR',\n  CrossRequest = 'DS',\n  /** The CrossRequestAck(35=DT) message is used to confirm the receipt of a CrossRequest(35=DS) message. */\n  CrossRequestAck = 'DT',\n  /** This message is used in a clearinghouse 3-party allocation model to request for AllocationInstructionAlert(35=BM) from the clearinghouse. The request may be used to obtain a one-time notification of the status of an allocation group. */\n  AllocationInstructionAlertRequest = 'DU',\n  /** This message is used in a clearinghouse 3-party allocation model to acknowledge a AllocationInstructionAlertRequest(35=DU) message for an AllocationInstructionAlert(35=BM) message from the clearinghouse. */\n  AllocationInstructionAlertRequestAck = 'DV',\n  /** TradeAggregationRequest(35=DW) is used to request that the identified trades between the initiator and respondent be aggregated together for further processing. */\n  TradeAggregationRequest = 'DW',\n  /** TradeAggregationReport(35=DX) is used to respond to the TradeAggregationRequest(35=DW) message. It provides the status of the request (e.g. accepted or rejected) and may also provide additional information supplied by the respondent. */\n  TradeAggregationReport = 'DX',\n  PayManagementReport = 'EA',\n  /** PayManagementReportAck(35=EB) is used as a response to the PayManagementReport(35=EA) message. It may be used to accept, reject or dispute the details of the PayManagementReport(35=EA) depending on the business rules of the receiver. This message may also be used to acknowledge the receipt of a PayManagementReport(35=EA) message. */\n  PayManagementReportAck = 'EB',\n  PayManagementRequest = 'DY',\n  /** PayManagementRequestAck(35=DZ) is used to acknowledge the receipt of the PayManagementRequest(35=DY) message (i.e. a technical acknowledgement of receipt). Acceptance or rejection of the request is reported in the corresponding PayManagementReport(35=EA). */\n  PayManagementRequestAck = 'DZ',\n  SettlementStatusRequest = 'EC',\n  SettlementStatusRequestAck = 'ED',\n  /** SettlementStatusReport(35=EE) is a response to the SettlementStatusRequest(35=EC) to provide settlement status for the requested trade. It may also be sent unsolicited without an explicit request message by the party able to provide the settlement status for the trade identified in the report message. */\n  SettlementStatusReport = 'EE',\n  /** SettlementStatusReportAck(35=EF) is used to respond to the SettlementStatusReport(35=EE) to acknowledge or reject the report. */\n  SettlementStatusReportAck = 'EF',\n  /** SecurityRiskMetricsReport(35=EG) is used for publishing the risk metrics, valuation metrics or analytics of one or more securities, or for an option series. */\n  SecurityRiskMetricsReport = 'EG',\n  AlgoCertificateRequest = 'EH',\n  AlgoCertificateRequestAck = 'EI',\n  AlgoCertificateReport = 'EJ',\n  AlgoCertificateReportAck = 'EK',\n  TestSuiteDefinitionRequest = 'EL',\n  /** TestSuiteDefinitionRequestAck(35=EM) is used to respond to the TestSuiteDefinitionRequest(35= EL) to acknowledge the request and provide status for the request message. */\n  TestSuiteDefinitionRequestAck = 'EM',\n  TestActionRequest = 'EN',\n  /** TestActionRequestAck(35=EO) is used to respond to the TestActionRequest(35=EN) to acknowledge the request and provide status for the request message. */\n  TestActionRequestAck = 'EO',\n  TestActionReport = 'EP',\n}\n", "import type { IFIXParser } from '../IFIXParser';\nimport { Field } from '../fields/Field';\nimport { Field as FieldType } from '../fieldtypes/Field';\nimport { Message as MessageType } from '../fieldtypes/Message';\nimport { Message } from '../message/Message';\n\nexport const heartBeat = (parser: IFIXParser, testReqId?: Field): Message => {\n  const fields: Field[] = [\n    new Field(FieldType.BeginString, parser.fixVersion),\n    new Field(FieldType.MsgType, MessageType.Heartbeat),\n    new Field(FieldType.MsgSeqNum, parser.getNextTargetMsgSeqNum()),\n    new Field(FieldType.SenderCompID, parser.sender),\n    new Field(FieldType.TargetCompID, parser.target),\n    new Field(FieldType.SendingTime, parser.getTimestamp(new Date())),\n  ];\n\n  if (testReqId) {\n    fields.push(testReqId);\n  }\n\n  return parser.createMessage(...fields);\n};\n", "import type { IFIXParser } from '../IFIXParser';\nimport { Field } from '../fields/Field';\nimport { EncryptMethod } from '../fieldtypes/EncryptMethod';\nimport { Field as FieldType } from '../fieldtypes/Field';\nimport { Message as MessageType } from '../fieldtypes/Message';\nimport type { Message } from '../message/Message';\nimport type { MessageBuffer } from '../util/MessageBuffer';\n\nexport const handleLogon = (\n  parser: IFIXParser,\n  messageBuffer: MessageBuffer,\n  message: Message\n): boolean => {\n  if (parser.isLoggedIn) {\n    if (parser.connectionType === 'acceptor') {\n      if (\n        message.getField(FieldType.ResetSeqNumFlag) &&\n        message.getField(FieldType.ResetSeqNumFlag)!.value!.toString() === 'Y'\n      ) {\n        parser.logger.log({\n          level: 'info',\n          message: `FIXServer (${parser.protocol!.toUpperCase()}): -- Logon acknowledged by acceptor.`,\n        });\n        parser.nextNumIn = 1;\n      }\n    } else {\n      parser.logger.log({\n        level: 'info',\n        message: `FIXServer (${parser.protocol!.toUpperCase()}): -- Logon acknowledged by initiator.`,\n      });\n    }\n    return true;\n  }\n\n  const fixVersion: string | null = String(\n    message.getField(FieldType.BeginString)?.value\n  );\n\n  let validSender = true;\n  let validTarget = true;\n  let validFields = true;\n  let errorMessage = 'Invalid Logon TARGET or SENDER.';\n\n  if (fixVersion) {\n    parser.logger.log({\n      level: 'info',\n      message: `FIXServer (${parser.protocol?.toUpperCase()}): -- FIX version set to ${fixVersion}`,\n    });\n    parser.fixVersion = fixVersion;\n    if (parser.fixParser) {\n      parser.fixParser.fixVersion = fixVersion;\n    }\n  }\n\n  const target: string | null = message.getField(FieldType.TargetCompID)\n    ? message.getField(FieldType.TargetCompID)!.value!.toString()\n    : parser.sender;\n  const sender: string | null = message.getField(FieldType.SenderCompID)\n    ? message.getField(FieldType.SenderCompID)!.value!.toString()\n    : parser.target;\n\n  // Support for wildcard target\n  if (target && target != '*' && target != parser.sender) {\n    parser.logger.logWarning({\n      message: `FIXServer (${parser.protocol!.toUpperCase()}): -- Expected TargetCompID=${\n        parser.sender\n      }, but got ${target}`,\n    });\n    validTarget = false;\n  }\n\n  // Support for wildcard sender\n  if (sender && sender != '*' && sender != parser.target) {\n    parser.logger.logWarning({\n      message: `FIXServer (${parser.protocol?.toUpperCase()}): -- Expected SenderCompID=${\n        parser.target\n      }, but got ${sender}`,\n    });\n    validSender = false;\n  }\n\n  // Check parser customLogonFields for custom logon fields\n  const requiredLogonFields = parser?.requiredLogonFields || [];\n  const isRequiredLogonFieldsLogonFields = requiredLogonFields.length > 0;\n\n  // If required logon fields are set, check if they are present in the logon message\n  if (isRequiredLogonFieldsLogonFields) {\n    for (const field of requiredLogonFields) {\n      if (!message.getField(field)) {\n        parser.logger.logWarning({\n          message: `FIXServer (${parser.protocol?.toUpperCase()}): -- Missing required field ${field}`,\n        });\n        validFields = false;\n        errorMessage = `Missing required field ${field}`;\n      }\n    }\n  }\n\n  // If all checks pass, send a logon acknowledge\n  if (validSender && validTarget && validFields) {\n    if (parser.connectionType === 'acceptor') {\n      parser.nextNumIn = 1;\n      parser.setNextTargetMsgSeqNum(1);\n\n      const logonAcknowledge: Message = parser.createMessage(\n        new Field(FieldType.MsgType, MessageType.Logon),\n        new Field(FieldType.MsgSeqNum, parser.getNextTargetMsgSeqNum()),\n        new Field(FieldType.SenderCompID, target),\n        new Field(FieldType.SendingTime, parser.getTimestamp(new Date())),\n        new Field(FieldType.TargetCompID, sender),\n        new Field(FieldType.ResetSeqNumFlag, 'Y'),\n        new Field(FieldType.EncryptMethod, EncryptMethod.None),\n        new Field(\n          FieldType.HeartBtInt,\n          message.getField(FieldType.HeartBtInt)\n            ? (message.getField(FieldType.HeartBtInt)?.value as number)\n            : parser.heartBeatInterval\n        )\n      );\n      parser.send(logonAcknowledge);\n      parser.logger.log({\n        level: 'info',\n        message: `FIXServer (${parser.protocol?.toUpperCase()}): >> sent Logon acknowledge`,\n      });\n    } else {\n      if (\n        message.getField(FieldType.ResetSeqNumFlag) &&\n        message.getField(FieldType.ResetSeqNumFlag)?.value?.toString() === 'Y'\n      ) {\n        parser.logger.log({\n          level: 'info',\n          message: `FIXServer (${parser.protocol?.toUpperCase()}): -- Logon contains ResetSeqNumFlag=Y, resetting sequence numbers to 1`,\n        });\n        parser.nextNumIn = 1;\n        parser.setNextTargetMsgSeqNum(2);\n      }\n    }\n\n    parser.isLoggedIn = true;\n    parser.logger.log({\n      level: 'info',\n      message: `FIXServer (${parser.protocol?.toUpperCase()}): >> Logon successful by ${\n        parser.connectionType\n      }`,\n    });\n    const heartBeatInterval: number = message.getField(FieldType.HeartBtInt)\n      ? Number(message.getField(FieldType.HeartBtInt)?.value!)\n      : parser.heartBeatInterval;\n    parser.heartBeatInterval = heartBeatInterval;\n    if (parser.fixParser) {\n      parser.fixParser.heartBeatInterval = heartBeatInterval;\n    }\n    parser.startHeartbeat(heartBeatInterval);\n    return true;\n  }\n\n  // When the sender or target is invalid, send a logon reject\n  const logonReject: Message = parser.createMessage(\n    new Field(FieldType.MsgType, MessageType.Logout),\n    new Field(FieldType.MsgSeqNum, parser.getNextTargetMsgSeqNum()),\n    new Field(FieldType.SenderCompID, validSender ? sender : 'INVALID_SENDER'),\n    new Field(FieldType.SendingTime, parser.getTimestamp(new Date())),\n    new Field(FieldType.TargetCompID, validTarget ? target : 'INVALID_TARGET'),\n    new Field(FieldType.Text, errorMessage)\n  );\n\n  parser.isLoggedIn = false;\n  parser.send(logonReject);\n  parser.logger.logWarning({\n    message: `FIXServer (${parser.protocol?.toUpperCase()}): >> sent Logout due to invalid Logon`,\n  });\n\n  parser.stopHeartbeat();\n  parser.close();\n  return false;\n};\n", "import type { IFIXParser } from '../IFIXParser';\nimport { Field } from '../fields/Field';\nimport { Field as FieldType } from '../fieldtypes/Field';\nimport { Message as MessageType } from '../fieldtypes/Message';\nimport type { Message } from '../message/Message';\n\nexport const handleLogout = (parser: IFIXParser, message: Message): void => {\n  parser.isLoggedIn = false;\n\n  if (!parser.requestedLogout) {\n    const logoutAcknowledge: Message = parser.createMessage(\n      new Field(FieldType.MsgType, MessageType.Logout),\n      new Field(FieldType.MsgSeqNum, parser.getNextTargetMsgSeqNum()),\n      new Field(\n        FieldType.SenderCompID,\n        message.getField(FieldType.SenderCompID)\n          ? message.getField(FieldType.SenderCompID)!.value!.toString()\n          : parser.sender\n      ),\n      new Field(FieldType.SendingTime, parser.getTimestamp(new Date())),\n      new Field(\n        FieldType.TargetCompID,\n        message.getField(FieldType.TargetCompID)\n          ? message.getField(FieldType.TargetCompID)!.value!.toString()\n          : parser.target\n      ),\n      new Field(FieldType.Text, 'Logout acknowledgement')\n    );\n    parser.send(logoutAcknowledge);\n    parser.logger.log({\n      level: 'info',\n      message: `FIXServer (${parser.protocol?.toUpperCase()}): >> sent Logout acknowledge`,\n    });\n  }\n  parser.stopHeartbeat();\n  parser.close();\n};\n", "import type { Message } from './../message/Message';\n\nexport const MAX_BUFFER: number = 2500;\n\nexport class MessageBuffer {\n  private buffer: Message[] = [];\n\n  public add(message: Message): void {\n    if (this.buffer.length === MAX_BUFFER) {\n      this.buffer.pop();\n    }\n    this.buffer.unshift(message);\n  }\n\n  public getByMsgSequence(msgSequence: number): Message | null {\n    const index: number = this.buffer.findIndex(\n      message => message.messageSequence === msgSequence\n    );\n    if (index > -1) {\n      return this.buffer[index];\n    }\n    return null;\n  }\n\n  public size(): number {\n    return this.buffer.length;\n  }\n\n  public clear(): void {\n    this.buffer = [];\n  }\n}\n", "import type { IFIXParser } from '../IFIXParser';\nimport { Field } from '../fields/Field';\nimport { Field as FieldType } from '../fieldtypes/Field';\nimport type { Message } from '../message/Message';\nimport { MAX_BUFFER, type MessageBuffer } from '../util/MessageBuffer';\n\nexport const handleResendRequest = (\n  parser: IFIXParser,\n  messageBuffer: MessageBuffer,\n  message: Message\n): void => {\n  const from: number | null = message.getField(FieldType.BeginSeqNo)\n    ? Number(message.getField(FieldType.BeginSeqNo)?.value)\n    : null;\n  let to: number | null = message.getField(FieldType.EndSeqNo)\n    ? Number(message.getField(FieldType.EndSeqNo)?.value)\n    : messageBuffer.size();\n\n  if (to === 0) {\n    to = messageBuffer.size();\n  }\n\n  if (from && from >= 1 && to <= MAX_BUFFER) {\n    let i: number = from;\n    for (from; i <= to; i++) {\n      const messageBySequence: Message | null = messageBuffer.getByMsgSequence(i);\n      if (messageBySequence) {\n        messageBySequence.removeFieldByTag(FieldType.PossDupFlag);\n        messageBySequence.addField(new Field(FieldType.PossDupFlag, 'Y'));\n\n        if (messageBySequence.getField(FieldType.SendingTime)) {\n          const originalSendingTime: string = `${messageBySequence.getField(FieldType.SendingTime)?.value}`;\n          messageBySequence.removeFieldByTag(FieldType.SendingTime);\n          messageBySequence.addField(\n            new Field(FieldType.SendingTime, parser.getTimestamp(new Date()))\n          );\n\n          messageBySequence.removeFieldByTag(FieldType.OrigSendingTime);\n          messageBySequence.addField(\n            new Field(FieldType.OrigSendingTime, originalSendingTime)\n          );\n        }\n        parser.send(messageBySequence);\n      } else {\n        parser.logger.logWarning({\n          message: `${\n            parser.parserName\n          } (${parser.protocol?.toUpperCase()}): -- Could not find message with sequence ${i}`,\n        });\n      }\n    }\n    parser.logger.log({\n      level: 'info',\n      message: `${parser.parserName} (${parser.protocol?.toUpperCase()}): >> sent Logon acknowledge`,\n    });\n  } else {\n    parser.logger.logWarning({\n      message: `${parser.parserName} (${parser.protocol?.toUpperCase()}): -- BeginSeqNo or EndSeqNo out of range`,\n    });\n  }\n};\n", "import type { IFIXParser } from '../IFIXParser';\nimport { Field as FieldType } from '../fieldtypes/Field';\nimport type { Message } from '../message/Message';\n\nexport const handleSequenceReset = (parser: IFIXParser, message: Message): void => {\n  const newSeqNo: number = message.getField(FieldType.NewSeqNo)?.value as number;\n  if (newSeqNo && Number.isFinite(newSeqNo)) {\n    parser.logger.log({\n      level: 'info',\n      message: `${\n        parser.parserName\n      } (${parser.protocol?.toUpperCase()}): -- SequenceReset: new sequence number ${newSeqNo}`,\n    });\n    if (parser.parserName === 'FIXServer') {\n      parser.setNextTargetMsgSeqNum(newSeqNo);\n    } else {\n      parser.nextNumIn = Number(newSeqNo);\n    }\n  }\n};\n", "import type { IFIXParser } from '../IFIXParser';\nimport { Field } from '../fields/Field';\nimport { Field as FieldType } from '../fieldtypes/Field';\nimport type { Message } from '../message/Message';\nimport { heartBeat } from '../messagetemplates/MessageTemplates';\n\nexport const handleTestRequest = (parser: IFIXParser, message: Message): void => {\n  let heartBeatMessage: Message = heartBeat(parser);\n  const testReqIdValue: string | null = message.getField(FieldType.TestReqID)\n    ? String(message.getField(FieldType.TestReqID)?.value)\n    : null;\n  if (testReqIdValue) {\n    const testReqId: Field = new Field(FieldType.TestReqID, testReqIdValue);\n    heartBeatMessage = heartBeat(parser, testReqId);\n    parser.send(heartBeatMessage);\n    parser.logger.log({\n      level: 'info',\n      message: `${\n        parser.parserName\n      } (${parser.protocol?.toUpperCase()}): >> responded to TestRequest with Heartbeat<TestReqID=${testReqIdValue}>`,\n    });\n  } else {\n    parser.send(heartBeatMessage);\n    parser.logger.log({\n      level: 'info',\n      message: `${parser.parserName} (${parser.protocol?.toUpperCase()}): >> responded to TestRequest with Heartbeat`,\n    });\n  }\n};\n", "import type { FIXParser } from '../FIXParser';\nimport type { FIXParser as FIXParserBrowser } from '../FIXParserBrowser';\nimport { Message as MessageType } from '../fieldtypes/Message';\nimport type { Message } from '../message/Message';\nimport { handleLogon } from './SessionLogon';\nimport { handleLogout } from './SessionLogout';\nimport { handleResendRequest } from './SessionResendRequest';\nimport { handleSequenceReset } from './SessionSequenceReset';\nimport { handleTestRequest } from './SessionTestRequest';\n\nexport const clientProcessMessage = (\n  parser: FIXParser | FIXParserBrowser,\n  message: Message\n): void => {\n  parser.nextNumIn++;\n  if (\n    message.messageSequence !== parser.nextNumIn &&\n    message.messageType !== MessageType.SequenceReset &&\n    message.messageType !== MessageType.Logon\n  ) {\n    parser.logger.logWarning({\n      message: `FIXParser (${parser.protocol?.toUpperCase()}): -- Expected MsgSeqNum ${parser.nextNumIn}, but got ${\n        message.messageSequence\n      }`,\n    });\n  }\n  parser.logger.log({\n    level: 'info',\n    message: `FIXParser (${parser.protocol?.toUpperCase()}): << received ${message.description}`,\n    fix: message.encode('|'),\n  });\n  parser.restartHeartbeat();\n\n  if (message.messageType === MessageType.SequenceReset) {\n    handleSequenceReset(parser, message);\n  } else if (message.messageType === MessageType.TestRequest) {\n    handleTestRequest(parser, message);\n  } else if (message.messageType === MessageType.Logon) {\n    handleLogon(parser, parser.messageBufferOut, message);\n  } else if (message.messageType === MessageType.Logout) {\n    handleLogout(parser, message);\n  } else if (message.messageType === MessageType.ResendRequest) {\n    handleResendRequest(parser, parser.messageBufferOut, message);\n  }\n};\n", "import { Transform, type TransformCallback, type TransformOptions } from 'node:stream';\n\nexport class FrameDecoder extends Transform {\n  public data: string | null;\n\n  constructor(opts?: TransformOptions) {\n    super(opts);\n    this.data = '';\n  }\n\n  public override _transform(\n    chunk: string,\n    encoding: string,\n    callback: TransformCallback\n  ): void {\n    const chunks: string[] = (String(this.data) + chunk).split(\n      /(8=.+?\\x0110=\\d\\d\\d\\x01)/gs\n    );\n    let i = 0;\n    for (i; i < chunks.length - 1; i++) {\n      this.push(chunks[i]);\n    }\n    this.data = chunks[chunks.length - 1];\n    callback();\n  }\n\n  public override destroy(error?: Error) {\n    this.data = null;\n    return super.destroy(error);\n  }\n}\n", "import validate from './validate.js';\nconst byteToHex = [];\nfor (let i = 0; i < 256; ++i) {\n    byteToHex.push((i + 0x100).toString(16).slice(1));\n}\nexport function unsafeStringify(arr, offset = 0) {\n    return (byteToHex[arr[offset + 0]] +\n        byteToHex[arr[offset + 1]] +\n        byteToHex[arr[offset + 2]] +\n        byteToHex[arr[offset + 3]] +\n        '-' +\n        byteToHex[arr[offset + 4]] +\n        byteToHex[arr[offset + 5]] +\n        '-' +\n        byteToHex[arr[offset + 6]] +\n        byteToHex[arr[offset + 7]] +\n        '-' +\n        byteToHex[arr[offset + 8]] +\n        byteToHex[arr[offset + 9]] +\n        '-' +\n        byteToHex[arr[offset + 10]] +\n        byteToHex[arr[offset + 11]] +\n        byteToHex[arr[offset + 12]] +\n        byteToHex[arr[offset + 13]] +\n        byteToHex[arr[offset + 14]] +\n        byteToHex[arr[offset + 15]]).toLowerCase();\n}\nfunction stringify(arr, offset = 0) {\n    const uuid = unsafeStringify(arr, offset);\n    if (!validate(uuid)) {\n        throw TypeError('Stringified UUID is invalid');\n    }\n    return uuid;\n}\nexport default stringify;\n", "import { randomFillSync } from 'crypto';\nconst rnds8Pool = new Uint8Array(256);\nlet poolPtr = rnds8Pool.length;\nexport default function rng() {\n    if (poolPtr > rnds8Pool.length - 16) {\n        randomFillSync(rnds8Pool);\n        poolPtr = 0;\n    }\n    return rnds8Pool.slice(poolPtr, (poolPtr += 16));\n}\n", "import { randomUUID } from 'crypto';\nexport default { randomUUID };\n", "import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\nfunction v4(options, buf, offset) {\n    if (native.randomUUID && !buf && !options) {\n        return native.randomUUID();\n    }\n    options = options || {};\n    const rnds = options.random || (options.rng || rng)();\n    rnds[6] = (rnds[6] & 0x0f) | 0x40;\n    rnds[8] = (rnds[8] & 0x3f) | 0x80;\n    if (buf) {\n        offset = offset || 0;\n        for (let i = 0; i < 16; ++i) {\n            buf[offset + i] = rnds[i];\n        }\n        return buf;\n    }\n    return unsafeStringify(rnds);\n}\nexport default v4;\n", "import { v4 as uuidv4 } from 'uuid';\n\nexport type Format = 'console' | 'json';\nexport type Level = 'info' | 'warn' | 'error' | 'silent';\nexport type LogMessage = {\n  level: Level;\n  message: string;\n  [key: string]: unknown;\n};\nexport type LogOptions = {\n  name?: string;\n  id?: string | undefined;\n  level?: Level;\n  format?: Format;\n};\n\nconst shouldLog = (message: LogMessage, level: Level): boolean => {\n  if (level === 'error' && message.level === 'error') {\n    return true;\n  }\n  if (level === 'warn' && (message.level === 'error' || message.level === 'warn')) {\n    return true;\n  }\n  return (\n    level === 'info' &&\n    (message.level === 'error' || message.level === 'warn' || message.level === 'info')\n  );\n};\n\nconst formatters = {\n  console: (msg: LogMessage, logger: Logger): Logger => {\n    const { name, id, message, level, ...additionalProperties } = msg;\n    const kv = Array.from(\n      Object.entries(additionalProperties),\n      ([key, value]) => `${key}: ${value}`\n    );\n    console.log(`${logger.name} ${logger.id}: ${msg.message}`, kv.join(', '));\n    return logger;\n  },\n  json: (msg: LogMessage, logger: Logger): Logger => {\n    console.log(JSON.stringify(msg));\n    return logger;\n  },\n};\n\nexport class Logger {\n  public name = '';\n  public id: string;\n  private format: Format;\n  private level: Level;\n  private enabled = true;\n\n  constructor(options?: LogOptions) {\n    this.name = options?.name || '';\n    this.id = options?.id || uuidv4();\n    this.format = options?.format || 'json';\n    this.level = options?.level || 'info';\n  }\n\n  private processMessage(msg: LogMessage): Logger {\n    if (this.level === 'silent' || !this.enabled) return this;\n\n    if (!shouldLog(msg, this.level)) {\n      return this;\n    }\n\n    const processedMessage = {\n      name: this.name,\n      id: this.id,\n      timestamp: Date.now(),\n      ...msg,\n    };\n\n    if (this.format === 'json') {\n      return formatters.json(processedMessage, this);\n    }\n    if (this.format === 'console') {\n      return formatters.console(processedMessage, this);\n    }\n    return this;\n  }\n\n  public log(msg: LogMessage): Logger {\n    return this.processMessage({\n      ...msg,\n      level: msg.level ? msg.level : ('info' as Level),\n    });\n  }\n\n  public logWarning(msg: Omit<LogMessage, 'level'>): Logger {\n    return this.processMessage({ ...msg, level: 'warn' as Level } as LogMessage);\n  }\n\n  public logError(msg: Omit<LogMessage, 'level'>): Logger {\n    return this.processMessage({ ...msg, level: 'error' as Level } as LogMessage);\n  }\n\n  public set silent(silent: boolean) {\n    if (silent) {\n      this.level = 'silent';\n    } else {\n      this.level = 'info';\n    }\n  }\n}\n"],
  "mappings": "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A;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAA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A,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,UAAU;AAAA,MACR;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,MACT;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,aACE;AAAA,MACJ;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,cAAc;AAAA,MACZ;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,aACE;AAAA,EACJ;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OAAO;AAAA,IACP,MAAM;AAAA,IACN,IAAI;AAAA,IACJ,UAAU;AAAA,IACV,UAAU;AAAA,MACR;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,MACT;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,MACT;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,MACT;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,MACT;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,MACT;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,MACT;AAAA,IACF;AAAA,IACA,aACE;AAAA,EACJ;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,WAAW;AAAA,IACX,UAAU;AAAA,IACV,OAAO;AAAA,IACP,MAAM;AAAA,IACN,IAAI;AAAA,IACJ,UAAU;AAAA,IACV,UAAU;AAAA,MACR;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,UAAU;AAAA,MACZ;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,UAAU;AAAA,MACZ;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,UAAU;AAAA,MACZ;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,UAAU;AAAA,MACZ;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,UAAU;AAAA,MACZ;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,MACT;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,MACT;AAAA,MACA;AAAA,QACE,cAAc;AAAA,QACd,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,WAAW;AAAA,QACX,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,cAAc;AAAA,QACd,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,WAAW;AAAA,QACX,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,UAAU;AAAA,MACZ;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,MACT;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,MACT;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,MACT;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,MACT;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,MACT;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,MACT;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,MACT;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,MACT;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,MACT;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,MACT;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,UAAU;AAAA,MACZ;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,MACT;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,MACT;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,aACE;AAAA,MACJ;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,MACT;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,MACT;AAAA,IACF;AAAA,IACA,UAAU;AAAA,MACR;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,OAAO;AAAA,IACP,MAAM;AAAA,IACN,IAAI;AAAA,IACJ,UAAU;AAAA,IACV,UAAU;AAAA,MACR;AAAA,QACE,cAAc;AAAA,QACd,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,WAAW;AAAA,QACX,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,cAAc;AAAA,QACd,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,WAAW;AAAA,QACX,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,UAAU;AAAA,IACV,OAAO;AAAA,IACP,MAAM;AAAA,IACN,IAAI;AAAA,IACJ,UAAU;AAAA,IACV,UAAU;AAAA,MACR;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,aACE;AAAA,EACJ;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,UAAU;AAAA,IACV,OAAO;AAAA,IACP,MAAM;AAAA,IACN,IAAI;AAAA,IACJ,UAAU;AAAA,IACV,UAAU;AAAA,MACR;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,aACE;AAAA,EACJ;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,UAAU;AAAA,IACV,OAAO;AAAA,IACP,MAAM;AAAA,IACN,IAAI;AAAA,IACJ,UAAU;AAAA,IACV,cAAc;AAAA,MACZ;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,UAAU;AAAA,MACR;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,aACE;AAAA,EACJ;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,WAAW;AAAA,IACX,UAAU;AAAA,IACV,OAAO;AAAA,IACP,MAAM;AAAA,IACN,IAAI;AAAA,IACJ,UAAU;AAAA,IACV,UAAU;AAAA,MACR;AAAA,QACE,SAAS;AAAA,QACT,SAAS;AAAA,QACT,WAAW;AAAA,QACX,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,SAAS;AAAA,QACT,WAAW;AAAA,QACX,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,SAAS;AAAA,QACT,WAAW;AAAA,QACX,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,IACF;AAAA,IACA,aACE;AAAA,EACJ;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,UAAU;AAAA,IACV,OAAO;AAAA,IACP,MAAM;AAAA,IACN,IAAI;AAAA,IACJ,UAAU;AAAA,IACV,UAAU;AAAA,MACR;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,UAAU;AAAA,IACV,OAAO;AAAA,IACP,MAAM;AAAA,IACN,IAAI;AAAA,IACJ,UAAU;AAAA,IACV,UAAU;AAAA,MACR;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,UAAU;AAAA,IACV,OAAO;AAAA,IACP,MAAM;AAAA,IACN,IAAI;AAAA,IACJ,UAAU;AAAA,IACV,UAAU;AAAA,MACR;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,SAAS;AAAA,QACT,WAAW;AAAA,QACX,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,SAAS;AAAA,QACT,WAAW;AAAA,QACX,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,SAAS;AAAA,QACT,WAAW;AAAA,QACX,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,SAAS;AAAA,QACT,WAAW;AAAA,QACX,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,IACF;AAAA,IACA,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,WAAW;AAAA,IACX,UAAU;AAAA,IACV,OAAO;AAAA,IACP,MAAM;AAAA,IACN,IAAI;AAAA,IACJ,UAAU;AAAA,IACV,UAAU;AAAA,MACR;AAAA,QACE,SAAS;AAAA,QACT,SAAS;AAAA,QACT,WAAW;AAAA,QACX,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,cAAc;AAAA,MACZ;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,UAAU;AAAA,MACR;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,SAAS;AAAA,QACT,WAAW;AAAA,QACX,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,SAAS;AAAA,QACT,WAAW;AAAA,QACX,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,SAAS;AAAA,QACT,WAAW;AAAA,QACX,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,SAAS;AAAA,QACT,WAAW;AAAA,QACX,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,SAAS;AAAA,QACT,WAAW;AAAA,QACX,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,SAAS;AAAA,QACT,WAAW;AAAA,QACX,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,SAAS;AAAA,QACT,WAAW;AAAA,QACX,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,SAAS;AAAA,QACT,WAAW;AAAA,QACX,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,SAAS;AAAA,QACT,WAAW;AAAA,QACX,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,aACE;AAAA,EACJ;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,UAAU;AAAA,IACV,OAAO;AAAA,IACP,MAAM;AAAA,IACN,IAAI;AAAA,IACJ,UAAU;AAAA,IACV,UAAU;AAAA,MACR;AAAA,QACE,SAAS;AAAA,QACT,SAAS;AAAA,QACT,WAAW;AAAA,QACX,OAAO;AAAA,QACP,IAAI;AAAA,QACJ,aACE;AAAA,MACJ;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,SAAS;AAAA,QACT,WAAW;AAAA,QACX,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,SAAS;AAAA,QACT,WAAW;AAAA,QACX,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,SAAS;AAAA,QACT,WAAW;AAAA,QACX,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,SAAS;AAAA,QACT,WAAW;AAAA,QACX,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,SAAS;AAAA,QACT,WAAW;AAAA,QACX,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,SAAS;AAAA,QACT,WAAW;AAAA,QACX,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,QACT,aACE;AAAA,MACJ;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,SAAS;AAAA,QACT,WAAW;AAAA,QACX,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,SAAS;AAAA,QACT,WAAW;AAAA,QACX,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,SAAS;AAAA,QACT,WAAW;AAAA,QACX,OAAO;AAAA,QACP,IAAI;AAAA,QACJ,aACE;AAAA,MACJ;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,SAAS;AAAA,QACT,WAAW;AAAA,QACX,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,SAAS;AAAA,QACT,WAAW;AAAA,QACX,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,SAAS;AAAA,QACT,WAAW;AAAA,QACX,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,SAAS;AAAA,QACT,WAAW;AAAA,QACX,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,SAAS;AAAA,QACT,WAAW;AAAA,QACX,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,SAAS;AAAA,QACT,WAAW;AAAA,QACX,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,SAAS;AAAA,QACT,WAAW;AAAA,QACX,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,SAAS;AAAA,QACT,WAAW;AAAA,QACX,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,SAAS;AAAA,QACT,WAAW;AAAA,QACX,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,SAAS;AAAA,QACT,WAAW;AAAA,QACX,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,SAAS;AAAA,QACT,WAAW;AAAA,QACX,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,SAAS;AAAA,QACT,WAAW;AAAA,QACX,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,SAAS;AAAA,QACT,WAAW;AAAA,QACX,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,SAAS;AAAA,QACT,WAAW;AAAA,QACX,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,SAAS;AAAA,QACT,WAAW;AAAA,QACX,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,SAAS;AAAA,QACT,WAAW;AAAA,QACX,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,SAAS;AAAA,QACT,WAAW;AAAA,QACX,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,SAAS;AAAA,QACT,WAAW;AAAA,QACX,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,SAAS;AAAA,QACT,WAAW;AAAA,QACX,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,SAAS;AAAA,QACT,WAAW;AAAA,QACX,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,SAAS;AAAA,QACT,WAAW;AAAA,QACX,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,SAAS;AAAA,QACT,WAAW;AAAA,QACX,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,SAAS;AAAA,QACT,WAAW;AAAA,QACX,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,SAAS;AAAA,QACT,WAAW;AAAA,QACX,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,SAAS;AAAA,QACT,WAAW;AAAA,QACX,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,SAAS;AAAA,QACT,WAAW;AAAA,QACX,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,SAAS;AAAA,QACT,WAAW;AAAA,QACX,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,SAAS;AAAA,QACT,WAAW;AAAA,QACX,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,SAAS;AAAA,QACT,WAAW;AAAA,QACX,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,UAAU;AAAA,MACR;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,cAAc;AAAA,MACZ;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,UAAU;AAAA,IACV,OAAO;AAAA,IACP,MAAM;AAAA,IACN,IAAI;AAAA,IACJ,UAAU;AAAA,IACV,cAAc;AAAA,MACZ;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,UAAU;AAAA,MACR;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,UAAU;AAAA,IACV,OAAO;AAAA,IACP,MAAM;AAAA,IACN,IAAI;AAAA,IACJ,UAAU;AAAA,IACV,UAAU;AAAA,MACR;AAAA,QACE,SAAS;AAAA,QACT,SAAS;AAAA,QACT,WAAW;AAAA,QACX,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,SAAS;AAAA,QACT,WAAW;AAAA,QACX,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,SAAS;AAAA,QACT,WAAW;AAAA,QACX,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,IACF;AAAA,IACA,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,cAAc;AAAA,IACd,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,SAAS;AAAA,IACT,WAAW;AAAA,IACX,UAAU;AAAA,IACV,OAAO;AAAA,IACP,MAAM;AAAA,IACN,IAAI;AAAA,IACJ,UAAU;AAAA,IACV,UAAU;AAAA,MACR;AAAA,QACE,cAAc;AAAA,QACd,YAAY;AAAA,QACZ,SAAS;AAAA,QACT,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,cAAc;AAAA,QACd,YAAY;AAAA,QACZ,SAAS;AAAA,QACT,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,cAAc;AAAA,QACd,YAAY;AAAA,QACZ,SAAS;AAAA,QACT,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,cAAc;AAAA,QACd,YAAY;AAAA,QACZ,SAAS;AAAA,QACT,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,cAAc;AAAA,QACd,YAAY;AAAA,QACZ,SAAS;AAAA,QACT,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,cAAc;AAAA,QACd,YAAY;AAAA,QACZ,SAAS;AAAA,QACT,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,cAAc;AAAA,QACd,YAAY;AAAA,QACZ,SAAS;AAAA,QACT,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,cAAc;AAAA,QACd,YAAY;AAAA,QACZ,SAAS;AAAA,QACT,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,cAAc;AAAA,QACd,YAAY;AAAA,QACZ,SAAS;AAAA,QACT,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,cAAc;AAAA,QACd,YAAY;AAAA,QACZ,SAAS;AAAA,QACT,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,cAAc;AAAA,QACd,YAAY;AAAA,QACZ,SAAS;AAAA,QACT,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,cAAc;AAAA,QACd,YAAY;AAAA,QACZ,SAAS;AAAA,QACT,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,cAAc;AAAA,QACd,YAAY;AAAA,QACZ,SAAS;AAAA,QACT,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,cAAc;AAAA,QACd,YAAY;AAAA,QACZ,SAAS;AAAA,QACT,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,cAAc;AAAA,QACd,YAAY;AAAA,QACZ,SAAS;AAAA,QACT,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,IACF;AAAA,IACA,UAAU;AAAA,MACR;AAAA,QACE,cAAc;AAAA,QACd,YAAY;AAAA,QACZ,SAAS;AAAA,QACT,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,IACF;AAAA,IACA,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,UAAU;AAAA,IACV,OAAO;AAAA,IACP,MAAM;AAAA,IACN,IAAI;AAAA,IACJ,UAAU;AAAA,IACV,UAAU;AAAA,MACR;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,aACE;AAAA,EACJ;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,UAAU;AAAA,IACV,OAAO;AAAA,IACP,MAAM;AAAA,IACN,IAAI;AAAA,IACJ,UAAU;AAAA,IACV,UAAU;AAAA,MACR;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,SAAS;AAAA,QACT,WAAW;AAAA,QACX,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,SAAS;AAAA,QACT,WAAW;AAAA,QACX,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,SAAS;AAAA,QACT,WAAW;AAAA,QACX,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,UAAU;AAAA,MACR;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,cAAc;AAAA,MACZ;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,WAAW;AAAA,IACX,UAAU;AAAA,IACV,OAAO;AAAA,IACP,MAAM;AAAA,IACN,IAAI;AAAA,IACJ,UAAU;AAAA,IACV,UAAU;AAAA,MACR;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,SAAS;AAAA,QACT,WAAW;AAAA,QACX,OAAO;AAAA,QACP,IAAI;AAAA,MACN;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,UAAU;AAAA,MACR;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,UAAU;AAAA,IACV,OAAO;AAAA,IACP,MAAM;AAAA,IACN,IAAI;AAAA,IACJ,UAAU;AAAA,IACV,UAAU;AAAA,MACR;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,UAAU;AAAA,IACV,OAAO;AAAA,IACP,MAAM;AAAA,IACN,IAAI;AAAA,IACJ,UAAU;AAAA,IACV,UAAU;AAAA,MACR;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,aACE;AAAA,EACJ;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,UAAU;AAAA,IACV,OAAO;AAAA,IACP,MAAM;AAAA,IACN,IAAI;AAAA,IACJ,UAAU;AAAA,IACV,UAAU;AAAA,MACR;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,aACE;AAAA,EACJ;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,UAAU;AAAA,IACV,OAAO;AAAA,IACP,MAAM;AAAA,IACN,IAAI;AAAA,IACJ,UAAU;AAAA,IACV,UAAU;AAAA,MACR;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAA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S;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QAC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A;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAA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O;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QAC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X;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAA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A,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAA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A;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,UAAU;AAAA,MACR;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,aACE;AAAA,EACJ;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,UAAU;AAAA,IACV,OAAO;AAAA,IACP,MAAM;AAAA,IACN,IAAI;AAAA,IACJ,UAAU;AAAA,IACV,UAAU;AAAA,MACR;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,UAAU;AAAA,MACR;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,aACE;AAAA,EACJ;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,UAAU;AAAA,IACV,OAAO;AAAA,IACP,MAAM;AAAA,IACN,IAAI;AAAA,IACJ,UAAU;AAAA,IACV,UAAU;AAAA,MACR;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,UAAU;AAAA,MACR;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,aACE;AAAA,EACJ;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,UAAU;AAAA,IACV,OAAO;AAAA,IACP,MAAM;AAAA,IACN,IAAI;AAAA,IACJ,UAAU;AAAA,IACV,UAAU;AAAA,MACR;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,UAAU;AAAA,MACR;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,aACE;AAAA,EACJ;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,WAAW;AAAA,IACX,UAAU;AAAA,IACV,OAAO;AAAA,IACP,MAAM;AAAA,IACN,IAAI;AAAA,IACJ,UAAU;AAAA,IACV,UAAU;AAAA,MACR;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,cAAc;AAAA,MACZ;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,aACE;AAAA,EACJ;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,UAAU;AAAA,IACV,OAAO;AAAA,IACP,MAAM;AAAA,IACN,IAAI;AAAA,IACJ,UAAU;AAAA,IACV,UAAU;AAAA,MACR;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,UAAU;AAAA,MACR;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,aACE;AAAA,EACJ;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,WAAW;AAAA,IACX,UAAU;AAAA,IACV,OAAO;AAAA,IACP,MAAM;AAAA,IACN,IAAI;AAAA,IACJ,UAAU;AAAA,IACV,UAAU;AAAA,MACR;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,UAAU;AAAA,MACR;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,aACE;AAAA,EACJ;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,SAAS;AAAA,IACT,WAAW;AAAA,IACX,UAAU;AAAA,IACV,OAAO;AAAA,IACP,MAAM;AAAA,IACN,IAAI;AAAA,IACJ,UAAU;AAAA,IACV,UAAU;AAAA,MACR;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,UAAU;AAAA,MACR;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,aACE;AAAA,EACJ;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,UAAU;AAAA,IACV,OAAO;AAAA,IACP,MAAM;AAAA,IACN,IAAI;AAAA,IACJ,UAAU;AAAA,IACV,UAAU;AAAA,MACR;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,UAAU;AAAA,MACR;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,aACE;AAAA,EACJ;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,UAAU;AAAA,IACV,OAAO;AAAA,IACP,MAAM;AAAA,IACN,IAAI;AAAA,IACJ,UAAU;AAAA,IACV,UAAU;AAAA,MACR;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,UAAU;AAAA,MACR;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,aACE;AAAA,EACJ;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,UAAU;AAAA,IACV,OAAO;AAAA,IACP,MAAM;AAAA,IACN,IAAI;AAAA,IACJ,UAAU;AAAA,IACV,UAAU;AAAA,MACR;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAA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O;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAA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E,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,IAAI;AAAA,QACJ,OAAO;AAAA,QAC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A;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAAAC;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAAC;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACMO,IAAK,UAAL,kBAAKC,aAAL;AAEL,EAAAA,SAAA,SAAM;AAEN,EAAAA,SAAA,UAAO;AAEP,EAAAA,SAAA,WAAQ;AAER,EAAAA,SAAA,WAAQ;AARE,SAAAA;AAAA,GAAA;;;ACAL,IAAK,eAAL,kBAAKC,kBAAL;AAEL,EAAAA,cAAA,SAAM;AAEN,EAAAA,cAAA,YAAS;AAET,EAAAA,cAAA,aAAU;AANA,SAAAA;AAAA,GAAA;;;ACAL,IAAK,cAAL,kBAAKC,iBAAL;AAEL,EAAAA,aAAA,WAAQ;AAER,EAAAA,aAAA,WAAQ;AACR,EAAAA,aAAA,YAAS;AALC,SAAAA;AAAA,GAAA;;;ACAL,IAAK,WAAL,kBAAKC,cAAL;AACL,EAAAA,UAAA,aAAU;AAEV,EAAAA,UAAA,aAAU;AACV,EAAAA,UAAA,cAAW;AACX,EAAAA,UAAA,kCAA+B;AAC/B,EAAAA,UAAA,mCAAgC;AAChC,EAAAA,UAAA,6BAA0B;AAC1B,EAAAA,UAAA,iBAAc;AACd,EAAAA,UAAA,uBAAoB;AATV,SAAAA;AAAA,GAAA;;;ACAL,IAAK,WAAL,kBAAKC,cAAL;AAEL,EAAAA,UAAA,qBAAkB;AAElB,EAAAA,UAAA,aAAU;AAEV,EAAAA,UAAA,UAAO;AAEP,EAAAA,UAAA,aAAU;AAEV,EAAAA,UAAA,gBAAa;AAEb,EAAAA,UAAA,UAAO;AAEP,EAAAA,UAAA,8BAA2B;AAE3B,EAAAA,UAAA,iBAAc;AAEd,EAAAA,UAAA,gBAAa;AAEb,EAAAA,UAAA,mBAAgB;AAChB,EAAAA,UAAA,aAAU;AAEV,EAAAA,UAAA,eAAY;AAEZ,EAAAA,UAAA,eAAY;AACZ,EAAAA,UAAA,qBAAkB;AAElB,EAAAA,UAAA,mBAAgB;AAEhB,EAAAA,UAAA,iBAAc;AAEd,EAAAA,UAAA,eAAY;AACZ,EAAAA,UAAA,8BAA2B;AAE3B,EAAAA,UAAA,sBAAmB;AACnB,EAAAA,UAAA,4BAAyB;AACzB,EAAAA,UAAA,yBAAsB;AAEtB,EAAAA,UAAA,aAAU;AAEV,EAAAA,UAAA,iBAAc;AAEd,EAAAA,UAAA,mBAAgB;AAEhB,EAAAA,UAAA,gBAAa;AAEb,EAAAA,UAAA,eAAY;AACZ,EAAAA,UAAA,2BAAwB;AACxB,EAAAA,UAAA,gBAAa;AAEb,EAAAA,UAAA,aAAU;AAEV,EAAAA,UAAA,gDAA6C;AAC7C,EAAAA,UAAA,gCAA6B;AAE7B,EAAAA,UAAA,aAAU;AAEV,EAAAA,UAAA,eAAY;AAEZ,EAAAA,UAAA,gBAAa;AAEb,EAAAA,UAAA,eAAY;AAEZ,EAAAA,UAAA,qBAAkB;AAElB,EAAAA,UAAA,qBAAkB;AAClB,EAAAA,UAAA,iBAAc;AAEd,EAAAA,UAAA,+BAA4B;AAE5B,EAAAA,UAAA,qBAAkB;AAElB,EAAAA,UAAA,0BAAuB;AAEvB,EAAAA,UAAA,sBAAmB;AAEnB,EAAAA,UAAA,4BAAyB;AAEzB,EAAAA,UAAA,+BAA4B;AAE5B,EAAAA,UAAA,mBAAgB;AAEhB,EAAAA,UAAA,2CAAwC;AAExC,EAAAA,UAAA,mBAAgB;AAChB,EAAAA,UAAA,4BAAyB;AACzB,EAAAA,UAAA,0BAAuB;AACvB,EAAAA,UAAA,+BAA4B;AAC5B,EAAAA,UAAA,4BAAyB;AACzB,EAAAA,UAAA,6BAA0B;AAC1B,EAAAA,UAAA,aAAU;AAEV,EAAAA,UAAA,2BAAwB;AAExB,EAAAA,UAAA,8BAA2B;AAE3B,EAAAA,UAAA,wBAAqB;AAErB,EAAAA,UAAA,+BAA4B;AAE5B,EAAAA,UAAA,+BAA4B;AAC5B,EAAAA,UAAA,UAAO;AAEP,EAAAA,UAAA,+BAA4B;AAC5B,EAAAA,UAAA,gBAAa;AACb,EAAAA,UAAA,uBAAoB;AA1GV,SAAAA;AAAA,GAAA;;;ACAL,IAAK,YAAL,kBAAKC,eAAL;AAEL,EAAAA,WAAA,sCAAmC;AAEnC,EAAAA,WAAA,sCAAmC;AAEnC,EAAAA,WAAA,iBAAc;AANJ,SAAAA;AAAA,GAAA;;;ACAL,IAAK,mBAAL,kBAAKC,sBAAL;AAEL,EAAAA,kBAAA,WAAQ;AAER,EAAAA,kBAAA,WAAQ;AAER,EAAAA,kBAAA,UAAO;AAEP,EAAAA,kBAAA,gBAAa;AAEb,EAAAA,kBAAA,aAAU;AAEV,EAAAA,kBAAA,qBAAkB;AAElB,EAAAA,kBAAA,oBAAiB;AAEjB,EAAAA,kBAAA,oBAAiB;AAEjB,EAAAA,kBAAA,iCAA8B;AAE9B,EAAAA,kBAAA,qBAAkB;AAElB,EAAAA,kBAAA,gBAAa;AAEb,EAAAA,kBAAA,WAAQ;AAER,EAAAA,kBAAA,aAAU;AAEV,EAAAA,kBAAA,aAAU;AAEV,EAAAA,kBAAA,aAAU;AAEV,EAAAA,kBAAA,YAAS;AAET,EAAAA,kBAAA,mBAAgB;AAEhB,EAAAA,kBAAA,2BAAwB;AAExB,EAAAA,kBAAA,mCAAgC;AAEhC,EAAAA,kBAAA,iBAAc;AAEd,EAAAA,kBAAA,oBAAiB;AAEjB,EAAAA,kBAAA,mCAAgC;AAEhC,EAAAA,kBAAA,yBAAsB;AAEtB,EAAAA,kBAAA,uBAAoB;AAEpB,EAAAA,kBAAA,uBAAoB;AAEpB,EAAAA,kBAAA,iCAA8B;AAC9B,EAAAA,kBAAA,yCAAsC;AAEtC,EAAAA,kBAAA,2BAAwB;AACxB,EAAAA,kBAAA,eAAY;AAEZ,EAAAA,kBAAA,+BAA4B;AAC5B,EAAAA,kBAAA,eAAY;AAEZ,EAAAA,kBAAA,mBAAgB;AAEhB,EAAAA,kBAAA,4BAAyB;AA/Df,SAAAA;AAAA,GAAA;;;ACAL,IAAK,aAAL,kBAAKC,gBAAL;AAEL,EAAAA,YAAA,UAAO;AAEP,EAAAA,YAAA,SAAM;AAEN,EAAAA,YAAA,YAAS;AANC,SAAAA;AAAA,GAAA;;;ACAL,IAAK,SAAL,kBAAKC,YAAL;AAEL,EAAAA,QAAA,WAAQ;AAER,EAAAA,QAAA,YAAS;AAET,EAAAA,QAAA,WAAQ;AAER,EAAAA,QAAA,yBAAsB;AARZ,SAAAA;AAAA,GAAA;;;ACAL,IAAK,eAAL,kBAAKC,kBAAL;AAEL,EAAAA,cAAA,SAAM;AAEN,EAAAA,cAAA,YAAS;AAET,EAAAA,cAAA,aAAU;AANA,SAAAA;AAAA,GAAA;;;ACAL,IAAK,eAAL,kBAAKC,kBAAL;AAEL,EAAAA,cAAA,WAAQ;AAER,EAAAA,cAAA,kBAAe;AAEf,EAAAA,cAAA,sBAAmB;AAEnB,EAAAA,cAAA,eAAY;AAEZ,EAAAA,cAAA,uBAAoB;AAVV,SAAAA;AAAA,GAAA;;;ACNL,IAAK,UAAL,kBAAKC,aAAL;AACL,EAAAA,SAAA,eAAY;AACZ,EAAAA,SAAA,iBAAc;AACd,EAAAA,SAAA,mBAAgB;AAChB,EAAAA,SAAA,YAAS;AACT,EAAAA,SAAA,mBAAgB;AAChB,EAAAA,SAAA,YAAS;AACT,EAAAA,SAAA,SAAM;AACN,EAAAA,SAAA,mBAAgB;AAChB,EAAAA,SAAA,qBAAkB;AAClB,EAAAA,SAAA,uBAAoB;AACpB,EAAAA,SAAA,WAAQ;AACR,EAAAA,SAAA,UAAO;AACP,EAAAA,SAAA,WAAQ;AACR,EAAAA,SAAA,oBAAiB;AACjB,EAAAA,SAAA,kBAAe;AACf,EAAAA,SAAA,wBAAqB;AACrB,EAAAA,SAAA,+BAA4B;AAC5B,EAAAA,SAAA,wBAAqB;AACrB,EAAAA,SAAA,2BAAwB;AACxB,EAAAA,SAAA,uBAAoB;AACpB,EAAAA,SAAA,iBAAc;AACd,EAAAA,SAAA,uBAAoB;AACpB,EAAAA,SAAA,gBAAa;AACb,EAAAA,SAAA,8BAA2B;AAC3B,EAAAA,SAAA,mBAAgB;AAChB,EAAAA,SAAA,kBAAe;AACf,EAAAA,SAAA,WAAQ;AACR,EAAAA,SAAA,4BAAyB;AACzB,EAAAA,SAAA,uBAAoB;AACpB,EAAAA,SAAA,mCAAgC;AAChC,EAAAA,SAAA,kCAA+B;AAC/B,EAAAA,SAAA,6BAA0B;AAC1B,EAAAA,SAAA,iBAAc;AACd,EAAAA,SAAA,wBAAqB;AACrB,EAAAA,SAAA,kBAAe;AACf,EAAAA,SAAA,+BAA4B;AAC5B,EAAAA,SAAA,wBAAqB;AACrB,EAAAA,SAAA,2BAAwB;AACxB,EAAAA,SAAA,oBAAiB;AACjB,EAAAA,SAAA,iCAA8B;AAC9B,EAAAA,SAAA,0BAAuB;AACvB,EAAAA,SAAA,eAAY;AACZ,EAAAA,SAAA,2BAAwB;AACxB,EAAAA,SAAA,gBAAa;AACb,EAAAA,SAAA,iBAAc;AACd,EAAAA,SAAA,qBAAkB;AAClB,EAAAA,SAAA,eAAY;AACZ,EAAAA,SAAA,8BAA2B;AAC3B,EAAAA,SAAA,sCAAmC;AACnC,EAAAA,SAAA,4BAAyB;AACzB,EAAAA,SAAA,2BAAwB;AACxB,EAAAA,SAAA,mBAAgB;AAChB,EAAAA,SAAA,oCAAiC;AACjC,EAAAA,SAAA,6BAA0B;AAC1B,EAAAA,SAAA,yBAAsB;AACtB,EAAAA,SAAA,mBAAgB;AAChB,EAAAA,SAAA,yBAAsB;AACtB,EAAAA,SAAA,kBAAe;AACf,EAAAA,SAAA,mCAAgC;AAChC,EAAAA,SAAA,4BAAyB;AACzB,EAAAA,SAAA,sBAAmB;AACnB,EAAAA,SAAA,gCAA6B;AAC7B,EAAAA,SAAA,+BAA4B;AAC5B,EAAAA,SAAA,wBAAqB;AACrB,EAAAA,SAAA,4BAAyB;AACzB,EAAAA,SAAA,wBAAqB;AACrB,EAAAA,SAAA,gBAAa;AACb,EAAAA,SAAA,uBAAoB;AACpB,EAAAA,SAAA,mBAAgB;AAChB,EAAAA,SAAA,kBAAe;AACf,EAAAA,SAAA,gCAA6B;AAC7B,EAAAA,SAAA,+BAA4B;AAC5B,EAAAA,SAAA,yBAAsB;AACtB,EAAAA,SAAA,4BAAyB;AACzB,EAAAA,SAAA,oBAAiB;AACjB,EAAAA,SAAA,kCAA+B;AAC/B,EAAAA,SAAA,2BAAwB;AACxB,EAAAA,SAAA,sBAAmB;AACnB,EAAAA,SAAA,yBAAsB;AACtB,EAAAA,SAAA,qBAAkB;AAClB,EAAAA,SAAA,kCAA+B;AAC/B,EAAAA,SAAA,sBAAmB;AACnB,EAAAA,SAAA,uBAAoB;AACpB,EAAAA,SAAA,0BAAuB;AACvB,EAAAA,SAAA,wBAAqB;AACrB,EAAAA,SAAA,sBAAmB;AACnB,EAAAA,SAAA,uBAAoB;AACpB,EAAAA,SAAA,4CAAyC;AACzC,EAAAA,SAAA,6CAA0C;AAC1C,EAAAA,SAAA,iBAAc;AACd,EAAAA,SAAA,kBAAe;AACf,EAAAA,SAAA,0BAAuB;AACvB,EAAAA,SAAA,yBAAsB;AACtB,EAAAA,SAAA,6BAA0B;AAC1B,EAAAA,SAAA,oCAAiC;AACjC,EAAAA,SAAA,8BAA2B;AAC3B,EAAAA,SAAA,4BAAyB;AACzB,EAAAA,SAAA,gCAA6B;AAC7B,EAAAA,SAAA,kBAAe;AACf,EAAAA,SAAA,wBAAqB;AACrB,EAAAA,SAAA,+BAA4B;AAC5B,EAAAA,SAAA,gCAA6B;AAC7B,EAAAA,SAAA,wCAAqC;AACrC,EAAAA,SAAA,oCAAiC;AACjC,EAAAA,SAAA,6BAA0B;AAC1B,EAAAA,SAAA,sBAAmB;AACnB,EAAAA,SAAA,kCAA+B;AAC/B,EAAAA,SAAA,+BAA4B;AAC5B,EAAAA,SAAA,kCAA+B;AAC/B,EAAAA,SAAA,8BAA2B;AAC3B,EAAAA,SAAA,2BAAwB;AACxB,EAAAA,SAAA,4BAAyB;AACzB,EAAAA,SAAA,sBAAmB;AACnB,EAAAA,SAAA,6BAA0B;AAC1B,EAAAA,SAAA,4BAAyB;AACzB,EAAAA,SAAA,+BAA4B;AAC5B,EAAAA,SAAA,6BAA0B;AAC1B,EAAAA,SAAA,4BAAyB;AACzB,EAAAA,SAAA,8BAA2B;AAC3B,EAAAA,SAAA,iCAA8B;AAC9B,EAAAA,SAAA,6BAA0B;AAC1B,EAAAA,SAAA,kCAA+B;AAC/B,EAAAA,SAAA,4BAAyB;AACzB,EAAAA,SAAA,2BAAwB;AACxB,EAAAA,SAAA,+BAA4B;AAC5B,EAAAA,SAAA,wBAAqB;AACrB,EAAAA,SAAA,0BAAuB;AACvB,EAAAA,SAAA,iCAA8B;AAC9B,EAAAA,SAAA,sCAAmC;AACnC,EAAAA,SAAA,yCAAsC;AACtC,EAAAA,SAAA,8BAA2B;AAC3B,EAAAA,SAAA,6BAA0B;AAC1B,EAAAA,SAAA,cAAW;AACX,EAAAA,SAAA,mCAAgC;AAChC,EAAAA,SAAA,sCAAmC;AACnC,EAAAA,SAAA,mCAAgC;AAChC,EAAAA,SAAA,wCAAqC;AACrC,EAAAA,SAAA,2CAAwC;AACxC,EAAAA,SAAA,sBAAmB;AACnB,EAAAA,SAAA,yBAAsB;AACtB,EAAAA,SAAA,8BAA2B;AAC3B,EAAAA,SAAA,gCAA6B;AAC7B,EAAAA,SAAA,mCAAgC;AAChC,EAAAA,SAAA,wBAAqB;AACrB,EAAAA,SAAA,uBAAoB;AACpB,EAAAA,SAAA,eAAY;AACZ,EAAAA,SAAA,kBAAe;AACf,EAAAA,SAAA,iCAA8B;AAC9B,EAAAA,SAAA,oCAAiC;AACjC,EAAAA,SAAA,4BAAyB;AACzB,EAAAA,SAAA,iCAA8B;AAC9B,EAAAA,SAAA,gCAA6B;AAC7B,EAAAA,SAAA,yBAAsB;AACtB,EAAAA,SAAA,sBAAmB;AACnB,EAAAA,SAAA,kBAAe;AACf,EAAAA,SAAA,qBAAkB;AAClB,EAAAA,SAAA,uCAAoC;AACpC,EAAAA,SAAA,0CAAuC;AACvC,EAAAA,SAAA,6BAA0B;AAC1B,EAAAA,SAAA,4BAAyB;AACzB,EAAAA,SAAA,yBAAsB;AACtB,EAAAA,SAAA,4BAAyB;AACzB,EAAAA,SAAA,0BAAuB;AACvB,EAAAA,SAAA,6BAA0B;AAC1B,EAAAA,SAAA,6BAA0B;AAC1B,EAAAA,SAAA,gCAA6B;AAC7B,EAAAA,SAAA,4BAAyB;AACzB,EAAAA,SAAA,+BAA4B;AAC5B,EAAAA,SAAA,+BAA4B;AAC5B,EAAAA,SAAA,4BAAyB;AACzB,EAAAA,SAAA,+BAA4B;AAC5B,EAAAA,SAAA,2BAAwB;AACxB,EAAAA,SAAA,8BAA2B;AAC3B,EAAAA,SAAA,gCAA6B;AAC7B,EAAAA,SAAA,mCAAgC;AAChC,EAAAA,SAAA,uBAAoB;AACpB,EAAAA,SAAA,0BAAuB;AACvB,EAAAA,SAAA,sBAAmB;AAlLT,SAAAA;AAAA,GAAA;;;ACML,IAAK,YAAL,kBAAKC,eAAL;AAEL,EAAAA,WAAA,SAAM;AAEN,EAAAA,WAAA,qBAAkB;AAElB,EAAAA,WAAA,YAAS;AAET,EAAAA,WAAA,gBAAa;AAEb,EAAAA,WAAA,cAAW;AAEX,EAAAA,WAAA,cAAW;AAEX,EAAAA,WAAA,mBAAgB;AAEhB,EAAAA,WAAA,aAAU;AAEV,EAAAA,WAAA,cAAW;AAEX,EAAAA,WAAA,eAAY;AAEZ,EAAAA,WAAA,gBAAa;AAEb,EAAAA,WAAA,gBAAa;AAEb,EAAAA,WAAA,aAAU;AAEV,EAAAA,WAAA,wBAAqB;AAErB,EAAAA,WAAA,oBAAiB;AA9BP,SAAAA;AAAA,GAAA;;;ACAL,IAAK,UAAL,kBAAKC,aAAL;AAEL,EAAAA,SAAA,YAAS;AAET,EAAAA,SAAA,WAAQ;AACR,EAAAA,SAAA,UAAO;AACP,EAAAA,SAAA,eAAY;AAEZ,EAAAA,SAAA,mBAAgB;AAEhB,EAAAA,SAAA,mBAAgB;AAEhB,EAAAA,SAAA,mBAAgB;AAEhB,EAAAA,SAAA,wBAAqB;AAErB,EAAAA,SAAA,aAAU;AAEV,EAAAA,SAAA,aAAU;AAEV,EAAAA,SAAA,kBAAe;AAEf,EAAAA,SAAA,iBAAc;AAEd,EAAAA,SAAA,sBAAmB;AAEnB,EAAAA,SAAA,yBAAsB;AAEtB,EAAAA,SAAA,gBAAa;AAEb,EAAAA,SAAA,eAAY;AAEZ,EAAAA,SAAA,2BAAwB;AAExB,EAAAA,SAAA,YAAS;AAET,EAAAA,SAAA,qBAAkB;AAElB,EAAAA,SAAA,+BAA4B;AAE5B,EAAAA,SAAA,gCAA6B;AAE7B,EAAAA,SAAA,4BAAyB;AAEzB,EAAAA,SAAA,YAAS;AAET,EAAAA,SAAA,2BAAwB;AACxB,EAAAA,SAAA,sBAAmB;AACnB,EAAAA,SAAA,2BAAwB;AAhDd,SAAAA;AAAA,GAAA;;;ACAL,IAAK,cAAL,kBAAKC,iBAAL;AAEL,EAAAA,aAAA,0BAAuB;AAEvB,EAAAA,aAAA,uBAAoB;AAJV,SAAAA;AAAA,GAAA;;;ACAL,IAAK,OAAL,kBAAKC,UAAL;AACL,EAAAA,MAAA,SAAM;AACN,EAAAA,MAAA,UAAO;AAEP,EAAAA,MAAA,cAAW;AAEX,EAAAA,MAAA,cAAW;AAEX,EAAAA,MAAA,eAAY;AAEZ,EAAAA,MAAA,qBAAkB;AAElB,EAAAA,MAAA,iBAAc;AAEd,EAAAA,MAAA,WAAQ;AAER,EAAAA,MAAA,gBAAa;AAEb,EAAAA,MAAA,sBAAmB;AAEnB,EAAAA,MAAA,eAAY;AAEZ,EAAAA,MAAA,cAAW;AAEX,EAAAA,MAAA,eAAY;AAEZ,EAAAA,MAAA,YAAS;AAET,EAAAA,MAAA,UAAO;AAEP,EAAAA,MAAA,YAAS;AACT,EAAAA,MAAA,qBAAkB;AA/BR,SAAAA;AAAA,GAAA;;;ACAL,IAAK,cAAL,kBAAKC,iBAAL;AACL,EAAAA,aAAA,SAAM;AACN,EAAAA,aAAA,oBAAiB;AACjB,EAAAA,aAAA,kBAAe;AACf,EAAAA,aAAA,uBAAoB;AACpB,EAAAA,aAAA,gBAAa;AACb,EAAAA,aAAA,sBAAmB;AACnB,EAAAA,aAAA,kBAAe;AACf,EAAAA,aAAA,gBAAa;AACb,EAAAA,aAAA,yBAAsB;AACtB,EAAAA,aAAA,gBAAa;AACb,EAAAA,aAAA,iBAAc;AACd,EAAAA,aAAA,oBAAiB;AACjB,EAAAA,aAAA,kBAAe;AAbL,SAAAA;AAAA,GAAA;;;ACAL,IAAK,UAAL,kBAAKC,aAAL;AAEL,EAAAA,SAAA,YAAS;AAET,EAAAA,SAAA,WAAQ;AAER,EAAAA,SAAA,gBAAa;AANH,SAAAA;AAAA,GAAA;;;ACNL,IAAK,YAAL,kBAAKC,eAAL;AAEL,EAAAA,WAAA,aAAU;AAEV,EAAAA,WAAA,UAAO;AAEP,EAAAA,WAAA,aAAU;AAEV,EAAAA,WAAA,YAAS;AAET,EAAAA,WAAA,YAAS;AAET,EAAAA,WAAA,YAAS;AAET,EAAAA,WAAA,YAAS;AAET,EAAAA,WAAA,qBAAkB;AAElB,EAAAA,WAAA,mBAAgB;AAEhB,EAAAA,WAAA,YAAS;AACT,EAAAA,WAAA,gBAAa;AAEb,EAAAA,WAAA,0BAAuB;AAvBb,SAAAA;AAAA,GAAA;;;ACAL,IAAK,YAAL,kBAAKC,eAAL;AAEL,EAAAA,WAAA,6BAA0B;AAE1B,EAAAA,WAAA,gBAAa;AAJH,SAAAA;AAAA,GAAA;;;ACML,IAAK,iBAAL,kBAAKC,oBAAL;AAEL,EAAAA,gBAAA,SAAM;AAEN,EAAAA,gBAAA,aAAU;AAEV,EAAAA,gBAAA,YAAS;AAET,EAAAA,gBAAA,iBAAc;AAEd,EAAAA,gBAAA,gBAAa;AAEb,EAAAA,gBAAA,kCAA+B;AAE/B,EAAAA,gBAAA,cAAW;AAdD,SAAAA;AAAA,GAAA;;;ACAL,IAAK,iBAAL,kBAAKC,oBAAL;AAEL,EAAAA,gBAAA,WAAQ;AAER,EAAAA,gBAAA,UAAO;AAEP,EAAAA,gBAAA,UAAO;AAEP,EAAAA,gBAAA,YAAS;AAET,EAAAA,gBAAA,0BAAuB;AAEvB,EAAAA,gBAAA,aAAU;AAZA,SAAAA;AAAA,GAAA;;;ACAL,IAAK,cAAL,kBAAKC,iBAAL;AAEL,EAAAA,aAAA,aAAU;AAEV,EAAAA,aAAA,gBAAa;AAEb,EAAAA,aAAA,YAAS;AAET,EAAAA,aAAA,aAAU;AAEV,EAAAA,aAAA,sBAAmB;AAEnB,EAAAA,aAAA,uBAAoB;AAEpB,EAAAA,aAAA,iBAAc;AAdJ,SAAAA;AAAA,GAAA;;;ACAL,IAAK,cAAL,kBAAKC,iBAAL;AAEL,EAAAA,0BAAA,cAAW,KAAX;AAEA,EAAAA,0BAAA,sBAAmB,KAAnB;AAEA,EAAAA,0BAAA,wBAAqB,KAArB;AAEA,EAAAA,0BAAA,cAAW,KAAX;AAEA,EAAAA,0BAAA,gBAAa,KAAb;AAEA,EAAAA,0BAAA,4BAAyB,KAAzB;AAEA,EAAAA,0BAAA,uBAAoB,KAApB;AAEA,EAAAA,0BAAA,cAAW,KAAX;AACA,EAAAA,0BAAA,6BAA0B,KAA1B;AAEA,EAAAA,0BAAA,aAAU,KAAV;AAEA,EAAAA,0BAAA,aAAU,MAAV;AAEA,EAAAA,0BAAA,2BAAwB,MAAxB;AAEA,EAAAA,0BAAA,eAAY,MAAZ;AAEA,EAAAA,0BAAA,2BAAwB,MAAxB;AAEA,EAAAA,0BAAA,qBAAkB,MAAlB;AA7BU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,eAAL,kBAAKC,kBAAL;AAEL,EAAAA,4BAAA,oBAAiB,KAAjB;AAEA,EAAAA,4BAAA,uBAAoB,KAApB;AAEA,EAAAA,4BAAA,2BAAwB,KAAxB;AAEA,EAAAA,4BAAA,oCAAiC,KAAjC;AAEA,EAAAA,4BAAA,0BAAuB,KAAvB;AAEA,EAAAA,4BAAA,oBAAiB,KAAjB;AAEA,EAAAA,4BAAA,mBAAgB,KAAhB;AAEA,EAAAA,4BAAA,kBAAe,KAAf;AAEA,EAAAA,4BAAA,gCAA6B,KAA7B;AAEA,EAAAA,4BAAA,2BAAwB,KAAxB;AAEA,EAAAA,4BAAA,0BAAuB,MAAvB;AAEA,EAAAA,4BAAA,oBAAiB,MAAjB;AAEA,EAAAA,4BAAA,oBAAiB,MAAjB;AAEA,EAAAA,4BAAA,8BAA2B,MAA3B;AAEA,EAAAA,4BAAA,yCAAsC,MAAtC;AAEA,EAAAA,4BAAA,wBAAqB,MAArB;AAEA,EAAAA,4BAAA,oBAAiB,MAAjB;AAEA,EAAAA,4BAAA,kCAA+B,MAA/B;AAEA,EAAAA,4BAAA,iCAA8B,MAA9B;AAEA,EAAAA,4BAAA,wCAAqC,MAArC;AAEA,EAAAA,4BAAA,yCAAsC,MAAtC;AAEA,EAAAA,4BAAA,4BAAyB,MAAzB;AAEA,EAAAA,4BAAA,2BAAwB,MAAxB;AAEA,EAAAA,4BAAA,2BAAwB,MAAxB;AAEA,EAAAA,4BAAA,4BAAyB,MAAzB;AAEA,EAAAA,4BAAA,gCAA6B,MAA7B;AAEA,EAAAA,4BAAA,iCAA8B,MAA9B;AAEA,EAAAA,4BAAA,4CAAyC,MAAzC;AAEA,EAAAA,4BAAA,mCAAgC,MAAhC;AACA,EAAAA,4BAAA,WAAQ,MAAR;AA3DU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,YAAL,kBAAKC,eAAL;AAEL,EAAAA,WAAA,SAAM;AAEN,EAAAA,WAAA,WAAQ;AAER,EAAAA,WAAA,gBAAa;AANH,SAAAA;AAAA,GAAA;;;ACAL,IAAK,aAAL,kBAAKC,gBAAL;AAEL,EAAAA,YAAA,0BAAuB;AAEvB,EAAAA,YAAA,oBAAiB;AAJP,SAAAA;AAAA,GAAA;;;ACAL,IAAK,gBAAL,kBAAKC,mBAAL;AAEL,EAAAA,8BAAA,UAAO,KAAP;AAEA,EAAAA,8BAAA,UAAO,KAAP;AAEA,EAAAA,8BAAA,SAAM,KAAN;AAEA,EAAAA,8BAAA,aAAU,KAAV;AAEA,EAAAA,8BAAA,YAAS,KAAT;AAEA,EAAAA,8BAAA,eAAY,KAAZ;AAEA,EAAAA,8BAAA,SAAM,KAAN;AAdU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,eAAL,kBAAKC,kBAAL;AAEL,EAAAA,4BAAA,qBAAkB,KAAlB;AAEA,EAAAA,4BAAA,kBAAe,KAAf;AAEA,EAAAA,4BAAA,kBAAe,KAAf;AAEA,EAAAA,4BAAA,iCAA8B,KAA9B;AAEA,EAAAA,4BAAA,2CAAwC,KAAxC;AAEA,EAAAA,4BAAA,oBAAiB,KAAjB;AAEA,EAAAA,4BAAA,sBAAmB,KAAnB;AAEA,EAAAA,4BAAA,8BAA2B,KAA3B;AAEA,EAAAA,4BAAA,kCAA+B,KAA/B;AAEA,EAAAA,4BAAA,2BAAwB,MAAxB;AAEA,EAAAA,4BAAA,WAAQ,MAAR;AAtBU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,eAAL,kBAAKC,kBAAL;AAEL,EAAAA,4BAAA,kBAAe,KAAf;AACA,EAAAA,4BAAA,mBAAgB,KAAhB;AAEA,EAAAA,4BAAA,oBAAiB,KAAjB;AAEA,EAAAA,4BAAA,uBAAoB,KAApB;AAEA,EAAAA,4BAAA,oBAAiB,KAAjB;AAEA,EAAAA,4BAAA,kBAAe,KAAf;AAEA,EAAAA,4BAAA,oBAAiB,KAAjB;AAEA,EAAAA,4BAAA,2CAAwC,KAAxC;AAEA,EAAAA,4BAAA,gBAAa,KAAb;AAEA,EAAAA,4BAAA,wBAAqB,KAArB;AAEA,EAAAA,4BAAA,uBAAoB,MAApB;AAEA,EAAAA,4BAAA,oCAAiC,MAAjC;AAEA,EAAAA,4BAAA,wBAAqB,MAArB;AAEA,EAAAA,4BAAA,uBAAoB,MAApB;AAEA,EAAAA,4BAAA,gCAA6B,MAA7B;AACA,EAAAA,4BAAA,oBAAiB,MAAjB;AAEA,EAAAA,4BAAA,kCAA+B,MAA/B;AAEA,EAAAA,4BAAA,2BAAwB,MAAxB;AAEA,EAAAA,4BAAA,gCAA6B,MAA7B;AAEA,EAAAA,4BAAA,mCAAgC,MAAhC;AACA,EAAAA,4BAAA,oCAAiC,MAAjC;AAEA,EAAAA,4BAAA,2BAAwB,MAAxB;AAEA,EAAAA,4BAAA,2CAAwC,MAAxC;AAEA,EAAAA,4BAAA,0CAAuC,MAAvC;AACA,EAAAA,4BAAA,6BAA0B,MAA1B;AAEA,EAAAA,4BAAA,2BAAwB,MAAxB;AAEA,EAAAA,4BAAA,iCAA8B,MAA9B;AAEA,EAAAA,4BAAA,2BAAwB,MAAxB;AAEA,EAAAA,4BAAA,uBAAoB,MAApB;AACA,EAAAA,4BAAA,cAAW,MAAX;AACA,EAAAA,4BAAA,qBAAkB,MAAlB;AACA,EAAAA,4BAAA,+BAA4B,MAA5B;AACA,EAAAA,4BAAA,gCAA6B,MAA7B;AACA,EAAAA,4BAAA,WAAQ,MAAR;AA3DU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,eAAL,kBAAKC,kBAAL;AAEL,EAAAA,cAAA,eAAY;AAEZ,EAAAA,cAAA,mBAAgB;AAEhB,EAAAA,cAAA,gBAAa;AAEb,EAAAA,cAAA,UAAO;AACP,EAAAA,cAAA,SAAM;AACN,EAAAA,cAAA,cAAW;AACX,EAAAA,cAAA,gBAAa;AACb,EAAAA,cAAA,0BAAuB;AACvB,EAAAA,cAAA,iBAAc;AACd,EAAAA,cAAA,oBAAiB;AACjB,EAAAA,cAAA,kBAAe;AAEf,EAAAA,cAAA,WAAQ;AAER,EAAAA,cAAA,gBAAa;AACb,EAAAA,cAAA,wBAAqB;AAErB,EAAAA,cAAA,eAAY;AAEZ,EAAAA,cAAA,qBAAkB;AAElB,EAAAA,cAAA,iBAAc;AAEd,EAAAA,cAAA,kBAAe;AAEf,EAAAA,cAAA,oBAAiB;AAEjB,EAAAA,cAAA,mBAAgB;AAChB,EAAAA,cAAA,YAAS;AAET,EAAAA,cAAA,YAAS;AAET,EAAAA,cAAA,gBAAa;AAEb,EAAAA,cAAA,yBAAsB;AAEtB,EAAAA,cAAA,mBAAgB;AAEhB,EAAAA,cAAA,aAAU;AACV,EAAAA,cAAA,wBAAqB;AACrB,EAAAA,cAAA,mBAAgB;AAChB,EAAAA,cAAA,wBAAqB;AACrB,EAAAA,cAAA,eAAY;AACZ,EAAAA,cAAA,mBAAgB;AAChB,EAAAA,cAAA,4BAAyB;AACzB,EAAAA,cAAA,mBAAgB;AAChB,EAAAA,cAAA,kBAAe;AACf,EAAAA,cAAA,oBAAiB;AApDP,SAAAA;AAAA,GAAA;;;ACAL,IAAK,eAAL,kBAAKC,kBAAL;AAEL,EAAAA,cAAA,mBAAgB;AAEhB,EAAAA,cAAA,qBAAkB;AAJR,SAAAA;AAAA,GAAA;;;ACAL,IAAK,aAAL,kBAAKC,gBAAL;AAEL,EAAAA,YAAA,QAAK;AAEL,EAAAA,YAAA,SAAM;AAJI,SAAAA;AAAA,GAAA;;;ACAL,IAAK,WAAL,kBAAKC,cAAL;AAEL,EAAAA,UAAA,yCAAsC;AAEtC,EAAAA,UAAA,oCAAiC;AAJvB,SAAAA;AAAA,GAAA;;;ACAL,IAAK,cAAL,kBAAKC,iBAAL;AAEL,EAAAA,aAAA,mBAAgB;AAEhB,EAAAA,aAAA,oBAAiB;AAJP,SAAAA;AAAA,GAAA;;;ACAL,IAAK,WAAL,kBAAKC,cAAL;AAEL,EAAAA,UAAA,mBAAgB;AAEhB,EAAAA,UAAA,eAAY;AAEZ,EAAAA,UAAA,0BAAuB;AAEvB,EAAAA,UAAA,qBAAkB;AAElB,EAAAA,UAAA,uBAAoB;AAEpB,EAAAA,UAAA,2BAAwB;AAExB,EAAAA,UAAA,+BAA4B;AAE5B,EAAAA,UAAA,WAAQ;AAhBE,SAAAA;AAAA,GAAA;;;ACAL,IAAK,iBAAL,kBAAKC,oBAAL;AAEL,EAAAA,gBAAA,gBAAa;AAEb,EAAAA,gBAAA,aAAU;AAJA,SAAAA;AAAA,GAAA;;;ACAL,IAAK,cAAL,kBAAKC,iBAAL;AAEL,EAAAA,aAAA,gBAAa;AAEb,EAAAA,aAAA,SAAM;AACN,EAAAA,aAAA,qBAAkB;AAElB,EAAAA,aAAA,kBAAe;AAEf,EAAAA,aAAA,WAAQ;AAER,EAAAA,aAAA,UAAO;AAEP,EAAAA,aAAA,WAAQ;AAER,EAAAA,aAAA,YAAS;AAET,EAAAA,aAAA,oBAAiB;AAEjB,EAAAA,aAAA,oBAAiB;AAEjB,EAAAA,aAAA,gBAAa;AAEb,EAAAA,aAAA,WAAQ;AAER,EAAAA,aAAA,iBAAc;AAEd,EAAAA,aAAA,qBAAkB;AAClB,EAAAA,aAAA,oBAAiB;AAEjB,EAAAA,aAAA,0BAAuB;AAEvB,EAAAA,aAAA,gCAA6B;AAE7B,EAAAA,aAAA,oBAAiB;AAEjB,EAAAA,aAAA,gBAAa;AAEb,EAAAA,aAAA,eAAY;AAEZ,EAAAA,aAAA,gBAAa;AAEb,EAAAA,aAAA,mBAAgB;AAEhB,EAAAA,aAAA,cAAW;AAEX,EAAAA,aAAA,kBAAe;AACf,EAAAA,aAAA,mBAAgB;AAChB,EAAAA,aAAA,0BAAuB;AACvB,EAAAA,aAAA,2BAAwB;AACxB,EAAAA,aAAA,yBAAsB;AACtB,EAAAA,aAAA,2BAAwB;AACxB,EAAAA,aAAA,yBAAsB;AACtB,EAAAA,aAAA,iBAAc;AACd,EAAAA,aAAA,mBAAgB;AAChB,EAAAA,aAAA,aAAU;AACV,EAAAA,aAAA,eAAY;AACZ,EAAAA,aAAA,cAAW;AACX,EAAAA,aAAA,yBAAsB;AA1DZ,SAAAA;AAAA,GAAA;;;ACAL,IAAK,kBAAL,kBAAKC,qBAAL;AAEL,EAAAA,iBAAA,QAAK;AAEL,EAAAA,iBAAA,SAAM;AAJI,SAAAA;AAAA,GAAA;;;ACAL,IAAK,WAAL,kBAAKC,cAAL;AAEL,EAAAA,UAAA,SAAM;AAEN,EAAAA,UAAA,gBAAa;AAEb,EAAAA,UAAA,cAAW;AAEX,EAAAA,UAAA,cAAW;AAEX,EAAAA,UAAA,mBAAgB;AAEhB,EAAAA,UAAA,aAAU;AAEV,EAAAA,UAAA,cAAW;AAEX,EAAAA,UAAA,eAAY;AAEZ,EAAAA,UAAA,gBAAa;AAEb,EAAAA,UAAA,gBAAa;AAEb,EAAAA,UAAA,aAAU;AAEV,EAAAA,UAAA,cAAW;AAEX,EAAAA,UAAA,oBAAiB;AAEjB,EAAAA,UAAA,WAAQ;AAER,EAAAA,UAAA,kBAAe;AAEf,EAAAA,UAAA,iBAAc;AAEd,EAAAA,UAAA,iBAAc;AAEd,EAAAA,UAAA,0BAAuB;AAEvB,EAAAA,UAAA,oCAAiC;AAEjC,EAAAA,UAAA,kCAA+B;AAE/B,EAAAA,UAAA,YAAS;AAET,EAAAA,UAAA,cAAW;AA5CD,SAAAA;AAAA,GAAA;;;ACAL,IAAK,sBAAL,kBAAKC,yBAAL;AAEL,EAAAA,qBAAA,cAAW;AAEX,EAAAA,qBAAA,YAAS;AAJC,SAAAA;AAAA,GAAA;;;ACAL,IAAK,gBAAL,kBAAKC,mBAAL;AAEL,EAAAA,eAAA,aAAU;AAEV,EAAAA,eAAA,kCAA+B;AAE/B,EAAAA,eAAA,yCAAsC;AAEtC,EAAAA,eAAA,uCAAoC;AAEpC,EAAAA,eAAA,oCAAiC;AAEjC,EAAAA,eAAA,mBAAgB;AAZN,SAAAA;AAAA,GAAA;;;ACAL,IAAK,qBAAL,kBAAKC,wBAAL;AAEL,EAAAA,oBAAA,SAAM;AAEN,EAAAA,oBAAA,YAAS;AAET,EAAAA,oBAAA,aAAU;AAEV,EAAAA,oBAAA,aAAU;AARA,SAAAA;AAAA,GAAA;;;ACAL,IAAK,kBAAL,kBAAKC,qBAAL;AAEL,EAAAA,iBAAA,kBAAe;AAEf,EAAAA,iBAAA,iBAAc;AAEd,EAAAA,iBAAA,cAAW;AAND,SAAAA;AAAA,GAAA;;;ACAL,IAAK,eAAL,kBAAKC,kBAAL;AACL,EAAAA,cAAA,8BAA2B;AAE3B,EAAAA,cAAA,mBAAgB;AAEhB,EAAAA,cAAA,6BAA0B;AAE1B,EAAAA,cAAA,iBAAc;AAEd,EAAAA,cAAA,gBAAa;AAEb,EAAAA,cAAA,eAAY;AAEZ,EAAAA,cAAA,cAAW;AAEX,EAAAA,cAAA,uBAAoB;AAEpB,EAAAA,cAAA,2BAAwB;AAExB,EAAAA,cAAA,4BAAyB;AAEzB,EAAAA,cAAA,gBAAa;AAEb,EAAAA,cAAA,yBAAsB;AAEtB,EAAAA,cAAA,+BAA4B;AAE5B,EAAAA,cAAA,2BAAwB;AACxB,EAAAA,cAAA,SAAM;AAEN,EAAAA,cAAA,oBAAiB;AAEjB,EAAAA,cAAA,aAAU;AAEV,EAAAA,cAAA,2BAAwB;AAExB,EAAAA,cAAA,kBAAe;AAEf,EAAAA,cAAA,wBAAqB;AAErB,EAAAA,cAAA,2BAAwB;AAExB,EAAAA,cAAA,6BAA0B;AAE1B,EAAAA,cAAA,wBAAqB;AAErB,EAAAA,cAAA,+BAA4B;AAE5B,EAAAA,cAAA,qBAAkB;AAElB,EAAAA,cAAA,YAAS;AAET,EAAAA,cAAA,uBAAoB;AAEpB,EAAAA,cAAA,wBAAqB;AAErB,EAAAA,cAAA,iBAAc;AAEd,EAAAA,cAAA,2BAAwB;AAExB,EAAAA,cAAA,cAAW;AAEX,EAAAA,cAAA,eAAY;AAEZ,EAAAA,cAAA,UAAO;AAEP,EAAAA,cAAA,gCAA6B;AAE7B,EAAAA,cAAA,oBAAiB;AAEjB,EAAAA,cAAA,uBAAoB;AACpB,EAAAA,cAAA,0BAAuB;AAEvB,EAAAA,cAAA,kBAAe;AAEf,EAAAA,cAAA,eAAY;AACZ,EAAAA,cAAA,YAAS;AAET,EAAAA,cAAA,oBAAiB;AACjB,EAAAA,cAAA,oBAAiB;AAEjB,EAAAA,cAAA,gBAAa;AAEb,EAAAA,cAAA,qBAAkB;AAElB,EAAAA,cAAA,sCAAmC;AAEnC,EAAAA,cAAA,4BAAyB;AAEzB,EAAAA,cAAA,uBAAoB;AACpB,EAAAA,cAAA,6BAA0B;AAE1B,EAAAA,cAAA,uBAAoB;AAEpB,EAAAA,cAAA,YAAS;AAET,EAAAA,cAAA,mBAAgB;AAEhB,EAAAA,cAAA,sBAAmB;AAEnB,EAAAA,cAAA,6BAA0B;AAE1B,EAAAA,cAAA,oBAAiB;AAEjB,EAAAA,cAAA,0BAAuB;AAEvB,EAAAA,cAAA,oBAAiB;AAEjB,EAAAA,cAAA,qBAAkB;AAElB,EAAAA,cAAA,oCAAiC;AAEjC,EAAAA,cAAA,wBAAqB;AAErB,EAAAA,cAAA,YAAS;AAET,EAAAA,cAAA,0BAAuB;AAEvB,EAAAA,cAAA,kBAAe;AAEf,EAAAA,cAAA,uBAAoB;AAEpB,EAAAA,cAAA,0BAAuB;AAEvB,EAAAA,cAAA,8BAA2B;AAE3B,EAAAA,cAAA,6BAA0B;AAE1B,EAAAA,cAAA,cAAW;AAEX,EAAAA,cAAA,kCAA+B;AAE/B,EAAAA,cAAA,gBAAa;AAEb,EAAAA,cAAA,oBAAiB;AACjB,EAAAA,cAAA,WAAQ;AACR,EAAAA,cAAA,sBAAmB;AAEnB,EAAAA,cAAA,oBAAiB;AAEjB,EAAAA,cAAA,wBAAqB;AAErB,EAAAA,cAAA,eAAY;AAEZ,EAAAA,cAAA,0BAAuB;AAEvB,EAAAA,cAAA,kBAAe;AAEf,EAAAA,cAAA,UAAO;AAEP,EAAAA,cAAA,mBAAgB;AAChB,EAAAA,cAAA,iCAA8B;AAE9B,EAAAA,cAAA,SAAM;AAEN,EAAAA,cAAA,8BAA2B;AAE3B,EAAAA,cAAA,oCAAiC;AAEjC,EAAAA,cAAA,eAAY;AAEZ,EAAAA,cAAA,qBAAkB;AAElB,EAAAA,cAAA,2BAAwB;AAExB,EAAAA,cAAA,uBAAoB;AAEpB,EAAAA,cAAA,WAAQ;AAER,EAAAA,cAAA,qBAAkB;AAElB,EAAAA,cAAA,YAAS;AAET,EAAAA,cAAA,oBAAiB;AAEjB,EAAAA,cAAA,0CAAuC;AAEvC,EAAAA,cAAA,eAAY;AAEZ,EAAAA,cAAA,kBAAe;AAEf,EAAAA,cAAA,8BAA2B;AAE3B,EAAAA,cAAA,uBAAoB;AAEpB,EAAAA,cAAA,wBAAqB;AAErB,EAAAA,cAAA,yBAAsB;AAEtB,EAAAA,cAAA,uBAAoB;AAEpB,EAAAA,cAAA,gBAAa;AAEb,EAAAA,cAAA,yCAAsC;AAEtC,EAAAA,cAAA,cAAW;AAEX,EAAAA,cAAA,8BAA2B;AAE3B,EAAAA,cAAA,8BAA2B;AAE3B,EAAAA,cAAA,gBAAa;AAEb,EAAAA,cAAA,4CAAyC;AAEzC,EAAAA,cAAA,sBAAmB;AAEnB,EAAAA,cAAA,qBAAkB;AAElB,EAAAA,cAAA,8CAA2C;AAE3C,EAAAA,cAAA,aAAU;AAEV,EAAAA,cAAA,yBAAsB;AACtB,EAAAA,cAAA,gBAAa;AAEb,EAAAA,cAAA,yBAAsB;AAEtB,EAAAA,cAAA,2BAAwB;AAExB,EAAAA,cAAA,4BAAyB;AAEzB,EAAAA,cAAA,eAAY;AAEZ,EAAAA,cAAA,oBAAiB;AAEjB,EAAAA,cAAA,aAAU;AAEV,EAAAA,cAAA,mBAAgB;AAEhB,EAAAA,cAAA,mBAAgB;AAEhB,EAAAA,cAAA,mBAAgB;AAEhB,EAAAA,cAAA,wBAAqB;AAErB,EAAAA,cAAA,4CAAyC;AAEzC,EAAAA,cAAA,aAAU;AAEV,EAAAA,cAAA,qBAAkB;AAElB,EAAAA,cAAA,8BAA2B;AAC3B,EAAAA,cAAA,kBAAe;AAEf,EAAAA,cAAA,sBAAmB;AACnB,EAAAA,cAAA,mBAAgB;AAEhB,EAAAA,cAAA,eAAY;AAEZ,EAAAA,cAAA,wBAAqB;AAErB,EAAAA,cAAA,uBAAoB;AAEpB,EAAAA,cAAA,gCAA6B;AAE7B,EAAAA,cAAA,oBAAiB;AAEjB,EAAAA,cAAA,uBAAoB;AAEpB,EAAAA,cAAA,gCAA6B;AAE7B,EAAAA,cAAA,YAAS;AAET,EAAAA,cAAA,iBAAc;AAEd,EAAAA,cAAA,4BAAyB;AAEzB,EAAAA,cAAA,iBAAc;AAEd,EAAAA,cAAA,0BAAuB;AAEvB,EAAAA,cAAA,aAAU;AAEV,EAAAA,cAAA,gBAAa;AAEb,EAAAA,cAAA,iBAAc;AAEd,EAAAA,cAAA,6CAA0C;AAE1C,EAAAA,cAAA,kBAAe;AAEf,EAAAA,cAAA,0BAAuB;AAEvB,EAAAA,cAAA,WAAQ;AAER,EAAAA,cAAA,uBAAoB;AAEpB,EAAAA,cAAA,kCAA+B;AAE/B,EAAAA,cAAA,gBAAa;AAEb,EAAAA,cAAA,sBAAmB;AAEnB,EAAAA,cAAA,2BAAwB;AAExB,EAAAA,cAAA,gCAA6B;AAE7B,EAAAA,cAAA,qBAAkB;AAClB,EAAAA,cAAA,sBAAmB;AAEnB,EAAAA,cAAA,iBAAc;AAEd,EAAAA,cAAA,uBAAoB;AAEpB,EAAAA,cAAA,kBAAe;AAEf,EAAAA,cAAA,6BAA0B;AAE1B,EAAAA,cAAA,mBAAgB;AAEhB,EAAAA,cAAA,oBAAiB;AAEjB,EAAAA,cAAA,gBAAa;AAEb,EAAAA,cAAA,oCAAiC;AAEjC,EAAAA,cAAA,kBAAe;AAEf,EAAAA,cAAA,wBAAqB;AAErB,EAAAA,cAAA,oBAAiB;AAEjB,EAAAA,cAAA,mCAAgC;AAEhC,EAAAA,cAAA,oBAAiB;AAEjB,EAAAA,cAAA,iCAA8B;AAE9B,EAAAA,cAAA,qBAAkB;AAElB,EAAAA,cAAA,qBAAkB;AAElB,EAAAA,cAAA,6BAA0B;AAE1B,EAAAA,cAAA,+BAA4B;AAE5B,EAAAA,cAAA,mBAAgB;AAEhB,EAAAA,cAAA,qBAAkB;AAElB,EAAAA,cAAA,6BAA0B;AAC1B,EAAAA,cAAA,gBAAa;AAEb,EAAAA,cAAA,oCAAiC;AAEjC,EAAAA,cAAA,+BAA4B;AAE5B,EAAAA,cAAA,gCAA6B;AAE7B,EAAAA,cAAA,wBAAqB;AA9VX,SAAAA;AAAA,GAAA;;;ACAL,IAAK,kBAAL,kBAAKC,qBAAL;AAEL,EAAAA,kCAAA,WAAQ,KAAR;AAEA,EAAAA,kCAAA,YAAS,KAAT;AAEA,EAAAA,kCAAA,kBAAe,KAAf;AAEA,EAAAA,kCAAA,sBAAmB,KAAnB;AAEA,EAAAA,kCAAA,gBAAa,KAAb;AAVU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,oBAAL,kBAAKC,uBAAL;AAEL,EAAAA,sCAAA,YAAS,KAAT;AAEA,EAAAA,sCAAA,UAAO,KAAP;AAEA,EAAAA,sCAAA,cAAW,KAAX;AAEA,EAAAA,sCAAA,mBAAgB,KAAhB;AARU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,gBAAL,kBAAKC,mBAAL;AAEL,EAAAA,8BAAA,eAAY,KAAZ;AAEA,EAAAA,8BAAA,YAAS,KAAT;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,YAAL,kBAAKC,eAAL;AACL,EAAAA,sBAAA,SAAM,KAAN;AACA,EAAAA,sBAAA,UAAO,KAAP;AACA,EAAAA,sBAAA,WAAQ,KAAR;AACA,EAAAA,sBAAA,aAAU,KAAV;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,qBAAL,kBAAKC,wBAAL;AAEL,EAAAA,wCAAA,aAAU,KAAV;AAEA,EAAAA,wCAAA,eAAY,KAAZ;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,uBAAL,kBAAKC,0BAAL;AAEL,EAAAA,sBAAA,oCAAiC;AAEjC,EAAAA,sBAAA,iCAA8B;AAJpB,SAAAA;AAAA,GAAA;;;ACAL,IAAK,iBAAL,kBAAKC,oBAAL;AAEL,EAAAA,gCAAA,WAAQ,KAAR;AAEA,EAAAA,gCAAA,aAAU,KAAV;AAEA,EAAAA,gCAAA,qBAAkB,KAAlB;AACA,EAAAA,gCAAA,qBAAkB,KAAlB;AAPU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,cAAL,kBAAKC,iBAAL;AAEL,EAAAA,0BAAA,gBAAa,KAAb;AAEA,EAAAA,0BAAA,gBAAa,KAAb;AAEA,EAAAA,0BAAA,eAAY,KAAZ;AAEA,EAAAA,0BAAA,eAAY,KAAZ;AAEA,EAAAA,0BAAA,kBAAe,KAAf;AAEA,EAAAA,0BAAA,iBAAc,KAAd;AAZU,SAAAA;AAAA,GAAA;;;ACNL,IAAK,qBAAL,kBAAKC,wBAAL;AAEL,EAAAA,oBAAA,WAAQ;AAER,EAAAA,oBAAA,YAAS;AACT,EAAAA,oBAAA,aAAU;AAEV,EAAAA,oBAAA,gBAAa;AAEb,EAAAA,oBAAA,WAAQ;AAER,EAAAA,oBAAA,WAAQ;AAER,EAAAA,oBAAA,aAAU;AAEV,EAAAA,oBAAA,WAAQ;AAER,EAAAA,oBAAA,iBAAc;AAEd,EAAAA,oBAAA,WAAQ;AAER,EAAAA,oBAAA,UAAO;AAEP,EAAAA,oBAAA,cAAW;AACX,EAAAA,oBAAA,0BAAuB;AACvB,EAAAA,oBAAA,aAAU;AAEV,EAAAA,oBAAA,aAAU;AAEV,EAAAA,oBAAA,WAAQ;AAER,EAAAA,oBAAA,WAAQ;AAER,EAAAA,oBAAA,UAAO;AAEP,EAAAA,oBAAA,WAAQ;AAER,EAAAA,oBAAA,eAAY;AACZ,EAAAA,oBAAA,UAAO;AAEP,EAAAA,oBAAA,gBAAa;AAEb,EAAAA,oBAAA,eAAY;AAEZ,EAAAA,oBAAA,aAAU;AAEV,EAAAA,oBAAA,aAAU;AAEV,EAAAA,oBAAA,WAAQ;AAER,EAAAA,oBAAA,aAAU;AAEV,EAAAA,oBAAA,WAAQ;AAER,EAAAA,oBAAA,YAAS;AACT,EAAAA,oBAAA,UAAO;AAEP,EAAAA,oBAAA,YAAS;AAET,EAAAA,oBAAA,YAAS;AAET,EAAAA,oBAAA,WAAQ;AAER,EAAAA,oBAAA,WAAQ;AACR,EAAAA,oBAAA,WAAQ;AACR,EAAAA,oBAAA,YAAS;AAET,EAAAA,oBAAA,UAAO;AAEP,EAAAA,oBAAA,WAAQ;AAER,EAAAA,oBAAA,WAAQ;AAER,EAAAA,oBAAA,YAAS;AAET,EAAAA,oBAAA,WAAQ;AAER,EAAAA,oBAAA,oBAAiB;AAEjB,EAAAA,oBAAA,WAAQ;AAER,EAAAA,oBAAA,SAAM;AAEN,EAAAA,oBAAA,YAAS;AAET,EAAAA,oBAAA,WAAQ;AAER,EAAAA,oBAAA,YAAS;AAET,EAAAA,oBAAA,YAAS;AAET,EAAAA,oBAAA,YAAS;AAET,EAAAA,oBAAA,YAAS;AAET,EAAAA,oBAAA,WAAQ;AAER,EAAAA,oBAAA,UAAO;AAEP,EAAAA,oBAAA,WAAQ;AAER,EAAAA,oBAAA,UAAO;AAEP,EAAAA,oBAAA,YAAS;AAET,EAAAA,oBAAA,WAAQ;AAzGE,SAAAA;AAAA,GAAA;;;ACAL,IAAK,kBAAL,kBAAKC,qBAAL;AAEL,EAAAA,iBAAA,2BAAwB;AACxB,EAAAA,iBAAA,sBAAmB;AAEnB,EAAAA,iBAAA,6BAA0B;AAE1B,EAAAA,iBAAA,sBAAmB;AACnB,EAAAA,iBAAA,oBAAiB;AAEjB,EAAAA,iBAAA,+BAA4B;AAE5B,EAAAA,iBAAA,mBAAgB;AAChB,EAAAA,iBAAA,4BAAyB;AAEzB,EAAAA,iBAAA,4BAAyB;AAEzB,EAAAA,iBAAA,uBAAoB;AACpB,EAAAA,iBAAA,2BAAwB;AAExB,EAAAA,iBAAA,6BAA0B;AAE1B,EAAAA,iBAAA,iBAAc;AACd,EAAAA,iBAAA,gCAA6B;AAE7B,EAAAA,iBAAA,yCAAsC;AAEtC,EAAAA,iBAAA,qBAAkB;AAClB,EAAAA,iBAAA,mBAAgB;AAEhB,EAAAA,iBAAA,iDAA8C;AAE9C,EAAAA,iBAAA,iBAAc;AACd,EAAAA,iBAAA,oBAAiB;AAEjB,EAAAA,iBAAA,2BAAwB;AAExB,EAAAA,iBAAA,iBAAc;AACd,EAAAA,iBAAA,qBAAkB;AAElB,EAAAA,iBAAA,wCAAqC;AAErC,EAAAA,iBAAA,uBAAoB;AACpB,EAAAA,iBAAA,iBAAc;AAEd,EAAAA,iBAAA,iCAA8B;AAE9B,EAAAA,iBAAA,aAAU;AAEV,EAAAA,iBAAA,4BAAyB;AAEzB,EAAAA,iBAAA,eAAY;AAEZ,EAAAA,iBAAA,YAAS;AAET,EAAAA,iBAAA,oBAAiB;AAEjB,EAAAA,iBAAA,kBAAe;AAEf,EAAAA,iBAAA,2BAAwB;AAExB,EAAAA,iBAAA,iBAAc;AAEd,EAAAA,iBAAA,0BAAuB;AAEvB,EAAAA,iBAAA,mBAAgB;AAEhB,EAAAA,iBAAA,0BAAuB;AAEvB,EAAAA,iBAAA,yBAAsB;AAEtB,EAAAA,iBAAA,sBAAmB;AAEnB,EAAAA,iBAAA,qBAAkB;AAElB,EAAAA,iBAAA,sBAAmB;AAEnB,EAAAA,iBAAA,oBAAiB;AAEjB,EAAAA,iBAAA,kBAAe;AAEf,EAAAA,iBAAA,iBAAc;AAEd,EAAAA,iBAAA,qBAAkB;AAElB,EAAAA,iBAAA,mBAAgB;AAEhB,EAAAA,iBAAA,gBAAa;AAEb,EAAAA,iBAAA,sBAAmB;AAEnB,EAAAA,iBAAA,oBAAiB;AAEjB,EAAAA,iBAAA,oBAAiB;AAEjB,EAAAA,iBAAA,aAAU;AAEV,EAAAA,iBAAA,0BAAuB;AAEvB,EAAAA,iBAAA,0BAAuB;AAEvB,EAAAA,iBAAA,sBAAmB;AAEnB,EAAAA,iBAAA,gBAAa;AAEb,EAAAA,iBAAA,kBAAe;AAEf,EAAAA,iBAAA,oCAAiC;AAEjC,EAAAA,iBAAA,eAAY;AAEZ,EAAAA,iBAAA,4BAAyB;AAEzB,EAAAA,iBAAA,uBAAoB;AAEpB,EAAAA,iBAAA,kBAAe;AAEf,EAAAA,iBAAA,mBAAgB;AAEhB,EAAAA,iBAAA,2BAAwB;AAExB,EAAAA,iBAAA,+BAA4B;AAE5B,EAAAA,iBAAA,4BAAyB;AAEzB,EAAAA,iBAAA,6BAA0B;AAE1B,EAAAA,iBAAA,eAAY;AAEZ,EAAAA,iBAAA,gBAAa;AACb,EAAAA,iBAAA,oBAAiB;AAEjB,EAAAA,iBAAA,sBAAmB;AAEnB,EAAAA,iBAAA,uBAAoB;AAEpB,EAAAA,iBAAA,qBAAkB;AAClB,EAAAA,iBAAA,uBAAoB;AAEpB,EAAAA,iBAAA,wBAAqB;AACrB,EAAAA,iBAAA,aAAU;AAEV,EAAAA,iBAAA,oBAAiB;AACjB,EAAAA,iBAAA,kBAAe;AAEf,EAAAA,iBAAA,qBAAkB;AAClB,EAAAA,iBAAA,oBAAiB;AAEjB,EAAAA,iBAAA,sCAAmC;AACnC,EAAAA,iBAAA,mBAAgB;AAEhB,EAAAA,iBAAA,sCAAmC;AACnC,EAAAA,iBAAA,iBAAc;AAEd,EAAAA,iBAAA,qCAAkC;AAClC,EAAAA,iBAAA,iBAAc;AAEd,EAAAA,iBAAA,gDAA6C;AAE7C,EAAAA,iBAAA,kBAAe;AAEf,EAAAA,iBAAA,0CAAuC;AAEvC,EAAAA,iBAAA,6CAA0C;AAE1C,EAAAA,iBAAA,qCAAkC;AAElC,EAAAA,iBAAA,sBAAmB;AAEnB,EAAAA,iBAAA,4BAAyB;AAEzB,EAAAA,iBAAA,uCAAoC;AAEpC,EAAAA,iBAAA,+BAA4B;AAE5B,EAAAA,iBAAA,kBAAe;AAEf,EAAAA,iBAAA,kBAAe;AAEf,EAAAA,iBAAA,qBAAkB;AAElB,EAAAA,iBAAA,4CAAyC;AArL/B,SAAAA;AAAA,GAAA;;;ACML,IAAK,YAAL,kBAAKC,eAAL;AAEL,EAAAA,WAAA,mBAAgB;AAEhB,EAAAA,WAAA,iBAAc;AAEd,EAAAA,WAAA,kBAAe;AAEf,EAAAA,WAAA,4BAAyB;AAEzB,EAAAA,WAAA,eAAY;AAEZ,EAAAA,WAAA,qBAAkB;AAElB,EAAAA,WAAA,2BAAwB;AAExB,EAAAA,WAAA,kBAAe;AAEf,EAAAA,WAAA,mBAAgB;AAEhB,EAAAA,WAAA,kBAAe;AAEf,EAAAA,WAAA,yBAAsB;AAEtB,EAAAA,WAAA,oBAAiB;AAEjB,EAAAA,WAAA,kCAA+B;AAE/B,EAAAA,WAAA,6BAA0B;AAE1B,EAAAA,WAAA,4BAAyB;AAEzB,EAAAA,WAAA,iCAA8B;AAE9B,EAAAA,WAAA,mCAAgC;AAEhC,EAAAA,WAAA,gCAA6B;AAE7B,EAAAA,WAAA,+BAA4B;AAE5B,EAAAA,WAAA,uBAAoB;AAEpB,EAAAA,WAAA,qBAAkB;AAElB,EAAAA,WAAA,uBAAoB;AAEpB,EAAAA,WAAA,sBAAmB;AAEnB,EAAAA,WAAA,wBAAqB;AAErB,EAAAA,WAAA,mBAAgB;AAEhB,EAAAA,WAAA,oBAAiB;AAEjB,EAAAA,WAAA,qBAAkB;AAElB,EAAAA,WAAA,gCAA6B;AAE7B,EAAAA,WAAA,iBAAc;AAEd,EAAAA,WAAA,wBAAqB;AAErB,EAAAA,WAAA,uBAAoB;AAEpB,EAAAA,WAAA,eAAY;AAEZ,EAAAA,WAAA,uBAAoB;AAEpB,EAAAA,WAAA,kBAAe;AApEL,SAAAA;AAAA,GAAA;;;ACAL,IAAK,mBAAL,kBAAKC,sBAAL;AAEL,EAAAA,kBAAA,mBAAgB;AAEhB,EAAAA,kBAAA,gBAAa;AAJH,SAAAA;AAAA,GAAA;;;ACAL,IAAK,0BAAL,kBAAKC,6BAAL;AAEL,EAAAA,yBAAA,cAAW;AAEX,EAAAA,yBAAA,wBAAqB;AAErB,EAAAA,yBAAA,6BAA0B;AANhB,SAAAA;AAAA,GAAA;;;ACAL,IAAK,eAAL,kBAAKC,kBAAL;AAEL,EAAAA,4BAAA,iBAAc,KAAd;AAEA,EAAAA,4BAAA,wBAAqB,KAArB;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,iBAAL,kBAAKC,oBAAL;AAEL,EAAAA,gBAAA,+BAA4B;AAE5B,EAAAA,gBAAA,sCAAmC;AAJzB,SAAAA;AAAA,GAAA;;;ACAL,IAAK,cAAL,kBAAKC,iBAAL;AAEL,EAAAA,aAAA,SAAM;AAEN,EAAAA,aAAA,WAAQ;AAER,EAAAA,aAAA,WAAQ;AACR,EAAAA,aAAA,gBAAa;AAEb,EAAAA,aAAA,kBAAe;AAEf,EAAAA,aAAA,kBAAe;AAEf,EAAAA,aAAA,qBAAkB;AAElB,EAAAA,aAAA,6BAA0B;AAE1B,EAAAA,aAAA,4BAAyB;AACzB,EAAAA,aAAA,UAAO;AAEP,EAAAA,aAAA,eAAY;AAEZ,EAAAA,aAAA,iBAAc;AAEd,EAAAA,aAAA,kBAAe;AAEf,EAAAA,aAAA,8BAA2B;AAE3B,EAAAA,aAAA,wBAAqB;AAErB,EAAAA,aAAA,uBAAoB;AAEpB,EAAAA,aAAA,gBAAa;AAEb,EAAAA,aAAA,cAAW;AAEX,EAAAA,aAAA,eAAY;AAEZ,EAAAA,aAAA,qBAAkB;AAElB,EAAAA,aAAA,oBAAiB;AAEjB,EAAAA,aAAA,sBAAmB;AAEnB,EAAAA,aAAA,oBAAiB;AAEjB,EAAAA,aAAA,qBAAkB;AAElB,EAAAA,aAAA,iBAAc;AAEd,EAAAA,aAAA,0BAAuB;AAEvB,EAAAA,aAAA,qBAAkB;AAElB,EAAAA,aAAA,0CAAuC;AAEvC,EAAAA,aAAA,+CAA4C;AAE5C,EAAAA,aAAA,2CAAwC;AAExC,EAAAA,aAAA,gDAA6C;AAE7C,EAAAA,aAAA,iBAAc;AAEd,EAAAA,aAAA,cAAW;AAEX,EAAAA,aAAA,kBAAe;AAEf,EAAAA,aAAA,yBAAsB;AAEtB,EAAAA,aAAA,0BAAuB;AAEvB,EAAAA,aAAA,eAAY;AAEZ,EAAAA,aAAA,iBAAc;AAEd,EAAAA,aAAA,uBAAoB;AAEpB,EAAAA,aAAA,0BAAuB;AACvB,EAAAA,aAAA,gCAA6B;AAC7B,EAAAA,aAAA,yBAAsB;AACtB,EAAAA,aAAA,2BAAwB;AACxB,EAAAA,aAAA,UAAO;AAlFG,SAAAA;AAAA,GAAA;;;ACAL,IAAK,gBAAL,kBAAKC,mBAAL;AAEL,EAAAA,eAAA,cAAW;AAEX,EAAAA,eAAA,kBAAe;AAEf,EAAAA,eAAA,eAAY;AAEZ,EAAAA,eAAA,mBAAgB;AARN,SAAAA;AAAA,GAAA;;;ACAL,IAAK,iBAAL,kBAAKC,oBAAL;AAEL,EAAAA,gBAAA,UAAO;AAEP,EAAAA,gBAAA,YAAS;AAET,EAAAA,gBAAA,kBAAe;AAEf,EAAAA,gBAAA,sBAAmB;AAEnB,EAAAA,gBAAA,YAAS;AAET,EAAAA,gBAAA,aAAU;AAEV,EAAAA,gBAAA,WAAQ;AAER,EAAAA,gBAAA,iBAAc;AAEd,EAAAA,gBAAA,aAAU;AAEV,EAAAA,gBAAA,YAAS;AAET,EAAAA,gBAAA,mBAAgB;AAEhB,EAAAA,gBAAA,kBAAe;AAEf,EAAAA,gBAAA,kBAAe;AAEf,EAAAA,gBAAA,gBAAa;AAEb,EAAAA,gBAAA,aAAU;AAEV,EAAAA,gBAAA,uBAAoB;AAEpB,EAAAA,gBAAA,kBAAe;AAEf,EAAAA,gBAAA,iBAAc;AAEd,EAAAA,gBAAA,kBAAe;AAEf,EAAAA,gBAAA,iBAAc;AAEd,EAAAA,gBAAA,oBAAiB;AAEjB,EAAAA,gBAAA,gCAA6B;AAE7B,EAAAA,gBAAA,YAAS;AAET,EAAAA,gBAAA,kBAAe;AAEf,EAAAA,gBAAA,iBAAc;AAEd,EAAAA,gBAAA,oBAAiB;AAEjB,EAAAA,gBAAA,yBAAsB;AAEtB,EAAAA,gBAAA,YAAS;AAET,EAAAA,gBAAA,gBAAa;AAEb,EAAAA,gBAAA,wBAAqB;AAErB,EAAAA,gBAAA,2BAAwB;AAExB,EAAAA,gBAAA,mBAAgB;AAEhB,EAAAA,gBAAA,iBAAc;AAEd,EAAAA,gBAAA,cAAW;AAEX,EAAAA,gBAAA,iBAAc;AAEd,EAAAA,gBAAA,UAAO;AAEP,EAAAA,gBAAA,aAAU;AAEV,EAAAA,gBAAA,4BAAyB;AAEzB,EAAAA,gBAAA,sBAAmB;AAEnB,EAAAA,gBAAA,mBAAgB;AAEhB,EAAAA,gBAAA,mBAAgB;AAEhB,EAAAA,gBAAA,mBAAgB;AAEhB,EAAAA,gBAAA,qBAAkB;AAElB,EAAAA,gBAAA,wBAAqB;AAErB,EAAAA,gBAAA,iBAAc;AAEd,EAAAA,gBAAA,kBAAe;AAEf,EAAAA,gBAAA,eAAY;AAEZ,EAAAA,gBAAA,mBAAgB;AAEhB,EAAAA,gBAAA,gBAAa;AAEb,EAAAA,gBAAA,aAAU;AAEV,EAAAA,gBAAA,qBAAkB;AAElB,EAAAA,gBAAA,kBAAe;AAEf,EAAAA,gBAAA,iBAAc;AAEd,EAAAA,gBAAA,iBAAc;AAEd,EAAAA,gBAAA,gBAAa;AAEb,EAAAA,gBAAA,oBAAiB;AAEjB,EAAAA,gBAAA,qCAAkC;AAElC,EAAAA,gBAAA,iBAAc;AAEd,EAAAA,gBAAA,eAAY;AAEZ,EAAAA,gBAAA,eAAY;AAxHF,SAAAA;AAAA,GAAA;;;ACAL,IAAK,iBAAL,kBAAKC,oBAAL;AAEL,EAAAA,gBAAA,UAAO;AAEP,EAAAA,gBAAA,uBAAoB;AAEpB,EAAAA,gBAAA,eAAY;AAEZ,EAAAA,gBAAA,aAAU;AAEV,EAAAA,gBAAA,aAAU;AAEV,EAAAA,gBAAA,yBAAsB;AAEtB,EAAAA,gBAAA,kBAAe;AAEf,EAAAA,gBAAA,kBAAe;AAEf,EAAAA,gBAAA,cAAW;AAEX,EAAAA,gBAAA,kBAAe;AAEf,EAAAA,gBAAA,YAAS;AAET,EAAAA,gBAAA,YAAS;AAET,EAAAA,gBAAA,UAAO;AAEP,EAAAA,gBAAA,kBAAe;AAEf,EAAAA,gBAAA,yBAAsB;AAEtB,EAAAA,gBAAA,0BAAuB;AAEvB,EAAAA,gBAAA,kBAAe;AAEf,EAAAA,gBAAA,sBAAmB;AAEnB,EAAAA,gBAAA,6BAA0B;AAE1B,EAAAA,gBAAA,kBAAe;AAEf,EAAAA,gBAAA,yBAAsB;AAEtB,EAAAA,gBAAA,WAAQ;AAER,EAAAA,gBAAA,aAAU;AAEV,EAAAA,gBAAA,+BAA4B;AAE5B,EAAAA,gBAAA,yCAAsC;AAEtC,EAAAA,gBAAA,gBAAa;AAEb,EAAAA,gBAAA,gBAAa;AAEb,EAAAA,gBAAA,iBAAc;AAEd,EAAAA,gBAAA,aAAU;AAEV,EAAAA,gBAAA,kBAAe;AAEf,EAAAA,gBAAA,iBAAc;AAEd,EAAAA,gBAAA,gBAAa;AAEb,EAAAA,gBAAA,mBAAgB;AAEhB,EAAAA,gBAAA,eAAY;AAEZ,EAAAA,gBAAA,sBAAmB;AAEnB,EAAAA,gBAAA,sBAAmB;AAEnB,EAAAA,gBAAA,mBAAgB;AAEhB,EAAAA,gBAAA,qBAAkB;AAElB,EAAAA,gBAAA,gBAAa;AAEb,EAAAA,gBAAA,kBAAe;AAEf,EAAAA,gBAAA,gBAAa;AAEb,EAAAA,gBAAA,mBAAgB;AAEhB,EAAAA,gBAAA,mBAAgB;AAEhB,EAAAA,gBAAA,gBAAa;AAEb,EAAAA,gBAAA,mBAAgB;AAEhB,EAAAA,gBAAA,iBAAc;AAEd,EAAAA,gBAAA,sBAAmB;AAEnB,EAAAA,gBAAA,YAAS;AAET,EAAAA,gBAAA,eAAY;AAEZ,EAAAA,gBAAA,cAAW;AAEX,EAAAA,gBAAA,iBAAc;AAEd,EAAAA,gBAAA,YAAS;AAET,EAAAA,gBAAA,eAAY;AAEZ,EAAAA,gBAAA,cAAW;AAEX,EAAAA,gBAAA,iBAAc;AAEd,EAAAA,gBAAA,aAAU;AAEV,EAAAA,gBAAA,gBAAa;AAEb,EAAAA,gBAAA,gBAAa;AAEb,EAAAA,gBAAA,WAAQ;AAER,EAAAA,gBAAA,cAAW;AAEX,EAAAA,gBAAA,0BAAuB;AAEvB,EAAAA,gBAAA,yBAAsB;AAEtB,EAAAA,gBAAA,qBAAkB;AAElB,EAAAA,gBAAA,0BAAuB;AAEvB,EAAAA,gBAAA,6BAA0B;AAE1B,EAAAA,gBAAA,gBAAa;AAEb,EAAAA,gBAAA,gBAAa;AAEb,EAAAA,gBAAA,wBAAqB;AAErB,EAAAA,gBAAA,WAAQ;AAER,EAAAA,gBAAA,iBAAc;AAEd,EAAAA,gBAAA,iBAAc;AACd,EAAAA,gBAAA,wBAAqB;AAErB,EAAAA,gBAAA,iBAAc;AACd,EAAAA,gBAAA,sBAAmB;AACnB,EAAAA,gBAAA,eAAY;AACZ,EAAAA,gBAAA,cAAW;AACX,EAAAA,gBAAA,4BAAyB;AACzB,EAAAA,gBAAA,gBAAa;AACb,EAAAA,gBAAA,mBAAgB;AAChB,EAAAA,gBAAA,2BAAwB;AACxB,EAAAA,gBAAA,0BAAuB;AACvB,EAAAA,gBAAA,0BAAuB;AAEvB,EAAAA,gBAAA,YAAS;AAET,EAAAA,gBAAA,kBAAe;AAEf,EAAAA,gBAAA,6BAA0B;AAE1B,EAAAA,gBAAA,kCAA+B;AAE/B,EAAAA,gBAAA,6BAA0B;AAE1B,EAAAA,gBAAA,uBAAoB;AACpB,EAAAA,gBAAA,eAAY;AAvKF,SAAAA;AAAA,GAAA;;;ACAL,IAAK,iBAAL,kBAAKC,oBAAL;AAEL,EAAAA,gBAAA,SAAM;AAEN,EAAAA,gBAAA,YAAS;AAET,EAAAA,gBAAA,YAAS;AAET,EAAAA,gBAAA,gBAAa;AAEb,EAAAA,gBAAA,gBAAa;AAEb,EAAAA,gBAAA,aAAU;AAZA,SAAAA;AAAA,GAAA;;;ACAL,IAAK,iBAAL,kBAAKC,oBAAL;AAEL,EAAAA,gBAAA,mBAAgB;AAEhB,EAAAA,gBAAA,sBAAmB;AAEnB,EAAAA,gBAAA,2BAAwB;AAExB,EAAAA,gBAAA,6BAA0B;AAE1B,EAAAA,gBAAA,wCAAqC;AAErC,EAAAA,gBAAA,4BAAyB;AAEzB,EAAAA,gBAAA,6BAA0B;AAE1B,EAAAA,gBAAA,+BAA4B;AAE5B,EAAAA,gBAAA,4BAAyB;AAEzB,EAAAA,gBAAA,iCAA8B;AAE9B,EAAAA,gBAAA,sBAAmB;AAEnB,EAAAA,gBAAA,oCAAiC;AAEjC,EAAAA,gBAAA,iCAA8B;AAE9B,EAAAA,gBAAA,wBAAqB;AA5BX,SAAAA;AAAA,GAAA;;;ACAL,IAAK,eAAL,kBAAKC,kBAAL;AAEL,EAAAA,cAAA,kBAAe;AAEf,EAAAA,cAAA,WAAQ;AAJE,SAAAA;AAAA,GAAA;;;ACAL,IAAK,qBAAL,kBAAKC,wBAAL;AAEL,EAAAA,oBAAA,eAAY;AAEZ,EAAAA,oBAAA,iBAAc;AAEd,EAAAA,oBAAA,6BAA0B;AAE1B,EAAAA,oBAAA,mBAAgB;AAEhB,EAAAA,oBAAA,kCAA+B;AAE/B,EAAAA,oBAAA,2BAAwB;AAZd,SAAAA;AAAA,GAAA;;;ACAL,IAAK,kBAAL,kBAAKC,qBAAL;AAEL,EAAAA,iBAAA,cAAW;AAEX,EAAAA,iBAAA,sBAAmB;AAEnB,EAAAA,iBAAA,gBAAa;AANH,SAAAA;AAAA,GAAA;;;ACAL,IAAK,kBAAL,kBAAKC,qBAAL;AAEL,EAAAA,iBAAA,gBAAa;AAEb,EAAAA,iBAAA,oBAAiB;AAEjB,EAAAA,iBAAA,cAAW;AAEX,EAAAA,iBAAA,SAAM;AAEN,EAAAA,iBAAA,gBAAa;AAEb,EAAAA,iBAAA,kBAAe;AAEf,EAAAA,iBAAA,mBAAgB;AAEhB,EAAAA,iBAAA,0BAAuB;AAEvB,EAAAA,iBAAA,uBAAoB;AAEpB,EAAAA,iBAAA,+BAA4B;AAE5B,EAAAA,iBAAA,2BAAwB;AAExB,EAAAA,iBAAA,+BAA4B;AAE5B,EAAAA,iBAAA,0BAAuB;AAEvB,EAAAA,iBAAA,oBAAiB;AAEjB,EAAAA,iBAAA,wBAAqB;AAErB,EAAAA,iBAAA,aAAU;AAEV,EAAAA,iBAAA,iBAAc;AAEd,EAAAA,iBAAA,aAAU;AAEV,EAAAA,iBAAA,mBAAgB;AAEhB,EAAAA,iBAAA,sBAAmB;AAEnB,EAAAA,iBAAA,WAAQ;AAER,EAAAA,iBAAA,kBAAe;AAEf,EAAAA,iBAAA,qBAAkB;AA9CR,SAAAA;AAAA,GAAA;;;ACAL,IAAK,cAAL,kBAAKC,iBAAL;AAEL,EAAAA,0BAAA,cAAW,KAAX;AAEA,EAAAA,0BAAA,qBAAkB,KAAlB;AAEA,EAAAA,0BAAA,6BAA0B,KAA1B;AAEA,EAAAA,0BAAA,2BAAwB,KAAxB;AAEA,EAAAA,0BAAA,iBAAc,KAAd;AAEA,EAAAA,0BAAA,cAAW,KAAX;AAEA,EAAAA,0BAAA,uBAAoB,KAApB;AACA,EAAAA,0BAAA,aAAU,KAAV;AAEA,EAAAA,0BAAA,WAAQ,KAAR;AAEA,EAAAA,0BAAA,mBAAgB,KAAhB;AAEA,EAAAA,0BAAA,aAAU,MAAV;AACA,EAAAA,0BAAA,UAAO,MAAP;AAEA,EAAAA,0BAAA,yBAAsB,MAAtB;AAEA,EAAAA,0BAAA,wBAAqB,MAArB;AAEA,EAAAA,0BAAA,6BAA0B,MAA1B;AAEA,EAAAA,0BAAA,8BAA2B,MAA3B;AAEA,EAAAA,0BAAA,YAAS,MAAT;AAEA,EAAAA,0BAAA,cAAW,MAAX;AAEA,EAAAA,0BAAA,mCAAgC,MAAhC;AAEA,EAAAA,0BAAA,qBAAkB,MAAlB;AAEA,EAAAA,0BAAA,kBAAe,MAAf;AAEA,EAAAA,0BAAA,YAAS,MAAT;AAEA,EAAAA,0BAAA,sBAAmB,MAAnB;AACA,EAAAA,0BAAA,wBAAqB,MAArB;AA7CU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,kBAAL,kBAAKC,qBAAL;AAEL,EAAAA,kCAAA,kCAA+B,KAA/B;AAEA,EAAAA,kCAAA,2BAAwB,KAAxB;AAEA,EAAAA,kCAAA,iCAA8B,KAA9B;AAEA,EAAAA,kCAAA,qBAAkB,KAAlB;AACA,EAAAA,kCAAA,gCAA6B,KAA7B;AACA,EAAAA,kCAAA,yBAAsB,KAAtB;AAEA,EAAAA,kCAAA,6BAA0B,KAA1B;AAEA,EAAAA,kCAAA,yCAAsC,KAAtC;AAdU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,oBAAL,kBAAKC,uBAAL;AACL,EAAAA,sCAAA,mBAAgB,KAAhB;AAEA,EAAAA,sCAAA,cAAW,KAAX;AAEA,EAAAA,sCAAA,8BAA2B,KAA3B;AAEA,EAAAA,sCAAA,oBAAiB,KAAjB;AAEA,EAAAA,sCAAA,kBAAe,KAAf;AAEA,EAAAA,sCAAA,oBAAiB,KAAjB;AAEA,EAAAA,sCAAA,gBAAa,KAAb;AACA,EAAAA,sCAAA,kBAAe,KAAf;AAEA,EAAAA,sCAAA,kCAA+B,KAA/B;AAEA,EAAAA,sCAAA,kCAA+B,MAA/B;AAEA,EAAAA,sCAAA,iBAAc,MAAd;AAEA,EAAAA,sCAAA,oCAAiC,MAAjC;AAEA,EAAAA,sCAAA,gDAA6C,MAA7C;AAEA,EAAAA,sCAAA,mCAAgC,MAAhC;AAEA,EAAAA,sCAAA,sCAAmC,MAAnC;AAEA,EAAAA,sCAAA,gCAA6B,MAA7B;AACA,EAAAA,sCAAA,6BAA0B,MAA1B;AAEA,EAAAA,sCAAA,2BAAwB,MAAxB;AAEA,EAAAA,sCAAA,iCAA8B,MAA9B;AAEA,EAAAA,sCAAA,2BAAwB,MAAxB;AAEA,EAAAA,sCAAA,uBAAoB,MAApB;AACA,EAAAA,sCAAA,+BAA4B,MAA5B;AACA,EAAAA,sCAAA,gCAA6B,MAA7B;AACA,EAAAA,sCAAA,qBAAkB,MAAlB;AACA,EAAAA,sCAAA,WAAQ,MAAR;AA3CU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,qBAAL,kBAAKC,wBAAL;AAEL,EAAAA,wCAAA,uBAAoB,KAApB;AAEA,EAAAA,wCAAA,8CAA2C,KAA3C;AAEA,EAAAA,wCAAA,iCAA8B,KAA9B;AAEA,EAAAA,wCAAA,4BAAyB,KAAzB;AARU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,mBAAL,kBAAKC,sBAAL;AAEL,EAAAA,oCAAA,YAAS,KAAT;AAEA,EAAAA,oCAAA,eAAY,KAAZ;AAEA,EAAAA,oCAAA,kBAAe,KAAf;AANU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,sBAAL,kBAAKC,yBAAL;AAEL,EAAAA,0CAAA,8CAA2C,KAA3C;AAEA,EAAAA,0CAAA,8CAA2C,KAA3C;AAEA,EAAAA,0CAAA,8BAA2B,KAA3B;AAEA,EAAAA,0CAAA,2BAAwB,KAAxB;AAEA,EAAAA,0CAAA,YAAS,KAAT;AAEA,EAAAA,0CAAA,8BAA2B,KAA3B;AAEA,EAAAA,0CAAA,aAAU,KAAV;AAEA,EAAAA,0CAAA,sBAAmB,KAAnB;AAEA,EAAAA,0CAAA,mBAAgB,KAAhB;AAEA,EAAAA,0CAAA,wBAAqB,KAArB;AApBU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,uBAAL,kBAAKC,0BAAL;AAEL,EAAAA,4CAAA,gBAAa,KAAb;AAEA,EAAAA,4CAAA,yBAAsB,KAAtB;AAEA,EAAAA,4CAAA,2CAAwC,KAAxC;AAEA,EAAAA,4CAAA,wCAAqC,KAArC;AAEA,EAAAA,4CAAA,4BAAyB,KAAzB;AAEA,EAAAA,4CAAA,kCAA+B,KAA/B;AAZU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,uBAAL,kBAAKC,0BAAL;AAEL,EAAAA,sBAAA,gDAA6C;AAE7C,EAAAA,sBAAA,mCAAgC;AAJtB,SAAAA;AAAA,GAAA;;;ACAL,IAAK,wBAAL,kBAAKC,2BAAL;AAEL,EAAAA,8CAAA,kBAAe,KAAf;AAEA,EAAAA,8CAAA,iBAAc,KAAd;AAEA,EAAAA,8CAAA,YAAS,KAAT;AAEA,EAAAA,8CAAA,YAAS,KAAT;AAEA,EAAAA,8CAAA,qBAAkB,KAAlB;AAEA,EAAAA,8CAAA,4BAAyB,KAAzB;AAEA,EAAAA,8CAAA,wBAAqB,KAArB;AAEA,EAAAA,8CAAA,yBAAsB,KAAtB;AAEA,EAAAA,8CAAA,+BAA4B,KAA5B;AAEA,EAAAA,8CAAA,gCAA6B,MAA7B;AAEA,EAAAA,8CAAA,uBAAoB,MAApB;AAEA,EAAAA,8CAAA,8BAA2B,MAA3B;AAEA,EAAAA,8CAAA,mBAAgB,MAAhB;AAEA,EAAAA,8CAAA,wBAAqB,MAArB;AAEA,EAAAA,8CAAA,4BAAyB,MAAzB;AAEA,EAAAA,8CAAA,kBAAe,MAAf;AAEA,EAAAA,8CAAA,4BAAyB,MAAzB;AAEA,EAAAA,8CAAA,2BAAwB,MAAxB;AAEA,EAAAA,8CAAA,sBAAmB,MAAnB;AAEA,EAAAA,8CAAA,aAAU,MAAV;AAEA,EAAAA,8CAAA,qBAAkB,MAAlB;AAEA,EAAAA,8CAAA,gBAAa,MAAb;AAEA,EAAAA,8CAAA,cAAW,MAAX;AAEA,EAAAA,8CAAA,WAAQ,MAAR;AAEA,EAAAA,8CAAA,eAAY,MAAZ;AAEA,EAAAA,8CAAA,cAAW,MAAX;AApDU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,aAAL,kBAAKC,gBAAL;AAEL,EAAAA,wBAAA,uBAAoB,KAApB;AAEA,EAAAA,wBAAA,iBAAc,KAAd;AAEA,EAAAA,wBAAA,oBAAiB,KAAjB;AAEA,EAAAA,wBAAA,2BAAwB,KAAxB;AAEA,EAAAA,wBAAA,iBAAc,KAAd;AAEA,EAAAA,wBAAA,yBAAsB,KAAtB;AAZU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,iBAAL,kBAAKC,oBAAL;AAEL,EAAAA,gBAAA,8CAA2C;AAE3C,EAAAA,gBAAA,wCAAqC;AAJ3B,SAAAA;AAAA,GAAA;;;ACAL,IAAK,eAAL,kBAAKC,kBAAL;AAEL,EAAAA,cAAA,8BAA2B;AAE3B,EAAAA,cAAA,2BAAwB;AAJd,SAAAA;AAAA,GAAA;;;ACAL,IAAK,aAAL,kBAAKC,gBAAL;AAEL,EAAAA,wBAAA,YAAS,KAAT;AAEA,EAAAA,wBAAA,WAAQ,KAAR;AAEA,EAAAA,wBAAA,gBAAa,KAAb;AANU,SAAAA;AAAA,GAAA;;;ACNL,IAAK,mBAAL,kBAAKC,sBAAL;AAEL,EAAAA,kBAAA,SAAM;AAEN,EAAAA,kBAAA,aAAU;AAEV,EAAAA,kBAAA,aAAU;AAEV,EAAAA,kBAAA,eAAY;AAEZ,EAAAA,kBAAA,aAAU;AAEV,EAAAA,kBAAA,gBAAa;AAEb,EAAAA,kBAAA,aAAU;AAdA,SAAAA;AAAA,GAAA;;;ACML,IAAK,gBAAL,kBAAKC,mBAAL;AAEL,EAAAA,8BAAA,gBAAa,KAAb;AAEA,EAAAA,8BAAA,gBAAa,KAAb;AAEA,EAAAA,8BAAA,cAAW,KAAX;AAEA,EAAAA,8BAAA,WAAQ,KAAR;AARU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,cAAL,kBAAKC,iBAAL;AAEL,EAAAA,0BAAA,aAAU,KAAV;AAEA,EAAAA,0BAAA,eAAY,KAAZ;AAEA,EAAAA,0BAAA,gBAAa,KAAb;AANU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,gBAAL,kBAAKC,mBAAL;AAEL,EAAAA,8BAAA,aAAU,KAAV;AAEA,EAAAA,8BAAA,YAAS,KAAT;AAEA,EAAAA,8BAAA,UAAO,KAAP;AAEA,EAAAA,8BAAA,YAAS,KAAT;AAEA,EAAAA,8BAAA,aAAU,KAAV;AAEA,EAAAA,8BAAA,cAAW,KAAX;AAEA,EAAAA,8BAAA,qBAAkB,KAAlB;AAdU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,sBAAL,kBAAKC,yBAAL;AAEL,EAAAA,0CAAA,sBAAmB,KAAnB;AAEA,EAAAA,0CAAA,wBAAqB,KAArB;AAEA,EAAAA,0CAAA,qCAAkC,KAAlC;AAEA,EAAAA,0CAAA,kBAAe,KAAf;AAEA,EAAAA,0CAAA,+BAA4B,KAA5B;AAEA,EAAAA,0CAAA,sBAAmB,KAAnB;AAEA,EAAAA,0CAAA,iCAA8B,KAA9B;AAEA,EAAAA,0CAAA,uBAAoB,KAApB;AAEA,EAAAA,0CAAA,sBAAmB,KAAnB;AAEA,EAAAA,0CAAA,mBAAgB,KAAhB;AAEA,EAAAA,0CAAA,gCAA6B,MAA7B;AAEA,EAAAA,0CAAA,oBAAiB,MAAjB;AAEA,EAAAA,0CAAA,wBAAqB,MAArB;AAEA,EAAAA,0CAAA,4BAAyB,MAAzB;AAEA,EAAAA,0CAAA,oCAAiC,MAAjC;AAEA,EAAAA,0CAAA,oCAAiC,MAAjC;AAEA,EAAAA,0CAAA,+CAA4C,MAA5C;AAEA,EAAAA,0CAAA,wCAAqC,MAArC;AAEA,EAAAA,0CAAA,+BAA4B,MAA5B;AAEA,EAAAA,0CAAA,WAAQ,MAAR;AAxCU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,sBAAL,kBAAKC,yBAAL;AAEL,EAAAA,qBAAA,YAAS;AAET,EAAAA,qBAAA,SAAM;AAJI,SAAAA;AAAA,GAAA;;;ACAL,IAAK,gBAAL,kBAAKC,mBAAL;AAEL,EAAAA,eAAA,qBAAkB;AAElB,EAAAA,eAAA,kBAAe;AAJL,SAAAA;AAAA,GAAA;;;ACAL,IAAK,wBAAL,kBAAKC,2BAAL;AAEL,EAAAA,8CAAA,uBAAoB,KAApB;AAEA,EAAAA,8CAAA,eAAY,KAAZ;AAEA,EAAAA,8CAAA,kBAAe,KAAf;AAEA,EAAAA,8CAAA,sBAAmB,KAAnB;AAEA,EAAAA,8CAAA,kBAAe,KAAf;AAEA,EAAAA,8CAAA,8BAA2B,KAA3B;AAEA,EAAAA,8CAAA,yBAAsB,KAAtB;AAEA,EAAAA,8CAAA,2BAAwB,KAAxB;AAEA,EAAAA,8CAAA,YAAS,KAAT;AAEA,EAAAA,8CAAA,cAAW,KAAX;AAEA,EAAAA,8CAAA,oBAAiB,MAAjB;AAEA,EAAAA,8CAAA,gBAAa,MAAb;AAEA,EAAAA,8CAAA,4BAAyB,MAAzB;AAEA,EAAAA,8CAAA,oBAAiB,MAAjB;AAEA,EAAAA,8CAAA,wBAAqB,MAArB;AAEA,EAAAA,8CAAA,qCAAkC,MAAlC;AAEA,EAAAA,8CAAA,gCAA6B,MAA7B;AACA,EAAAA,8CAAA,aAAU,MAAV;AACA,EAAAA,8CAAA,uBAAoB,MAApB;AACA,EAAAA,8CAAA,oBAAiB,MAAjB;AACA,EAAAA,8CAAA,8BAA2B,MAA3B;AAEA,EAAAA,8CAAA,WAAQ,MAAR;AAxCU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,uBAAL,kBAAKC,0BAAL;AAEL,EAAAA,4CAAA,WAAQ,KAAR;AAEA,EAAAA,4CAAA,eAAY,KAAZ;AAEA,EAAAA,4CAAA,qBAAkB,KAAlB;AAEA,EAAAA,4CAAA,4BAAyB,KAAzB;AAEA,EAAAA,4CAAA,6BAA0B,KAA1B;AAEA,EAAAA,4CAAA,uCAAoC,KAApC;AAEA,EAAAA,4CAAA,mBAAgB,KAAhB;AAEA,EAAAA,4CAAA,yCAAsC,KAAtC;AAEA,EAAAA,4CAAA,2BAAwB,KAAxB;AAEA,EAAAA,4CAAA,8CAA2C,KAA3C;AAEA,EAAAA,4CAAA,wCAAqC,MAArC;AAEA,EAAAA,4CAAA,2BAAwB,MAAxB;AAxBU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,eAAL,kBAAKC,kBAAL;AAEL,EAAAA,cAAA,aAAU;AAEV,EAAAA,cAAA,UAAO;AAJG,SAAAA;AAAA,GAAA;;;ACAL,IAAK,iBAAL,kBAAKC,oBAAL;AAEL,EAAAA,gBAAA,6BAA0B;AAE1B,EAAAA,gBAAA,0BAAuB;AAEvB,EAAAA,gBAAA,2BAAwB;AAExB,EAAAA,gBAAA,gCAA6B;AAE7B,EAAAA,gBAAA,4BAAyB;AAEzB,EAAAA,gBAAA,6BAA0B;AAE1B,EAAAA,gBAAA,mBAAgB;AAEhB,EAAAA,gBAAA,2BAAwB;AAhBd,SAAAA;AAAA,GAAA;;;ACAL,IAAK,UAAL,kBAAKC,aAAL;AAEL,EAAAA,kBAAA,kBAAe,KAAf;AAEA,EAAAA,kBAAA,eAAY,KAAZ;AAEA,EAAAA,kBAAA,sBAAmB,KAAnB;AANU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,oBAAL,kBAAKC,uBAAL;AAEL,EAAAA,sCAAA,YAAS,KAAT;AAEA,EAAAA,sCAAA,aAAU,KAAV;AAEA,EAAAA,sCAAA,WAAQ,KAAR;AANU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,eAAL,kBAAKC,kBAAL;AAEL,EAAAA,4BAAA,gBAAa,KAAb;AAEA,EAAAA,4BAAA,gBAAa,KAAb;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,mBAAL,kBAAKC,sBAAL;AAEL,EAAAA,oCAAA,0BAAuB,KAAvB;AAEA,EAAAA,oCAAA,4BAAyB,KAAzB;AAEA,EAAAA,oCAAA,sBAAmB,KAAnB;AAEA,EAAAA,oCAAA,WAAQ,KAAR;AARU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,sBAAL,kBAAKC,yBAAL;AAEL,EAAAA,qBAAA,WAAQ;AAER,EAAAA,qBAAA,UAAO;AAJG,SAAAA;AAAA,GAAA;;;ACAL,IAAK,cAAL,kBAAKC,iBAAL;AAEL,EAAAA,0BAAA,qBAAkB,KAAlB;AAEA,EAAAA,0BAAA,mBAAgB,KAAhB;AAEA,EAAAA,0BAAA,8BAA2B,KAA3B;AANU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,YAAL,kBAAKC,eAAL;AAEL,EAAAA,sBAAA,SAAM,KAAN;AAEA,EAAAA,sBAAA,WAAQ,KAAR;AAJU,SAAAA;AAAA,GAAA;;;ACNL,IAAK,eAAL,kBAAKC,kBAAL;AAEL,EAAAA,cAAA,YAAS;AAET,EAAAA,cAAA,mBAAgB;AAEhB,EAAAA,cAAA,qBAAkB;AAElB,EAAAA,cAAA,eAAY;AARF,SAAAA;AAAA,GAAA;;;ACML,IAAK,cAAL,kBAAKC,iBAAL;AAEL,EAAAA,aAAA,kCAA+B;AAE/B,EAAAA,aAAA,kBAAe;AAEf,EAAAA,aAAA,kBAAe;AAEf,EAAAA,aAAA,QAAK;AAEL,EAAAA,aAAA,qBAAkB;AAElB,EAAAA,aAAA,gCAA6B;AAE7B,EAAAA,aAAA,mCAAgC;AAEhC,EAAAA,aAAA,2BAAwB;AAExB,EAAAA,aAAA,sCAAmC;AAEnC,EAAAA,aAAA,yCAAsC;AAEtC,EAAAA,aAAA,YAAS;AAET,EAAAA,aAAA,UAAO;AAEP,EAAAA,aAAA,YAAS;AA1BC,SAAAA;AAAA,GAAA;;;ACNL,IAAK,YAAL,kBAAKC,eAAL;AAEL,EAAAA,sBAAA,gBAAa,KAAb;AAEA,EAAAA,sBAAA,aAAU,KAAV;AAEA,EAAAA,sBAAA,iBAAc,KAAd;AAEA,EAAAA,sBAAA,cAAW,KAAX;AAEA,EAAAA,sBAAA,aAAU,KAAV;AACA,EAAAA,sBAAA,YAAS,KAAT;AAEA,EAAAA,sBAAA,cAAW,KAAX;AAEA,EAAAA,sBAAA,cAAW,KAAX;AAEA,EAAAA,sBAAA,WAAQ,KAAR;AAEA,EAAAA,sBAAA,4BAAyB,MAAzB;AAEA,EAAAA,sBAAA,+BAA4B,MAA5B;AACA,EAAAA,sBAAA,iBAAc,MAAd;AAEA,EAAAA,sBAAA,0BAAuB,MAAvB;AAEA,EAAAA,sBAAA,2BAAwB,MAAxB;AAEA,EAAAA,sBAAA,2BAAwB,MAAxB;AAEA,EAAAA,sBAAA,8BAA2B,MAA3B;AAEA,EAAAA,sBAAA,iCAA8B,MAA9B;AAEA,EAAAA,sBAAA,gCAA6B,MAA7B;AAEA,EAAAA,sBAAA,oCAAiC,MAAjC;AAEA,EAAAA,sBAAA,8BAA2B,MAA3B;AAEA,EAAAA,sBAAA,+BAA4B,MAA5B;AACA,EAAAA,sBAAA,iBAAc,MAAd;AACA,EAAAA,sBAAA,mBAAgB,MAAhB;AACA,EAAAA,sBAAA,kBAAe,MAAf;AAEA,EAAAA,sBAAA,wBAAqB,MAArB;AA7CU,SAAAA;AAAA,GAAA;;;ACML,IAAK,gBAAL,kBAAKC,mBAAL;AAEL,EAAAA,8BAAA,sCAAmC,KAAnC;AAEA,EAAAA,8BAAA,oCAAiC,KAAjC;AAEA,EAAAA,8BAAA,8CAA2C,KAA3C;AANU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,iBAAL,kBAAKC,oBAAL;AAEL,EAAAA,gCAAA,SAAM,KAAN;AAEA,EAAAA,gCAAA,cAAW,KAAX;AAEA,EAAAA,gCAAA,WAAQ,KAAR;AAEA,EAAAA,gCAAA,iBAAc,KAAd;AAEA,EAAAA,gCAAA,aAAU,KAAV;AAEA,EAAAA,gCAAA,WAAQ,KAAR;AAZU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,cAAL,kBAAKC,iBAAL;AAEL,EAAAA,0BAAA,SAAM,KAAN;AAEA,EAAAA,0BAAA,WAAQ,KAAR;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,kBAAL,kBAAKC,qBAAL;AAEL,EAAAA,kCAAA,sBAAmB,KAAnB;AAEA,EAAAA,kCAAA,0BAAuB,KAAvB;AAEA,EAAAA,kCAAA,eAAY,KAAZ;AAEA,EAAAA,kCAAA,gBAAa,KAAb;AAEA,EAAAA,kCAAA,WAAQ,KAAR;AAEA,EAAAA,kCAAA,aAAU,KAAV;AAEA,EAAAA,kCAAA,YAAS,KAAT;AAdU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,mBAAL,kBAAKC,sBAAL;AAEL,EAAAA,kBAAA,eAAY;AAEZ,EAAAA,kBAAA,wBAAqB;AAErB,EAAAA,kBAAA,gBAAa;AAEb,EAAAA,kBAAA,wBAAqB;AAErB,EAAAA,kBAAA,2BAAwB;AAVd,SAAAA;AAAA,GAAA;;;ACAL,IAAK,mBAAL,kBAAKC,sBAAL;AAEL,EAAAA,kBAAA,wBAAqB;AAErB,EAAAA,kBAAA,+BAA4B;AAJlB,SAAAA;AAAA,GAAA;;;ACAL,IAAK,wBAAL,kBAAKC,2BAAL;AAEL,EAAAA,uBAAA,oBAAiB;AAEjB,EAAAA,uBAAA,sCAAmC;AAEnC,EAAAA,uBAAA,sBAAmB;AANT,SAAAA;AAAA,GAAA;;;ACNL,IAAK,gBAAL,kBAAKC,mBAAL;AAEL,EAAAA,eAAA,wCAAqC;AAErC,EAAAA,eAAA,sBAAmB;AAEnB,EAAAA,eAAA,kBAAe;AAEf,EAAAA,eAAA,SAAM;AAEN,EAAAA,eAAA,4BAAyB;AAEzB,EAAAA,eAAA,gCAA6B;AAE7B,EAAAA,eAAA,uBAAoB;AAEpB,EAAAA,eAAA,6BAA0B;AAE1B,EAAAA,eAAA,0BAAuB;AACvB,EAAAA,eAAA,iBAAc;AAEd,EAAAA,eAAA,8BAA2B;AAE3B,EAAAA,eAAA,gCAA6B;AAE7B,EAAAA,eAAA,oBAAiB;AAEjB,EAAAA,eAAA,6BAA0B;AAE1B,EAAAA,eAAA,uBAAoB;AAEpB,EAAAA,eAAA,8BAA2B;AAE3B,EAAAA,eAAA,WAAQ;AAER,EAAAA,eAAA,SAAM;AAEN,EAAAA,eAAA,oBAAiB;AAEjB,EAAAA,eAAA,6BAA0B;AAE1B,EAAAA,eAAA,oCAAiC;AAEjC,EAAAA,eAAA,iCAA8B;AAE9B,EAAAA,eAAA,2BAAwB;AACxB,EAAAA,eAAA,uBAAoB;AACpB,EAAAA,eAAA,yBAAsB;AACtB,EAAAA,eAAA,6BAA0B;AAC1B,EAAAA,eAAA,iCAA8B;AAC9B,EAAAA,eAAA,UAAO;AACP,EAAAA,eAAA,YAAS;AACT,EAAAA,eAAA,kBAAe;AApDL,SAAAA;AAAA,GAAA;;;ACML,IAAK,YAAL,kBAAKC,eAAL;AAEL,EAAAA,sBAAA,mBAAgB,KAAhB;AAEA,EAAAA,sBAAA,oBAAiB,KAAjB;AAEA,EAAAA,sBAAA,cAAW,KAAX;AAEA,EAAAA,sBAAA,kBAAe,KAAf;AAEA,EAAAA,sBAAA,gBAAa,KAAb;AAEA,EAAAA,sBAAA,qBAAkB,KAAlB;AAEA,EAAAA,sBAAA,kBAAe,KAAf;AAEA,EAAAA,sBAAA,YAAS,KAAT;AAEA,EAAAA,sBAAA,yBAAsB,KAAtB;AAEA,EAAAA,sBAAA,wBAAqB,MAArB;AAEA,EAAAA,sBAAA,4BAAyB,MAAzB;AAEA,EAAAA,sBAAA,qBAAkB,MAAlB;AAEA,EAAAA,sBAAA,0BAAuB,MAAvB;AAEA,EAAAA,sBAAA,4BAAyB,MAAzB;AAEA,EAAAA,sBAAA,+BAA4B,MAA5B;AAEA,EAAAA,sBAAA,qBAAkB,MAAlB;AAEA,EAAAA,sBAAA,gBAAa,MAAb;AAEA,EAAAA,sBAAA,wBAAqB,MAArB;AAEA,EAAAA,sBAAA,oBAAiB,MAAjB;AAEA,EAAAA,sBAAA,0BAAuB,MAAvB;AAEA,EAAAA,sBAAA,0BAAuB,MAAvB;AACA,EAAAA,sBAAA,cAAW,MAAX;AAEA,EAAAA,sBAAA,qBAAkB,MAAlB;AAEA,EAAAA,sBAAA,uCAAoC,MAApC;AAEA,EAAAA,sBAAA,yBAAsB,MAAtB;AAEA,EAAAA,sBAAA,WAAQ,MAAR;AAEA,EAAAA,sBAAA,eAAY,MAAZ;AAEA,EAAAA,sBAAA,kBAAe,MAAf;AAEA,EAAAA,sBAAA,WAAQ,MAAR;AAEA,EAAAA,sBAAA,kBAAe,MAAf;AAEA,EAAAA,sBAAA,iBAAc,MAAd;AAEA,EAAAA,sBAAA,qBAAkB,MAAlB;AACA,EAAAA,sBAAA,oBAAiB,MAAjB;AAEA,EAAAA,sBAAA,uBAAoB,MAApB;AAEA,EAAAA,sBAAA,oBAAiB,MAAjB;AAEA,EAAAA,sBAAA,kBAAe,MAAf;AACA,EAAAA,sBAAA,qBAAkB,MAAlB;AAEA,EAAAA,sBAAA,sBAAmB,MAAnB;AAEA,EAAAA,sBAAA,oBAAiB,MAAjB;AAEA,EAAAA,sBAAA,2BAAwB,MAAxB;AAEA,EAAAA,sBAAA,oBAAiB,MAAjB;AAEA,EAAAA,sBAAA,0BAAuB,MAAvB;AAEA,EAAAA,sBAAA,0BAAuB,MAAvB;AAEA,EAAAA,sBAAA,4BAAyB,MAAzB;AAEA,EAAAA,sBAAA,iBAAc,MAAd;AAEA,EAAAA,sBAAA,8BAA2B,MAA3B;AAEA,EAAAA,sBAAA,qBAAkB,MAAlB;AAEA,EAAAA,sBAAA,kBAAe,MAAf;AAEA,EAAAA,sBAAA,oBAAiB,MAAjB;AAEA,EAAAA,sBAAA,oBAAiB,MAAjB;AAEA,EAAAA,sBAAA,kCAA+B,MAA/B;AAEA,EAAAA,sBAAA,oBAAiB,MAAjB;AAEA,EAAAA,sBAAA,oBAAiB,MAAjB;AAEA,EAAAA,sBAAA,eAAY,MAAZ;AAEA,EAAAA,sBAAA,4BAAyB,MAAzB;AAEA,EAAAA,sBAAA,8BAA2B,MAA3B;AAEA,EAAAA,sBAAA,kBAAe,MAAf;AAEA,EAAAA,sBAAA,mBAAgB,MAAhB;AAEA,EAAAA,sBAAA,uBAAoB,MAApB;AAEA,EAAAA,sBAAA,qBAAkB,MAAlB;AAEA,EAAAA,sBAAA,sBAAmB,MAAnB;AAEA,EAAAA,sBAAA,4BAAyB,MAAzB;AACA,EAAAA,sBAAA,iCAA8B,MAA9B;AACA,EAAAA,sBAAA,qBAAkB,MAAlB;AAEA,EAAAA,sBAAA,iBAAc,MAAd;AAEA,EAAAA,sBAAA,oBAAiB,MAAjB;AAEA,EAAAA,sBAAA,4BAAyB,MAAzB;AAEA,EAAAA,sBAAA,4BAAyB,MAAzB;AAEA,EAAAA,sBAAA,iCAA8B,MAA9B;AAEA,EAAAA,sBAAA,wCAAqC,MAArC;AACA,EAAAA,sBAAA,2BAAwB,MAAxB;AACA,EAAAA,sBAAA,oBAAiB,MAAjB;AAEA,EAAAA,sBAAA,+BAA4B,MAA5B;AAEA,EAAAA,sBAAA,gBAAa,MAAb;AAEA,EAAAA,sBAAA,YAAS,MAAT;AAEA,EAAAA,sBAAA,sBAAmB,MAAnB;AAEA,EAAAA,sBAAA,sBAAmB,MAAnB;AAEA,EAAAA,sBAAA,iBAAc,MAAd;AAEA,EAAAA,sBAAA,iBAAc,MAAd;AAEA,EAAAA,sBAAA,sBAAmB,MAAnB;AAEA,EAAAA,sBAAA,mCAAgC,MAAhC;AAEA,EAAAA,sBAAA,qBAAkB,MAAlB;AAEA,EAAAA,sBAAA,oCAAiC,MAAjC;AAEA,EAAAA,sBAAA,sCAAmC,MAAnC;AAEA,EAAAA,sBAAA,mBAAgB,MAAhB;AAEA,EAAAA,sBAAA,oBAAiB,MAAjB;AAEA,EAAAA,sBAAA,gCAA6B,MAA7B;AAEA,EAAAA,sBAAA,oCAAiC,MAAjC;AAEA,EAAAA,sBAAA,oBAAiB,MAAjB;AACA,EAAAA,sBAAA,uBAAoB,MAApB;AAEA,EAAAA,sBAAA,2BAAwB,MAAxB;AAEA,EAAAA,sBAAA,kCAA+B,MAA/B;AACA,EAAAA,sBAAA,gBAAa,MAAb;AAEA,EAAAA,sBAAA,uBAAoB,MAApB;AAEA,EAAAA,sBAAA,uBAAoB,MAApB;AAEA,EAAAA,sBAAA,wBAAqB,MAArB;AAEA,EAAAA,sBAAA,wBAAqB,MAArB;AACA,EAAAA,sBAAA,uBAAoB,MAApB;AACA,EAAAA,sBAAA,mBAAgB,OAAhB;AACA,EAAAA,sBAAA,4BAAyB,OAAzB;AACA,EAAAA,sBAAA,oBAAiB,OAAjB;AAEA,EAAAA,sBAAA,sBAAmB,OAAnB;AAEA,EAAAA,sBAAA,0BAAuB,OAAvB;AAEA,EAAAA,sBAAA,4BAAyB,OAAzB;AACA,EAAAA,sBAAA,uBAAoB,OAApB;AAEA,EAAAA,sBAAA,mBAAgB,OAAhB;AACA,EAAAA,sBAAA,qBAAkB,OAAlB;AAEA,EAAAA,sBAAA,cAAW,OAAX;AAEA,EAAAA,sBAAA,sBAAmB,OAAnB;AAEA,EAAAA,sBAAA,eAAY,OAAZ;AAEA,EAAAA,sBAAA,6BAA0B,OAA1B;AAEA,EAAAA,sBAAA,sBAAmB,OAAnB;AAEA,EAAAA,sBAAA,kBAAe,OAAf;AACA,EAAAA,sBAAA,qBAAkB,OAAlB;AACA,EAAAA,sBAAA,iBAAc,OAAd;AACA,EAAAA,sBAAA,cAAW,OAAX;AAEA,EAAAA,sBAAA,SAAM,OAAN;AAEA,EAAAA,sBAAA,UAAO,OAAP;AACA,EAAAA,sBAAA,uBAAoB,OAApB;AACA,EAAAA,sBAAA,6BAA0B,OAA1B;AACA,EAAAA,sBAAA,4BAAyB,OAAzB;AACA,EAAAA,sBAAA,oBAAiB,OAAjB;AACA,EAAAA,sBAAA,YAAS,OAAT;AACA,EAAAA,sBAAA,2BAAwB,OAAxB;AACA,EAAAA,sBAAA,mCAAgC,OAAhC;AACA,EAAAA,sBAAA,uBAAoB,OAApB;AAlOU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,UAAL,kBAAKC,aAAL;AAEL,EAAAA,kBAAA,YAAS,KAAT;AAEA,EAAAA,kBAAA,eAAY,KAAZ;AAEA,EAAAA,kBAAA,eAAY,KAAZ;AAEA,EAAAA,kBAAA,cAAW,KAAX;AAEA,EAAAA,kBAAA,YAAS,KAAT;AAEA,EAAAA,kBAAA,gBAAa,KAAb;AAEA,EAAAA,kBAAA,WAAQ,KAAR;AAEA,EAAAA,kBAAA,UAAO,KAAP;AAEA,EAAAA,kBAAA,iBAAc,KAAd;AAEA,EAAAA,kBAAA,cAAW,MAAX;AAEA,EAAAA,kBAAA,eAAY,MAAZ;AAEA,EAAAA,kBAAA,WAAQ,MAAR;AAEA,EAAAA,kBAAA,eAAY,MAAZ;AA1BU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,uBAAL,kBAAKC,0BAAL;AAEL,EAAAA,sBAAA,WAAQ;AAER,EAAAA,sBAAA,UAAO;AAJG,SAAAA;AAAA,GAAA;;;ACNL,IAAK,oBAAL,kBAAKC,uBAAL;AAEL,EAAAA,mBAAA,oBAAiB;AAEjB,EAAAA,mBAAA,eAAY;AAEZ,EAAAA,mBAAA,aAAU;AANA,SAAAA;AAAA,GAAA;;;ACML,IAAK,uBAAL,kBAAKC,0BAAL;AAEL,EAAAA,4CAAA,WAAQ,KAAR;AAEA,EAAAA,4CAAA,UAAO,KAAP;AAEA,EAAAA,4CAAA,eAAY,KAAZ;AAEA,EAAAA,4CAAA,iBAAc,KAAd;AAEA,EAAAA,4CAAA,YAAS,KAAT;AAEA,EAAAA,4CAAA,yBAAsB,KAAtB;AAEA,EAAAA,4CAAA,aAAU,KAAV;AAEA,EAAAA,4CAAA,kBAAe,KAAf;AAEA,EAAAA,4CAAA,eAAY,KAAZ;AAEA,EAAAA,4CAAA,UAAO,MAAP;AAEA,EAAAA,4CAAA,kCAA+B,MAA/B;AAEA,EAAAA,4CAAA,oBAAiB,MAAjB;AAEA,EAAAA,4CAAA,WAAQ,OAAR;AA1BU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,qBAAL,kBAAKC,wBAAL;AAEL,EAAAA,oBAAA,SAAM;AAEN,EAAAA,oBAAA,qBAAkB;AAElB,EAAAA,oBAAA,uBAAoB;AAEpB,EAAAA,oBAAA,qBAAkB;AARR,SAAAA;AAAA,GAAA;;;ACAL,IAAK,wBAAL,kBAAKC,2BAAL;AAEL,EAAAA,uBAAA,YAAS;AAET,EAAAA,uBAAA,gBAAa;AAEb,EAAAA,uBAAA,sBAAmB;AAEnB,EAAAA,uBAAA,qBAAkB;AAElB,EAAAA,uBAAA,sBAAmB;AAVT,SAAAA;AAAA,GAAA;;;ACAL,IAAK,gBAAL,kBAAKC,mBAAL;AAEL,EAAAA,eAAA,cAAW;AAEX,EAAAA,eAAA,mBAAgB;AAEhB,EAAAA,eAAA,wCAAqC;AAErC,EAAAA,eAAA,uCAAoC;AAEpC,EAAAA,eAAA,gBAAa;AAEb,EAAAA,eAAA,sCAAmC;AAEnC,EAAAA,eAAA,qCAAkC;AAElC,EAAAA,eAAA,iBAAc;AAhBJ,SAAAA;AAAA,GAAA;;;ACNL,IAAK,uBAAL,kBAAKC,0BAAL;AAEL,EAAAA,4CAAA,SAAM,KAAN;AAEA,EAAAA,4CAAA,YAAS,KAAT;AAEA,EAAAA,4CAAA,aAAU,KAAV;AAEA,EAAAA,4CAAA,aAAU,KAAV;AAEA,EAAAA,4CAAA,aAAU,KAAV;AAEA,EAAAA,4CAAA,+BAA4B,KAA5B;AAZU,SAAAA;AAAA,GAAA;;;ACML,IAAK,gBAAL,kBAAKC,mBAAL;AAEL,EAAAA,8BAAA,WAAQ,KAAR;AAEA,EAAAA,8BAAA,UAAO,KAAP;AAEA,EAAAA,8BAAA,eAAY,KAAZ;AAEA,EAAAA,8BAAA,iBAAc,KAAd;AAEA,EAAAA,8BAAA,YAAS,KAAT;AAEA,EAAAA,8BAAA,yBAAsB,KAAtB;AAEA,EAAAA,8BAAA,aAAU,KAAV;AAEA,EAAAA,8BAAA,eAAY,KAAZ;AAEA,EAAAA,8BAAA,iBAAc,KAAd;AAEA,EAAAA,8BAAA,kBAAe,MAAf;AAEA,EAAAA,8BAAA,gBAAa,MAAb;AAEA,EAAAA,8BAAA,cAAW,MAAX;AAEA,EAAAA,8BAAA,eAAY,MAAZ;AAEA,EAAAA,8BAAA,UAAO,MAAP;AAEA,EAAAA,8BAAA,6BAA0B,MAA1B;AAEA,EAAAA,8BAAA,WAAQ,MAAR;AAEA,EAAAA,8BAAA,WAAQ,MAAR;AAEA,EAAAA,8BAAA,WAAQ,MAAR;AAEA,EAAAA,8BAAA,SAAM,MAAN;AACA,EAAAA,8BAAA,aAAU,MAAV;AAEA,EAAAA,8BAAA,WAAQ,OAAR;AAzCU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,mBAAL,kBAAKC,sBAAL;AAEL,EAAAA,oCAAA,UAAO,KAAP;AAEA,EAAAA,oCAAA,aAAU,KAAV;AAEA,EAAAA,oCAAA,WAAQ,KAAR;AAEA,EAAAA,oCAAA,iBAAc,KAAd;AAEA,EAAAA,oCAAA,4BAAyB,KAAzB;AAEA,EAAAA,oCAAA,sBAAmB,KAAnB;AAEA,EAAAA,oCAAA,wBAAqB,KAArB;AAEA,EAAAA,oCAAA,sBAAmB,KAAnB;AAEA,EAAAA,oCAAA,mBAAgB,KAAhB;AAEA,EAAAA,oCAAA,uBAAoB,KAApB;AAEA,EAAAA,oCAAA,yBAAsB,MAAtB;AAEA,EAAAA,oCAAA,uBAAoB,MAApB;AAEA,EAAAA,oCAAA,yBAAsB,MAAtB;AAEA,EAAAA,oCAAA,yBAAsB,MAAtB;AAEA,EAAAA,oCAAA,0BAAuB,MAAvB;AAEA,EAAAA,oCAAA,6BAA0B,MAA1B;AAEA,EAAAA,oCAAA,SAAM,MAAN;AAEA,EAAAA,oCAAA,iBAAc,MAAd;AAEA,EAAAA,oCAAA,WAAQ,MAAR;AAEA,EAAAA,oCAAA,uBAAoB,MAApB;AAEA,EAAAA,oCAAA,YAAS,MAAT;AAEA,EAAAA,oCAAA,qBAAkB,MAAlB;AAEA,EAAAA,oCAAA,YAAS,MAAT;AAEA,EAAAA,oCAAA,WAAQ,MAAR;AAEA,EAAAA,oCAAA,sBAAmB,MAAnB;AAEA,EAAAA,oCAAA,yBAAsB,MAAtB;AAEA,EAAAA,oCAAA,gCAA6B,MAA7B;AAEA,EAAAA,oCAAA,mCAAgC,MAAhC;AAEA,EAAAA,oCAAA,2BAAwB,MAAxB;AAEA,EAAAA,oCAAA,8BAA2B,MAA3B;AAEA,EAAAA,oCAAA,WAAQ,OAAR;AA9DU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,gBAAL,kBAAKC,mBAAL;AAEL,EAAAA,eAAA,QAAK;AAEL,EAAAA,eAAA,SAAM;AAJI,SAAAA;AAAA,GAAA;;;ACAL,IAAK,eAAL,kBAAKC,kBAAL;AAEL,EAAAA,cAAA,cAAW;AAEX,EAAAA,cAAA,cAAW;AAEX,EAAAA,cAAA,UAAO;AAEP,EAAAA,cAAA,cAAW;AARD,SAAAA;AAAA,GAAA;;;ACNL,IAAK,sBAAL,kBAAKC,yBAAL;AAEL,EAAAA,0CAAA,wBAAqB,KAArB;AAEA,EAAAA,0CAAA,0BAAuB,KAAvB;AAEA,EAAAA,0CAAA,0BAAuB,KAAvB;AAEA,EAAAA,0CAAA,kBAAe,KAAf;AAEA,EAAAA,0CAAA,qBAAkB,KAAlB;AAEA,EAAAA,0CAAA,uBAAoB,KAApB;AAEA,EAAAA,0CAAA,2BAAwB,KAAxB;AAEA,EAAAA,0CAAA,gCAA6B,KAA7B;AAEA,EAAAA,0CAAA,uBAAoB,KAApB;AAEA,EAAAA,0CAAA,6BAA0B,MAA1B;AAEA,EAAAA,0CAAA,wBAAqB,MAArB;AAEA,EAAAA,0CAAA,oBAAiB,MAAjB;AAEA,EAAAA,0CAAA,0BAAuB,MAAvB;AAEA,EAAAA,0CAAA,uBAAoB,MAApB;AAEA,EAAAA,0CAAA,0BAAuB,MAAvB;AAEA,EAAAA,0CAAA,wBAAqB,MAArB;AAEA,EAAAA,0CAAA,sBAAmB,MAAnB;AAEA,EAAAA,0CAAA,uBAAoB,MAApB;AAEA,EAAAA,0CAAA,WAAQ,MAAR;AAtCU,SAAAA;AAAA,GAAA;;;ACML,IAAK,kBAAL,kBAAKC,qBAAL;AAEL,EAAAA,iBAAA,SAAM;AAEN,EAAAA,iBAAA,YAAS;AAET,EAAAA,iBAAA,aAAU;AANA,SAAAA;AAAA,GAAA;;;ACAL,IAAK,gBAAL,kBAAKC,mBAAL;AAEL,EAAAA,eAAA,oBAAiB;AAEjB,EAAAA,eAAA,qBAAkB;AAElB,EAAAA,eAAA,mBAAgB;AANN,SAAAA;AAAA,GAAA;;;ACNL,IAAK,cAAL,kBAAKC,iBAAL;AAEL,EAAAA,0BAAA,sBAAmB,KAAnB;AAEA,EAAAA,0BAAA,uBAAoB,KAApB;AAEA,EAAAA,0BAAA,yBAAsB,KAAtB;AAEA,EAAAA,0BAAA,0BAAuB,KAAvB;AAEA,EAAAA,0BAAA,oBAAiB,KAAjB;AAEA,EAAAA,0BAAA,qBAAkB,KAAlB;AAEA,EAAAA,0BAAA,wBAAqB,KAArB;AAEA,EAAAA,0BAAA,yBAAsB,KAAtB;AAEA,EAAAA,0BAAA,sBAAmB,KAAnB;AAEA,EAAAA,0BAAA,uBAAoB,MAApB;AAEA,EAAAA,0BAAA,uCAAoC,MAApC;AAEA,EAAAA,0BAAA,wBAAqB,MAArB;AAEA,EAAAA,0BAAA,uCAAoC,MAApC;AAEA,EAAAA,0BAAA,sCAAmC,MAAnC;AAEA,EAAAA,0BAAA,yBAAsB,MAAtB;AA9BU,SAAAA;AAAA,GAAA;;;ACML,IAAK,YAAL,kBAAKC,eAAL;AAEL,EAAAA,sBAAA,wBAAqB,KAArB;AAEA,EAAAA,sBAAA,mBAAgB,KAAhB;AAEA,EAAAA,sBAAA,oBAAiB,KAAjB;AAEA,EAAAA,sBAAA,uBAAoB,KAApB;AAEA,EAAAA,sBAAA,oBAAiB,KAAjB;AAEA,EAAAA,sBAAA,iBAAc,KAAd;AAEA,EAAAA,sBAAA,oCAAiC,KAAjC;AAEA,EAAAA,sBAAA,YAAS,KAAT;AAEA,EAAAA,sBAAA,iBAAc,KAAd;AAEA,EAAAA,sBAAA,0BAAuB,MAAvB;AAEA,EAAAA,sBAAA,2BAAwB,MAAxB;AAEA,EAAAA,sBAAA,mBAAgB,MAAhB;AAEA,EAAAA,sBAAA,aAAU,MAAV;AAEA,EAAAA,sBAAA,2BAAwB,MAAxB;AACA,EAAAA,sBAAA,cAAW,MAAX;AAEA,EAAAA,sBAAA,wBAAqB,MAArB;AAEA,EAAAA,sBAAA,yBAAsB,MAAtB;AAEA,EAAAA,sBAAA,wBAAqB,MAArB;AAEA,EAAAA,sBAAA,qBAAkB,MAAlB;AACA,EAAAA,sBAAA,gCAA6B,MAA7B;AAEA,EAAAA,sBAAA,uBAAoB,MAApB;AAEA,EAAAA,sBAAA,mCAAgC,MAAhC;AA1CU,SAAAA;AAAA,GAAA;;;ACNL,IAAK,gBAAL,kBAAKC,mBAAL;AAEL,EAAAA,eAAA,YAAS;AAET,EAAAA,eAAA,iBAAc;AAEd,EAAAA,eAAA,gBAAa;AACb,EAAAA,eAAA,eAAY;AAEZ,EAAAA,eAAA,uBAAoB;AAEpB,EAAAA,eAAA,yBAAsB;AAEtB,EAAAA,eAAA,mBAAgB;AAbN,SAAAA;AAAA,GAAA;;;ACML,IAAK,oBAAL,kBAAKC,uBAAL;AAEL,EAAAA,mBAAA,kBAAe;AAEf,EAAAA,mBAAA,oBAAiB;AAEjB,EAAAA,mBAAA,uBAAoB;AAEpB,EAAAA,mBAAA,0BAAuB;AAEvB,EAAAA,mBAAA,+CAA4C;AAE5C,EAAAA,mBAAA,iDAA8C;AAE9C,EAAAA,mBAAA,mBAAgB;AAEhB,EAAAA,mBAAA,+BAA4B;AAE5B,EAAAA,mBAAA,yCAAsC;AAEtC,EAAAA,mBAAA,uBAAoB;AAEpB,EAAAA,mBAAA,mBAAgB;AAEhB,EAAAA,mBAAA,6BAA0B;AAE1B,EAAAA,mBAAA,oBAAiB;AAEjB,EAAAA,mBAAA,iBAAc;AAEd,EAAAA,mBAAA,WAAQ;AAER,EAAAA,mBAAA,oBAAiB;AAEjB,EAAAA,mBAAA,4BAAyB;AAEzB,EAAAA,mBAAA,2BAAwB;AApCd,SAAAA;AAAA,GAAA;;;ACAL,IAAK,wBAAL,kBAAKC,2BAAL;AAEL,EAAAA,uBAAA,8BAA2B;AAE3B,EAAAA,uBAAA,yCAAsC;AAEtC,EAAAA,uBAAA,6BAA0B;AAE1B,EAAAA,uBAAA,6BAA0B;AAE1B,EAAAA,uBAAA,kCAA+B;AAE/B,EAAAA,uBAAA,oCAAiC;AAEjC,EAAAA,uBAAA,qBAAkB;AAElB,EAAAA,uBAAA,4BAAyB;AAEzB,EAAAA,uBAAA,mCAAgC;AAEhC,EAAAA,uBAAA,mCAAgC;AAEhC,EAAAA,uBAAA,mCAAgC;AAEhC,EAAAA,uBAAA,yCAAsC;AAxB5B,SAAAA;AAAA,GAAA;;;ACAL,IAAK,qBAAL,kBAAKC,wBAAL;AAEL,EAAAA,oBAAA,2BAAwB;AAExB,EAAAA,oBAAA,8BAA2B;AAE3B,EAAAA,oBAAA,yCAAsC;AAEtC,EAAAA,oBAAA,6BAA0B;AAE1B,EAAAA,oBAAA,6BAA0B;AAE1B,EAAAA,oBAAA,kCAA+B;AAE/B,EAAAA,oBAAA,oCAAiC;AAEjC,EAAAA,oBAAA,qBAAkB;AAElB,EAAAA,oBAAA,4BAAyB;AAEzB,EAAAA,oBAAA,mCAAgC;AAEhC,EAAAA,oBAAA,mCAAgC;AAEhC,EAAAA,oBAAA,sCAAmC;AAEnC,EAAAA,oBAAA,+CAA4C;AA1BlC,SAAAA;AAAA,GAAA;;;ACAL,IAAK,yBAAL,kBAAKC,4BAAL;AAEL,EAAAA,gDAAA,4BAAyB,KAAzB;AAEA,EAAAA,gDAAA,8BAA2B,KAA3B;AAEA,EAAAA,gDAAA,wCAAqC,KAArC;AAEA,EAAAA,gDAAA,6BAA0B,KAA1B;AAEA,EAAAA,gDAAA,6BAA0B,KAA1B;AAEA,EAAAA,gDAAA,kCAA+B,KAA/B;AAEA,EAAAA,gDAAA,oCAAiC,KAAjC;AAEA,EAAAA,gDAAA,4BAAyB,KAAzB;AAEA,EAAAA,gDAAA,kCAA+B,KAA/B;AAEA,EAAAA,gDAAA,mCAAgC,KAAhC;AAEA,EAAAA,gDAAA,oCAAiC,MAAjC;AAEA,EAAAA,gDAAA,gDAA6C,MAA7C;AAEA,EAAAA,gDAAA,WAAQ,MAAR;AA1BU,SAAAA;AAAA,GAAA;;;ACNL,IAAK,YAAL,kBAAKC,eAAL;AAEL,EAAAA,sBAAA,gBAAa,KAAb;AAEA,EAAAA,sBAAA,eAAY,KAAZ;AAEA,EAAAA,sBAAA,yBAAsB,KAAtB;AAEA,EAAAA,sBAAA,aAAU,KAAV;AAEA,EAAAA,sBAAA,wBAAqB,KAArB;AAVU,SAAAA;AAAA,GAAA;;;ACML,IAAK,aAAL,kBAAKC,gBAAL;AAEL,EAAAA,YAAA,UAAO;AAEP,EAAAA,YAAA,gBAAa;AAEb,EAAAA,YAAA,iBAAc;AANJ,SAAAA;AAAA,GAAA;;;ACAL,IAAK,QAAL,kBAAKC,WAAL;AAEL,EAAAA,OAAA,iBAAc;AAEd,EAAAA,OAAA,cAAW;AAEX,EAAAA,OAAA,YAAS;AANC,SAAAA;AAAA,GAAA;;;ACAL,IAAK,mBAAL,kBAAKC,sBAAL;AAEL,EAAAA,kBAAA,QAAK;AAEL,EAAAA,kBAAA,SAAM;AAJI,SAAAA;AAAA,GAAA;;;ACAL,IAAK,YAAL,kBAAKC,eAAL;AACL,EAAAA,sBAAA,cAAW,KAAX;AACA,EAAAA,sBAAA,cAAW,KAAX;AACA,EAAAA,sBAAA,kBAAe,KAAf;AACA,EAAAA,sBAAA,oBAAiB,KAAjB;AACA,EAAAA,sBAAA,gBAAa,KAAb;AACA,EAAAA,sBAAA,qBAAkB,KAAlB;AACA,EAAAA,sBAAA,eAAY,KAAZ;AACA,EAAAA,sBAAA,cAAW,KAAX;AACA,EAAAA,sBAAA,wBAAqB,KAArB;AATU,SAAAA;AAAA,GAAA;;;ACNL,IAAK,sBAAL,kBAAKC,yBAAL;AAEL,EAAAA,0CAAA,UAAO,KAAP;AAEA,EAAAA,0CAAA,0BAAuB,KAAvB;AAEA,EAAAA,0CAAA,2BAAwB,KAAxB;AANU,SAAAA;AAAA,GAAA;;;ACML,IAAK,UAAL,kBAAKC,aAAL;AAEL,EAAAA,kBAAA,aAAU,KAAV;AAEA,EAAAA,kBAAA,eAAY,KAAZ;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,0BAAL,kBAAKC,6BAAL;AAEL,EAAAA,kDAAA,YAAS,KAAT;AAEA,EAAAA,kDAAA,qBAAkB,KAAlB;AAEA,EAAAA,kDAAA,aAAU,KAAV;AAEA,EAAAA,kDAAA,sBAAmB,KAAnB;AAEA,EAAAA,kDAAA,mBAAgB,KAAhB;AAEA,EAAAA,kDAAA,wBAAqB,KAArB;AAZU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,wBAAL,kBAAKC,2BAAL;AAEL,EAAAA,8CAAA,kBAAe,KAAf;AAEA,EAAAA,8CAAA,iCAA8B,KAA9B;AAEA,EAAAA,8CAAA,wBAAqB,KAArB;AAEA,EAAAA,8CAAA,2CAAwC,KAAxC;AAEA,EAAAA,8CAAA,0CAAuC,KAAvC;AAEA,EAAAA,8CAAA,0CAAuC,KAAvC;AAZU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,qBAAL,kBAAKC,wBAAL;AAEL,EAAAA,wCAAA,kCAA+B,KAA/B;AAEA,EAAAA,wCAAA,+CAA4C,KAA5C;AAEA,EAAAA,wCAAA,gCAA6B,KAA7B;AANU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,yBAAL,kBAAKC,4BAAL;AAEL,EAAAA,gDAAA,sCAAmC,KAAnC;AAEA,EAAAA,gDAAA,WAAQ,MAAR;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,mBAAL,kBAAKC,sBAAL;AAEL,EAAAA,oCAAA,eAAY,KAAZ;AAEA,EAAAA,oCAAA,mCAAgC,KAAhC;AAEA,EAAAA,oCAAA,sCAAmC,KAAnC;AAEA,EAAAA,oCAAA,uCAAoC,KAApC;AAEA,EAAAA,oCAAA,iCAA8B,KAA9B;AAVU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,qBAAL,kBAAKC,wBAAL;AACL,EAAAA,oBAAA,+BAA4B;AAC5B,EAAAA,oBAAA,sCAAmC;AAFzB,SAAAA;AAAA,GAAA;;;ACAL,IAAK,cAAL,kBAAKC,iBAAL;AAEL,EAAAA,aAAA,cAAW;AAEX,EAAAA,aAAA,gBAAa;AAEb,EAAAA,aAAA,qBAAkB;AAClB,EAAAA,aAAA,gBAAa;AAPH,SAAAA;AAAA,GAAA;;;ACAL,IAAK,YAAL,kBAAKC,eAAL;AAEL,EAAAA,WAAA,mCAAgC;AAEhC,EAAAA,WAAA,2BAAwB;AAExB,EAAAA,WAAA,sBAAmB;AAEnB,EAAAA,WAAA,mCAAgC;AAEhC,EAAAA,WAAA,qBAAkB;AAElB,EAAAA,WAAA,2BAAwB;AAExB,EAAAA,WAAA,uBAAoB;AAEpB,EAAAA,WAAA,4BAAyB;AAEzB,EAAAA,WAAA,gBAAa;AAEb,EAAAA,WAAA,0CAAuC;AAEvC,EAAAA,WAAA,oCAAiC;AAEjC,EAAAA,WAAA,oCAAiC;AAEjC,EAAAA,WAAA,oCAAiC;AAEjC,EAAAA,WAAA,oCAAiC;AAEjC,EAAAA,WAAA,oCAAiC;AAEjC,EAAAA,WAAA,gCAA6B;AAE7B,EAAAA,WAAA,qCAAkC;AAElC,EAAAA,WAAA,iBAAc;AAEd,EAAAA,WAAA,yBAAsB;AAEtB,EAAAA,WAAA,yBAAsB;AAEtB,EAAAA,WAAA,0BAAuB;AAEvB,EAAAA,WAAA,eAAY;AAEZ,EAAAA,WAAA,kBAAe;AAEf,EAAAA,WAAA,2BAAwB;AAExB,EAAAA,WAAA,iBAAc;AAEd,EAAAA,WAAA,aAAU;AAEV,EAAAA,WAAA,4BAAyB;AACzB,EAAAA,WAAA,uBAAoB;AACpB,EAAAA,WAAA,0BAAuB;AAxDb,SAAAA;AAAA,GAAA;;;ACNL,IAAK,SAAL,kBAAKC,YAAL;AAEL,EAAAA,QAAA,qBAAkB;AAElB,EAAAA,QAAA,mBAAgB;AAJN,SAAAA;AAAA,GAAA;;;ACML,IAAK,sBAAL,kBAAKC,yBAAL;AAEL,EAAAA,0CAAA,qBAAkB,KAAlB;AAEA,EAAAA,0CAAA,2BAAwB,KAAxB;AAEA,EAAAA,0CAAA,0BAAuB,KAAvB;AAEA,EAAAA,0CAAA,gBAAa,KAAb;AAEA,EAAAA,0CAAA,kBAAe,KAAf;AAEA,EAAAA,0CAAA,yBAAsB,KAAtB;AAEA,EAAAA,0CAAA,qCAAkC,KAAlC;AAEA,EAAAA,0CAAA,oCAAiC,KAAjC;AAEA,EAAAA,0CAAA,gBAAa,KAAb;AAEA,EAAAA,0CAAA,0BAAuB,KAAvB;AAEA,EAAAA,0CAAA,yBAAsB,MAAtB;AAEA,EAAAA,0CAAA,uCAAoC,MAApC;AAEA,EAAAA,0CAAA,mBAAgB,MAAhB;AAEA,EAAAA,0CAAA,kBAAe,MAAf;AAEA,EAAAA,0CAAA,WAAQ,MAAR;AA9BU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,cAAL,kBAAKC,iBAAL;AAEL,EAAAA,0BAAA,yBAAsB,KAAtB;AAEA,EAAAA,0BAAA,4BAAyB,KAAzB;AAEA,EAAAA,0BAAA,iBAAc,KAAd;AAEA,EAAAA,0BAAA,iBAAc,KAAd;AAEA,EAAAA,0BAAA,yCAAsC,KAAtC;AAEA,EAAAA,0BAAA,8BAA2B,KAA3B;AAEA,EAAAA,0BAAA,4BAAyB,KAAzB;AAEA,EAAAA,0BAAA,wBAAqB,KAArB;AAEA,EAAAA,0BAAA,wBAAqB,MAArB;AAEA,EAAAA,0BAAA,wBAAqB,MAArB;AACA,EAAAA,0BAAA,sCAAmC,MAAnC;AACA,EAAAA,0BAAA,oCAAiC,MAAjC;AAtBU,SAAAA;AAAA,GAAA;;;ACNL,IAAK,oBAAL,kBAAKC,uBAAL;AAEL,EAAAA,sCAAA,qCAAkC,KAAlC;AAEA,EAAAA,sCAAA,iDAA8C,KAA9C;AAEA,EAAAA,sCAAA,mCAAgC,KAAhC;AAEA,EAAAA,sCAAA,cAAW,KAAX;AACA,EAAAA,sCAAA,oBAAiB,KAAjB;AATU,SAAAA;AAAA,GAAA;;;ACML,IAAK,oBAAL,kBAAKC,uBAAL;AAEL,EAAAA,sCAAA,iCAA8B,KAA9B;AAEA,EAAAA,sCAAA,4CAAyC,KAAzC;AAEA,EAAAA,sCAAA,gCAA6B,KAA7B;AAEA,EAAAA,sCAAA,gCAA6B,KAA7B;AAEA,EAAAA,sCAAA,qCAAkC,KAAlC;AAEA,EAAAA,sCAAA,uCAAoC,KAApC;AAEA,EAAAA,sCAAA,wBAAqB,KAArB;AAEA,EAAAA,sCAAA,gCAA6B,KAA7B;AAEA,EAAAA,sCAAA,6BAA0B,KAA1B;AAEA,EAAAA,sCAAA,yCAAsC,MAAtC;AApBU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,iBAAL,kBAAKC,oBAAL;AAEL,EAAAA,gBAAA,UAAO;AAEP,EAAAA,gBAAA,0CAAuC;AAEvC,EAAAA,gBAAA,gBAAa;AANH,SAAAA;AAAA,GAAA;;;ACAL,IAAK,cAAL,kBAAKC,iBAAL;AAEL,EAAAA,aAAA,yCAAsC;AAEtC,EAAAA,aAAA,2CAAwC;AAExC,EAAAA,aAAA,sCAAmC;AANzB,SAAAA;AAAA,GAAA;;;ACAL,IAAK,iBAAL,kBAAKC,oBAAL;AAEL,EAAAA,gBAAA,aAAU;AAEV,EAAAA,gBAAA,kBAAe;AAJL,SAAAA;AAAA,GAAA;;;ACAL,IAAK,sBAAL,kBAAKC,yBAAL;AAEL,EAAAA,qBAAA,gBAAa;AAEb,EAAAA,qBAAA,6BAA0B;AAE1B,EAAAA,qBAAA,gBAAa;AAEb,EAAAA,qBAAA,6BAA0B;AAE1B,EAAAA,qBAAA,iBAAc;AAEd,EAAAA,qBAAA,8BAA2B;AAE3B,EAAAA,qBAAA,eAAY;AAEZ,EAAAA,qBAAA,gBAAa;AACb,EAAAA,qBAAA,gCAA6B;AAC7B,EAAAA,qBAAA,6BAA0B;AAC1B,EAAAA,qBAAA,oBAAiB;AACjB,EAAAA,qBAAA,mBAAgB;AAChB,EAAAA,qBAAA,kBAAe;AACf,EAAAA,qBAAA,2BAAwB;AAtBd,SAAAA;AAAA,GAAA;;;ACNL,IAAK,YAAL,kBAAKC,eAAL;AAEL,EAAAA,sBAAA,gBAAa,KAAb;AAEA,EAAAA,sBAAA,iBAAc,KAAd;AAEA,EAAAA,sBAAA,wCAAqC,KAArC;AAEA,EAAAA,sBAAA,0CAAuC,KAAvC;AAEA,EAAAA,sBAAA,iBAAc,KAAd;AAEA,EAAAA,sBAAA,wBAAqB,KAArB;AAEA,EAAAA,sBAAA,0BAAuB,KAAvB;AAEA,EAAAA,sBAAA,2BAAwB,KAAxB;AAEA,EAAAA,sBAAA,YAAS,KAAT;AAEA,EAAAA,sBAAA,YAAS,MAAT;AAEA,EAAAA,sBAAA,mBAAgB,MAAhB;AAEA,EAAAA,sBAAA,qBAAkB,MAAlB;AAEA,EAAAA,sBAAA,mBAAgB,MAAhB;AAEA,EAAAA,sBAAA,qBAAkB,MAAlB;AAEA,EAAAA,sBAAA,iBAAc,MAAd;AAEA,EAAAA,sBAAA,iBAAc,MAAd;AAEA,EAAAA,sBAAA,YAAS,MAAT;AAEA,EAAAA,sBAAA,YAAS,MAAT;AAEA,EAAAA,sBAAA,kBAAe,MAAf;AAEA,EAAAA,sBAAA,sBAAmB,MAAnB;AAEA,EAAAA,sBAAA,aAAU,MAAV;AAEA,EAAAA,sBAAA,oBAAiB,MAAjB;AAEA,EAAAA,sBAAA,yBAAsB,MAAtB;AAEA,EAAAA,sBAAA,mBAAgB,MAAhB;AAEA,EAAAA,sBAAA,mBAAgB,MAAhB;AACA,EAAAA,sBAAA,sCAAmC,MAAnC;AAnDU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,uBAAL,kBAAKC,0BAAL;AAEL,EAAAA,sBAAA,uBAAoB;AAEpB,EAAAA,sBAAA,wBAAqB;AAErB,EAAAA,sBAAA,uBAAoB;AAEpB,EAAAA,sBAAA,wBAAqB;AAErB,EAAAA,sBAAA,uBAAoB;AAEpB,EAAAA,sBAAA,uBAAoB;AAEpB,EAAAA,sBAAA,gBAAa;AAEb,EAAAA,sBAAA,0BAAuB;AAEvB,EAAAA,sBAAA,mCAAgC;AAEhC,EAAAA,sBAAA,4BAAyB;AAEzB,EAAAA,sBAAA,sBAAmB;AAEnB,EAAAA,sBAAA,SAAM;AAEN,EAAAA,sBAAA,yBAAsB;AAEtB,EAAAA,sBAAA,4BAAyB;AA5Bf,SAAAA;AAAA,GAAA;;;ACML,IAAK,mBAAL,kBAAKC,sBAAL;AAEL,EAAAA,kBAAA,gBAAa;AAEb,EAAAA,kBAAA,aAAU;AAJA,SAAAA;AAAA,GAAA;;;ACAL,IAAK,oBAAL,kBAAKC,uBAAL;AAEL,EAAAA,sCAAA,uBAAoB,KAApB;AAEA,EAAAA,sCAAA,uCAAoC,KAApC;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,eAAL,kBAAK,kBAAL;AAEL,mDAAgC;AAEhC,kCAAe;AAJL;AAAA;;;ACAL,IAAK,2BAAL,kBAAKC,8BAAL;AACL,EAAAA,oDAAA,mBAAgB,KAAhB;AAEA,EAAAA,oDAAA,cAAW,KAAX;AACA,EAAAA,oDAAA,8BAA2B,KAA3B;AAEA,EAAAA,oDAAA,oBAAiB,KAAjB;AAEA,EAAAA,oDAAA,kBAAe,KAAf;AAEA,EAAAA,oDAAA,iCAA8B,KAA9B;AAEA,EAAAA,oDAAA,uBAAoB,KAApB;AACA,EAAAA,oDAAA,2BAAwB,KAAxB;AAEA,EAAAA,oDAAA,iBAAc,KAAd;AAEA,EAAAA,oDAAA,UAAO,MAAP;AACA,EAAAA,oDAAA,wBAAqB,MAArB;AAEA,EAAAA,oDAAA,2BAAwB,MAAxB;AAEA,EAAAA,oDAAA,iCAA8B,MAA9B;AAEA,EAAAA,oDAAA,2BAAwB,MAAxB;AAEA,EAAAA,oDAAA,uBAAoB,MAApB;AACA,EAAAA,oDAAA,+BAA4B,MAA5B;AACA,EAAAA,oDAAA,gCAA6B,MAA7B;AACA,EAAAA,oDAAA,qBAAkB,MAAlB;AACA,EAAAA,oDAAA,gCAA6B,MAA7B;AACA,EAAAA,oDAAA,WAAQ,MAAR;AA/BU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,eAAL,kBAAKC,kBAAL;AAEL,EAAAA,4BAAA,SAAM,KAAN;AAEA,EAAAA,4BAAA,aAAU,KAAV;AAEA,EAAAA,4BAAA,SAAM,KAAN;AAEA,EAAAA,4BAAA,WAAQ,KAAR;AAEA,EAAAA,4BAAA,cAAW,KAAX;AACA,EAAAA,4BAAA,YAAS,KAAT;AAEA,EAAAA,4BAAA,WAAQ,MAAR;AAbU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,gBAAL,kBAAKC,mBAAL;AAEL,EAAAA,8BAAA,cAAW,KAAX;AAEA,EAAAA,8BAAA,uBAAoB,KAApB;AAEA,EAAAA,8BAAA,mCAAgC,KAAhC;AAEA,EAAAA,8BAAA,eAAY,KAAZ;AAEA,EAAAA,8BAAA,qBAAkB,KAAlB;AAVU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,mBAAL,kBAAKC,sBAAL;AAEL,EAAAA,oCAAA,SAAM,KAAN;AAEA,EAAAA,oCAAA,aAAU,KAAV;AAEA,EAAAA,oCAAA,YAAS,KAAT;AANU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,eAAL,kBAAKC,kBAAL;AAEL,EAAAA,4BAAA,eAAY,KAAZ;AAEA,EAAAA,4BAAA,YAAS,KAAT;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,cAAL,kBAAKC,iBAAL;AAEL,EAAAA,0BAAA,eAAY,KAAZ;AAEA,EAAAA,0BAAA,sBAAmB,KAAnB;AAEA,EAAAA,0BAAA,UAAO,KAAP;AAEA,EAAAA,0BAAA,cAAW,KAAX;AARU,SAAAA;AAAA,GAAA;;;ACNL,IAAK,iBAAL,kBAAKC,oBAAL;AAEL,EAAAA,gCAAA,aAAU,KAAV;AAEA,EAAAA,gCAAA,cAAW,KAAX;AAEA,EAAAA,gCAAA,iBAAc,KAAd;AAEA,EAAAA,gCAAA,cAAW,KAAX;AAEA,EAAAA,gCAAA,aAAU,KAAV;AACA,EAAAA,gCAAA,YAAS,KAAT;AAEA,EAAAA,gCAAA,cAAW,KAAX;AAEA,EAAAA,gCAAA,cAAW,KAAX;AAEA,EAAAA,gCAAA,iBAAc,KAAd;AAEA,EAAAA,gCAAA,WAAQ,MAAR;AACA,EAAAA,gCAAA,iBAAc,MAAd;AAEA,EAAAA,gCAAA,0BAAuB,MAAvB;AAEA,EAAAA,gCAAA,2BAAwB,MAAxB;AAEA,EAAAA,gCAAA,2BAAwB,MAAxB;AAEA,EAAAA,gCAAA,8BAA2B,MAA3B;AAEA,EAAAA,gCAAA,iCAA8B,MAA9B;AAEA,EAAAA,gCAAA,gCAA6B,MAA7B;AAEA,EAAAA,gCAAA,oCAAiC,MAAjC;AAEA,EAAAA,gCAAA,8BAA2B,MAA3B;AAEA,EAAAA,gCAAA,+BAA4B,MAA5B;AACA,EAAAA,gCAAA,iBAAc,MAAd;AACA,EAAAA,gCAAA,mBAAgB,MAAhB;AACA,EAAAA,gCAAA,kBAAe,MAAf;AAEA,EAAAA,gCAAA,0BAAuB,MAAvB;AA3CU,SAAAA;AAAA,GAAA;;;ACML,IAAK,gBAAL,kBAAKC,mBAAL;AAEL,EAAAA,8BAAA,SAAM,KAAN;AAEA,EAAAA,8BAAA,aAAU,KAAV;AAEA,EAAAA,8BAAA,aAAU,KAAV;AACA,EAAAA,8BAAA,WAAQ,KAAR;AACA,EAAAA,8BAAA,cAAW,KAAX;AAEA,EAAAA,8BAAA,UAAO,KAAP;AACA,EAAAA,8BAAA,cAAW,KAAX;AAEA,EAAAA,8BAAA,cAAW,KAAX;AACA,EAAAA,8BAAA,UAAO,KAAP;AACA,EAAAA,8BAAA,eAAY,MAAZ;AACA,EAAAA,8BAAA,YAAS,MAAT;AACA,EAAAA,8BAAA,uBAAoB,MAApB;AAjBU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,UAAL,kBAAKC,aAAL;AAEL,EAAAA,SAAA,wBAAqB;AAErB,EAAAA,SAAA,sBAAmB;AAEnB,EAAAA,SAAA,kBAAe;AAEf,EAAAA,SAAA,iBAAc;AAEd,EAAAA,SAAA,wBAAqB;AAErB,EAAAA,SAAA,uBAAoB;AAEpB,EAAAA,SAAA,iBAAc;AAEd,EAAAA,SAAA,oBAAiB;AAEjB,EAAAA,SAAA,oBAAiB;AAEjB,EAAAA,SAAA,mBAAgB;AAEhB,EAAAA,SAAA,iBAAc;AAEd,EAAAA,SAAA,mBAAgB;AAEhB,EAAAA,SAAA,mBAAgB;AAEhB,EAAAA,SAAA,+BAA4B;AAE5B,EAAAA,SAAA,yBAAsB;AAEtB,EAAAA,SAAA,yBAAsB;AAEtB,EAAAA,SAAA,sBAAmB;AAEnB,EAAAA,SAAA,6BAA0B;AAE1B,EAAAA,SAAA,oBAAiB;AAEjB,EAAAA,SAAA,qBAAkB;AAElB,EAAAA,SAAA,+BAA4B;AAE5B,EAAAA,SAAA,uBAAoB;AAEpB,EAAAA,SAAA,4BAAyB;AAEzB,EAAAA,SAAA,iCAA8B;AAE9B,EAAAA,SAAA,iBAAc;AAEd,EAAAA,SAAA,2BAAwB;AAExB,EAAAA,SAAA,+BAA4B;AAE5B,EAAAA,SAAA,YAAS;AAET,EAAAA,SAAA,cAAW;AAEX,EAAAA,SAAA,iBAAc;AAEd,EAAAA,SAAA,+CAA4C;AAE5C,EAAAA,SAAA,6CAA0C;AAC1C,EAAAA,SAAA,sBAAmB;AACnB,EAAAA,SAAA,0BAAuB;AACvB,EAAAA,SAAA,+BAA4B;AAE5B,EAAAA,SAAA,mCAAgC;AAChC,EAAAA,SAAA,4BAAyB;AAtEf,SAAAA;AAAA,GAAA;;;ACAL,IAAK,eAAL,kBAAKC,kBAAL;AAEL,EAAAA,4BAAA,eAAY,KAAZ;AAEA,EAAAA,4BAAA,cAAW,KAAX;AAEA,EAAAA,4BAAA,cAAW,KAAX;AANU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,aAAL,kBAAKC,gBAAL;AAEL,EAAAA,YAAA,gBAAa;AAEb,EAAAA,YAAA,wBAAqB;AAErB,EAAAA,YAAA,6BAA0B;AAE1B,EAAAA,YAAA,mCAAgC;AAEhC,EAAAA,YAAA,mBAAgB;AAEhB,EAAAA,YAAA,kCAA+B;AAE/B,EAAAA,YAAA,0BAAuB;AAEvB,EAAAA,YAAA,yBAAsB;AAEtB,EAAAA,YAAA,qBAAkB;AAElB,EAAAA,YAAA,8BAA2B;AAE3B,EAAAA,YAAA,yBAAsB;AAEtB,EAAAA,YAAA,kBAAe;AAEf,EAAAA,YAAA,8BAA2B;AAE3B,EAAAA,YAAA,gCAA6B;AAE7B,EAAAA,YAAA,2CAAwC;AAExC,EAAAA,YAAA,wBAAqB;AAErB,EAAAA,YAAA,uBAAoB;AAEpB,EAAAA,YAAA,+BAA4B;AAE5B,EAAAA,YAAA,iCAA8B;AAE9B,EAAAA,YAAA,kCAA+B;AAE/B,EAAAA,YAAA,6BAA0B;AAE1B,EAAAA,YAAA,qBAAkB;AAElB,EAAAA,YAAA,+BAA4B;AAE5B,EAAAA,YAAA,iBAAc;AAEd,EAAAA,YAAA,wBAAqB;AACrB,EAAAA,YAAA,gCAA6B;AAE7B,EAAAA,YAAA,gCAA6B;AAE7B,EAAAA,YAAA,8BAA2B;AAE3B,EAAAA,YAAA,iBAAc;AAEd,EAAAA,YAAA,0BAAuB;AAEvB,EAAAA,YAAA,yBAAsB;AAEtB,EAAAA,YAAA,oBAAiB;AACjB,EAAAA,YAAA,aAAU;AACV,EAAAA,YAAA,2BAAwB;AACxB,EAAAA,YAAA,eAAY;AAlEF,SAAAA;AAAA,GAAA;;;ACAL,IAAK,eAAL,kBAAKC,kBAAL;AAEL,EAAAA,4BAAA,cAAW,KAAX;AAEA,EAAAA,4BAAA,mBAAgB,KAAhB;AAEA,EAAAA,4BAAA,wBAAqB,KAArB;AAEA,EAAAA,4BAAA,8BAA2B,KAA3B;AAEA,EAAAA,4BAAA,YAAS,KAAT;AAEA,EAAAA,4BAAA,2BAAwB,KAAxB;AAEA,EAAAA,4BAAA,uCAAoC,KAApC;AAEA,EAAAA,4BAAA,kBAAe,KAAf;AACA,EAAAA,4BAAA,sBAAmB,KAAnB;AACA,EAAAA,4BAAA,oBAAiB,MAAjB;AACA,EAAAA,4BAAA,sBAAmB,MAAnB;AAEA,EAAAA,4BAAA,qBAAkB,MAAlB;AACA,EAAAA,4BAAA,kBAAe,MAAf;AACA,EAAAA,4BAAA,sBAAmB,MAAnB;AACA,EAAAA,4BAAA,cAAW,MAAX;AACA,EAAAA,4BAAA,YAAS,MAAT;AAzBU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,iBAAL,kBAAKC,oBAAL;AACL,EAAAA,gCAAA,SAAM,KAAN;AACA,EAAAA,gCAAA,aAAU,KAAV;AACA,EAAAA,gCAAA,YAAS,KAAT;AACA,EAAAA,gCAAA,aAAU,KAAV;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,cAAL,kBAAKC,iBAAL;AAEL,EAAAA,aAAA,cAAW;AAEX,EAAAA,aAAA,yBAAsB;AAEtB,EAAAA,aAAA,4BAAyB;AAEzB,EAAAA,aAAA,cAAW;AARD,SAAAA;AAAA,GAAA;;;ACAL,IAAK,iBAAL,kBAAKC,oBAAL;AAEL,EAAAA,gCAAA,uCAAoC,KAApC;AAEA,EAAAA,gCAAA,eAAY,KAAZ;AAEA,EAAAA,gCAAA,gBAAa,KAAb;AAEA,EAAAA,gCAAA,WAAQ,KAAR;AAEA,EAAAA,gCAAA,8BAA2B,KAA3B;AAVU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,iBAAL,kBAAKC,oBAAL;AAEL,EAAAA,gCAAA,cAAW,KAAX;AAEA,EAAAA,gCAAA,0BAAuB,KAAvB;AAEA,EAAAA,gCAAA,cAAW,KAAX;AAEA,EAAAA,gCAAA,eAAY,KAAZ;AAEA,EAAAA,gCAAA,2BAAwB,KAAxB;AAVU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,iBAAL,kBAAKC,oBAAL;AAEL,EAAAA,gCAAA,0BAAuB,KAAvB;AAEA,EAAAA,gCAAA,cAAW,KAAX;AAEA,EAAAA,gCAAA,WAAQ,MAAR;AANU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,aAAL,kBAAKC,gBAAL;AAEL,EAAAA,wBAAA,eAAY,KAAZ;AAEA,EAAAA,wBAAA,YAAS,KAAT;AAEA,EAAAA,wBAAA,eAAY,KAAZ;AAEA,EAAAA,wBAAA,iBAAc,KAAd;AAEA,EAAAA,wBAAA,wBAAqB,KAArB;AAEA,EAAAA,wBAAA,oBAAiB,KAAjB;AAEA,EAAAA,wBAAA,oBAAiB,KAAjB;AAEA,EAAAA,wBAAA,iBAAc,KAAd;AAEA,EAAAA,wBAAA,6BAA0B,KAA1B;AAEA,EAAAA,wBAAA,yCAAsC,KAAtC;AAEA,EAAAA,wBAAA,sCAAmC,MAAnC;AAtBU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,wBAAL,kBAAKC,2BAAL;AACL,EAAAA,8CAAA,YAAS,KAAT;AACA,EAAAA,8CAAA,eAAY,KAAZ;AAFU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,eAAL,kBAAKC,kBAAL;AAEL,EAAAA,4BAAA,kBAAe,KAAf;AAEA,EAAAA,4BAAA,iCAA8B,KAA9B;AAEA,EAAAA,4BAAA,uCAAoC,KAApC;AAEA,EAAAA,4BAAA,qCAAkC,KAAlC;AAEA,EAAAA,4BAAA,oCAAiC,KAAjC;AACA,EAAAA,4BAAA,WAAQ,MAAR;AAXU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,eAAL,kBAAKC,kBAAL;AAEL,EAAAA,4BAAA,eAAY,KAAZ;AAEA,EAAAA,4BAAA,2BAAwB,KAAxB;AAEA,EAAAA,4BAAA,cAAW,KAAX;AANU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,iBAAL,kBAAKC,oBAAL;AAEL,EAAAA,gCAAA,WAAQ,KAAR;AAEA,EAAAA,gCAAA,iBAAc,KAAd;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,mBAAL,kBAAKC,sBAAL;AAEL,EAAAA,kBAAA,aAAU;AAEV,EAAAA,kBAAA,YAAS;AAJC,SAAAA;AAAA,GAAA;;;ACAL,IAAK,iBAAL,kBAAKC,oBAAL;AAEL,EAAAA,gBAAA,eAAY;AAEZ,EAAAA,gBAAA,YAAS;AAJC,SAAAA;AAAA,GAAA;;;ACAL,IAAK,qBAAL,kBAAKC,wBAAL;AAEL,EAAAA,wCAAA,gBAAa,KAAb;AAEA,EAAAA,wCAAA,gCAA6B,KAA7B;AAEA,EAAAA,wCAAA,iCAA8B,KAA9B;AAEA,EAAAA,wCAAA,oBAAiB,KAAjB;AAEA,EAAAA,wCAAA,mCAAgC,KAAhC;AAEA,EAAAA,wCAAA,iCAA8B,KAA9B;AAEA,EAAAA,wCAAA,kCAA+B,KAA/B;AAEA,EAAAA,wCAAA,mBAAgB,KAAhB;AAEA,EAAAA,wCAAA,WAAQ,MAAR;AAlBU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,qBAAL,kBAAKC,wBAAL;AAEL,EAAAA,wCAAA,cAAW,KAAX;AAEA,EAAAA,wCAAA,eAAY,KAAZ;AAEA,EAAAA,wCAAA,cAAW,KAAX;AANU,SAAAA;AAAA,GAAA;;;ACNL,IAAK,0BAAL,kBAAKC,6BAAL;AAEL,EAAAA,kDAAA,gBAAa,KAAb;AAEA,EAAAA,kDAAA,6BAA0B,KAA1B;AAEA,EAAAA,kDAAA,uBAAoB,KAApB;AAEA,EAAAA,kDAAA,gCAA6B,KAA7B;AAEA,EAAAA,kDAAA,sBAAmB,KAAnB;AAEA,EAAAA,kDAAA,kCAA+B,KAA/B;AAEA,EAAAA,kDAAA,gCAA6B,KAA7B;AAEA,EAAAA,kDAAA,mCAAgC,KAAhC;AAEA,EAAAA,kDAAA,WAAQ,MAAR;AAlBU,SAAAA;AAAA,GAAA;;;ACML,IAAK,4BAAL,kBAAKC,+BAAL;AAEL,EAAAA,sDAAA,oBAAiB,KAAjB;AAEA,EAAAA,sDAAA,sCAAmC,KAAnC;AAEA,EAAAA,sDAAA,sBAAmB,KAAnB;AANU,SAAAA;AAAA,GAAA;;;ACNL,IAAK,sBAAL,kBAAKC,yBAAL;AACL,EAAAA,0CAAA,mBAAgB,KAAhB;AACA,EAAAA,0CAAA,YAAS,KAAT;AACA,EAAAA,0CAAA,aAAU,KAAV;AACA,EAAAA,0CAAA,mBAAgB,KAAhB;AACA,EAAAA,0CAAA,qBAAkB,KAAlB;AACA,EAAAA,0CAAA,iBAAc,KAAd;AACA,EAAAA,0CAAA,0BAAuB,KAAvB;AACA,EAAAA,0CAAA,kBAAe,KAAf;AACA,EAAAA,0CAAA,wBAAqB,KAArB;AACA,EAAAA,0CAAA,yBAAsB,MAAtB;AACA,EAAAA,0CAAA,sBAAmB,MAAnB;AACA,EAAAA,0CAAA,yBAAsB,MAAtB;AAEA,EAAAA,0CAAA,yBAAsB,MAAtB;AAEA,EAAAA,0CAAA,4BAAyB,MAAzB;AAEA,EAAAA,0CAAA,8BAA2B,MAA3B;AAEA,EAAAA,0CAAA,4BAAyB,MAAzB;AAEA,EAAAA,0CAAA,eAAY,MAAZ;AAEA,EAAAA,0CAAA,wBAAqB,MAArB;AAEA,EAAAA,0CAAA,aAAU,MAAV;AAEA,EAAAA,0CAAA,0BAAuB,MAAvB;AAEA,EAAAA,0CAAA,wBAAqB,MAArB;AAEA,EAAAA,0CAAA,0BAAuB,MAAvB;AAEA,EAAAA,0CAAA,2BAAwB,MAAxB;AAEA,EAAAA,0CAAA,wBAAqB,MAArB;AAEA,EAAAA,0CAAA,wBAAqB,MAArB;AACA,EAAAA,0CAAA,0BAAuB,MAAvB;AACA,EAAAA,0CAAA,wBAAqB,MAArB;AACA,EAAAA,0CAAA,gCAA6B,MAA7B;AACA,EAAAA,0CAAA,2BAAwB,MAAxB;AACA,EAAAA,0CAAA,2BAAwB,MAAxB;AACA,EAAAA,0CAAA,sBAAmB,MAAnB;AACA,EAAAA,0CAAA,2BAAwB,MAAxB;AACA,EAAAA,0CAAA,2BAAwB,MAAxB;AACA,EAAAA,0CAAA,0BAAuB,MAAvB;AAEA,EAAAA,0CAAA,cAAW,MAAX;AAjDU,SAAAA;AAAA,GAAA;;;ACML,IAAK,cAAL,kBAAKC,iBAAL;AAEL,EAAAA,0BAAA,YAAS,KAAT;AAEA,EAAAA,0BAAA,kBAAe,KAAf;AAEA,EAAAA,0BAAA,iCAA8B,KAA9B;AANU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,mBAAL,kBAAKC,sBAAL;AAEL,EAAAA,oCAAA,uBAAoB,KAApB;AAEA,EAAAA,oCAAA,mCAAgC,KAAhC;AAEA,EAAAA,oCAAA,uCAAoC,KAApC;AAEA,EAAAA,oCAAA,8BAA2B,KAA3B;AAEA,EAAAA,oCAAA,0BAAuB,KAAvB;AAEA,EAAAA,oCAAA,kCAA+B,KAA/B;AAEA,EAAAA,oCAAA,6BAA0B,KAA1B;AAEA,EAAAA,oCAAA,kCAA+B,KAA/B;AAEA,EAAAA,oCAAA,iCAA8B,KAA9B;AAEA,EAAAA,oCAAA,wCAAqC,MAArC;AAEA,EAAAA,oCAAA,gCAA6B,MAA7B;AAEA,EAAAA,oCAAA,4BAAyB,MAAzB;AAEA,EAAAA,oCAAA,2BAAwB,MAAxB;AAEA,EAAAA,oCAAA,6BAA0B,MAA1B;AAEA,EAAAA,oCAAA,4BAAyB,MAAzB;AAEA,EAAAA,oCAAA,gCAA6B,MAA7B;AAEA,EAAAA,oCAAA,iCAA8B,MAA9B;AAEA,EAAAA,oCAAA,4CAAyC,MAAzC;AAEA,EAAAA,oCAAA,gCAA6B,MAA7B;AACA,EAAAA,oCAAA,WAAQ,MAAR;AAvCU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,cAAL,kBAAKC,iBAAL;AAEL,EAAAA,0BAAA,oBAAiB,KAAjB;AAEA,EAAAA,0BAAA,SAAM,KAAN;AAEA,EAAAA,0BAAA,qBAAkB,KAAlB;AANU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,qBAAL,kBAAKC,wBAAL;AAEL,EAAAA,wCAAA,4BAAyB,KAAzB;AAEA,EAAAA,wCAAA,kCAA+B,KAA/B;AAEA,EAAAA,wCAAA,yBAAsB,KAAtB;AAEA,EAAAA,wCAAA,sBAAmB,KAAnB;AAEA,EAAAA,wCAAA,0BAAuB,KAAvB;AAVU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,eAAL,kBAAKC,kBAAL;AAEL,EAAAA,cAAA,UAAO;AAEP,EAAAA,cAAA,gBAAa;AAJH,SAAAA;AAAA,GAAA;;;ACAL,IAAK,kBAAL,kBAAKC,qBAAL;AAEL,EAAAA,kCAAA,eAAY,KAAZ;AAEA,EAAAA,kCAAA,UAAO,KAAP;AAEA,EAAAA,kCAAA,cAAW,KAAX;AAEA,EAAAA,kCAAA,UAAO,KAAP;AARU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,sBAAL,kBAAKC,yBAAL;AAEL,EAAAA,0CAAA,4BAAyB,KAAzB;AAEA,EAAAA,0CAAA,oBAAiB,KAAjB;AAEA,EAAAA,0CAAA,2CAAwC,KAAxC;AAEA,EAAAA,0CAAA,WAAQ,MAAR;AARU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,kBAAL,kBAAKC,qBAAL;AAEL,EAAAA,kCAAA,sCAAmC,KAAnC;AAEA,EAAAA,kCAAA,wCAAqC,KAArC;AAEA,EAAAA,kCAAA,0CAAuC,KAAvC;AAEA,EAAAA,kCAAA,oBAAiB,KAAjB;AAEA,EAAAA,kCAAA,2BAAwB,KAAxB;AAEA,EAAAA,kCAAA,YAAS,KAAT;AAEA,EAAAA,kCAAA,YAAS,MAAT;AAEA,EAAAA,kCAAA,mBAAgB,MAAhB;AAEA,EAAAA,kCAAA,cAAW,MAAX;AAEA,EAAAA,kCAAA,oBAAiB,MAAjB;AAEA,EAAAA,kCAAA,YAAS,MAAT;AAEA,EAAAA,kCAAA,YAAS,MAAT;AAEA,EAAAA,kCAAA,cAAW,MAAX;AAEA,EAAAA,kCAAA,aAAU,MAAV;AAEA,EAAAA,kCAAA,yBAAsB,MAAtB;AA9BU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,yBAAL,kBAAKC,4BAAL;AAEL,EAAAA,gDAAA,+BAA4B,KAA5B;AAEA,EAAAA,gDAAA,oCAAiC,KAAjC;AAEA,EAAAA,gDAAA,2BAAwB,KAAxB;AAEA,EAAAA,gDAAA,WAAQ,MAAR;AARU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,mBAAL,kBAAKC,sBAAL;AAEL,EAAAA,oCAAA,yBAAsB,KAAtB;AAEA,EAAAA,oCAAA,4BAAyB,KAAzB;AAEA,EAAAA,oCAAA,iBAAc,KAAd;AAEA,EAAAA,oCAAA,iBAAc,KAAd;AAEA,EAAAA,oCAAA,yCAAsC,KAAtC;AAEA,EAAAA,oCAAA,8BAA2B,KAA3B;AAEA,EAAAA,oCAAA,4BAAyB,KAAzB;AAdU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,iBAAL,kBAAKC,oBAAL;AAEL,EAAAA,gCAAA,UAAO,KAAP;AAEA,EAAAA,gCAAA,YAAS,KAAT;AAEA,EAAAA,gCAAA,YAAS,KAAT;AAEA,EAAAA,gCAAA,iBAAc,KAAd;AAEA,EAAAA,gCAAA,yBAAsB,KAAtB;AAEA,EAAAA,gCAAA,mBAAgB,KAAhB;AAEA,EAAAA,gCAAA,iBAAc,KAAd;AAEA,EAAAA,gCAAA,kBAAe,KAAf;AAEA,EAAAA,gCAAA,iBAAc,KAAd;AAEA,EAAAA,gCAAA,6BAA0B,MAA1B;AAEA,EAAAA,gCAAA,wBAAqB,MAArB;AAEA,EAAAA,gCAAA,sCAAmC,MAAnC;AAEA,EAAAA,gCAAA,sBAAmB,MAAnB;AAEA,EAAAA,gCAAA,sBAAmB,MAAnB;AAEA,EAAAA,gCAAA,uBAAoB,MAApB;AAEA,EAAAA,gCAAA,SAAM,MAAN;AAEA,EAAAA,gCAAA,8BAA2B,MAA3B;AAEA,EAAAA,gCAAA,uBAAoB,MAApB;AAEA,EAAAA,gCAAA,qBAAkB,MAAlB;AAEA,EAAAA,gCAAA,iBAAc,MAAd;AAEA,EAAAA,gCAAA,eAAY,MAAZ;AAEA,EAAAA,gCAAA,2BAAwB,MAAxB;AAEA,EAAAA,gCAAA,qBAAkB,MAAlB;AAEA,EAAAA,gCAAA,gBAAa,MAAb;AAEA,EAAAA,gCAAA,kBAAe,MAAf;AAEA,EAAAA,gCAAA,yBAAsB,MAAtB;AAEA,EAAAA,gCAAA,sBAAmB,MAAnB;AAEA,EAAAA,gCAAA,iBAAc,MAAd;AAEA,EAAAA,gCAAA,0BAAuB,MAAvB;AAEA,EAAAA,gCAAA,wBAAqB,MAArB;AAEA,EAAAA,gCAAA,cAAW,MAAX;AAEA,EAAAA,gCAAA,oBAAiB,MAAjB;AAEA,EAAAA,gCAAA,gCAA6B,MAA7B;AAEA,EAAAA,gCAAA,iBAAc,MAAd;AAEA,EAAAA,gCAAA,4BAAyB,MAAzB;AAEA,EAAAA,gCAAA,uBAAoB,MAApB;AAEA,EAAAA,gCAAA,mBAAgB,MAAhB;AAEA,EAAAA,gCAAA,2BAAwB,MAAxB;AAEA,EAAAA,gCAAA,oBAAiB,MAAjB;AAEA,EAAAA,gCAAA,mBAAgB,MAAhB;AAEA,EAAAA,gCAAA,yBAAsB,MAAtB;AAEA,EAAAA,gCAAA,oBAAiB,MAAjB;AAEA,EAAAA,gCAAA,0BAAuB,MAAvB;AACA,EAAAA,gCAAA,mBAAgB,MAAhB;AACA,EAAAA,gCAAA,gBAAa,MAAb;AACA,EAAAA,gCAAA,sBAAmB,MAAnB;AACA,EAAAA,gCAAA,qBAAkB,MAAlB;AACA,EAAAA,gCAAA,cAAW,MAAX;AACA,EAAAA,gCAAA,8BAA2B,MAA3B;AAEA,EAAAA,gCAAA,yCAAsC,MAAtC;AACA,EAAAA,gCAAA,oBAAiB,MAAjB;AAEA,EAAAA,gCAAA,mBAAgB,MAAhB;AAEA,EAAAA,gCAAA,+BAA4B,MAA5B;AACA,EAAAA,gCAAA,0BAAuB,MAAvB;AACA,EAAAA,gCAAA,oBAAiB,MAAjB;AACA,EAAAA,gCAAA,oBAAiB,MAAjB;AAEA,EAAAA,gCAAA,mBAAgB,MAAhB;AAEA,EAAAA,gCAAA,sBAAmB,MAAnB;AACA,EAAAA,gCAAA,aAAU,MAAV;AACA,EAAAA,gCAAA,mBAAgB,MAAhB;AACA,EAAAA,gCAAA,qBAAkB,MAAlB;AACA,EAAAA,gCAAA,sBAAmB,MAAnB;AACA,EAAAA,gCAAA,uBAAoB,MAApB;AACA,EAAAA,gCAAA,uBAAoB,MAApB;AACA,EAAAA,gCAAA,qBAAkB,MAAlB;AACA,EAAAA,gCAAA,oBAAiB,MAAjB;AACA,EAAAA,gCAAA,mBAAgB,MAAhB;AACA,EAAAA,gCAAA,kBAAe,MAAf;AACA,EAAAA,gCAAA,aAAU,MAAV;AACA,EAAAA,gCAAA,4BAAyB,MAAzB;AACA,EAAAA,gCAAA,uBAAoB,MAApB;AACA,EAAAA,gCAAA,cAAW,MAAX;AACA,EAAAA,gCAAA,2BAAwB,MAAxB;AACA,EAAAA,gCAAA,WAAQ,MAAR;AACA,EAAAA,gCAAA,cAAW,MAAX;AACA,EAAAA,gCAAA,4BAAyB,MAAzB;AACA,EAAAA,gCAAA,+BAA4B,MAA5B;AACA,EAAAA,gCAAA,eAAY,MAAZ;AACA,EAAAA,gCAAA,aAAU,MAAV;AACA,EAAAA,gCAAA,iBAAc,MAAd;AACA,EAAAA,gCAAA,2BAAwB,MAAxB;AACA,EAAAA,gCAAA,gCAA6B,MAA7B;AACA,EAAAA,gCAAA,4BAAyB,MAAzB;AAEA,EAAAA,gCAAA,2BAAwB,MAAxB;AACA,EAAAA,gCAAA,6BAA0B,MAA1B;AACA,EAAAA,gCAAA,eAAY,MAAZ;AACA,EAAAA,gCAAA,8BAA2B,MAA3B;AAxIU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,uBAAL,kBAAKC,0BAAL;AAEL,EAAAA,4CAAA,mBAAgB,KAAhB;AAEA,EAAAA,4CAAA,oBAAiB,KAAjB;AAEA,EAAAA,4CAAA,qBAAkB,KAAlB;AAEA,EAAAA,4CAAA,YAAS,KAAT;AAEA,EAAAA,4CAAA,sBAAmB,KAAnB;AAEA,EAAAA,4CAAA,wBAAqB,KAArB;AAZU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,sBAAL,kBAAKC,yBAAL;AAEL,EAAAA,0CAAA,mBAAgB,KAAhB;AAEA,EAAAA,0CAAA,kBAAe,KAAf;AAEA,EAAAA,0CAAA,iBAAc,KAAd;AAEA,EAAAA,0CAAA,gBAAa,KAAb;AARU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,kBAAL,kBAAKC,qBAAL;AAEL,EAAAA,kCAAA,mBAAgB,KAAhB;AAEA,EAAAA,kCAAA,kBAAe,KAAf;AAEA,EAAAA,kCAAA,iBAAc,KAAd;AAEA,EAAAA,kCAAA,gBAAa,KAAb;AARU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,iBAAL,kBAAKC,oBAAL;AAEL,EAAAA,gCAAA,sBAAmB,KAAnB;AAEA,EAAAA,gCAAA,WAAQ,KAAR;AAEA,EAAAA,gCAAA,eAAY,KAAZ;AACA,EAAAA,gCAAA,sCAAmC,KAAnC;AAEA,EAAAA,gCAAA,wBAAqB,KAArB;AATU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,sBAAL,kBAAKC,yBAAL;AAEL,EAAAA,0CAAA,2BAAwB,KAAxB;AAEA,EAAAA,0CAAA,wBAAqB,KAArB;AAEA,EAAAA,0CAAA,uCAAoC,KAApC;AAEA,EAAAA,0CAAA,8BAA2B,KAA3B;AAEA,EAAAA,0CAAA,4BAAyB,KAAzB;AAEA,EAAAA,0CAAA,8BAA2B,KAA3B;AAEA,EAAAA,0CAAA,gBAAa,KAAb;AAdU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,kBAAL,kBAAKC,qBAAL;AAEL,EAAAA,kCAAA,iCAA8B,KAA9B;AAEA,EAAAA,kCAAA,gCAA6B,KAA7B;AAEA,EAAAA,kCAAA,yBAAsB,KAAtB;AANU,SAAAA;AAAA,GAAA;;;ACNL,IAAK,UAAL,kBAAKC,aAAL;AAEL,EAAAA,kBAAA,kBAAe,KAAf;AAEA,EAAAA,kBAAA,gBAAa,KAAb;AAEA,EAAAA,kBAAA,SAAM,KAAN;AAEA,EAAAA,kBAAA,cAAW,KAAX;AAEA,EAAAA,kBAAA,eAAY,KAAZ;AAEA,EAAAA,kBAAA,YAAS,KAAT;AAEA,EAAAA,kBAAA,+BAA4B,KAA5B;AAEA,EAAAA,kBAAA,kBAAe,KAAf;AAEA,EAAAA,kBAAA,sBAAmB,KAAnB;AAEA,EAAAA,kBAAA,8BAA2B,KAA3B;AAEA,EAAAA,kBAAA,qBAAkB,MAAlB;AAEA,EAAAA,kBAAA,qBAAkB,MAAlB;AAEA,EAAAA,kBAAA,qBAAkB,MAAlB;AACA,EAAAA,kBAAA,0BAAuB,MAAvB;AAEA,EAAAA,kBAAA,iCAA8B,MAA9B;AAEA,EAAAA,kBAAA,yBAAsB,MAAtB;AAEA,EAAAA,kBAAA,eAAY,MAAZ;AAEA,EAAAA,kBAAA,gCAA6B,MAA7B;AAEA,EAAAA,kBAAA,iCAA8B,MAA9B;AAEA,EAAAA,kBAAA,wBAAqB,MAArB;AAEA,EAAAA,kBAAA,wBAAqB,MAArB;AAEA,EAAAA,kBAAA,+BAA4B,MAA5B;AAEA,EAAAA,kBAAA,sCAAmC,MAAnC;AAEA,EAAAA,kBAAA,gBAAa,MAAb;AAEA,EAAAA,kBAAA,wBAAqB,MAArB;AAEA,EAAAA,kBAAA,uBAAoB,MAApB;AAEA,EAAAA,kBAAA,sBAAmB,MAAnB;AAEA,EAAAA,kBAAA,qBAAkB,MAAlB;AAEA,EAAAA,kBAAA,oBAAiB,MAAjB;AACA,EAAAA,kBAAA,kBAAe,MAAf;AAEA,EAAAA,kBAAA,wBAAqB,MAArB;AAEA,EAAAA,kBAAA,sBAAmB,MAAnB;AAEA,EAAAA,kBAAA,qBAAkB,MAAlB;AAEA,EAAAA,kBAAA,iCAA8B,MAA9B;AAEA,EAAAA,kBAAA,gCAA6B,MAA7B;AAEA,EAAAA,kBAAA,qBAAkB,MAAlB;AAEA,EAAAA,kBAAA,oBAAiB,MAAjB;AACA,EAAAA,kBAAA,gBAAa,MAAb;AAEA,EAAAA,kBAAA,0BAAuB,MAAvB;AAEA,EAAAA,kBAAA,iBAAc,MAAd;AAEA,EAAAA,kBAAA,gBAAa,MAAb;AAEA,EAAAA,kBAAA,uBAAoB,MAApB;AACA,EAAAA,kBAAA,oBAAiB,MAAjB;AACA,EAAAA,kBAAA,qBAAkB,MAAlB;AAEA,EAAAA,kBAAA,oBAAiB,MAAjB;AAEA,EAAAA,kBAAA,6BAA0B,MAA1B;AAEA,EAAAA,kBAAA,0BAAuB,MAAvB;AAEA,EAAAA,kBAAA,2BAAwB,MAAxB;AAEA,EAAAA,kBAAA,kCAA+B,MAA/B;AACA,EAAAA,kBAAA,oBAAiB,MAAjB;AAEA,EAAAA,kBAAA,gCAA6B,MAA7B;AAEA,EAAAA,kBAAA,0BAAuB,MAAvB;AAEA,EAAAA,kBAAA,yBAAsB,MAAtB;AACA,EAAAA,kBAAA,SAAM,MAAN;AAEA,EAAAA,kBAAA,2BAAwB,MAAxB;AACA,EAAAA,kBAAA,kBAAe,MAAf;AAEA,EAAAA,kBAAA,iBAAc,MAAd;AACA,EAAAA,kBAAA,oBAAiB,MAAjB;AAEA,EAAAA,kBAAA,sBAAmB,MAAnB;AAEA,EAAAA,kBAAA,0BAAuB,MAAvB;AAEA,EAAAA,kBAAA,uBAAoB,MAApB;AACA,EAAAA,kBAAA,eAAY,MAAZ;AAEA,EAAAA,kBAAA,oBAAiB,MAAjB;AACA,EAAAA,kBAAA,eAAY,MAAZ;AACA,EAAAA,kBAAA,kBAAe,MAAf;AACA,EAAAA,kBAAA,eAAY,MAAZ;AACA,EAAAA,kBAAA,uBAAoB,MAApB;AACA,EAAAA,kBAAA,4BAAyB,MAAzB;AACA,EAAAA,kBAAA,kCAA+B,MAA/B;AA1HU,SAAAA;AAAA,GAAA;;;ACML,IAAK,aAAL,kBAAKC,gBAAL;AAEL,EAAAA,wBAAA,UAAO,KAAP;AAEA,EAAAA,wBAAA,kCAA+B,KAA/B;AAEA,EAAAA,wBAAA,yCAAsC,KAAtC;AAEA,EAAAA,wBAAA,6BAA0B,KAA1B;AAEA,EAAAA,wBAAA,2BAAwB,KAAxB;AAEA,EAAAA,wBAAA,6BAA0B,KAA1B;AAEA,EAAAA,wBAAA,4BAAyB,KAAzB;AAEA,EAAAA,wBAAA,wBAAqB,KAArB;AAEA,EAAAA,wBAAA,+CAA4C,KAA5C;AAEA,EAAAA,wBAAA,6BAA0B,KAA1B;AAEA,EAAAA,wBAAA,+BAA4B,MAA5B;AAEA,EAAAA,wBAAA,WAAQ,MAAR;AAEA,EAAAA,wBAAA,QAAK,MAAL;AAEA,EAAAA,wBAAA,OAAI,MAAJ;AAEA,EAAAA,wBAAA,OAAI,MAAJ;AAEA,EAAAA,wBAAA,QAAK,MAAL;AAEA,EAAAA,wBAAA,OAAI,MAAJ;AAEA,EAAAA,wBAAA,OAAI,MAAJ;AACA,EAAAA,wBAAA,QAAK,MAAL;AAEA,EAAAA,wBAAA,QAAK,MAAL;AAEA,EAAAA,wBAAA,OAAI,MAAJ;AAEA,EAAAA,wBAAA,QAAK,MAAL;AAEA,EAAAA,wBAAA,QAAK,MAAL;AAEA,EAAAA,wBAAA,QAAK,MAAL;AACA,EAAAA,wBAAA,OAAI,MAAJ;AAEA,EAAAA,wBAAA,QAAK,MAAL;AAEA,EAAAA,wBAAA,QAAK,MAAL;AAEA,EAAAA,wBAAA,QAAK,MAAL;AAEA,EAAAA,wBAAA,OAAI,MAAJ;AAEA,EAAAA,wBAAA,QAAK,MAAL;AAEA,EAAAA,wBAAA,QAAK,MAAL;AAEA,EAAAA,wBAAA,mBAAgB,MAAhB;AAEA,EAAAA,wBAAA,kBAAe,MAAf;AAEA,EAAAA,wBAAA,cAAW,MAAX;AAEA,EAAAA,wBAAA,mBAAgB,MAAhB;AAEA,EAAAA,wBAAA,kBAAe,MAAf;AAEA,EAAAA,wBAAA,2BAAwB,MAAxB;AAEA,EAAAA,wBAAA,kBAAe,MAAf;AAEA,EAAAA,wBAAA,eAAY,MAAZ;AACA,EAAAA,wBAAA,uBAAoB,MAApB;AACA,EAAAA,wBAAA,kBAAe,MAAf;AACA,EAAAA,wBAAA,mBAAgB,MAAhB;AAEA,EAAAA,wBAAA,mBAAgB,MAAhB;AAEA,EAAAA,wBAAA,yBAAsB,MAAtB;AAEA,EAAAA,wBAAA,YAAS,MAAT;AAEA,EAAAA,wBAAA,aAAU,MAAV;AACA,EAAAA,wBAAA,6BAA0B,MAA1B;AACA,EAAAA,wBAAA,eAAY,MAAZ;AACA,EAAAA,wBAAA,0BAAuB,MAAvB;AACA,EAAAA,wBAAA,qBAAkB,MAAlB;AACA,EAAAA,wBAAA,4BAAyB,MAAzB;AACA,EAAAA,wBAAA,0BAAuB,MAAvB;AA7FU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,cAAL,kBAAKC,iBAAL;AAEL,EAAAA,0BAAA,cAAW,KAAX;AAEA,EAAAA,0BAAA,WAAQ,KAAR;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,gBAAL,kBAAKC,mBAAL;AAEL,EAAAA,8BAAA,WAAQ,KAAR;AAEA,EAAAA,8BAAA,iBAAc,KAAd;AAEA,EAAAA,8BAAA,WAAQ,KAAR;AAEA,EAAAA,8BAAA,eAAY,KAAZ;AAEA,EAAAA,8BAAA,gBAAa,KAAb;AAVU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,eAAL,kBAAKC,kBAAL;AAEL,EAAAA,4BAAA,cAAW,KAAX;AAEA,EAAAA,4BAAA,YAAS,KAAT;AAEA,EAAAA,4BAAA,aAAU,KAAV;AANU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,oBAAL,kBAAKC,uBAAL;AAEL,EAAAA,sCAAA,oBAAiB,KAAjB;AAEA,EAAAA,sCAAA,iBAAc,KAAd;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,WAAL,kBAAKC,cAAL;AAEL,EAAAA,oBAAA,WAAQ,KAAR;AAEA,EAAAA,oBAAA,cAAW,KAAX;AAEA,EAAAA,oBAAA,YAAS,KAAT;AAEA,EAAAA,oBAAA,4BAAyB,KAAzB;AARU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,qBAAL,kBAAKC,wBAAL;AAEL,EAAAA,wCAAA,cAAW,KAAX;AAEA,EAAAA,wCAAA,WAAQ,KAAR;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,uBAAL,kBAAKC,0BAAL;AAEL,EAAAA,4CAAA,WAAQ,KAAR;AAEA,EAAAA,4CAAA,iBAAc,KAAd;AAEA,EAAAA,4CAAA,WAAQ,KAAR;AAEA,EAAAA,4CAAA,eAAY,KAAZ;AARU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,sBAAL,kBAAKC,yBAAL;AAEL,EAAAA,0CAAA,cAAW,KAAX;AAEA,EAAAA,0CAAA,YAAS,KAAT;AAEA,EAAAA,0CAAA,aAAU,KAAV;AANU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,2BAAL,kBAAKC,8BAAL;AAEL,EAAAA,oDAAA,oBAAiB,KAAjB;AAEA,EAAAA,oDAAA,iBAAc,KAAd;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,kBAAL,kBAAKC,qBAAL;AAEL,EAAAA,kCAAA,WAAQ,KAAR;AAEA,EAAAA,kCAAA,cAAW,KAAX;AAEA,EAAAA,kCAAA,YAAS,KAAT;AAEA,EAAAA,kCAAA,4BAAyB,KAAzB;AARU,SAAAA;AAAA,GAAA;;;ACNL,IAAK,iBAAL,kBAAKC,oBAAL;AAEL,EAAAA,gCAAA,UAAO,KAAP;AAEA,EAAAA,gCAAA,iBAAc,KAAd;AAEA,EAAAA,gCAAA,0BAAuB,KAAvB;AANU,SAAAA;AAAA,GAAA;;;ACML,IAAK,mBAAL,kBAAKC,sBAAL;AACL,EAAAA,oCAAA,qCAAkC,KAAlC;AAEA,EAAAA,oCAAA,oBAAiB,KAAjB;AAEA,EAAAA,oCAAA,sBAAmB,KAAnB;AAEA,EAAAA,oCAAA,wBAAqB,KAArB;AAEA,EAAAA,oCAAA,aAAU,KAAV;AACA,EAAAA,oCAAA,wBAAqB,KAArB;AACA,EAAAA,oCAAA,+BAA4B,KAA5B;AACA,EAAAA,oCAAA,0BAAuB,KAAvB;AACA,EAAAA,oCAAA,8CAA2C,KAA3C;AACA,EAAAA,oCAAA,8CAA2C,KAA3C;AACA,EAAAA,oCAAA,aAAU,MAAV;AACA,EAAAA,oCAAA,WAAQ,MAAR;AAhBU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,sBAAL,kBAAKC,yBAAL;AAEL,EAAAA,qBAAA,sBAAmB;AAEnB,EAAAA,qBAAA,iBAAc;AAJJ,SAAAA;AAAA,GAAA;;;ACAL,IAAK,kBAAL,kBAAKC,qBAAL;AAEL,EAAAA,kCAAA,qBAAkB,KAAlB;AAEA,EAAAA,kCAAA,2BAAwB,KAAxB;AAEA,EAAAA,kCAAA,8BAA2B,KAA3B;AAEA,EAAAA,kCAAA,oCAAiC,KAAjC;AAEA,EAAAA,kCAAA,oCAAiC,KAAjC;AAEA,EAAAA,kCAAA,uCAAoC,KAApC;AAZU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,UAAL,kBAAKC,aAAL;AAEL,EAAAA,kBAAA,WAAQ,KAAR;AAEA,EAAAA,kBAAA,eAAY,KAAZ;AAEA,EAAAA,kBAAA,+BAA4B,KAA5B;AANU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,kBAAL,kBAAKC,qBAAL;AAEL,EAAAA,kCAAA,YAAS,KAAT;AAEA,EAAAA,kCAAA,aAAU,KAAV;AAEA,EAAAA,kCAAA,YAAS,KAAT;AAEA,EAAAA,kCAAA,aAAU,KAAV;AACA,EAAAA,kCAAA,cAAW,KAAX;AACA,EAAAA,kCAAA,QAAK,KAAL;AAEA,EAAAA,kCAAA,uBAAoB,KAApB;AAEA,EAAAA,kCAAA,cAAW,KAAX;AAEA,EAAAA,kCAAA,eAAY,KAAZ;AAEA,EAAAA,kCAAA,iBAAc,KAAd;AAEA,EAAAA,kCAAA,YAAS,MAAT;AAEA,EAAAA,kCAAA,gBAAa,MAAb;AAEA,EAAAA,kCAAA,qBAAkB,MAAlB;AAEA,EAAAA,kCAAA,eAAY,MAAZ;AAEA,EAAAA,kCAAA,8BAA2B,MAA3B;AAEA,EAAAA,kCAAA,uBAAoB,MAApB;AACA,EAAAA,kCAAA,YAAS,MAAT;AACA,EAAAA,kCAAA,aAAU,MAAV;AACA,EAAAA,kCAAA,uBAAoB,MAApB;AAjCU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,oBAAL,kBAAKC,uBAAL;AAEL,EAAAA,sCAAA,kBAAe,KAAf;AAEA,EAAAA,sCAAA,0BAAuB,KAAvB;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,YAAL,kBAAKC,eAAL;AAEL,EAAAA,sBAAA,SAAM,KAAN;AAEA,EAAAA,sBAAA,UAAO,KAAP;AAEA,EAAAA,sBAAA,YAAS,KAAT;AAEA,EAAAA,sBAAA,qBAAkB,KAAlB;AAEA,EAAAA,sBAAA,gBAAa,KAAb;AAEA,EAAAA,sBAAA,mBAAgB,KAAhB;AAEA,EAAAA,sBAAA,2BAAwB,KAAxB;AAEA,EAAAA,sBAAA,mBAAgB,KAAhB;AAEA,EAAAA,sBAAA,iBAAc,KAAd;AAEA,EAAAA,sBAAA,kBAAe,MAAf;AAEA,EAAAA,sBAAA,uBAAoB,MAApB;AAEA,EAAAA,sBAAA,sBAAmB,MAAnB;AAEA,EAAAA,sBAAA,uBAAoB,MAApB;AAEA,EAAAA,sBAAA,sBAAmB,MAAnB;AAEA,EAAAA,sBAAA,6BAA0B,MAA1B;AAEA,EAAAA,sBAAA,2BAAwB,MAAxB;AAEA,EAAAA,sBAAA,qBAAkB,MAAlB;AAEA,EAAAA,sBAAA,oBAAiB,MAAjB;AAEA,EAAAA,sBAAA,yBAAsB,MAAtB;AAEA,EAAAA,sBAAA,mBAAgB,MAAhB;AAEA,EAAAA,sBAAA,uBAAoB,MAApB;AAEA,EAAAA,sBAAA,qBAAkB,MAAlB;AACA,EAAAA,sBAAA,qBAAkB,MAAlB;AACA,EAAAA,sBAAA,oBAAiB,MAAjB;AAEA,EAAAA,sBAAA,uBAAoB,MAApB;AAEA,EAAAA,sBAAA,oBAAiB,MAAjB;AAEA,EAAAA,sBAAA,sBAAmB,MAAnB;AAEA,EAAAA,sBAAA,WAAQ,MAAR;AAtDU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,kBAAL,kBAAKC,qBAAL;AAEL,EAAAA,kCAAA,UAAO,KAAP;AAEA,EAAAA,kCAAA,gBAAa,KAAb;AAEA,EAAAA,kCAAA,qBAAkB,KAAlB;AAEA,EAAAA,kCAAA,wBAAqB,KAArB;AAEA,EAAAA,kCAAA,kBAAe,KAAf;AAEA,EAAAA,kCAAA,mBAAgB,KAAhB;AAEA,EAAAA,kCAAA,mBAAgB,KAAhB;AACA,EAAAA,kCAAA,kBAAe,KAAf;AAEA,EAAAA,kCAAA,UAAO,KAAP;AAEA,EAAAA,kCAAA,2BAAwB,MAAxB;AAEA,EAAAA,kCAAA,cAAW,MAAX;AAEA,EAAAA,kCAAA,wBAAqB,MAArB;AACA,EAAAA,kCAAA,8BAA2B,MAA3B;AAEA,EAAAA,kCAAA,iBAAc,MAAd;AAEA,EAAAA,kCAAA,eAAY,MAAZ;AAEA,EAAAA,kCAAA,aAAU,MAAV;AAEA,EAAAA,kCAAA,aAAU,MAAV;AAEA,EAAAA,kCAAA,aAAU,MAAV;AAEA,EAAAA,kCAAA,oCAAiC,MAAjC;AACA,EAAAA,kCAAA,gCAA6B,MAA7B;AAEA,EAAAA,kCAAA,gCAA6B,MAA7B;AAEA,EAAAA,kCAAA,2BAAwB,MAAxB;AAEA,EAAAA,kCAAA,+BAA4B,MAA5B;AAEA,EAAAA,kCAAA,4CAAyC,MAAzC;AAEA,EAAAA,kCAAA,2BAAwB,MAAxB;AAEA,EAAAA,kCAAA,yBAAsB,MAAtB;AAEA,EAAAA,kCAAA,8BAA2B,MAA3B;AAEA,EAAAA,kCAAA,2BAAwB,MAAxB;AAEA,EAAAA,kCAAA,wBAAqB,MAArB;AAEA,EAAAA,kCAAA,kCAA+B,MAA/B;AAEA,EAAAA,kCAAA,6BAA0B,MAA1B;AAEA,EAAAA,kCAAA,6BAA0B,MAA1B;AAEA,EAAAA,kCAAA,kCAA+B,MAA/B;AACA,EAAAA,kCAAA,oBAAiB,MAAjB;AACA,EAAAA,kCAAA,qBAAkB,MAAlB;AAEA,EAAAA,kCAAA,wCAAqC,MAArC;AAEA,EAAAA,kCAAA,oCAAiC,MAAjC;AACA,EAAAA,kCAAA,sBAAmB,MAAnB;AAEA,EAAAA,kCAAA,qCAAkC,MAAlC;AAEA,EAAAA,kCAAA,gCAA6B,MAA7B;AAEA,EAAAA,kCAAA,8BAA2B,MAA3B;AACA,EAAAA,kCAAA,UAAO,MAAP;AA7EU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,YAAL,kBAAKC,eAAL;AACL,EAAAA,sBAAA,gBAAa,KAAb;AACA,EAAAA,sBAAA,eAAY,KAAZ;AACA,EAAAA,sBAAA,gBAAa,KAAb;AACA,EAAAA,sBAAA,sBAAmB,KAAnB;AACA,EAAAA,sBAAA,gBAAa,KAAb;AACA,EAAAA,sBAAA,gBAAa,KAAb;AACA,EAAAA,sBAAA,gBAAa,KAAb;AACA,EAAAA,sBAAA,gBAAa,KAAb;AAEA,EAAAA,sBAAA,WAAQ,MAAR;AAVU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,eAAL,kBAAKC,kBAAL;AACL,EAAAA,4BAAA,cAAW,KAAX;AACA,EAAAA,4BAAA,aAAU,KAAV;AACA,EAAAA,4BAAA,gBAAa,KAAb;AAHU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,eAAL,kBAAKC,kBAAL;AAEL,EAAAA,cAAA,oBAAiB;AAEjB,EAAAA,cAAA,iBAAc;AAJJ,SAAAA;AAAA,GAAA;;;ACAL,IAAK,iBAAL,kBAAKC,oBAAL;AAEL,EAAAA,gCAAA,aAAU,KAAV;AAEA,EAAAA,gCAAA,eAAY,KAAZ;AAEA,EAAAA,gCAAA,iBAAc,KAAd;AACA,EAAAA,gCAAA,sBAAmB,KAAnB;AACA,EAAAA,gCAAA,kBAAe,KAAf;AAEA,EAAAA,gCAAA,6BAA0B,KAA1B;AAEA,EAAAA,gCAAA,oBAAiB,KAAjB;AAEA,EAAAA,gCAAA,qBAAkB,KAAlB;AACA,EAAAA,gCAAA,qBAAkB,KAAlB;AACA,EAAAA,gCAAA,wBAAqB,KAArB;AACA,EAAAA,gCAAA,YAAS,MAAT;AAjBU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,uBAAL,kBAAKC,0BAAL;AAEL,EAAAA,4CAAA,eAAY,KAAZ;AAEA,EAAAA,4CAAA,kBAAe,KAAf;AAEA,EAAAA,4CAAA,0BAAuB,KAAvB;AAEA,EAAAA,4CAAA,0BAAuB,KAAvB;AAEA,EAAAA,4CAAA,iBAAc,KAAd;AAEA,EAAAA,4CAAA,uBAAoB,KAApB;AAEA,EAAAA,4CAAA,mBAAgB,KAAhB;AAEA,EAAAA,4CAAA,uBAAoB,KAApB;AAhBU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,oBAAL,kBAAKC,uBAAL;AAEL,EAAAA,sCAAA,SAAM,KAAN;AAEA,EAAAA,sCAAA,aAAU,KAAV;AAEA,EAAAA,sCAAA,YAAS,KAAT;AAEA,EAAAA,sCAAA,aAAU,KAAV;AAEA,EAAAA,sCAAA,aAAU,KAAV;AAVU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,mBAAL,kBAAKC,sBAAL;AAEL,EAAAA,oCAAA,cAAW,KAAX;AAEA,EAAAA,oCAAA,cAAW,KAAX;AAEA,EAAAA,oCAAA,cAAW,KAAX;AAEA,EAAAA,oCAAA,cAAW,KAAX;AACA,EAAAA,oCAAA,wBAAqB,KAArB;AACA,EAAAA,oCAAA,qCAAkC,KAAlC;AAVU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,uBAAL,kBAAKC,0BAAL;AAEL,EAAAA,4CAAA,iBAAc,KAAd;AAEA,EAAAA,4CAAA,gCAA6B,KAA7B;AAEA,EAAAA,4CAAA,6BAA0B,KAA1B;AAEA,EAAAA,4CAAA,4BAAyB,KAAzB;AAEA,EAAAA,4CAAA,6BAA0B,KAA1B;AAEA,EAAAA,4CAAA,2BAAwB,KAAxB;AAEA,EAAAA,4CAAA,WAAQ,MAAR;AAdU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,aAAL,kBAAKC,gBAAL;AAEL,EAAAA,wBAAA,gBAAa,KAAb;AAEA,EAAAA,wBAAA,uBAAoB,KAApB;AAEA,EAAAA,wBAAA,wBAAqB,KAArB;AAEA,EAAAA,wBAAA,cAAW,KAAX;AAEA,EAAAA,wBAAA,gBAAa,KAAb;AACA,EAAAA,wBAAA,YAAS,KAAT;AAXU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,mBAAL,kBAAKC,sBAAL;AAEL,EAAAA,kBAAA,oBAAiB;AAEjB,EAAAA,kBAAA,iBAAc;AAJJ,SAAAA;AAAA,GAAA;;;ACAL,IAAK,eAAL,kBAAKC,kBAAL;AAEL,EAAAA,4BAAA,mBAAgB,KAAhB;AAEA,EAAAA,4BAAA,UAAO,KAAP;AAEA,EAAAA,4BAAA,cAAW,KAAX;AAEA,EAAAA,4BAAA,mBAAgB,KAAhB;AACA,EAAAA,4BAAA,oBAAiB,KAAjB;AATU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,kBAAL,kBAAKC,qBAAL;AAEL,EAAAA,kCAAA,eAAY,KAAZ;AAEA,EAAAA,kCAAA,gBAAa,KAAb;AAEA,EAAAA,kCAAA,2BAAwB,KAAxB;AAEA,EAAAA,kCAAA,iCAA8B,KAA9B;AAEA,EAAAA,kCAAA,0BAAuB,KAAvB;AAVU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,aAAL,kBAAKC,gBAAL;AAEL,EAAAA,wBAAA,cAAW,KAAX;AAEA,EAAAA,wBAAA,iBAAc,KAAd;AAEA,EAAAA,wBAAA,uBAAoB,KAApB;AAEA,EAAAA,wBAAA,uBAAoB,KAApB;AAEA,EAAAA,wBAAA,qBAAkB,KAAlB;AAEA,EAAAA,wBAAA,WAAQ,KAAR;AAEA,EAAAA,wBAAA,gCAA6B,KAA7B;AAEA,EAAAA,wBAAA,4BAAyB,KAAzB;AAEA,EAAAA,wBAAA,+BAA4B,KAA5B;AAlBU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,cAAL,kBAAKC,iBAAL;AAEL,EAAAA,0BAAA,eAAY,KAAZ;AAEA,EAAAA,0BAAA,4BAAyB,KAAzB;AAEA,EAAAA,0BAAA,0BAAuB,KAAvB;AAEA,EAAAA,0BAAA,eAAY,KAAZ;AARU,SAAAA;AAAA,GAAA;;;ACNL,IAAK,qBAAL,kBAAKC,wBAAL;AAEL,EAAAA,wCAAA,cAAW,KAAX;AAEA,EAAAA,wCAAA,eAAY,KAAZ;AAEA,EAAAA,wCAAA,qBAAkB,KAAlB;AAEA,EAAAA,wCAAA,mBAAgB,KAAhB;AARU,SAAAA;AAAA,GAAA;;;ACML,IAAK,4BAAL,kBAAKC,+BAAL;AAEL,EAAAA,sDAAA,UAAO,KAAP;AAEA,EAAAA,sDAAA,uBAAoB,KAApB;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,eAAL,kBAAKC,kBAAL;AAEL,EAAAA,4BAAA,cAAW,KAAX;AAEA,EAAAA,4BAAA,cAAW,KAAX;AAEA,EAAAA,4BAAA,eAAY,KAAZ;AAEA,EAAAA,4BAAA,wBAAqB,KAArB;AAEA,EAAAA,4BAAA,gBAAa,KAAb;AAEA,EAAAA,4BAAA,mBAAgB,KAAhB;AAEA,EAAAA,4BAAA,oBAAiB,KAAjB;AAEA,EAAAA,4BAAA,gBAAa,KAAb;AACA,EAAAA,4BAAA,yBAAsB,KAAtB;AACA,EAAAA,4BAAA,oBAAiB,KAAjB;AACA,EAAAA,4BAAA,cAAW,MAAX;AACA,EAAAA,4BAAA,cAAW,MAAX;AApBU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,eAAL,kBAAKC,kBAAL;AAEL,EAAAA,4BAAA,cAAW,KAAX;AAEA,EAAAA,4BAAA,qBAAkB,KAAlB;AAEA,EAAAA,4BAAA,cAAW,KAAX;AANU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,aAAL,kBAAKC,gBAAL;AAEL,EAAAA,wBAAA,YAAS,KAAT;AAEA,EAAAA,wBAAA,SAAM,KAAN;AAEA,EAAAA,wBAAA,YAAS,KAAT;AANU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,oBAAL,kBAAKC,uBAAL;AAEL,EAAAA,sCAAA,cAAW,KAAX;AAEA,EAAAA,sCAAA,0BAAuB,KAAvB;AAEA,EAAAA,sCAAA,eAAY,KAAZ;AAEA,EAAAA,sCAAA,2BAAwB,KAAxB;AAEA,EAAAA,sCAAA,cAAW,KAAX;AAVU,SAAAA;AAAA,GAAA;;;ACNL,IAAK,oBAAL,kBAAKC,uBAAL;AAEL,EAAAA,sCAAA,gBAAa,KAAb;AAEA,EAAAA,sCAAA,gCAA6B,KAA7B;AAEA,EAAAA,sCAAA,oCAAiC,KAAjC;AAEA,EAAAA,sCAAA,oBAAiB,KAAjB;AAEA,EAAAA,sCAAA,mCAAgC,KAAhC;AAEA,EAAAA,sCAAA,iCAA8B,KAA9B;AAEA,EAAAA,sCAAA,2CAAwC,KAAxC;AAEA,EAAAA,sCAAA,2CAAwC,KAAxC;AAEA,EAAAA,sCAAA,uCAAoC,KAApC;AAEA,EAAAA,sCAAA,sCAAmC,KAAnC;AAEA,EAAAA,sCAAA,WAAQ,MAAR;AAtBU,SAAAA;AAAA,GAAA;;;ACML,IAAK,wBAAL,kBAAKC,2BAAL;AAEL,EAAAA,8CAAA,SAAM,KAAN;AAEA,EAAAA,8CAAA,YAAS,KAAT;AAEA,EAAAA,8CAAA,gBAAa,KAAb;AAEA,EAAAA,8CAAA,YAAS,KAAT;AAEA,EAAAA,8CAAA,YAAS,KAAT;AAEA,EAAAA,8CAAA,WAAQ,KAAR;AAEA,EAAAA,8CAAA,SAAM,KAAN;AAEA,EAAAA,8CAAA,WAAQ,KAAR;AAEA,EAAAA,8CAAA,iBAAc,KAAd;AAEA,EAAAA,8CAAA,SAAM,MAAN;AAEA,EAAAA,8CAAA,gBAAa,MAAb;AAEA,EAAAA,8CAAA,UAAO,MAAP;AAEA,EAAAA,8CAAA,aAAU,MAAV;AAEA,EAAAA,8CAAA,YAAS,MAAT;AAEA,EAAAA,8CAAA,uBAAoB,MAApB;AAEA,EAAAA,8CAAA,cAAW,MAAX;AAEA,EAAAA,8CAAA,cAAW,MAAX;AAEA,EAAAA,8CAAA,eAAY,MAAZ;AAEA,EAAAA,8CAAA,kBAAe,MAAf;AAEA,EAAAA,8CAAA,iBAAc,MAAd;AAEA,EAAAA,8CAAA,kBAAe,MAAf;AAEA,EAAAA,8CAAA,iBAAc,MAAd;AAEA,EAAAA,8CAAA,UAAO,MAAP;AAEA,EAAAA,8CAAA,yBAAsB,MAAtB;AAEA,EAAAA,8CAAA,aAAU,MAAV;AAEA,EAAAA,8CAAA,cAAW,MAAX;AAEA,EAAAA,8CAAA,gBAAa,MAAb;AAEA,EAAAA,8CAAA,iBAAc,MAAd;AAEA,EAAAA,8CAAA,WAAQ,MAAR;AA1DU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,iBAAL,kBAAKC,oBAAL;AACL,EAAAA,gBAAA,YAAS;AACT,EAAAA,gBAAA,cAAW;AACX,EAAAA,gBAAA,6BAA0B;AAC1B,EAAAA,gBAAA,aAAU;AACV,EAAAA,gBAAA,cAAW;AACX,EAAAA,gBAAA,gBAAa;AACb,EAAAA,gBAAA,qBAAkB;AAClB,EAAAA,gBAAA,mBAAgB;AAChB,EAAAA,gBAAA,eAAY;AACZ,EAAAA,gBAAA,eAAY;AACZ,EAAAA,gBAAA,qBAAkB;AAXR,SAAAA;AAAA,GAAA;;;ACAL,IAAK,qBAAL,kBAAKC,wBAAL;AAEL,EAAAA,oBAAA,WAAQ;AAER,EAAAA,oBAAA,UAAO;AAJG,SAAAA;AAAA,GAAA;;;ACAL,IAAK,2BAAL,kBAAKC,8BAAL;AAEL,EAAAA,oDAAA,YAAS,KAAT;AAEA,EAAAA,oDAAA,YAAS,KAAT;AAEA,EAAAA,oDAAA,YAAS,KAAT;AANU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,uBAAL,kBAAKC,0BAAL;AAEL,EAAAA,sBAAA,SAAM;AAEN,EAAAA,sBAAA,YAAS;AAET,EAAAA,sBAAA,YAAS;AANC,SAAAA;AAAA,GAAA;;;ACAL,IAAK,oBAAL,kBAAKC,uBAAL;AAEL,EAAAA,sCAAA,kBAAe,KAAf;AAEA,EAAAA,sCAAA,qBAAkB,KAAlB;AAEA,EAAAA,sCAAA,0BAAuB,KAAvB;AAEA,EAAAA,sCAAA,uBAAoB,KAApB;AAEA,EAAAA,sCAAA,gBAAa,KAAb;AAVU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,sBAAL,kBAAKC,yBAAL;AAEL,EAAAA,0CAAA,iBAAc,KAAd;AAEA,EAAAA,0CAAA,0BAAuB,KAAvB;AAJU,SAAAA;AAAA,GAAA;;;ACNL,IAAK,gBAAL,kBAAKC,mBAAL;AAEL,EAAAA,eAAA,sBAAmB;AAEnB,EAAAA,eAAA,gBAAa;AAEb,EAAAA,eAAA,iBAAc;AACd,EAAAA,eAAA,aAAU;AAEV,EAAAA,eAAA,gBAAa;AACb,EAAAA,eAAA,eAAY;AACZ,EAAAA,eAAA,cAAW;AAEX,EAAAA,eAAA,aAAU;AAEV,EAAAA,eAAA,mBAAgB;AAEhB,EAAAA,eAAA,cAAW;AACX,EAAAA,eAAA,kBAAe;AAEf,EAAAA,eAAA,sBAAmB;AAEnB,EAAAA,eAAA,mBAAgB;AAEhB,EAAAA,eAAA,iCAA8B;AAE9B,EAAAA,eAAA,mBAAgB;AAEhB,EAAAA,eAAA,uBAAoB;AACpB,EAAAA,eAAA,YAAS;AAET,EAAAA,eAAA,0BAAuB;AAEvB,EAAAA,eAAA,yBAAsB;AACtB,EAAAA,eAAA,mBAAgB;AAEhB,EAAAA,eAAA,SAAM;AAEN,EAAAA,eAAA,mBAAgB;AAEhB,EAAAA,eAAA,mBAAgB;AAEhB,EAAAA,eAAA,yBAAsB;AAEtB,EAAAA,eAAA,yBAAsB;AAEtB,EAAAA,eAAA,WAAQ;AAER,EAAAA,eAAA,aAAU;AACV,EAAAA,eAAA,eAAY;AAEZ,EAAAA,eAAA,sBAAmB;AAEnB,EAAAA,eAAA,gBAAa;AAEb,EAAAA,eAAA,eAAY;AAEZ,EAAAA,eAAA,gBAAa;AAEb,EAAAA,eAAA,kBAAe;AAEf,EAAAA,eAAA,iBAAc;AAEd,EAAAA,eAAA,kBAAe;AAEf,EAAAA,eAAA,mBAAgB;AAEhB,EAAAA,eAAA,oBAAiB;AAEjB,EAAAA,eAAA,YAAS;AAET,EAAAA,eAAA,YAAS;AAET,EAAAA,eAAA,kBAAe;AAEf,EAAAA,eAAA,iBAAc;AAEd,EAAAA,eAAA,kBAAe;AAEf,EAAAA,eAAA,mBAAgB;AAEhB,EAAAA,eAAA,oBAAiB;AAEjB,EAAAA,eAAA,gBAAa;AAEb,EAAAA,eAAA,2CAAwC;AACxC,EAAAA,eAAA,gBAAa;AACb,EAAAA,eAAA,UAAO;AAEP,EAAAA,eAAA,SAAM;AAEN,EAAAA,eAAA,UAAO;AAEP,EAAAA,eAAA,gBAAa;AAEb,EAAAA,eAAA,gBAAa;AAEb,EAAAA,eAAA,4BAAyB;AAEzB,EAAAA,eAAA,UAAO;AAEP,EAAAA,eAAA,cAAW;AAEX,EAAAA,eAAA,8BAA2B;AAE3B,EAAAA,eAAA,aAAU;AAEV,EAAAA,eAAA,UAAO;AAEP,EAAAA,eAAA,eAAY;AAEZ,EAAAA,eAAA,WAAQ;AAER,EAAAA,eAAA,UAAO;AAEP,EAAAA,eAAA,gBAAa;AAEb,EAAAA,eAAA,gBAAa;AAEb,EAAAA,eAAA,aAAU;AAEV,EAAAA,eAAA,WAAQ;AAER,EAAAA,eAAA,YAAS;AAET,EAAAA,eAAA,YAAS;AAET,EAAAA,eAAA,aAAU;AAEV,EAAAA,eAAA,aAAU;AAEV,EAAAA,eAAA,sBAAmB;AAEnB,EAAAA,eAAA,gBAAa;AAEb,EAAAA,eAAA,gBAAa;AAEb,EAAAA,eAAA,qBAAkB;AAElB,EAAAA,eAAA,iBAAc;AAEd,EAAAA,eAAA,gBAAa;AAEb,EAAAA,eAAA,sBAAmB;AAEnB,EAAAA,eAAA,gBAAa;AAEb,EAAAA,eAAA,UAAO;AAEP,EAAAA,eAAA,oBAAiB;AAEjB,EAAAA,eAAA,eAAY;AAvJF,SAAAA;AAAA,GAAA;;;ACAL,IAAK,WAAL,kBAAKC,cAAL;AAEL,EAAAA,UAAA,UAAO;AAEP,EAAAA,UAAA,YAAS;AAET,EAAAA,UAAA,YAAS;AAET,EAAAA,UAAA,SAAM;AAEN,EAAAA,UAAA,UAAO;AAEP,EAAAA,UAAA,WAAQ;AAER,EAAAA,UAAA,UAAO;AAEP,EAAAA,UAAA,aAAU;AACV,EAAAA,UAAA,gBAAa;AACb,EAAAA,UAAA,cAAW;AAlBD,SAAAA;AAAA,GAAA;;;ACML,IAAK,cAAL,kBAAKC,iBAAL;AAEL,EAAAA,0BAAA,eAAY,KAAZ;AAEA,EAAAA,0BAAA,eAAY,KAAZ;AAEA,EAAAA,0BAAA,YAAS,KAAT;AAEA,EAAAA,0BAAA,oBAAiB,KAAjB;AARU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,gBAAL,kBAAKC,mBAAL;AAEL,EAAAA,eAAA,WAAQ;AAER,EAAAA,eAAA,UAAO;AAJG,SAAAA;AAAA,GAAA;;;ACAL,IAAK,aAAL,kBAAKC,gBAAL;AAEL,EAAAA,wBAAA,eAAY,KAAZ;AAEA,EAAAA,wBAAA,gBAAa,KAAb;AAEA,EAAAA,wBAAA,gBAAa,KAAb;AANU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,eAAL,kBAAKC,kBAAL;AAEL,EAAAA,4BAAA,UAAO,KAAP;AAEA,EAAAA,4BAAA,aAAU,KAAV;AAEA,EAAAA,4BAAA,WAAQ,KAAR;AACA,EAAAA,4BAAA,uBAAoB,KAApB;AAEA,EAAAA,4BAAA,mBAAgB,KAAhB;AACA,EAAAA,4BAAA,yBAAsB,KAAtB;AACA,EAAAA,4BAAA,sBAAmB,KAAnB;AACA,EAAAA,4BAAA,sBAAmB,KAAnB;AACA,EAAAA,4BAAA,kBAAe,KAAf;AACA,EAAAA,4BAAA,iBAAc,KAAd;AAdU,SAAAA;AAAA,GAAA;;;ACNL,IAAK,wBAAL,kBAAKC,2BAAL;AAEL,EAAAA,uBAAA,iBAAc;AAEd,EAAAA,uBAAA,0BAAuB;AAEvB,EAAAA,uBAAA,kBAAe;AAEf,EAAAA,uBAAA,gBAAa;AAEb,EAAAA,uBAAA,uBAAoB;AAEpB,EAAAA,uBAAA,eAAY;AAEZ,EAAAA,uBAAA,yBAAsB;AAEtB,EAAAA,uBAAA,sBAAmB;AAEnB,EAAAA,uBAAA,2CAAwC;AAExC,EAAAA,uBAAA,iBAAc;AAEd,EAAAA,uBAAA,4CAAyC;AAEzC,EAAAA,uBAAA,8BAA2B;AAE3B,EAAAA,uBAAA,mBAAgB;AAEhB,EAAAA,uBAAA,gBAAa;AAEb,EAAAA,uBAAA,6BAA0B;AAE1B,EAAAA,uBAAA,sBAAmB;AAEnB,EAAAA,uBAAA,oCAAiC;AAEjC,EAAAA,uBAAA,oBAAiB;AAEjB,EAAAA,uBAAA,gBAAa;AAEb,EAAAA,uBAAA,aAAU;AAEV,EAAAA,uBAAA,sBAAmB;AAEnB,EAAAA,uBAAA,mBAAgB;AAEhB,EAAAA,uBAAA,eAAY;AAEZ,EAAAA,uBAAA,mBAAgB;AAEhB,EAAAA,uBAAA,uBAAoB;AAEpB,EAAAA,uBAAA,2BAAwB;AAExB,EAAAA,uBAAA,iBAAc;AAEd,EAAAA,uBAAA,kBAAe;AAEf,EAAAA,uBAAA,kBAAe;AAEf,EAAAA,uBAAA,mBAAgB;AAEhB,EAAAA,uBAAA,kBAAe;AAEf,EAAAA,uBAAA,mBAAgB;AAEhB,EAAAA,uBAAA,mCAAgC;AAEhC,EAAAA,uBAAA,qBAAkB;AAElB,EAAAA,uBAAA,mBAAgB;AAEhB,EAAAA,uBAAA,iCAA8B;AAE9B,EAAAA,uBAAA,aAAU;AAEV,EAAAA,uBAAA,+BAA4B;AAE5B,EAAAA,uBAAA,gBAAa;AAEb,EAAAA,uBAAA,YAAS;AAET,EAAAA,uBAAA,sBAAmB;AAEnB,EAAAA,uBAAA,0BAAuB;AAEvB,EAAAA,uBAAA,WAAQ;AAER,EAAAA,uBAAA,uCAAoC;AAEpC,EAAAA,uBAAA,eAAY;AAEZ,EAAAA,uBAAA,kBAAe;AAEf,EAAAA,uBAAA,UAAO;AAEP,EAAAA,uBAAA,qBAAkB;AAElB,EAAAA,uBAAA,aAAU;AAEV,EAAAA,uBAAA,8BAA2B;AAE3B,EAAAA,uBAAA,iBAAc;AAEd,EAAAA,uBAAA,gBAAa;AAEb,EAAAA,uBAAA,mBAAgB;AAEhB,EAAAA,uBAAA,aAAU;AAEV,EAAAA,uBAAA,eAAY;AAEZ,EAAAA,uBAAA,eAAY;AAEZ,EAAAA,uBAAA,qBAAkB;AAElB,EAAAA,uBAAA,8BAA2B;AAE3B,EAAAA,uBAAA,qBAAkB;AAElB,EAAAA,uBAAA,4BAAyB;AAEzB,EAAAA,uBAAA,yBAAsB;AAEtB,EAAAA,uBAAA,aAAU;AAEV,EAAAA,uBAAA,iBAAc;AAEd,EAAAA,uBAAA,mBAAgB;AAEhB,EAAAA,uBAAA,gBAAa;AAEb,EAAAA,uBAAA,eAAY;AAEZ,EAAAA,uBAAA,2BAAwB;AAExB,EAAAA,uBAAA,gBAAa;AAEb,EAAAA,uBAAA,aAAU;AAEV,EAAAA,uBAAA,wBAAqB;AAErB,EAAAA,uBAAA,eAAY;AAEZ,EAAAA,uBAAA,gBAAa;AAEb,EAAAA,uBAAA,eAAY;AAEZ,EAAAA,uBAAA,qBAAkB;AAElB,EAAAA,uBAAA,iBAAc;AAEd,EAAAA,uBAAA,+BAA4B;AAE5B,EAAAA,uBAAA,qBAAkB;AAElB,EAAAA,uBAAA,0BAAuB;AA5Jb,SAAAA;AAAA,GAAA;;;ACAL,IAAK,0BAAL,kBAAKC,6BAAL;AAEL,EAAAA,kDAAA,eAAY,KAAZ;AAEA,EAAAA,kDAAA,4BAAyB,KAAzB;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,WAAL,kBAAKC,cAAL;AAEL,EAAAA,UAAA,YAAS;AAET,EAAAA,UAAA,eAAY;AAEZ,EAAAA,UAAA,kBAAe;AAEf,EAAAA,UAAA,qBAAkB;AAElB,EAAAA,UAAA,sBAAmB;AAEnB,EAAAA,UAAA,iBAAc;AAEd,EAAAA,UAAA,0BAAuB;AAEvB,EAAAA,UAAA,mBAAgB;AAEhB,EAAAA,UAAA,mBAAgB;AAEhB,EAAAA,UAAA,WAAQ;AAER,EAAAA,UAAA,sBAAmB;AAEnB,EAAAA,UAAA,iBAAc;AAEd,EAAAA,UAAA,oBAAiB;AAEjB,EAAAA,UAAA,WAAQ;AAER,EAAAA,UAAA,WAAQ;AAER,EAAAA,UAAA,uBAAoB;AAEpB,EAAAA,UAAA,cAAW;AAEX,EAAAA,UAAA,iBAAc;AApCJ,SAAAA;AAAA,GAAA;;;ACML,IAAK,gBAAL,kBAAKC,mBAAL;AAEL,EAAAA,eAAA,cAAW;AAEX,EAAAA,eAAA,cAAW;AAEX,EAAAA,eAAA,cAAW;AAND,SAAAA;AAAA,GAAA;;;ACAL,IAAK,eAAL,kBAAKC,kBAAL;AAEL,EAAAA,4BAAA,qBAAkB,KAAlB;AAEA,EAAAA,4BAAA,aAAU,KAAV;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,uBAAL,kBAAKC,0BAAL;AAEL,EAAAA,sBAAA,YAAS;AAET,EAAAA,sBAAA,cAAW;AAJD,SAAAA;AAAA,GAAA;;;ACAL,IAAK,sBAAL,kBAAKC,yBAAL;AAEL,EAAAA,qBAAA,UAAO;AAEP,EAAAA,qBAAA,WAAQ;AAER,EAAAA,qBAAA,YAAS;AAET,EAAAA,qBAAA,UAAO;AARG,SAAAA;AAAA,GAAA;;;ACAL,IAAK,kBAAL,kBAAKC,qBAAL;AAEL,EAAAA,iBAAA,WAAQ;AAER,EAAAA,iBAAA,eAAY;AAEZ,EAAAA,iBAAA,uBAAoB;AANV,SAAAA;AAAA,GAAA;;;ACAL,IAAK,0BAAL,kBAAKC,6BAAL;AAEL,EAAAA,yBAAA,aAAU;AAEV,EAAAA,yBAAA,YAAS;AAJC,SAAAA;AAAA,GAAA;;;ACAL,IAAK,qBAAL,kBAAKC,wBAAL;AAEL,EAAAA,oBAAA,+BAA4B;AAE5B,EAAAA,oBAAA,6BAA0B;AAJhB,SAAAA;AAAA,GAAA;;;ACAL,IAAK,cAAL,kBAAKC,iBAAL;AAEL,EAAAA,0BAAA,gBAAa,KAAb;AAEA,EAAAA,0BAAA,eAAY,KAAZ;AAEA,EAAAA,0BAAA,yBAAsB,KAAtB;AAEA,EAAAA,0BAAA,aAAU,KAAV;AAEA,EAAAA,0BAAA,4BAAyB,KAAzB;AAVU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,mBAAL,kBAAKC,sBAAL;AACL,EAAAA,kBAAA,sBAAmB;AACnB,EAAAA,kBAAA,aAAU;AACV,EAAAA,kBAAA,eAAY;AACZ,EAAAA,kBAAA,kBAAe;AACf,EAAAA,kBAAA,qBAAkB;AAClB,EAAAA,kBAAA,aAAU;AACV,EAAAA,kBAAA,gBAAa;AACb,EAAAA,kBAAA,6BAA0B;AAC1B,EAAAA,kBAAA,6BAA0B;AAC1B,EAAAA,kBAAA,2BAAwB;AACxB,EAAAA,kBAAA,2BAAwB;AAXd,SAAAA;AAAA,GAAA;;;ACAL,IAAK,cAAL,kBAAKC,iBAAL;AAEL,EAAAA,aAAA,eAAY;AAEZ,EAAAA,aAAA,aAAU;AAJA,SAAAA;AAAA,GAAA;;;ACAL,IAAK,gBAAL,kBAAKC,mBAAL;AAEL,EAAAA,eAAA,aAAU;AAEV,EAAAA,eAAA,SAAM;AAEN,EAAAA,eAAA,YAAS;AAET,EAAAA,eAAA,iBAAc;AARJ,SAAAA;AAAA,GAAA;;;ACAL,IAAK,uBAAL,kBAAKC,0BAAL;AAEL,EAAAA,sBAAA,UAAO;AAEP,EAAAA,sBAAA,WAAQ;AAER,EAAAA,sBAAA,cAAW;AAEX,EAAAA,sBAAA,YAAS;AARC,SAAAA;AAAA,GAAA;;;ACAL,IAAK,UAAL,kBAAKC,aAAL;AAEL,EAAAA,SAAA,YAAS;AAET,EAAAA,SAAA,cAAW;AAEX,EAAAA,SAAA,cAAW;AAEX,EAAAA,SAAA,uBAAoB;AARV,SAAAA;AAAA,GAAA;;;ACAL,IAAK,eAAL,kBAAKC,kBAAL;AAEL,EAAAA,4BAAA,aAAU,KAAV;AAEA,EAAAA,4BAAA,iBAAc,KAAd;AAEA,EAAAA,4BAAA,gBAAa,KAAb;AAEA,EAAAA,4BAAA,eAAY,KAAZ;AAEA,EAAAA,4BAAA,gBAAa,KAAb;AAEA,EAAAA,4BAAA,eAAY,KAAZ;AAEA,EAAAA,4BAAA,qBAAkB,KAAlB;AAEA,EAAAA,4BAAA,qBAAkB,KAAlB;AACA,EAAAA,4BAAA,0BAAuB,MAAvB;AAjBU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,cAAL,kBAAKC,iBAAL;AAEL,EAAAA,aAAA,sBAAmB;AAEnB,EAAAA,aAAA,6BAA0B;AAE1B,EAAAA,aAAA,iBAAc;AAEd,EAAAA,aAAA,mBAAgB;AAEhB,EAAAA,aAAA,gCAA6B;AAVnB,SAAAA;AAAA,GAAA;;;ACAL,IAAK,gBAAL,kBAAKC,mBAAL;AAEL,EAAAA,eAAA,cAAW;AAEX,EAAAA,eAAA,YAAS;AAET,EAAAA,eAAA,YAAS;AANC,SAAAA;AAAA,GAAA;;;ACAL,IAAK,mBAAL,kBAAKC,sBAAL;AAEL,EAAAA,kBAAA,eAAY;AAEZ,EAAAA,kBAAA,eAAY;AAEZ,EAAAA,kBAAA,aAAU;AAEV,EAAAA,kBAAA,wBAAqB;AAErB,EAAAA,kBAAA,0BAAuB;AAEvB,EAAAA,kBAAA,aAAU;AAZA,SAAAA;AAAA,GAAA;;;ACAL,IAAK,wBAAL,kBAAKC,2BAAL;AAEL,EAAAA,uBAAA,UAAO;AAEP,EAAAA,uBAAA,WAAQ;AAER,EAAAA,uBAAA,cAAW;AAEX,EAAAA,uBAAA,YAAS;AARC,SAAAA;AAAA,GAAA;;;ACAL,IAAK,wBAAL,kBAAKC,2BAAL;AAEL,EAAAA,uBAAA,QAAK;AAEL,EAAAA,uBAAA,UAAO;AAJG,SAAAA;AAAA,GAAA;;;ACAL,IAAK,mBAAL,kBAAKC,sBAAL;AAEL,EAAAA,kBAAA,YAAS;AAET,EAAAA,kBAAA,WAAQ;AAJE,SAAAA;AAAA,GAAA;;;ACAL,IAAK,gBAAL,kBAAKC,mBAAL;AAEL,EAAAA,eAAA,WAAQ;AAER,EAAAA,eAAA,WAAQ;AAER,EAAAA,eAAA,8BAA2B;AAE3B,EAAAA,eAAA,mBAAgB;AAEhB,EAAAA,eAAA,iBAAc;AAEd,EAAAA,eAAA,kBAAe;AAEf,EAAAA,eAAA,kBAAe;AAEf,EAAAA,eAAA,gBAAa;AAEb,EAAAA,eAAA,oBAAiB;AAEjB,EAAAA,eAAA,wBAAqB;AApBX,SAAAA;AAAA,GAAA;;;ACAL,IAAK,qBAAL,kBAAKC,wBAAL;AAEL,EAAAA,oBAAA,uBAAoB;AAEpB,EAAAA,oBAAA,oBAAiB;AAEjB,EAAAA,oBAAA,+BAA4B;AAC5B,EAAAA,oBAAA,kCAA+B;AAE/B,EAAAA,oBAAA,gCAA6B;AAE7B,EAAAA,oBAAA,4BAAyB;AAEzB,EAAAA,oBAAA,oBAAiB;AACjB,EAAAA,oBAAA,+BAA4B;AAC5B,EAAAA,oBAAA,6BAA0B;AAfhB,SAAAA;AAAA,GAAA;;;ACAL,IAAK,YAAL,kBAAKC,eAAL;AAEL,EAAAA,WAAA,WAAQ;AAER,EAAAA,WAAA,WAAQ;AAER,EAAAA,WAAA,WAAQ;AAER,EAAAA,WAAA,WAAQ;AAER,EAAAA,WAAA,WAAQ;AAER,EAAAA,WAAA,WAAQ;AAER,EAAAA,WAAA,WAAQ;AAER,EAAAA,WAAA,WAAQ;AAER,EAAAA,WAAA,cAAW;AAEX,EAAAA,WAAA,cAAW;AAEX,EAAAA,WAAA,eAAY;AAtBF,SAAAA;AAAA,GAAA;;;ACAL,IAAK,wBAAL,kBAAKC,2BAAL;AAEL,EAAAA,uBAAA,SAAM;AAEN,EAAAA,uBAAA,uBAAoB;AAEpB,EAAAA,uBAAA,iBAAc;AAEd,EAAAA,uBAAA,oBAAiB;AAEjB,EAAAA,uBAAA,SAAM;AAVI,SAAAA;AAAA,GAAA;;;ACAL,IAAK,yBAAL,kBAAKC,4BAAL;AAEL,EAAAA,gDAAA,gBAAa,KAAb;AAEA,EAAAA,gDAAA,eAAY,KAAZ;AAEA,EAAAA,gDAAA,gBAAa,KAAb;AAEA,EAAAA,gDAAA,gCAA6B,KAA7B;AARU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,iBAAL,kBAAKC,oBAAL;AAEL,EAAAA,gCAAA,iBAAc,KAAd;AAEA,EAAAA,gCAAA,WAAQ,KAAR;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,sBAAL,kBAAKC,yBAAL;AAEL,EAAAA,qBAAA,YAAS;AAET,EAAAA,qBAAA,SAAM;AAEN,EAAAA,qBAAA,aAAU;AAEV,EAAAA,qBAAA,aAAU;AARA,SAAAA;AAAA,GAAA;;;ACAL,IAAK,mBAAL,kBAAKC,sBAAL;AAEL,EAAAA,kBAAA,0BAAuB;AAEvB,EAAAA,kBAAA,gCAA6B;AAE7B,EAAAA,kBAAA,cAAW;AAEX,EAAAA,kBAAA,kCAA+B;AAE/B,EAAAA,kBAAA,mCAAgC;AAVtB,SAAAA;AAAA,GAAA;;;ACAL,IAAK,mBAAL,kBAAKC,sBAAL;AAEL,EAAAA,oCAAA,cAAW,KAAX;AAEA,EAAAA,oCAAA,cAAW,KAAX;AAEA,EAAAA,oCAAA,uBAAoB,KAApB;AAEA,EAAAA,oCAAA,aAAU,KAAV;AAEA,EAAAA,oCAAA,yBAAsB,MAAtB;AAEA,EAAAA,oCAAA,wBAAqB,MAArB;AAEA,EAAAA,oCAAA,6BAA0B,MAA1B;AAEA,EAAAA,oCAAA,8BAA2B,MAA3B;AAEA,EAAAA,oCAAA,YAAS,MAAT;AAlBU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,eAAL,kBAAK,kBAAL;AAEL,kCAAe;AAEf,iCAAc;AAJJ;AAAA;;;ACAL,IAAK,iBAAL,kBAAKC,oBAAL;AAEL,EAAAA,gCAAA,2BAAwB,KAAxB;AAEA,EAAAA,gCAAA,iCAA8B,KAA9B;AAEA,EAAAA,gCAAA,qBAAkB,KAAlB;AAEA,EAAAA,gCAAA,wBAAqB,KAArB;AARU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,uBAAL,kBAAKC,0BAAL;AAEL,EAAAA,4CAAA,oBAAiB,KAAjB;AAEA,EAAAA,4CAAA,oBAAiB,KAAjB;AAEA,EAAAA,4CAAA,iCAA8B,KAA9B;AAEA,EAAAA,4CAAA,4BAAyB,KAAzB;AAEA,EAAAA,4CAAA,+BAA4B,KAA5B;AAEA,EAAAA,4CAAA,mCAAgC,KAAhC;AAEA,EAAAA,4CAAA,sBAAmB,KAAnB;AAEA,EAAAA,4CAAA,yBAAsB,KAAtB;AAEA,EAAAA,4CAAA,qBAAkB,KAAlB;AAlBU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,YAAL,kBAAKC,eAAL;AAEL,EAAAA,sBAAA,kBAAe,KAAf;AAEA,EAAAA,sBAAA,UAAO,KAAP;AAEA,EAAAA,sBAAA,kBAAe,KAAf;AAEA,EAAAA,sBAAA,cAAW,KAAX;AARU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,gBAAL,kBAAKC,mBAAL;AACL,EAAAA,8BAAA,cAAW,KAAX;AACA,EAAAA,8BAAA,0BAAuB,KAAvB;AACA,EAAAA,8BAAA,uBAAoB,KAApB;AAHU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,cAAL,kBAAKC,iBAAL;AAEL,EAAAA,aAAA,4BAAyB;AAEzB,EAAAA,aAAA,gCAA6B;AAC7B,EAAAA,aAAA,cAAW;AALD,SAAAA;AAAA,GAAA;;;ACAL,IAAK,gBAAL,kBAAKC,mBAAL;AAEL,EAAAA,8BAAA,cAAW,KAAX;AAEA,EAAAA,8BAAA,cAAW,KAAX;AAEA,EAAAA,8BAAA,aAAU,KAAV;AAEA,EAAAA,8BAAA,WAAQ,MAAR;AARU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,mBAAL,kBAAKC,sBAAL;AAEL,EAAAA,kBAAA,cAAW;AAEX,EAAAA,kBAAA,WAAQ;AAER,EAAAA,kBAAA,uBAAoB;AAEpB,EAAAA,kBAAA,kBAAe;AARL,SAAAA;AAAA,GAAA;;;ACAL,IAAK,kBAAL,kBAAKC,qBAAL;AAEL,EAAAA,iBAAA,kBAAe;AAEf,EAAAA,iBAAA,8BAA2B;AAE3B,EAAAA,iBAAA,8CAA2C;AAE3C,EAAAA,iBAAA,+BAA4B;AAE5B,EAAAA,iBAAA,6CAA0C;AAVhC,SAAAA;AAAA,GAAA;;;ACAL,IAAK,aAAL,kBAAKC,gBAAL;AAEL,EAAAA,wBAAA,mBAAgB,KAAhB;AAEA,EAAAA,wBAAA,mBAAgB,KAAhB;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,eAAL,kBAAKC,kBAAL;AAEL,EAAAA,4BAAA,oBAAiB,KAAjB;AAEA,EAAAA,4BAAA,qBAAkB,KAAlB;AAEA,EAAAA,4BAAA,kBAAe,KAAf;AAEA,EAAAA,4BAAA,wBAAqB,KAArB;AAEA,EAAAA,4BAAA,yBAAsB,KAAtB;AACA,EAAAA,4BAAA,oBAAiB,KAAjB;AAXU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,kCAAL,kBAAKC,qCAAL;AAEL,EAAAA,kEAAA,YAAS,KAAT;AAEA,EAAAA,kEAAA,UAAO,KAAP;AAEA,EAAAA,kEAAA,WAAQ,KAAR;AAEA,EAAAA,kEAAA,WAAQ,KAAR;AARU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,0BAAL,kBAAKC,6BAAL;AAEL,EAAAA,kDAAA,mBAAgB,KAAhB;AAEA,EAAAA,kDAAA,kBAAe,KAAf;AAEA,EAAAA,kDAAA,mBAAgB,KAAhB;AANU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,iBAAL,kBAAKC,oBAAL;AAEL,EAAAA,gCAAA,WAAQ,KAAR;AAEA,EAAAA,gCAAA,WAAQ,KAAR;AAEA,EAAAA,gCAAA,gBAAa,KAAb;AANU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,mBAAL,kBAAKC,sBAAL;AAEL,EAAAA,kBAAA,SAAM;AAEN,EAAAA,kBAAA,YAAS;AAET,EAAAA,kBAAA,YAAS;AAET,EAAAA,kBAAA,cAAW;AARD,SAAAA;AAAA,GAAA;;;ACAL,IAAK,gBAAL,kBAAKC,mBAAL;AAEL,EAAAA,8BAAA,mBAAgB,KAAhB;AAEA,EAAAA,8BAAA,4BAAyB,KAAzB;AAEA,EAAAA,8BAAA,gCAA6B,KAA7B;AAEA,EAAAA,8BAAA,+CAA4C,KAA5C;AAEA,EAAAA,8BAAA,2BAAwB,KAAxB;AAEA,EAAAA,8BAAA,+BAA4B,KAA5B;AAEA,EAAAA,8BAAA,mBAAgB,KAAhB;AAEA,EAAAA,8BAAA,mCAAgC,KAAhC;AAEA,EAAAA,8BAAA,qBAAkB,KAAlB;AAEA,EAAAA,8BAAA,6BAA0B,KAA1B;AAEA,EAAAA,8BAAA,0CAAuC,MAAvC;AAtBU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,eAAL,kBAAKC,kBAAL;AAEL,EAAAA,4BAAA,oBAAiB,KAAjB;AAEA,EAAAA,4BAAA,4BAAyB,KAAzB;AAEA,EAAAA,4BAAA,+BAA4B,KAA5B;AAEA,EAAAA,4BAAA,2BAAwB,KAAxB;AARU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,iBAAL,kBAAKC,oBAAL;AAEL,EAAAA,gCAAA,mBAAgB,KAAhB;AAEA,EAAAA,gCAAA,iCAA8B,KAA9B;AAEA,EAAAA,gCAAA,kBAAe,KAAf;AANU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,kBAAL,kBAAKC,qBAAL;AAEL,EAAAA,kCAAA,2BAAwB,KAAxB;AAEA,EAAAA,kCAAA,sCAAmC,KAAnC;AAEA,EAAAA,kCAAA,0BAAuB,KAAvB;AAEA,EAAAA,kCAAA,0BAAuB,KAAvB;AAEA,EAAAA,kCAAA,+BAA4B,KAA5B;AAEA,EAAAA,kCAAA,iCAA8B,KAA9B;AAEA,EAAAA,kCAAA,eAAY,KAAZ;AAEA,EAAAA,kCAAA,yBAAsB,KAAtB;AAEA,EAAAA,kCAAA,gCAA6B,KAA7B;AAEA,EAAAA,kCAAA,gCAA6B,MAA7B;AAEA,EAAAA,kCAAA,6BAA0B,MAA1B;AAEA,EAAAA,kCAAA,yCAAsC,MAAtC;AAxBU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,qBAAL,kBAAKC,wBAAL;AAEL,EAAAA,wCAAA,cAAW,KAAX;AAEA,EAAAA,wCAAA,cAAW,KAAX;AAEA,EAAAA,wCAAA,eAAY,KAAZ;AANU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,yBAAL,kBAAKC,4BAAL;AAEL,EAAAA,gDAAA,4BAAyB,KAAzB;AAEA,EAAAA,gDAAA,8BAA2B,KAA3B;AAEA,EAAAA,gDAAA,wCAAqC,KAArC;AAEA,EAAAA,gDAAA,6BAA0B,KAA1B;AAEA,EAAAA,gDAAA,6BAA0B,KAA1B;AAEA,EAAAA,gDAAA,kCAA+B,KAA/B;AAEA,EAAAA,gDAAA,oCAAiC,KAAjC;AAEA,EAAAA,gDAAA,4BAAyB,KAAzB;AAEA,EAAAA,gDAAA,mCAAgC,KAAhC;AAEA,EAAAA,gDAAA,mCAAgC,KAAhC;AAEA,EAAAA,gDAAA,oCAAiC,MAAjC;AAEA,EAAAA,gDAAA,gDAA6C,MAA7C;AAEA,EAAAA,gDAAA,WAAQ,MAAR;AA1BU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,gBAAL,kBAAKC,mBAAL;AAEL,EAAAA,8BAAA,gCAA6B,KAA7B;AAEA,EAAAA,8BAAA,iCAA8B,KAA9B;AAEA,EAAAA,8BAAA,iBAAc,KAAd;AANU,SAAAA;AAAA,GAAA;;;ACNL,IAAK,sBAAL,kBAAKC,yBAAL;AAEL,EAAAA,0CAAA,cAAW,KAAX;AAEA,EAAAA,0CAAA,sBAAmB,KAAnB;AAEA,EAAAA,0CAAA,qBAAkB,KAAlB;AAEA,EAAAA,0CAAA,gBAAa,KAAb;AAEA,EAAAA,0CAAA,kCAA+B,KAA/B;AAEA,EAAAA,0CAAA,qBAAkB,KAAlB;AAZU,SAAAA;AAAA,GAAA;;;ACML,IAAK,kBAAL,kBAAKC,qBAAL;AAEL,EAAAA,kCAAA,wBAAqB,KAArB;AAEA,EAAAA,kCAAA,yBAAsB,KAAtB;AAEA,EAAAA,kCAAA,gCAA6B,KAA7B;AAEA,EAAAA,kCAAA,oCAAiC,KAAjC;AAEA,EAAAA,kCAAA,iBAAc,KAAd;AAEA,EAAAA,kCAAA,oBAAiB,KAAjB;AAZU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,mBAAL,kBAAKC,sBAAL;AAEL,EAAAA,oCAAA,kBAAe,KAAf;AAEA,EAAAA,oCAAA,oBAAiB,KAAjB;AAEA,EAAAA,oCAAA,oBAAiB,KAAjB;AAEA,EAAAA,oCAAA,kBAAe,KAAf;AAEA,EAAAA,oCAAA,oBAAiB,KAAjB;AAEA,EAAAA,oCAAA,oCAAiC,MAAjC;AAEA,EAAAA,oCAAA,WAAQ,MAAR;AAdU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,wBAAL,kBAAKC,2BAAL;AAEL,EAAAA,8CAAA,uBAAoB,KAApB;AAEA,EAAAA,8CAAA,kBAAe,KAAf;AAEA,EAAAA,8CAAA,yBAAsB,KAAtB;AACA,EAAAA,8CAAA,eAAY,KAAZ;AAPU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,cAAL,kBAAKC,iBAAL;AAEL,EAAAA,0BAAA,oBAAiB,KAAjB;AAEA,EAAAA,0BAAA,kBAAe,KAAf;AAEA,EAAAA,0BAAA,uBAAoB,KAApB;AAEA,EAAAA,0BAAA,yBAAsB,KAAtB;AAEA,EAAAA,0BAAA,iBAAc,KAAd;AAEA,EAAAA,0BAAA,0BAAuB,KAAvB;AAEA,EAAAA,0BAAA,qCAAkC,KAAlC;AAdU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,mBAAL,kBAAKC,sBAAL;AAEL,EAAAA,oCAAA,kCAA+B,KAA/B;AAEA,EAAAA,oCAAA,6BAA0B,KAA1B;AAEA,EAAAA,oCAAA,0BAAuB,KAAvB;AANU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,oBAAL,kBAAKC,uBAAL;AAEL,EAAAA,sCAAA,6BAA0B,KAA1B;AAEA,EAAAA,sCAAA,sCAAmC,KAAnC;AAEA,EAAAA,sCAAA,qCAAkC,KAAlC;AANU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,iBAAL,kBAAKC,oBAAL;AAEL,EAAAA,gCAAA,qBAAkB,KAAlB;AAEA,EAAAA,gCAAA,qBAAkB,KAAlB;AAEA,EAAAA,gCAAA,sBAAmB,KAAnB;AAEA,EAAAA,gCAAA,oBAAiB,KAAjB;AARU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,iBAAL,kBAAKC,oBAAL;AAEL,EAAAA,gCAAA,aAAU,KAAV;AAEA,EAAAA,gCAAA,qBAAkB,KAAlB;AAEA,EAAAA,gCAAA,yBAAsB,KAAtB;AAEA,EAAAA,gCAAA,kBAAe,KAAf;AAEA,EAAAA,gCAAA,kBAAe,KAAf;AAEA,EAAAA,gCAAA,iBAAc,KAAd;AAEA,EAAAA,gCAAA,aAAU,MAAV;AAEA,EAAAA,gCAAA,WAAQ,MAAR;AAEA,EAAAA,gCAAA,UAAO,MAAP;AAEA,EAAAA,gCAAA,WAAQ,MAAR;AAEA,EAAAA,gCAAA,YAAS,MAAT;AAEA,EAAAA,gCAAA,WAAQ,MAAR;AAxBU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,YAAL,kBAAKC,eAAL;AAEL,EAAAA,WAAA,gBAAa;AAEb,EAAAA,WAAA,SAAM;AAEN,EAAAA,WAAA,WAAQ;AAER,EAAAA,WAAA,mBAAgB;AAChB,EAAAA,WAAA,sBAAmB;AACnB,EAAAA,WAAA,eAAY;AAEZ,EAAAA,WAAA,2BAAwB;AAExB,EAAAA,WAAA,uBAAoB;AAEpB,EAAAA,WAAA,mBAAgB;AAChB,EAAAA,WAAA,yBAAsB;AACtB,EAAAA,WAAA,sBAAmB;AACnB,EAAAA,WAAA,sBAAmB;AACnB,EAAAA,WAAA,kBAAe;AACf,EAAAA,WAAA,iBAAc;AArBJ,SAAAA;AAAA,GAAA;;;ACAL,IAAK,iBAAL,kBAAKC,oBAAL;AAEL,EAAAA,gCAAA,wBAAqB,KAArB;AAEA,EAAAA,gCAAA,0BAAuB,KAAvB;AAEA,EAAAA,gCAAA,kBAAe,KAAf;AANU,SAAAA;AAAA,GAAA;;;ACNL,IAAK,wBAAL,kBAAKC,2BAAL;AAEL,EAAAA,8CAAA,qCAAkC,KAAlC;AAEA,EAAAA,8CAAA,iDAA8C,KAA9C;AAEA,EAAAA,8CAAA,mCAAgC,KAAhC;AAEA,EAAAA,8CAAA,cAAW,KAAX;AARU,SAAAA;AAAA,GAAA;;;ACML,IAAK,YAAL,kBAAKC,eAAL;AAEL,EAAAA,sBAAA,kCAA+B,KAA/B;AAEA,EAAAA,sBAAA,sBAAmB,KAAnB;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,yBAAL,kBAAKC,4BAAL;AAEL,EAAAA,gDAAA,YAAS,KAAT;AAEA,EAAAA,gDAAA,WAAQ,KAAR;AAEA,EAAAA,gDAAA,UAAO,KAAP;AANU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,mBAAL,kBAAKC,sBAAL;AAEL,EAAAA,oCAAA,wBAAqB,KAArB;AAEA,EAAAA,oCAAA,wBAAqB,KAArB;AAEA,EAAAA,oCAAA,gCAA6B,KAA7B;AAEA,EAAAA,oCAAA,qBAAkB,KAAlB;AAEA,EAAAA,oCAAA,qBAAkB,KAAlB;AAEA,EAAAA,oCAAA,cAAW,KAAX;AAEA,EAAAA,oCAAA,YAAS,KAAT;AAEA,EAAAA,oCAAA,aAAU,KAAV;AAEA,EAAAA,oCAAA,UAAO,KAAP;AAEA,EAAAA,oCAAA,WAAQ,KAAR;AAEA,EAAAA,oCAAA,WAAQ,MAAR;AAtBU,SAAAA;AAAA,GAAA;;;ACNL,IAAK,aAAL,kBAAKC,gBAAL;AAEL,EAAAA,wBAAA,eAAY,KAAZ;AAEA,EAAAA,wBAAA,aAAU,KAAV;AAEA,EAAAA,wBAAA,cAAW,KAAX;AACA,EAAAA,wBAAA,oBAAiB,KAAjB;AAEA,EAAAA,wBAAA,WAAQ,MAAR;AATU,SAAAA;AAAA,GAAA;;;ACML,IAAK,iBAAL,kBAAKC,oBAAL;AAEL,EAAAA,gCAAA,aAAU,KAAV;AAEA,EAAAA,gCAAA,eAAY,KAAZ;AAJU,SAAAA;AAAA,GAAA;;;ACNL,IAAK,oBAAL,kBAAKC,uBAAL;AAEL,EAAAA,mBAAA,uBAAoB;AAEpB,EAAAA,mBAAA,2BAAwB;AAExB,EAAAA,mBAAA,8BAA2B;AAE3B,EAAAA,mBAAA,8BAA2B;AARjB,SAAAA;AAAA,GAAA;;;ACAL,IAAK,YAAL,kBAAKC,eAAL;AAEL,EAAAA,WAAA,mBAAgB;AAEhB,EAAAA,WAAA,YAAS;AAET,EAAAA,WAAA,kBAAe;AACf,EAAAA,WAAA,YAAS;AACT,EAAAA,WAAA,eAAY;AACZ,EAAAA,WAAA,wBAAqB;AATX,SAAAA;AAAA,GAAA;;;ACML,IAAK,mBAAL,kBAAKC,sBAAL;AAEL,EAAAA,oCAAA,4BAAyB,KAAzB;AAEA,EAAAA,oCAAA,iBAAc,KAAd;AAEA,EAAAA,oCAAA,YAAS,KAAT;AAEA,EAAAA,oCAAA,mBAAgB,KAAhB;AARU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,yBAAL,kBAAKC,4BAAL;AAEL,EAAAA,gDAAA,SAAM,KAAN;AAEA,EAAAA,gDAAA,WAAQ,KAAR;AAEA,EAAAA,gDAAA,UAAO,KAAP;AANU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,eAAL,kBAAKC,kBAAL;AAEL,EAAAA,4BAAA,iBAAc,KAAd;AAEA,EAAAA,4BAAA,qBAAkB,KAAlB;AAEA,EAAAA,4BAAA,yBAAsB,KAAtB;AAEA,EAAAA,4BAAA,mBAAgB,KAAhB;AAEA,EAAAA,4BAAA,eAAY,MAAZ;AAVU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,cAAL,kBAAKC,iBAAL;AAEL,EAAAA,0BAAA,iBAAc,KAAd;AAEA,EAAAA,0BAAA,mBAAgB,KAAhB;AAEA,EAAAA,0BAAA,mBAAgB,KAAhB;AACA,EAAAA,0BAAA,gBAAa,KAAb;AAPU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,iCAAL,kBAAKC,oCAAL;AAEL,EAAAA,gEAAA,iBAAc,KAAd;AAEA,EAAAA,gEAAA,2BAAwB,KAAxB;AAEA,EAAAA,gEAAA,kCAA+B,KAA/B;AAEA,EAAAA,gEAAA,6BAA0B,KAA1B;AARU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,4BAAL,kBAAKC,+BAAL;AAEL,EAAAA,sDAAA,cAAW,KAAX;AAEA,EAAAA,sDAAA,qBAAkB,KAAlB;AAEA,EAAAA,sDAAA,WAAQ,KAAR;AAEA,EAAAA,sDAAA,wBAAqB,KAArB;AAEA,EAAAA,sDAAA,iBAAc,KAAd;AAVU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,qCAAL,kBAAKC,wCAAL;AAEL,EAAAA,wEAAA,aAAU,KAAV;AAEA,EAAAA,wEAAA,sBAAmB,KAAnB;AAEA,EAAAA,wEAAA,kBAAe,KAAf;AAEA,EAAAA,wEAAA,kBAAe,KAAf;AARU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,gBAAL,kBAAKC,mBAAL;AAEL,EAAAA,8BAAA,aAAU,KAAV;AAEA,EAAAA,8BAAA,YAAS,KAAT;AAEA,EAAAA,8BAAA,YAAS,KAAT;AAEA,EAAAA,8BAAA,WAAQ,KAAR;AAEA,EAAAA,8BAAA,aAAU,KAAV;AAEA,EAAAA,8BAAA,oBAAiB,KAAjB;AAEA,EAAAA,8BAAA,cAAW,KAAX;AAEA,EAAAA,8BAAA,wBAAqB,KAArB;AAEA,EAAAA,8BAAA,WAAQ,MAAR;AAlBU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,mBAAL,kBAAKC,sBAAL;AAEL,EAAAA,oCAAA,YAAS,KAAT;AAEA,EAAAA,oCAAA,aAAU,KAAV;AAEA,EAAAA,oCAAA,eAAY,KAAZ;AAEA,EAAAA,oCAAA,iBAAc,KAAd;AAEA,EAAAA,oCAAA,gBAAa,KAAb;AAEA,EAAAA,oCAAA,kBAAe,KAAf;AAEA,EAAAA,oCAAA,gBAAa,KAAb;AAEA,EAAAA,oCAAA,kBAAe,KAAf;AAEA,EAAAA,oCAAA,oBAAiB,KAAjB;AAEA,EAAAA,oCAAA,cAAW,MAAX;AAEA,EAAAA,oCAAA,aAAU,MAAV;AAEA,EAAAA,oCAAA,iBAAc,MAAd;AAEA,EAAAA,oCAAA,gBAAa,MAAb;AAEA,EAAAA,oCAAA,iBAAc,MAAd;AAEA,EAAAA,oCAAA,cAAW,MAAX;AAEA,EAAAA,oCAAA,eAAY,MAAZ;AAEA,EAAAA,oCAAA,gBAAa,MAAb;AAEA,EAAAA,oCAAA,iBAAc,MAAd;AAEA,EAAAA,oCAAA,cAAW,MAAX;AAEA,EAAAA,oCAAA,iBAAc,MAAd;AAEA,EAAAA,oCAAA,eAAY,MAAZ;AAEA,EAAAA,oCAAA,qBAAkB,MAAlB;AAEA,EAAAA,oCAAA,uBAAoB,MAApB;AA9CU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,kCAAL,kBAAKC,qCAAL;AAEL,EAAAA,kEAAA,+BAA4B,KAA5B;AAEA,EAAAA,kEAAA,wCAAqC,KAArC;AAEA,EAAAA,kEAAA,8BAA2B,KAA3B;AAEA,EAAAA,kEAAA,2CAAwC,KAAxC;AAEA,EAAAA,kEAAA,kCAA+B,KAA/B;AAVU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,4BAAL,kBAAKC,+BAAL;AAEL,EAAAA,sDAAA,gBAAa,KAAb;AAEA,EAAAA,sDAAA,eAAY,KAAZ;AAEA,EAAAA,sDAAA,mBAAgB,KAAhB;AACA,EAAAA,sDAAA,WAAQ,KAAR;AACA,EAAAA,sDAAA,UAAO,KAAP;AACA,EAAAA,sDAAA,wBAAqB,KAArB;AACA,EAAAA,sDAAA,sBAAmB,KAAnB;AAEA,EAAAA,sDAAA,mCAAgC,KAAhC;AAZU,SAAAA;AAAA,GAAA;;;ACNL,IAAK,wBAAL,kBAAKC,2BAAL;AAEL,EAAAA,8CAAA,SAAM,KAAN;AAEA,EAAAA,8CAAA,QAAK,KAAL;AAJU,SAAAA;AAAA,GAAA;;;ACML,IAAK,oBAAL,kBAAKC,uBAAL;AAEL,EAAAA,sCAAA,oCAAiC,KAAjC;AAEA,EAAAA,sCAAA,yCAAsC,KAAtC;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,sBAAL,kBAAKC,yBAAL;AAEL,EAAAA,0CAAA,mBAAgB,KAAhB;AAEA,EAAAA,0CAAA,wBAAqB,KAArB;AAEA,EAAAA,0CAAA,kCAA+B,KAA/B;AAEA,EAAAA,0CAAA,uBAAoB,KAApB;AAEA,EAAAA,0CAAA,WAAQ,MAAR;AAVU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,oBAAL,kBAAKC,uBAAL;AAEL,EAAAA,sCAAA,wBAAqB,KAArB;AAEA,EAAAA,sCAAA,wBAAqB,KAArB;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,iBAAL,kBAAKC,oBAAL;AAEL,EAAAA,gCAAA,gBAAa,KAAb;AAEA,EAAAA,gCAAA,cAAW,KAAX;AAEA,EAAAA,gCAAA,eAAY,KAAZ;AANU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,YAAL,kBAAKC,eAAL;AAEL,EAAAA,sBAAA,WAAQ,KAAR;AAEA,EAAAA,sBAAA,gBAAa,KAAb;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,eAAL,kBAAKC,kBAAL;AAEL,EAAAA,4BAAA,eAAY,KAAZ;AAEA,EAAAA,4BAAA,gBAAa,KAAb;AAEA,EAAAA,4BAAA,oCAAiC,KAAjC;AAEA,EAAAA,4BAAA,4CAAyC,KAAzC;AAEA,EAAAA,4BAAA,2CAAwC,KAAxC;AAEA,EAAAA,4BAAA,gDAA6C,KAA7C;AAZU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,eAAL,kBAAKC,kBAAL;AAEL,EAAAA,4BAAA,iBAAc,KAAd;AAEA,EAAAA,4BAAA,wBAAqB,KAArB;AAEA,EAAAA,4BAAA,sBAAmB,KAAnB;AAEA,EAAAA,4BAAA,uBAAoB,KAApB;AAEA,EAAAA,4BAAA,uBAAoB,KAApB;AAEA,EAAAA,4BAAA,wBAAqB,KAArB;AAZU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,0BAAL,kBAAKC,6BAAL;AAEL,EAAAA,kDAAA,aAAU,KAAV;AAEA,EAAAA,kDAAA,YAAS,KAAT;AAEA,EAAAA,kDAAA,mBAAgB,KAAhB;AAEA,EAAAA,kDAAA,iBAAc,KAAd;AARU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,qBAAL,kBAAKC,wBAAL;AAEL,EAAAA,wCAAA,aAAU,KAAV;AAEA,EAAAA,wCAAA,YAAS,KAAT;AAEA,EAAAA,wCAAA,mBAAgB,KAAhB;AANU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,uBAAL,kBAAKC,0BAAL;AAEL,EAAAA,4CAAA,gBAAa,KAAb;AAEA,EAAAA,4CAAA,gCAA6B,KAA7B;AAEA,EAAAA,4CAAA,iCAA8B,KAA9B;AAEA,EAAAA,4CAAA,oBAAiB,KAAjB;AAEA,EAAAA,4CAAA,6BAA0B,KAA1B;AAEA,EAAAA,4CAAA,2BAAwB,KAAxB;AAEA,EAAAA,4CAAA,sBAAmB,KAAnB;AAEA,EAAAA,4CAAA,2CAAwC,KAAxC;AAEA,EAAAA,4CAAA,qCAAkC,KAAlC;AAEA,EAAAA,4CAAA,WAAQ,MAAR;AApBU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,gBAAL,kBAAKC,mBAAL;AACL,EAAAA,8BAAA,sBAAmB,KAAnB;AACA,EAAAA,8BAAA,oBAAiB,KAAjB;AACA,EAAAA,8BAAA,sBAAmB,KAAnB;AACA,EAAAA,8BAAA,uBAAoB,KAApB;AACA,EAAAA,8BAAA,uBAAoB,KAApB;AACA,EAAAA,8BAAA,yBAAsB,KAAtB;AACA,EAAAA,8BAAA,gBAAa,KAAb;AACA,EAAAA,8BAAA,oBAAiB,KAAjB;AACA,EAAAA,8BAAA,yBAAsB,KAAtB;AACA,EAAAA,8BAAA,yBAAsB,MAAtB;AACA,EAAAA,8BAAA,mBAAgB,MAAhB;AACA,EAAAA,8BAAA,uBAAoB,MAApB;AACA,EAAAA,8BAAA,sBAAmB,MAAnB;AACA,EAAAA,8BAAA,yBAAsB,MAAtB;AACA,EAAAA,8BAAA,wBAAqB,MAArB;AACA,EAAAA,8BAAA,yBAAsB,MAAtB;AACA,EAAAA,8BAAA,mBAAgB,MAAhB;AACA,EAAAA,8BAAA,mBAAgB,MAAhB;AACA,EAAAA,8BAAA,8BAA2B,MAA3B;AACA,EAAAA,8BAAA,2BAAwB,MAAxB;AACA,EAAAA,8BAAA,iBAAc,MAAd;AACA,EAAAA,8BAAA,iBAAc,MAAd;AACA,EAAAA,8BAAA,qBAAkB,MAAlB;AACA,EAAAA,8BAAA,8BAA2B,MAA3B;AAEA,EAAAA,8BAAA,2BAAwB,MAAxB;AACA,EAAAA,8BAAA,0BAAuB,MAAvB;AACA,EAAAA,8BAAA,wBAAqB,MAArB;AACA,EAAAA,8BAAA,qBAAkB,MAAlB;AACA,EAAAA,8BAAA,2BAAwB,MAAxB;AACA,EAAAA,8BAAA,sBAAmB,MAAnB;AACA,EAAAA,8BAAA,6BAA0B,MAA1B;AACA,EAAAA,8BAAA,qBAAkB,MAAlB;AACA,EAAAA,8BAAA,4BAAyB,MAAzB;AACA,EAAAA,8BAAA,4BAAyB,MAAzB;AACA,EAAAA,8BAAA,qBAAkB,MAAlB;AApCU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,wBAAL,kBAAKC,2BAAL;AAEL,EAAAA,8CAAA,yBAAsB,KAAtB;AAEA,EAAAA,8CAAA,eAAY,KAAZ;AAEA,EAAAA,8CAAA,sBAAmB,KAAnB;AAEA,EAAAA,8CAAA,mCAAgC,KAAhC;AACA,EAAAA,8CAAA,sBAAmB,KAAnB;AACA,EAAAA,8CAAA,SAAM,KAAN;AAVU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,sBAAL,kBAAKC,yBAAL;AAEL,EAAAA,0CAAA,qBAAkB,KAAlB;AAEA,EAAAA,0CAAA,sBAAmB,KAAnB;AAEA,EAAAA,0CAAA,uBAAoB,KAApB;AAEA,EAAAA,0CAAA,iCAA8B,KAA9B;AARU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,gBAAL,kBAAKC,mBAAL;AAEL,EAAAA,8BAAA,kBAAe,KAAf;AAEA,EAAAA,8BAAA,iCAA8B,KAA9B;AAEA,EAAAA,8BAAA,iBAAc,KAAd;AAEA,EAAAA,8BAAA,mBAAgB,KAAhB;AAEA,EAAAA,8BAAA,gCAA6B,KAA7B;AAEA,EAAAA,8BAAA,gCAA6B,KAA7B;AAEA,EAAAA,8BAAA,WAAQ,MAAR;AAdU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,oBAAL,kBAAKC,uBAAL;AAEL,EAAAA,sCAAA,YAAS,KAAT;AAEA,EAAAA,sCAAA,eAAY,KAAZ;AAEA,EAAAA,sCAAA,mBAAgB,KAAhB;AAEA,EAAAA,sCAAA,eAAY,KAAZ;AAEA,EAAAA,sCAAA,mBAAgB,KAAhB;AAEA,EAAAA,sCAAA,cAAW,KAAX;AAEA,EAAAA,sCAAA,sBAAmB,KAAnB;AAEA,EAAAA,sCAAA,0BAAuB,KAAvB;AAEA,EAAAA,sCAAA,oBAAiB,KAAjB;AAEA,EAAAA,sCAAA,cAAW,KAAX;AAEA,EAAAA,sCAAA,gBAAa,MAAb;AAEA,EAAAA,sCAAA,4BAAyB,MAAzB;AAEA,EAAAA,sCAAA,8BAA2B,MAA3B;AAEA,EAAAA,sCAAA,yBAAsB,MAAtB;AAEA,EAAAA,sCAAA,mBAAgB,MAAhB;AAEA,EAAAA,sCAAA,qBAAkB,MAAlB;AAEA,EAAAA,sCAAA,yBAAsB,MAAtB;AAEA,EAAAA,sCAAA,sBAAmB,MAAnB;AAEA,EAAAA,sCAAA,wBAAqB,MAArB;AAEA,EAAAA,sCAAA,gBAAa,MAAb;AAEA,EAAAA,sCAAA,oBAAiB,MAAjB;AAEA,EAAAA,sCAAA,sBAAmB,MAAnB;AAEA,EAAAA,sCAAA,0BAAuB,MAAvB;AAEA,EAAAA,sCAAA,gCAA6B,MAA7B;AAEA,EAAAA,sCAAA,2BAAwB,MAAxB;AAEA,EAAAA,sCAAA,gBAAa,MAAb;AAEA,EAAAA,sCAAA,gBAAa,MAAb;AAEA,EAAAA,sCAAA,mBAAgB,MAAhB;AAEA,EAAAA,sCAAA,kBAAe,MAAf;AAEA,EAAAA,sCAAA,uBAAoB,MAApB;AAEA,EAAAA,sCAAA,uBAAoB,MAApB;AAEA,EAAAA,sCAAA,cAAW,MAAX;AAEA,EAAAA,sCAAA,oBAAiB,MAAjB;AAEA,EAAAA,sCAAA,kBAAe,MAAf;AAEA,EAAAA,sCAAA,kBAAe,MAAf;AAEA,EAAAA,sCAAA,uBAAoB,MAApB;AAEA,EAAAA,sCAAA,uBAAoB,MAApB;AAEA,EAAAA,sCAAA,gBAAa,MAAb;AAEA,EAAAA,sCAAA,oBAAiB,MAAjB;AA9EU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,gBAAL,kBAAKC,mBAAL;AACL,EAAAA,8BAAA,iBAAc,KAAd;AAEA,EAAAA,8BAAA,gBAAa,KAAb;AAEA,EAAAA,8BAAA,cAAW,KAAX;AAEA,EAAAA,8BAAA,cAAW,KAAX;AAEA,EAAAA,8BAAA,eAAY,KAAZ;AAEA,EAAAA,8BAAA,gBAAa,KAAb;AAEA,EAAAA,8BAAA,gBAAa,KAAb;AAEA,EAAAA,8BAAA,sBAAmB,KAAnB;AAEA,EAAAA,8BAAA,iBAAc,KAAd;AACA,EAAAA,8BAAA,mBAAgB,KAAhB;AACA,EAAAA,8BAAA,cAAW,MAAX;AAEA,EAAAA,8BAAA,0BAAuB,MAAvB;AACA,EAAAA,8BAAA,mBAAgB,MAAhB;AACA,EAAAA,8BAAA,eAAY,MAAZ;AACA,EAAAA,8BAAA,8BAA2B,MAA3B;AACA,EAAAA,8BAAA,gCAA6B,MAA7B;AACA,EAAAA,8BAAA,+BAA4B,MAA5B;AACA,EAAAA,8BAAA,4CAAyC,MAAzC;AA3BU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,0BAAL,kBAAKC,6BAAL;AAEL,EAAAA,kDAAA,aAAU,KAAV;AAEA,EAAAA,kDAAA,aAAU,KAAV;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,oBAAL,kBAAKC,uBAAL;AAEL,EAAAA,sCAAA,YAAS,KAAT;AAEA,EAAAA,sCAAA,eAAY,KAAZ;AAEA,EAAAA,sCAAA,YAAS,KAAT;AANU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,2BAAL,kBAAKC,8BAAL;AAEL,EAAAA,oDAAA,YAAS,KAAT;AAEA,EAAAA,oDAAA,eAAY,KAAZ;AAEA,EAAAA,oDAAA,uBAAoB,KAApB;AACA,EAAAA,oDAAA,4BAAyB,MAAzB;AAEA,EAAAA,oDAAA,2BAAwB,KAAxB;AAEA,EAAAA,oDAAA,8BAA2B,KAA3B;AACA,EAAAA,oDAAA,0BAAuB,KAAvB;AACA,EAAAA,oDAAA,yBAAsB,KAAtB;AAEA,EAAAA,oDAAA,UAAO,KAAP;AACA,EAAAA,oDAAA,SAAM,KAAN;AACA,EAAAA,oDAAA,0BAAuB,KAAvB;AACA,EAAAA,oDAAA,uBAAoB,MAApB;AACA,EAAAA,oDAAA,6BAA0B,MAA1B;AACA,EAAAA,oDAAA,iCAA8B,MAA9B;AAEA,EAAAA,oDAAA,qBAAkB,MAAlB;AAEA,EAAAA,oDAAA,qBAAkB,MAAlB;AAEA,EAAAA,oDAAA,uBAAoB,MAApB;AACA,EAAAA,oDAAA,yBAAsB,MAAtB;AACA,EAAAA,oDAAA,8BAA2B,MAA3B;AACA,EAAAA,oDAAA,aAAU,MAAV;AACA,EAAAA,oDAAA,SAAM,MAAN;AACA,EAAAA,oDAAA,uBAAoB,MAApB;AACA,EAAAA,oDAAA,gBAAa,MAAb;AAEA,EAAAA,oDAAA,eAAY,MAAZ;AAEA,EAAAA,oDAAA,uBAAoB,MAApB;AAEA,EAAAA,oDAAA,mBAAgB,MAAhB;AACA,EAAAA,oDAAA,mBAAgB,MAAhB;AACA,EAAAA,oDAAA,gBAAa,MAAb;AACA,EAAAA,oDAAA,gBAAa,MAAb;AACA,EAAAA,oDAAA,cAAW,MAAX;AACA,EAAAA,oDAAA,YAAS,MAAT;AA3CU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,eAAL,kBAAKC,kBAAL;AAEL,EAAAA,4BAAA,cAAW,KAAX;AAEA,EAAAA,4BAAA,cAAW,KAAX;AAEA,EAAAA,4BAAA,cAAW,KAAX;AANU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,+BAAL,kBAAKC,kCAAL;AAEL,EAAAA,4DAAA,SAAM,KAAN;AAEA,EAAAA,4DAAA,oBAAiB,KAAjB;AAEA,EAAAA,4DAAA,YAAS,KAAT;AAEA,EAAAA,4DAAA,8BAA2B,KAA3B;AAEA,EAAAA,4DAAA,gBAAa,KAAb;AAEA,EAAAA,4DAAA,sBAAmB,KAAnB;AAEA,EAAAA,4DAAA,qBAAkB,KAAlB;AAEA,EAAAA,4DAAA,YAAS,KAAT;AAhBU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,eAAL,kBAAKC,kBAAL;AAEL,EAAAA,4BAAA,uBAAoB,KAApB;AAEA,EAAAA,4BAAA,8BAA2B,KAA3B;AAEA,EAAAA,4BAAA,4BAAyB,KAAzB;AAEA,EAAAA,4BAAA,wBAAqB,KAArB;AACA,EAAAA,4BAAA,4BAAyB,KAAzB;AAEA,EAAAA,4BAAA,4BAAyB,KAAzB;AAEA,EAAAA,4BAAA,4BAAyB,KAAzB;AAbU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,6BAAL,kBAAKC,gCAAL;AAEL,EAAAA,wDAAA,mCAAgC,KAAhC;AAEA,EAAAA,wDAAA,2CAAwC,KAAxC;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,uBAAL,kBAAKC,0BAAL;AAEL,EAAAA,4CAAA,gCAA6B,KAA7B;AAEA,EAAAA,4CAAA,6BAA0B,KAA1B;AAEA,EAAAA,4CAAA,6BAA0B,KAA1B;AAEA,EAAAA,4CAAA,4CAAyC,KAAzC;AAEA,EAAAA,4CAAA,+BAA4B,KAA5B;AAEA,EAAAA,4CAAA,6BAA0B,KAA1B;AAEA,EAAAA,4CAAA,qCAAkC,KAAlC;AAEA,EAAAA,4CAAA,qCAAkC,KAAlC;AAEA,EAAAA,4CAAA,iCAA8B,MAA9B;AAEA,EAAAA,4CAAA,8BAA2B,MAA3B;AAEA,EAAAA,4CAAA,yCAAsC,MAAtC;AAtBU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,iBAAL,kBAAKC,oBAAL;AAEL,EAAAA,gCAAA,uCAAoC,KAApC;AAEA,EAAAA,gCAAA,sCAAmC,KAAnC;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,iBAAL,kBAAKC,oBAAL;AAEL,EAAAA,gCAAA,kBAAe,KAAf;AAEA,EAAAA,gCAAA,mBAAgB,KAAhB;AAEA,EAAAA,gCAAA,YAAS,KAAT;AAEA,EAAAA,gCAAA,gBAAa,KAAb;AAEA,EAAAA,gCAAA,aAAU,KAAV;AAVU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,eAAL,kBAAKC,kBAAL;AAEL,EAAAA,4BAAA,iBAAc,KAAd;AAEA,EAAAA,4BAAA,yBAAsB,KAAtB;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,eAAL,kBAAKC,kBAAL;AAEL,EAAAA,4BAAA,mCAAgC,KAAhC;AAEA,EAAAA,4BAAA,kCAA+B,KAA/B;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,yBAAL,kBAAKC,4BAAL;AAEL,EAAAA,gDAAA,kCAA+B,KAA/B;AAEA,EAAAA,gDAAA,kCAA+B,KAA/B;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,8BAAL,kBAAKC,iCAAL;AAEL,EAAAA,0DAAA,YAAS,KAAT;AAEA,EAAAA,0DAAA,iBAAc,KAAd;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,sBAAL,kBAAKC,yBAAL;AAEL,EAAAA,0CAAA,eAAY,KAAZ;AAEA,EAAAA,0CAAA,aAAU,KAAV;AAEA,EAAAA,0CAAA,eAAY,KAAZ;AANU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,iBAAL,kBAAKC,oBAAL;AAEL,EAAAA,gBAAA,UAAO;AAEP,EAAAA,gBAAA,iBAAc;AAEd,EAAAA,gBAAA,cAAW;AAEX,EAAAA,gBAAA,UAAO;AARG,SAAAA;AAAA,GAAA;;;ACAL,IAAK,8BAAL,kBAAKC,iCAAL;AAEL,EAAAA,0DAAA,gBAAa,KAAb;AAEA,EAAAA,0DAAA,gBAAa,KAAb;AAEA,EAAAA,0DAAA,iBAAc,KAAd;AAEA,EAAAA,0DAAA,gBAAa,KAAb;AAEA,EAAAA,0DAAA,mBAAgB,KAAhB;AAEA,EAAAA,0DAAA,sBAAmB,KAAnB;AAEA,EAAAA,0DAAA,oBAAiB,KAAjB;AAdU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,mBAAL,kBAAKC,sBAAL;AAEL,EAAAA,oCAAA,gBAAa,KAAb;AAEA,EAAAA,oCAAA,iBAAc,KAAd;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,uBAAL,kBAAKC,0BAAL;AAEL,EAAAA,4CAAA,oBAAiB,KAAjB;AAEA,EAAAA,4CAAA,0BAAuB,KAAvB;AAEA,EAAAA,4CAAA,0CAAuC,KAAvC;AAEA,EAAAA,4CAAA,0CAAuC,KAAvC;AARU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,2BAAL,kBAAKC,8BAAL;AACL,EAAAA,oDAAA,4BAAyB,KAAzB;AACA,EAAAA,oDAAA,iBAAc,KAAd;AACA,EAAAA,oDAAA,0BAAuB,KAAvB;AACA,EAAAA,oDAAA,qBAAkB,KAAlB;AACA,EAAAA,oDAAA,YAAS,KAAT;AACA,EAAAA,oDAAA,uBAAoB,KAApB;AACA,EAAAA,oDAAA,4BAAyB,KAAzB;AACA,EAAAA,oDAAA,wCAAqC,KAArC;AACA,EAAAA,oDAAA,uBAAoB,KAApB;AACA,EAAAA,oDAAA,UAAO,KAAP;AAVU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,6BAAL,kBAAKC,gCAAL;AAEL,EAAAA,wDAAA,0BAAuB,KAAvB;AAEA,EAAAA,wDAAA,wBAAqB,KAArB;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,uBAAL,kBAAKC,0BAAL;AAEL,EAAAA,4CAAA,iBAAc,KAAd;AAEA,EAAAA,4CAAA,iBAAc,KAAd;AAEA,EAAAA,4CAAA,gCAA6B,KAA7B;AANU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,yBAAL,kBAAKC,4BAAL;AAEL,EAAAA,gDAAA,gBAAa,KAAb;AAEA,EAAAA,gDAAA,kBAAe,KAAf;AAEA,EAAAA,gDAAA,yBAAsB,KAAtB;AAEA,EAAAA,gDAAA,0BAAuB,KAAvB;AAEA,EAAAA,gDAAA,wBAAqB,KAArB;AAEA,EAAAA,gDAAA,4BAAyB,KAAzB;AAEA,EAAAA,gDAAA,mCAAgC,KAAhC;AAEA,EAAAA,gDAAA,gCAA6B,KAA7B;AAEA,EAAAA,gDAAA,kCAA+B,KAA/B;AAEA,EAAAA,gDAAA,+BAA4B,KAA5B;AAEA,EAAAA,gDAAA,qCAAkC,MAAlC;AAEA,EAAAA,gDAAA,qCAAkC,MAAlC;AAEA,EAAAA,gDAAA,kCAA+B,MAA/B;AAEA,EAAAA,gDAAA,qCAAkC,MAAlC;AAEA,EAAAA,gDAAA,mCAAgC,MAAhC;AAEA,EAAAA,gDAAA,mBAAgB,MAAhB;AAEA,EAAAA,gDAAA,WAAQ,MAAR;AAlCU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,kBAAL,kBAAKC,qBAAL;AAEL,EAAAA,kCAAA,kBAAe,KAAf;AAEA,EAAAA,kCAAA,mBAAgB,KAAhB;AAEA,EAAAA,kCAAA,YAAS,KAAT;AAEA,EAAAA,kCAAA,gBAAa,KAAb;AAEA,EAAAA,kCAAA,aAAU,KAAV;AACA,EAAAA,kCAAA,qCAAkC,KAAlC;AACA,EAAAA,kCAAA,mCAAgC,KAAhC;AACA,EAAAA,kCAAA,qCAAkC,KAAlC;AACA,EAAAA,kCAAA,mCAAgC,KAAhC;AACA,EAAAA,kCAAA,aAAU,KAAV;AACA,EAAAA,kCAAA,iBAAc,MAAd;AAhBU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,kBAAL,kBAAKC,qBAAL;AAEL,EAAAA,kCAAA,WAAQ,KAAR;AAEA,EAAAA,kCAAA,iBAAc,KAAd;AAEA,EAAAA,kCAAA,mBAAgB,KAAhB;AAEA,EAAAA,kCAAA,oBAAiB,KAAjB;AAEA,EAAAA,kCAAA,gBAAa,KAAb;AAEA,EAAAA,kCAAA,yBAAsB,KAAtB;AACA,EAAAA,kCAAA,wBAAqB,KAArB;AACA,EAAAA,kCAAA,yBAAsB,KAAtB;AACA,EAAAA,kCAAA,4BAAyB,KAAzB;AAfU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,4BAAL,kBAAKC,+BAAL;AAEL,EAAAA,sDAAA,SAAM,KAAN;AAEA,EAAAA,sDAAA,YAAS,KAAT;AAEA,EAAAA,sDAAA,gBAAa,KAAb;AAEA,EAAAA,sDAAA,YAAS,KAAT;AAEA,EAAAA,sDAAA,YAAS,KAAT;AAEA,EAAAA,sDAAA,WAAQ,KAAR;AAEA,EAAAA,sDAAA,SAAM,KAAN;AAEA,EAAAA,sDAAA,WAAQ,KAAR;AAEA,EAAAA,sDAAA,iBAAc,KAAd;AAEA,EAAAA,sDAAA,SAAM,MAAN;AAEA,EAAAA,sDAAA,gBAAa,MAAb;AAEA,EAAAA,sDAAA,UAAO,MAAP;AAEA,EAAAA,sDAAA,aAAU,MAAV;AAEA,EAAAA,sDAAA,YAAS,MAAT;AAEA,EAAAA,sDAAA,uBAAoB,MAApB;AAEA,EAAAA,sDAAA,cAAW,MAAX;AAEA,EAAAA,sDAAA,cAAW,MAAX;AAEA,EAAAA,sDAAA,eAAY,MAAZ;AAEA,EAAAA,sDAAA,kBAAe,MAAf;AAEA,EAAAA,sDAAA,iBAAc,MAAd;AAEA,EAAAA,sDAAA,kBAAe,MAAf;AAEA,EAAAA,sDAAA,iBAAc,MAAd;AAEA,EAAAA,sDAAA,UAAO,MAAP;AAEA,EAAAA,sDAAA,yBAAsB,MAAtB;AAEA,EAAAA,sDAAA,aAAU,MAAV;AAEA,EAAAA,sDAAA,cAAW,MAAX;AAEA,EAAAA,sDAAA,gBAAa,MAAb;AAEA,EAAAA,sDAAA,iBAAc,MAAd;AAEA,EAAAA,sDAAA,WAAQ,MAAR;AAEA,EAAAA,sDAAA,gBAAa,MAAb;AAEA,EAAAA,sDAAA,aAAU,MAAV;AAEA,EAAAA,sDAAA,aAAU,MAAV;AAEA,EAAAA,sDAAA,qBAAkB,MAAlB;AAEA,EAAAA,sDAAA,sBAAmB,MAAnB;AAEA,EAAAA,sDAAA,sBAAmB,MAAnB;AAtEU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,iBAAL,kBAAKC,oBAAL;AAEL,EAAAA,gCAAA,eAAY,KAAZ;AAEA,EAAAA,gCAAA,YAAS,KAAT;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,eAAL,kBAAKC,kBAAL;AAEL,EAAAA,4BAAA,mBAAgB,KAAhB;AAEA,EAAAA,4BAAA,uBAAoB,KAApB;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,iBAAL,kBAAKC,oBAAL;AAEL,EAAAA,gCAAA,WAAQ,KAAR;AAEA,EAAAA,gCAAA,cAAW,KAAX;AAEA,EAAAA,gCAAA,aAAU,KAAV;AAEA,EAAAA,gCAAA,qBAAkB,KAAlB;AAEA,EAAAA,gCAAA,YAAS,KAAT;AAEA,EAAAA,gCAAA,eAAY,KAAZ;AAEA,EAAAA,gCAAA,cAAW,KAAX;AAEA,EAAAA,gCAAA,cAAW,KAAX;AAEA,EAAAA,gCAAA,YAAS,KAAT;AAEA,EAAAA,gCAAA,eAAY,MAAZ;AAEA,EAAAA,gCAAA,eAAY,MAAZ;AAtBU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,mBAAL,kBAAKC,sBAAL;AAEL,EAAAA,oCAAA,qBAAkB,KAAlB;AAEA,EAAAA,oCAAA,wBAAqB,KAArB;AAEA,EAAAA,oCAAA,wBAAqB,KAArB;AAEA,EAAAA,oCAAA,qBAAkB,KAAlB;AAEA,EAAAA,oCAAA,sBAAmB,KAAnB;AAEA,EAAAA,oCAAA,qBAAkB,KAAlB;AAEA,EAAAA,oCAAA,+BAA4B,KAA5B;AAEA,EAAAA,oCAAA,kBAAe,KAAf;AAEA,EAAAA,oCAAA,2BAAwB,KAAxB;AAEA,EAAAA,oCAAA,sBAAmB,MAAnB;AAEA,EAAAA,oCAAA,qBAAkB,MAAlB;AAEA,EAAAA,oCAAA,gBAAa,MAAb;AAEA,EAAAA,oCAAA,cAAW,MAAX;AA1BU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,cAAL,kBAAKC,iBAAL;AAEL,EAAAA,0BAAA,UAAO,KAAP;AAEA,EAAAA,0BAAA,uBAAoB,KAApB;AAEA,EAAAA,0BAAA,0BAAuB,KAAvB;AAEA,EAAAA,0BAAA,0BAAuB,KAAvB;AAEA,EAAAA,0BAAA,uBAAoB,KAApB;AAEA,EAAAA,0BAAA,8BAA2B,KAA3B;AAEA,EAAAA,0BAAA,8BAA2B,KAA3B;AAEA,EAAAA,0BAAA,+BAA4B,KAA5B;AAEA,EAAAA,0BAAA,4CAAyC,KAAzC;AAlBU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,qBAAL,kBAAKC,wBAAL;AAEL,EAAAA,wCAAA,+BAA4B,KAA5B;AAEA,EAAAA,wCAAA,kCAA+B,KAA/B;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,WAAL,kBAAKC,cAAL;AAEL,EAAAA,oBAAA,eAAY,KAAZ;AAEA,EAAAA,oBAAA,sBAAmB,KAAnB;AAEA,EAAAA,oBAAA,qBAAkB,KAAlB;AAEA,EAAAA,oBAAA,yBAAsB,KAAtB;AAEA,EAAAA,oBAAA,uBAAoB,KAApB;AACA,EAAAA,oBAAA,kBAAe,KAAf;AAEA,EAAAA,oBAAA,qBAAkB,KAAlB;AAEA,EAAAA,oBAAA,uBAAoB,KAApB;AAfU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,qBAAL,kBAAKC,wBAAL;AAEL,EAAAA,wCAAA,SAAM,KAAN;AAEA,EAAAA,wCAAA,6BAA0B,KAA1B;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,iBAAL,kBAAKC,oBAAL;AAEL,EAAAA,gCAAA,YAAS,KAAT;AAEA,EAAAA,gCAAA,WAAQ,KAAR;AAEA,EAAAA,gCAAA,UAAO,KAAP;AAEA,EAAAA,gCAAA,SAAM,KAAN;AACA,EAAAA,gCAAA,aAAU,KAAV;AAEA,EAAAA,gCAAA,qBAAkB,KAAlB;AAEA,EAAAA,gCAAA,iBAAc,KAAd;AAbU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,wBAAL,kBAAKC,2BAAL;AAEL,EAAAA,8CAAA,QAAK,KAAL;AAEA,EAAAA,8CAAA,SAAM,KAAN;AAEA,EAAAA,8CAAA,uBAAoB,KAApB;AANU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,kBAAL,kBAAKC,qBAAL;AAEL,EAAAA,kCAAA,cAAW,KAAX;AAEA,EAAAA,kCAAA,0BAAuB,KAAvB;AAEA,EAAAA,kCAAA,kBAAe,KAAf;AAEA,EAAAA,kCAAA,0BAAuB,KAAvB;AAEA,EAAAA,kCAAA,eAAY,KAAZ;AAEA,EAAAA,kCAAA,iBAAc,KAAd;AAEA,EAAAA,kCAAA,qBAAkB,KAAlB;AAEA,EAAAA,kCAAA,4BAAyB,KAAzB;AAhBU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,sBAAL,kBAAKC,yBAAL;AAEL,EAAAA,0CAAA,cAAW,KAAX;AAEA,EAAAA,0CAAA,UAAO,KAAP;AAEA,EAAAA,0CAAA,iBAAc,KAAd;AANU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,qBAAL,kBAAKC,wBAAL;AAEL,EAAAA,wCAAA,WAAQ,KAAR;AAEA,EAAAA,wCAAA,aAAU,KAAV;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,eAAL,kBAAKC,kBAAL;AAEL,EAAAA,4BAAA,UAAO,KAAP;AAEA,EAAAA,4BAAA,cAAW,KAAX;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,YAAL,kBAAK,eAAL;AAEL,0CAAe,KAAf;AAEA,uCAAY,KAAZ;AAEA,gDAAqB,KAArB;AAEA,+CAAoB,KAApB;AAEA,+CAAoB,KAApB;AAEA,+CAAoB,KAApB;AAZU;AAAA;;;ACAL,IAAK,gBAAL,kBAAKC,mBAAL;AAEL,EAAAA,eAAA,UAAO;AAEP,EAAAA,eAAA,YAAS;AAET,EAAAA,eAAA,YAAS;AAET,EAAAA,eAAA,SAAM;AAEN,EAAAA,eAAA,UAAO;AAEP,EAAAA,eAAA,WAAQ;AAER,EAAAA,eAAA,UAAO;AAdG,SAAAA;AAAA,GAAA;;;ACAL,IAAK,mBAAL,kBAAKC,sBAAL;AAEL,EAAAA,oCAAA,+BAA4B,KAA5B;AAEA,EAAAA,oCAAA,iCAA8B,KAA9B;AAEA,EAAAA,oCAAA,0CAAuC,KAAvC;AAEA,EAAAA,oCAAA,yCAAsC,KAAtC;AAEA,EAAAA,oCAAA,2CAAwC,KAAxC;AACA,EAAAA,oCAAA,8CAA2C,KAA3C;AACA,EAAAA,oCAAA,2CAAwC,KAAxC;AAZU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,mBAAL,kBAAKC,sBAAL;AACL,EAAAA,oCAAA,gBAAa,KAAb;AACA,EAAAA,oCAAA,aAAU,KAAV;AACA,EAAAA,oCAAA,eAAY,KAAZ;AACA,EAAAA,oCAAA,cAAW,KAAX;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,qBAAL,kBAAKC,wBAAL;AAEL,EAAAA,wCAAA,sCAAmC,KAAnC;AAEA,EAAAA,wCAAA,mBAAgB,KAAhB;AAEA,EAAAA,wCAAA,+BAA4B,KAA5B;AAEA,EAAAA,wCAAA,WAAQ,MAAR;AARU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,mBAAL,kBAAKC,sBAAL;AAEL,EAAAA,oCAAA,eAAY,KAAZ;AAEA,EAAAA,oCAAA,WAAQ,KAAR;AAEA,EAAAA,oCAAA,cAAW,KAAX;AAEA,EAAAA,oCAAA,kBAAe,KAAf;AARU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,sBAAL,kBAAKC,yBAAL;AAEL,EAAAA,0CAAA,wBAAqB,KAArB;AAEA,EAAAA,0CAAA,sBAAmB,KAAnB;AAEA,EAAAA,0CAAA,uBAAoB,KAApB;AAEA,EAAAA,0CAAA,qBAAkB,KAAlB;AAEA,EAAAA,0CAAA,sBAAmB,KAAnB;AAEA,EAAAA,0CAAA,iCAA8B,KAA9B;AAEA,EAAAA,0CAAA,qBAAkB,KAAlB;AAEA,EAAAA,0CAAA,gCAA6B,KAA7B;AAEA,EAAAA,0CAAA,oBAAiB,KAAjB;AAEA,EAAAA,0CAAA,qBAAkB,KAAlB;AACA,EAAAA,0CAAA,kBAAe,MAAf;AAEA,EAAAA,0CAAA,oBAAiB,MAAjB;AAEA,EAAAA,0CAAA,wBAAqB,MAArB;AACA,EAAAA,0CAAA,qBAAkB,MAAlB;AACA,EAAAA,0CAAA,sBAAmB,MAAnB;AACA,EAAAA,0CAAA,0BAAuB,MAAvB;AACA,EAAAA,0CAAA,wCAAqC,MAArC;AACA,EAAAA,0CAAA,kBAAe,MAAf;AACA,EAAAA,0CAAA,wBAAqB,MAArB;AA/BU,SAAAA;AAAA,GAAA;;;ACNL,IAAK,mBAAL,kBAAKC,sBAAL;AAEL,EAAAA,oCAAA,kBAAe,KAAf;AAEA,EAAAA,oCAAA,aAAU,KAAV;AAEA,EAAAA,oCAAA,aAAU,KAAV;AAEA,EAAAA,oCAAA,cAAW,KAAX;AARU,SAAAA;AAAA,GAAA;;;ACML,IAAK,eAAL,kBAAKC,kBAAL;AAEL,EAAAA,4BAAA,qBAAkB,KAAlB;AAEA,EAAAA,4BAAA,6BAA0B,KAA1B;AAEA,EAAAA,4BAAA,8BAA2B,KAA3B;AAEA,EAAAA,4BAAA,8BAA2B,KAA3B;AAEA,EAAAA,4BAAA,+BAA4B,KAA5B;AAEA,EAAAA,4BAAA,qBAAkB,KAAlB;AAEA,EAAAA,4BAAA,yBAAsB,KAAtB;AACA,EAAAA,4BAAA,uBAAoB,KAApB;AACA,EAAAA,4BAAA,+BAA4B,KAA5B;AAhBU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,6BAAL,kBAAKC,gCAAL;AAEL,EAAAA,wDAAA,SAAM,KAAN;AAEA,EAAAA,wDAAA,cAAW,KAAX;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,oBAAL,kBAAKC,uBAAL;AACL,EAAAA,sCAAA,YAAS,KAAT;AACA,EAAAA,sCAAA,WAAQ,KAAR;AAFU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,uBAAL,kBAAKC,0BAAL;AAEL,EAAAA,4CAAA,kBAAe,KAAf;AAEA,EAAAA,4CAAA,aAAU,KAAV;AAEA,EAAAA,4CAAA,sBAAmB,KAAnB;AAEA,EAAAA,4CAAA,mBAAgB,KAAhB;AAEA,EAAAA,4CAAA,iBAAc,KAAd;AAEA,EAAAA,4CAAA,0BAAuB,KAAvB;AAEA,EAAAA,4CAAA,uBAAoB,KAApB;AAdU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,0BAAL,kBAAKC,6BAAL;AAEL,EAAAA,kDAAA,mBAAgB,KAAhB;AAEA,EAAAA,kDAAA,gBAAa,KAAb;AAEA,EAAAA,kDAAA,sBAAmB,KAAnB;AANU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,iBAAL,kBAAKC,oBAAL;AAEL,EAAAA,gCAAA,6BAA0B,KAA1B;AAEA,EAAAA,gCAAA,cAAW,KAAX;AAEA,EAAAA,gCAAA,cAAW,KAAX;AANU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,iBAAL,kBAAKC,oBAAL;AACL,EAAAA,gCAAA,gBAAa,KAAb;AACA,EAAAA,gCAAA,wBAAqB,KAArB;AACA,EAAAA,gCAAA,mBAAgB,KAAhB;AAHU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,mBAAL,kBAAKC,sBAAL;AACL,EAAAA,oCAAA,gBAAa,KAAb;AACA,EAAAA,oCAAA,WAAQ,KAAR;AACA,EAAAA,oCAAA,gBAAa,KAAb;AAHU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,2BAAL,kBAAKC,8BAAL;AAEL,EAAAA,oDAAA,gBAAa,KAAb;AAEA,EAAAA,oDAAA,kBAAe,KAAf;AAEA,EAAAA,oDAAA,yBAAsB,KAAtB;AAEA,EAAAA,oDAAA,wBAAqB,KAArB;AAEA,EAAAA,oDAAA,mBAAgB,MAAhB;AAEA,EAAAA,oDAAA,WAAQ,MAAR;AAZU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,2BAAL,kBAAKC,8BAAL;AAEL,EAAAA,oDAAA,cAAW,KAAX;AAEA,EAAAA,oDAAA,yBAAsB,KAAtB;AAEA,EAAAA,oDAAA,cAAW,KAAX;AAEA,EAAAA,oDAAA,uBAAoB,KAApB;AARU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,8BAAL,kBAAKC,iCAAL;AAEL,EAAAA,0DAAA,cAAW,KAAX;AAEA,EAAAA,0DAAA,yBAAsB,KAAtB;AAEA,EAAAA,0DAAA,cAAW,KAAX;AANU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,2BAAL,kBAAKC,8BAAL;AAEL,EAAAA,oDAAA,gBAAa,KAAb;AAEA,EAAAA,oDAAA,kBAAe,KAAf;AAEA,EAAAA,oDAAA,yBAAsB,KAAtB;AAEA,EAAAA,oDAAA,4BAAyB,KAAzB;AAEA,EAAAA,oDAAA,0BAAuB,KAAvB;AAEA,EAAAA,oDAAA,iCAA8B,KAA9B;AAEA,EAAAA,oDAAA,4BAAyB,KAAzB;AAEA,EAAAA,oDAAA,+BAA4B,KAA5B;AAEA,EAAAA,oDAAA,sBAAmB,KAAnB;AAEA,EAAAA,oDAAA,oBAAiB,KAAjB;AAEA,EAAAA,oDAAA,iCAA8B,MAA9B;AAEA,EAAAA,oDAAA,oCAAiC,MAAjC;AAEA,EAAAA,oDAAA,oCAAiC,MAAjC;AAEA,EAAAA,oDAAA,uCAAoC,MAApC;AAEA,EAAAA,oDAAA,mCAAgC,MAAhC;AAEA,EAAAA,oDAAA,mBAAgB,MAAhB;AAEA,EAAAA,oDAAA,WAAQ,MAAR;AAlCU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,oBAAL,kBAAKC,uBAAL;AAEL,EAAAA,sCAAA,cAAW,KAAX;AAEA,EAAAA,sCAAA,yBAAsB,KAAtB;AAEA,EAAAA,sCAAA,cAAW,KAAX;AACA,EAAAA,sCAAA,aAAU,KAAV;AACA,EAAAA,sCAAA,eAAY,KAAZ;AACA,EAAAA,sCAAA,cAAW,KAAX;AATU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,sBAAL,kBAAKC,yBAAL;AAEL,EAAAA,0CAAA,0BAAuB,KAAvB;AAEA,EAAAA,0CAAA,cAAW,KAAX;AAEA,EAAAA,0CAAA,cAAW,KAAX;AANU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,yBAAL,kBAAKC,4BAAL;AAEL,EAAAA,gDAAA,gBAAa,KAAb;AAEA,EAAAA,gDAAA,6BAA0B,KAA1B;AAEA,EAAAA,gDAAA,uBAAoB,KAApB;AAEA,EAAAA,gDAAA,kBAAe,KAAf;AAEA,EAAAA,gDAAA,sBAAmB,KAAnB;AAEA,EAAAA,gDAAA,WAAQ,MAAR;AAZU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,oBAAL,kBAAKC,uBAAL;AAEL,EAAAA,sCAAA,YAAS,KAAT;AAEA,EAAAA,sCAAA,gBAAa,KAAb;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,yBAAL,kBAAKC,4BAAL;AACL,EAAAA,gDAAA,uBAAoB,KAApB;AACA,EAAAA,gDAAA,gBAAa,KAAb;AAEA,EAAAA,gDAAA,cAAW,KAAX;AAEA,EAAAA,gDAAA,iBAAc,KAAd;AAEA,EAAAA,gDAAA,cAAW,KAAX;AAEA,EAAAA,gDAAA,iBAAc,KAAd;AAEA,EAAAA,gDAAA,gBAAa,KAAb;AAZU,SAAAA;AAAA,GAAA;;;ACNL,IAAK,wBAAL,kBAAKC,2BAAL;AACL,EAAAA,8CAAA,aAAU,KAAV;AACA,EAAAA,8CAAA,cAAW,KAAX;AACA,EAAAA,8CAAA,WAAQ,KAAR;AACA,EAAAA,8CAAA,aAAU,KAAV;AACA,EAAAA,8CAAA,uBAAoB,KAApB;AACA,EAAAA,8CAAA,uCAAoC,KAApC;AACA,EAAAA,8CAAA,0BAAuB,KAAvB;AAPU,SAAAA;AAAA,GAAA;;;ACML,IAAK,oBAAL,kBAAKC,uBAAL;AAEL,EAAAA,sCAAA,wBAAqB,KAArB;AAEA,EAAAA,sCAAA,mBAAgB,KAAhB;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,qBAAL,kBAAKC,wBAAL;AAEL,EAAAA,wCAAA,mBAAgB,KAAhB;AAEA,EAAAA,wCAAA,gBAAa,KAAb;AAEA,EAAAA,wCAAA,iBAAc,KAAd;AANU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,qBAAL,kBAAKC,wBAAL;AAEL,EAAAA,wCAAA,mBAAgB,KAAhB;AAEA,EAAAA,wCAAA,gBAAa,KAAb;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,+BAAL,kBAAKC,kCAAL;AAEL,EAAAA,4DAAA,iBAAc,KAAd;AACA,EAAAA,4DAAA,eAAY,KAAZ;AACA,EAAAA,4DAAA,sBAAmB,KAAnB;AACA,EAAAA,4DAAA,6BAA0B,KAA1B;AACA,EAAAA,4DAAA,gCAA6B,KAA7B;AACA,EAAAA,4DAAA,0BAAuB,KAAvB;AAPU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,eAAL,kBAAKC,kBAAL;AACL,EAAAA,cAAA,SAAM;AAEN,EAAAA,cAAA,SAAM;AAEN,EAAAA,cAAA,QAAK;AALK,SAAAA;AAAA,GAAA;;;ACAL,IAAK,uBAAL,kBAAKC,0BAAL;AACL,EAAAA,4CAAA,QAAK,KAAL;AACA,EAAAA,4CAAA,SAAM,KAAN;AACA,EAAAA,4CAAA,cAAW,KAAX;AACA,EAAAA,4CAAA,kBAAe,KAAf;AACA,EAAAA,4CAAA,WAAQ,KAAR;AACA,EAAAA,4CAAA,qBAAkB,KAAlB;AACA,EAAAA,4CAAA,uBAAoB,KAApB;AACA,EAAAA,4CAAA,eAAY,KAAZ;AACA,EAAAA,4CAAA,kBAAe,KAAf;AACA,EAAAA,4CAAA,gBAAa,KAAb;AACA,EAAAA,4CAAA,4BAAyB,MAAzB;AACA,EAAAA,4CAAA,UAAO,MAAP;AACA,EAAAA,4CAAA,UAAO,MAAP;AACA,EAAAA,4CAAA,UAAO,MAAP;AACA,EAAAA,4CAAA,UAAO,MAAP;AACA,EAAAA,4CAAA,UAAO,MAAP;AACA,EAAAA,4CAAA,UAAO,MAAP;AACA,EAAAA,4CAAA,UAAO,MAAP;AACA,EAAAA,4CAAA,UAAO,MAAP;AACA,EAAAA,4CAAA,UAAO,MAAP;AACA,EAAAA,4CAAA,UAAO,MAAP;AACA,EAAAA,4CAAA,UAAO,MAAP;AACA,EAAAA,4CAAA,WAAQ,MAAR;AACA,EAAAA,4CAAA,gBAAa,MAAb;AACA,EAAAA,4CAAA,gBAAa,MAAb;AACA,EAAAA,4CAAA,WAAQ,MAAR;AACA,EAAAA,4CAAA,WAAQ,MAAR;AACA,EAAAA,4CAAA,gBAAa,MAAb;AACA,EAAAA,4CAAA,oBAAiB,MAAjB;AACA,EAAAA,4CAAA,2BAAwB,MAAxB;AACA,EAAAA,4CAAA,6BAA0B,MAA1B;AACA,EAAAA,4CAAA,sBAAmB,MAAnB;AACA,EAAAA,4CAAA,kBAAe,MAAf;AACA,EAAAA,4CAAA,gCAA6B,MAA7B;AACA,EAAAA,4CAAA,iCAA8B,MAA9B;AAnCU,SAAAA;AAAA,GAAA;;;ACNL,IAAK,yBAAL,kBAAKC,4BAAL;AAEL,EAAAA,gDAAA,sBAAmB,KAAnB;AAEA,EAAAA,gDAAA,6BAA0B,KAA1B;AAEA,EAAAA,gDAAA,8BAA2B,KAA3B;AAEA,EAAAA,gDAAA,yBAAsB,KAAtB;AACA,EAAAA,gDAAA,iBAAc,KAAd;AATU,SAAAA;AAAA,GAAA;;;ACML,IAAK,oBAAL,kBAAKC,uBAAL;AAEL,EAAAA,sCAAA,cAAW,KAAX;AAEA,EAAAA,sCAAA,qBAAkB,KAAlB;AACA,EAAAA,sCAAA,iBAAc,KAAd;AACA,EAAAA,sCAAA,wBAAqB,KAArB;AAEA,EAAAA,sCAAA,cAAW,KAAX;AACA,EAAAA,sCAAA,aAAU,KAAV;AAEA,EAAAA,sCAAA,iBAAc,KAAd;AAEA,EAAAA,sCAAA,oBAAiB,KAAjB;AACA,EAAAA,sCAAA,eAAY,KAAZ;AAEA,EAAAA,sCAAA,cAAW,KAAX;AAEA,EAAAA,sCAAA,iBAAc,MAAd;AAEA,EAAAA,sCAAA,4BAAyB,MAAzB;AAEA,EAAAA,sCAAA,mCAAgC,MAAhC;AAEA,EAAAA,sCAAA,6BAA0B,MAA1B;AAEA,EAAAA,sCAAA,aAAU,MAAV;AACA,EAAAA,sCAAA,eAAY,MAAZ;AACA,EAAAA,sCAAA,UAAO,MAAP;AAEA,EAAAA,sCAAA,qBAAkB,MAAlB;AAEA,EAAAA,sCAAA,YAAS,MAAT;AAEA,EAAAA,sCAAA,YAAS,MAAT;AAEA,EAAAA,sCAAA,oBAAiB,MAAjB;AAEA,EAAAA,sCAAA,cAAW,MAAX;AAEA,EAAAA,sCAAA,qBAAkB,MAAlB;AACA,EAAAA,sCAAA,aAAU,MAAV;AAEA,EAAAA,sCAAA,cAAW,MAAX;AAEA,EAAAA,sCAAA,gBAAa,MAAb;AAEA,EAAAA,sCAAA,gBAAa,MAAb;AAEA,EAAAA,sCAAA,cAAW,MAAX;AAEA,EAAAA,sCAAA,iBAAc,MAAd;AACA,EAAAA,sCAAA,mBAAgB,MAAhB;AACA,EAAAA,sCAAA,gBAAa,MAAb;AACA,EAAAA,sCAAA,sBAAmB,MAAnB;AACA,EAAAA,sCAAA,YAAS,MAAT;AACA,EAAAA,sCAAA,WAAQ,MAAR;AAxDU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,aAAL,kBAAKC,gBAAL;AAEL,EAAAA,wBAAA,kBAAe,KAAf;AAEA,EAAAA,wBAAA,cAAW,KAAX;AAEA,EAAAA,wBAAA,YAAS,KAAT;AAEA,EAAAA,wBAAA,YAAS,KAAT;AAEA,EAAAA,wBAAA,eAAY,KAAZ;AAEA,EAAAA,wBAAA,WAAQ,KAAR;AAEA,EAAAA,wBAAA,UAAO,KAAP;AAEA,EAAAA,wBAAA,UAAO,KAAP;AACA,EAAAA,wBAAA,UAAO,KAAP;AAEA,EAAAA,wBAAA,kBAAe,MAAf;AACA,EAAAA,wBAAA,WAAQ,MAAR;AApBU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,gBAAL,kBAAKC,mBAAL;AAEL,EAAAA,8BAAA,oBAAiB,KAAjB;AAEA,EAAAA,8BAAA,mBAAgB,KAAhB;AAEA,EAAAA,8BAAA,YAAS,KAAT;AAEA,EAAAA,8BAAA,gBAAa,KAAb;AAEA,EAAAA,8BAAA,iBAAc,KAAd;AAEA,EAAAA,8BAAA,kBAAe,KAAf;AAEA,EAAAA,8BAAA,kBAAe,KAAf;AAEA,EAAAA,8BAAA,YAAS,KAAT;AAEA,EAAAA,8BAAA,YAAS,KAAT;AAEA,EAAAA,8BAAA,eAAY,MAAZ;AAEA,EAAAA,8BAAA,iBAAc,MAAd;AAEA,EAAAA,8BAAA,kBAAe,MAAf;AAEA,EAAAA,8BAAA,YAAS,MAAT;AAEA,EAAAA,8BAAA,aAAU,MAAV;AAEA,EAAAA,8BAAA,YAAS,MAAT;AAEA,EAAAA,8BAAA,oBAAiB,MAAjB;AAEA,EAAAA,8BAAA,kBAAe,MAAf;AAEA,EAAAA,8BAAA,mBAAgB,MAAhB;AAEA,EAAAA,8BAAA,aAAU,MAAV;AAEA,EAAAA,8BAAA,gBAAa,MAAb;AAEA,EAAAA,8BAAA,YAAS,MAAT;AAEA,EAAAA,8BAAA,eAAY,MAAZ;AAEA,EAAAA,8BAAA,eAAY,MAAZ;AAEA,EAAAA,8BAAA,iBAAc,MAAd;AAEA,EAAAA,8BAAA,cAAW,MAAX;AAEA,EAAAA,8BAAA,eAAY,MAAZ;AAEA,EAAAA,8BAAA,gBAAa,MAAb;AAEA,EAAAA,8BAAA,iCAA8B,MAA9B;AACA,EAAAA,8BAAA,uBAAoB,MAApB;AACA,EAAAA,8BAAA,+BAA4B,MAA5B;AAEA,EAAAA,8BAAA,cAAW,MAAX;AAEA,EAAAA,8BAAA,gBAAa,MAAb;AAEA,EAAAA,8BAAA,oBAAiB,MAAjB;AAEA,EAAAA,8BAAA,mBAAgB,MAAhB;AAEA,EAAAA,8BAAA,mBAAgB,MAAhB;AAEA,EAAAA,8BAAA,wBAAqB,MAArB;AAEA,EAAAA,8BAAA,qBAAkB,MAAlB;AAEA,EAAAA,8BAAA,kBAAe,MAAf;AAEA,EAAAA,8BAAA,uBAAoB,MAApB;AAEA,EAAAA,8BAAA,cAAW,MAAX;AAEA,EAAAA,8BAAA,gBAAa,MAAb;AAEA,EAAAA,8BAAA,uBAAoB,MAApB;AAEA,EAAAA,8BAAA,eAAY,MAAZ;AAEA,EAAAA,8BAAA,WAAQ,MAAR;AAEA,EAAAA,8BAAA,mBAAgB,MAAhB;AAEA,EAAAA,8BAAA,gCAA6B,MAA7B;AACA,EAAAA,8BAAA,cAAW,MAAX;AACA,EAAAA,8BAAA,WAAQ,MAAR;AA5FU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,YAAL,kBAAKC,eAAL;AAEL,EAAAA,WAAA,eAAY;AAEZ,EAAAA,WAAA,eAAY;AAEZ,EAAAA,WAAA,4BAAyB;AAEzB,EAAAA,WAAA,gBAAa;AARH,SAAAA;AAAA,GAAA;;;ACAL,IAAK,aAAL,kBAAKC,gBAAL;AAEL,EAAAA,wBAAA,UAAO,KAAP;AAEA,EAAAA,wBAAA,eAAY,KAAZ;AAEA,EAAAA,wBAAA,kBAAe,KAAf;AAEA,EAAAA,wBAAA,gBAAa,KAAb;AARU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,sBAAL,kBAAKC,yBAAL;AAEL,EAAAA,qBAAA,SAAM;AAEN,EAAAA,qBAAA,UAAO;AAEP,EAAAA,qBAAA,WAAQ;AAER,EAAAA,qBAAA,UAAO;AAEP,EAAAA,qBAAA,UAAO;AAEP,EAAAA,qBAAA,YAAS;AAET,EAAAA,qBAAA,YAAS;AAET,EAAAA,qBAAA,UAAO;AAhBG,SAAAA;AAAA,GAAA;;;ACAL,IAAK,iBAAL,kBAAKC,oBAAL;AACL,EAAAA,gCAAA,YAAS,KAAT;AACA,EAAAA,gCAAA,wBAAqB,KAArB;AACA,EAAAA,gCAAA,yBAAsB,KAAtB;AACA,EAAAA,gCAAA,uBAAoB,KAApB;AACA,EAAAA,gCAAA,uBAAoB,KAApB;AACA,EAAAA,gCAAA,2BAAwB,KAAxB;AACA,EAAAA,gCAAA,mBAAgB,KAAhB;AACA,EAAAA,gCAAA,4BAAyB,KAAzB;AACA,EAAAA,gCAAA,eAAY,KAAZ;AACA,EAAAA,gCAAA,gBAAa,KAAb;AACA,EAAAA,gCAAA,sBAAmB,MAAnB;AACA,EAAAA,gCAAA,gBAAa,MAAb;AACA,EAAAA,gCAAA,oBAAiB,MAAjB;AACA,EAAAA,gCAAA,2BAAwB,MAAxB;AACA,EAAAA,gCAAA,wBAAqB,MAArB;AACA,EAAAA,gCAAA,sBAAmB,MAAnB;AACA,EAAAA,gCAAA,kBAAe,MAAf;AACA,EAAAA,gCAAA,YAAS,MAAT;AACA,EAAAA,gCAAA,0BAAuB,MAAvB;AACA,EAAAA,gCAAA,kBAAe,MAAf;AACA,EAAAA,gCAAA,0BAAuB,MAAvB;AACA,EAAAA,gCAAA,0BAAuB,MAAvB;AACA,EAAAA,gCAAA,4BAAyB,MAAzB;AACA,EAAAA,gCAAA,WAAQ,MAAR;AAxBU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,gBAAL,kBAAKC,mBAAL;AAEL,EAAAA,8BAAA,aAAU,KAAV;AAEA,EAAAA,8BAAA,eAAY,KAAZ;AAEA,EAAAA,8BAAA,gBAAa,KAAb;AAEA,EAAAA,8BAAA,eAAY,KAAZ;AARU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,eAAL,kBAAKC,kBAAL;AAEL,EAAAA,4BAAA,gBAAa,KAAb;AAEA,EAAAA,4BAAA,oBAAiB,KAAjB;AAEA,EAAAA,4BAAA,mBAAgB,KAAhB;AAEA,EAAAA,4BAAA,sBAAmB,KAAnB;AAEA,EAAAA,4BAAA,cAAW,KAAX;AAEA,EAAAA,4BAAA,gBAAa,KAAb;AAZU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,sBAAL,kBAAKC,yBAAL;AAEL,EAAAA,0CAAA,WAAQ,KAAR;AAEA,EAAAA,0CAAA,0BAAuB,KAAvB;AAEA,EAAAA,0CAAA,6BAA0B,KAA1B;AAEA,EAAAA,0CAAA,cAAW,KAAX;AAEA,EAAAA,0CAAA,4BAAyB,KAAzB;AAEA,EAAAA,0CAAA,4BAAyB,KAAzB;AAEA,EAAAA,0CAAA,kCAA+B,KAA/B;AAEA,EAAAA,0CAAA,iBAAc,KAAd;AAEA,EAAAA,0CAAA,qBAAkB,KAAlB;AAEA,EAAAA,0CAAA,8BAA2B,MAA3B;AApBU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,yBAAL,kBAAKC,4BAAL;AAEL,EAAAA,gDAAA,wBAAqB,KAArB;AAEA,EAAAA,gDAAA,2BAAwB,KAAxB;AACA,EAAAA,gDAAA,oBAAiB,KAAjB;AALU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,2BAAL,kBAAKC,8BAAL;AAEL,EAAAA,0BAAA,UAAO;AAEP,EAAAA,0BAAA,qBAAkB;AAElB,EAAAA,0BAAA,cAAW;AAEX,EAAAA,0BAAA,UAAO;AARG,SAAAA;AAAA,GAAA;;;ACAL,IAAK,uBAAL,kBAAKC,0BAAL;AAEL,EAAAA,4CAAA,SAAM,KAAN;AAEA,EAAAA,4CAAA,SAAM,KAAN;AAEA,EAAAA,4CAAA,WAAQ,KAAR;AANU,SAAAA;AAAA,GAAA;;;ACNL,IAAK,2BAAL,kBAAKC,8BAAL;AAEL,EAAAA,oDAAA,YAAS,KAAT;AAEA,EAAAA,oDAAA,aAAU,KAAV;AAEA,EAAAA,oDAAA,mBAAgB,KAAhB;AAEA,EAAAA,oDAAA,oBAAiB,KAAjB;AAEA,EAAAA,oDAAA,mBAAgB,KAAhB;AAEA,EAAAA,oDAAA,oBAAiB,KAAjB;AAEA,EAAAA,oDAAA,0BAAuB,KAAvB;AAEA,EAAAA,oDAAA,2BAAwB,KAAxB;AAhBU,SAAAA;AAAA,GAAA;;;ACML,IAAK,aAAL,kBAAKC,gBAAL;AAEL,EAAAA,wBAAA,2BAAwB,KAAxB;AAEA,EAAAA,wBAAA,sBAAmB,KAAnB;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,gBAAL,kBAAKC,mBAAL;AAEL,EAAAA,8BAAA,+BAA4B,KAA5B;AAEA,EAAAA,8BAAA,8BAA2B,KAA3B;AAEA,EAAAA,8BAAA,gBAAa,KAAb;AACA,EAAAA,8BAAA,gBAAa,KAAb;AAEA,EAAAA,8BAAA,4BAAyB,KAAzB;AACA,EAAAA,8BAAA,eAAY,KAAZ;AACA,EAAAA,8BAAA,cAAW,KAAX;AACA,EAAAA,8BAAA,cAAW,KAAX;AAZU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,yBAAL,kBAAKC,4BAAL;AAEL,EAAAA,wBAAA,SAAM;AAEN,EAAAA,wBAAA,UAAO;AAEP,EAAAA,wBAAA,WAAQ;AAER,EAAAA,wBAAA,UAAO;AARG,SAAAA;AAAA,GAAA;;;ACAL,IAAK,4BAAL,kBAAKC,+BAAL;AAEL,EAAAA,sDAAA,qBAAkB,KAAlB;AAEA,EAAAA,sDAAA,wBAAqB,KAArB;AAEA,EAAAA,sDAAA,oBAAiB,KAAjB;AAEA,EAAAA,sDAAA,gBAAa,KAAb;AARU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,sCAAL,kBAAKC,yCAAL;AAEL,EAAAA,0EAAA,SAAM,KAAN;AAEA,EAAAA,0EAAA,UAAO,KAAP;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,2BAAL,kBAAKC,8BAAL;AAEL,EAAAA,oDAAA,eAAY,KAAZ;AAEA,EAAAA,oDAAA,wBAAqB,KAArB;AAEA,EAAAA,oDAAA,2BAAwB,KAAxB;AAEA,EAAAA,oDAAA,kCAA+B,KAA/B;AAEA,EAAAA,oDAAA,6BAA0B,KAA1B;AAEA,EAAAA,oDAAA,mBAAgB,KAAhB;AAEA,EAAAA,oDAAA,yBAAsB,KAAtB;AAdU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,8BAAL,kBAAKC,iCAAL;AAEL,EAAAA,0DAAA,SAAM,KAAN;AAEA,EAAAA,0DAAA,SAAM,KAAN;AAEA,EAAAA,0DAAA,WAAQ,KAAR;AACA,EAAAA,0DAAA,yBAAsB,KAAtB;AAPU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,gDAAL,kBAAKC,mDAAL;AAEL,EAAAA,+CAAA,SAAM;AAEN,EAAAA,+CAAA,UAAO;AAEP,EAAAA,+CAAA,WAAQ;AAER,EAAAA,+CAAA,UAAO;AARG,SAAAA;AAAA,GAAA;;;ACAL,IAAK,uCAAL,kBAAKC,0CAAL;AAEL,EAAAA,4EAAA,gBAAa,KAAb;AAEA,EAAAA,4EAAA,cAAW,KAAX;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,oCAAL,kBAAKC,uCAAL;AAEL,EAAAA,sEAAA,gBAAa,KAAb;AAEA,EAAAA,sEAAA,cAAW,KAAX;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,0BAAL,kBAAKC,6BAAL;AAEL,EAAAA,yBAAA,SAAM;AAEN,EAAAA,yBAAA,UAAO;AAEP,EAAAA,yBAAA,WAAQ;AAER,EAAAA,yBAAA,UAAO;AARG,SAAAA;AAAA,GAAA;;;ACAL,IAAK,6BAAL,kBAAKC,gCAAL;AAEL,EAAAA,wDAAA,cAAW,KAAX;AAEA,EAAAA,wDAAA,cAAW,KAAX;AAEA,EAAAA,wDAAA,uBAAoB,KAApB;AAEA,EAAAA,wDAAA,sBAAmB,KAAnB;AAEA,EAAAA,wDAAA,sBAAmB,KAAnB;AAEA,EAAAA,wDAAA,yBAAsB,KAAtB;AAZU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,+BAAL,kBAAKC,kCAAL;AACL,EAAAA,8BAAA,6CAA0C;AAC1C,EAAAA,8BAAA,6CAA0C;AAC1C,EAAAA,8BAAA,mCAAgC;AAHtB,SAAAA;AAAA,GAAA;;;ACAL,IAAK,cAAL,kBAAKC,iBAAL;AAEL,EAAAA,0BAAA,eAAY,KAAZ;AAEA,EAAAA,0BAAA,gBAAa,KAAb;AAEA,EAAAA,0BAAA,iCAA8B,KAA9B;AAEA,EAAAA,0BAAA,uBAAoB,KAApB;AAEA,EAAAA,0BAAA,yBAAsB,KAAtB;AAEA,EAAAA,0BAAA,+BAA4B,KAA5B;AAEA,EAAAA,0BAAA,yBAAsB,KAAtB;AAEA,EAAAA,0BAAA,yBAAsB,KAAtB;AAEA,EAAAA,0BAAA,sBAAmB,KAAnB;AAEA,EAAAA,0BAAA,wBAAqB,KAArB;AAEA,EAAAA,0BAAA,mBAAgB,MAAhB;AAEA,EAAAA,0BAAA,uBAAoB,MAApB;AAEA,EAAAA,0BAAA,eAAY,MAAZ;AACA,EAAAA,0BAAA,qBAAkB,MAAlB;AACA,EAAAA,0BAAA,YAAS,MAAT;AAEA,EAAAA,0BAAA,WAAQ,MAAR;AA9BU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,iBAAL,kBAAKC,oBAAL;AAEL,EAAAA,gCAAA,SAAM,KAAN;AAEA,EAAAA,gCAAA,UAAO,KAAP;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,oBAAL,kBAAKC,uBAAL;AAEL,EAAAA,sCAAA,cAAW,KAAX;AAEA,EAAAA,sCAAA,SAAM,KAAN;AAEA,EAAAA,sCAAA,kBAAe,KAAf;AANU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,oBAAL,kBAAKC,uBAAL;AAEL,EAAAA,sCAAA,cAAW,KAAX;AAEA,EAAAA,sCAAA,aAAU,KAAV;AAEA,EAAAA,sCAAA,YAAS,KAAT;AAEA,EAAAA,sCAAA,cAAW,KAAX;AAEA,EAAAA,sCAAA,cAAW,KAAX;AAEA,EAAAA,sCAAA,oBAAiB,KAAjB;AAEA,EAAAA,sCAAA,iBAAc,KAAd;AAEA,EAAAA,sCAAA,iBAAc,KAAd;AAEA,EAAAA,sCAAA,cAAW,KAAX;AAEA,EAAAA,sCAAA,iBAAc,KAAd;AApBU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,4BAAL,kBAAKC,+BAAL;AAEL,EAAAA,sDAAA,cAAW,KAAX;AAEA,EAAAA,sDAAA,SAAM,KAAN;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,iCAAL,kBAAKC,oCAAL;AAEL,EAAAA,gEAAA,UAAO,KAAP;AAEA,EAAAA,gEAAA,UAAO,KAAP;AAEA,EAAAA,gEAAA,cAAW,KAAX;AAEA,EAAAA,gEAAA,qBAAkB,KAAlB;AARU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,oCAAL,kBAAKC,uCAAL;AAEL,EAAAA,mCAAA,SAAM;AAEN,EAAAA,mCAAA,UAAO;AAEP,EAAAA,mCAAA,WAAQ;AAER,EAAAA,mCAAA,UAAO;AAEP,EAAAA,mCAAA,UAAO;AAVG,SAAAA;AAAA,GAAA;;;ACAL,IAAK,qCAAL,kBAAKC,wCAAL;AAEL,EAAAA,oCAAA,SAAM;AAEN,EAAAA,oCAAA,UAAO;AAEP,EAAAA,oCAAA,WAAQ;AAER,EAAAA,oCAAA,UAAO;AARG,SAAAA;AAAA,GAAA;;;ACAL,IAAK,yCAAL,kBAAKC,4CAAL;AAEL,EAAAA,wCAAA,YAAS;AAET,EAAAA,wCAAA,aAAU;AAEV,EAAAA,wCAAA,eAAY;AAEZ,EAAAA,wCAAA,cAAW;AAEX,EAAAA,wCAAA,YAAS;AAET,EAAAA,wCAAA,cAAW;AAEX,EAAAA,wCAAA,YAAS;AAdC,SAAAA;AAAA,GAAA;;;ACAL,IAAK,+BAAL,kBAAKC,kCAAL;AAEL,EAAAA,4DAAA,eAAY,KAAZ;AAEA,EAAAA,4DAAA,aAAU,KAAV;AAEA,EAAAA,4DAAA,cAAW,KAAX;AAEA,EAAAA,4DAAA,WAAQ,MAAR;AARU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,kCAAL,kBAAKC,qCAAL;AAEL,EAAAA,iCAAA,SAAM;AAEN,EAAAA,iCAAA,UAAO;AAEP,EAAAA,iCAAA,WAAQ;AAER,EAAAA,iCAAA,UAAO;AARG,SAAAA;AAAA,GAAA;;;ACAL,IAAK,sCAAL,kBAAKC,yCAAL;AAEL,EAAAA,0EAAA,WAAQ,KAAR;AAEA,EAAAA,0EAAA,UAAO,KAAP;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,6BAAL,kBAAKC,gCAAL;AAEL,EAAAA,wDAAA,yBAAsB,KAAtB;AAEA,EAAAA,wDAAA,sBAAmB,KAAnB;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,8BAAL,kBAAKC,iCAAL;AAEL,EAAAA,0DAAA,WAAQ,KAAR;AAEA,EAAAA,0DAAA,YAAS,KAAT;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,gCAAL,kBAAKC,mCAAL;AAEL,EAAAA,8DAAA,WAAQ,KAAR;AAEA,EAAAA,8DAAA,YAAS,KAAT;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,+BAAL,kBAAKC,kCAAL;AAEL,EAAAA,4DAAA,gBAAa,KAAb;AAEA,EAAAA,4DAAA,cAAW,KAAX;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,qCAAL,kBAAKC,wCAAL;AAEL,EAAAA,wEAAA,4BAAyB,KAAzB;AAEA,EAAAA,wEAAA,gCAA6B,KAA7B;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,gCAAL,kBAAKC,mCAAL;AAEL,EAAAA,+BAAA,SAAM;AAEN,EAAAA,+BAAA,UAAO;AAEP,EAAAA,+BAAA,WAAQ;AAER,EAAAA,+BAAA,UAAO;AARG,SAAAA;AAAA,GAAA;;;ACAL,IAAK,mCAAL,kBAAKC,sCAAL;AAEL,EAAAA,oEAAA,cAAW,KAAX;AAEA,EAAAA,oEAAA,cAAW,KAAX;AAEA,EAAAA,oEAAA,uBAAoB,KAApB;AAEA,EAAAA,oEAAA,sBAAmB,KAAnB;AAEA,EAAAA,oEAAA,sBAAmB,KAAnB;AAEA,EAAAA,oEAAA,yBAAsB,KAAtB;AAZU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,4CAAL,kBAAKC,+CAAL;AAEL,EAAAA,sFAAA,UAAO,KAAP;AAEA,EAAAA,sFAAA,qBAAkB,KAAlB;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,8BAAL,kBAAKC,iCAAL;AAEL,EAAAA,0DAAA,UAAO,KAAP;AAEA,EAAAA,0DAAA,UAAO,KAAP;AAEA,EAAAA,0DAAA,UAAO,KAAP;AANU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,+BAAL,kBAAKC,kCAAL;AAEL,EAAAA,4DAAA,gBAAa,KAAb;AAEA,EAAAA,4DAAA,cAAW,KAAX;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,sBAAL,kBAAKC,yBAAL;AAEL,EAAAA,0CAAA,cAAW,KAAX;AAEA,EAAAA,0CAAA,cAAW,KAAX;AAEA,EAAAA,0CAAA,sBAAmB,KAAnB;AAEA,EAAAA,0CAAA,eAAY,KAAZ;AAEA,EAAAA,0CAAA,yBAAsB,KAAtB;AAEA,EAAAA,0CAAA,iBAAc,KAAd;AAEA,EAAAA,0CAAA,4BAAyB,KAAzB;AAEA,EAAAA,0CAAA,YAAS,KAAT;AAEA,EAAAA,0CAAA,aAAU,KAAV;AAEA,EAAAA,0CAAA,eAAY,KAAZ;AAEA,EAAAA,0CAAA,qCAAkC,MAAlC;AAEA,EAAAA,0CAAA,yCAAsC,MAAtC;AAEA,EAAAA,0CAAA,iCAA8B,MAA9B;AAEA,EAAAA,0CAAA,sBAAmB,MAAnB;AAEA,EAAAA,0CAAA,mBAAgB,MAAhB;AAEA,EAAAA,0CAAA,gBAAa,MAAb;AAEA,EAAAA,0CAAA,mCAAgC,MAAhC;AAEA,EAAAA,0CAAA,+BAA4B,MAA5B;AAEA,EAAAA,0CAAA,4BAAyB,MAAzB;AAEA,EAAAA,0CAAA,8BAA2B,MAA3B;AAEA,EAAAA,0CAAA,+BAA4B,MAA5B;AAEA,EAAAA,0CAAA,2BAAwB,MAAxB;AAEA,EAAAA,0CAAA,wBAAqB,MAArB;AAEA,EAAAA,0CAAA,0BAAuB,MAAvB;AAhDU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,gCAAL,kBAAKC,mCAAL;AAEL,EAAAA,8DAAA,aAAU,KAAV;AAEA,EAAAA,8DAAA,cAAW,KAAX;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,kBAAL,kBAAKC,qBAAL;AAEL,EAAAA,kCAAA,aAAU,KAAV;AAEA,EAAAA,kCAAA,WAAQ,KAAR;AAEA,EAAAA,kCAAA,wBAAqB,KAArB;AAEA,EAAAA,kCAAA,sBAAmB,KAAnB;AARU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,oBAAL,kBAAKC,uBAAL;AAEL,EAAAA,sCAAA,WAAQ,KAAR;AAEA,EAAAA,sCAAA,UAAO,KAAP;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,wCAAL,kBAAKC,2CAAL;AAEL,EAAAA,8EAAA,cAAW,KAAX;AAEA,EAAAA,8EAAA,cAAW,KAAX;AAEA,EAAAA,8EAAA,uBAAoB,KAApB;AAEA,EAAAA,8EAAA,sBAAmB,KAAnB;AAEA,EAAAA,8EAAA,sBAAmB,KAAnB;AAEA,EAAAA,8EAAA,yBAAsB,KAAtB;AAZU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,wBAAL,kBAAKC,2BAAL;AACL,EAAAA,8CAAA,mBAAgB,KAAhB;AAEA,EAAAA,8CAAA,UAAO,KAAP;AACA,EAAAA,8CAAA,kBAAe,KAAf;AACA,EAAAA,8CAAA,sBAAmB,KAAnB;AACA,EAAAA,8CAAA,0BAAuB,KAAvB;AACA,EAAAA,8CAAA,kBAAe,KAAf;AACA,EAAAA,8CAAA,0BAAuB,KAAvB;AACA,EAAAA,8CAAA,gBAAa,KAAb;AATU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,qBAAL,kBAAKC,wBAAL;AAEL,EAAAA,oBAAA,cAAW;AAEX,EAAAA,oBAAA,eAAY;AAEZ,EAAAA,oBAAA,cAAW;AAEX,EAAAA,oBAAA,eAAY;AAEZ,EAAAA,oBAAA,cAAW;AAEX,EAAAA,oBAAA,cAAW;AAEX,EAAAA,oBAAA,gBAAa;AAEb,EAAAA,oBAAA,eAAY;AAEZ,EAAAA,oBAAA,cAAW;AAEX,EAAAA,oBAAA,cAAW;AAEX,EAAAA,oBAAA,iBAAc;AAEd,EAAAA,oBAAA,gBAAa;AAEb,EAAAA,oBAAA,mBAAgB;AAEhB,EAAAA,oBAAA,kBAAe;AAEf,EAAAA,oBAAA,kBAAe;AAEf,EAAAA,oBAAA,kBAAe;AAEf,EAAAA,oBAAA,oBAAiB;AAEjB,EAAAA,oBAAA,mBAAgB;AAEhB,EAAAA,oBAAA,mBAAgB;AAEhB,EAAAA,oBAAA,kBAAe;AAEf,EAAAA,oBAAA,oBAAiB;AAEjB,EAAAA,oBAAA,qBAAkB;AAElB,EAAAA,oBAAA,oBAAiB;AAEjB,EAAAA,oBAAA,qBAAkB;AAElB,EAAAA,oBAAA,oBAAiB;AAEjB,EAAAA,oBAAA,oBAAiB;AAEjB,EAAAA,oBAAA,sBAAmB;AAEnB,EAAAA,oBAAA,sBAAmB;AAEnB,EAAAA,oBAAA,oBAAiB;AAEjB,EAAAA,oBAAA,kBAAe;AACf,EAAAA,oBAAA,SAAM;AAEN,EAAAA,oBAAA,SAAM;AAEN,EAAAA,oBAAA,SAAM;AAEN,EAAAA,oBAAA,YAAS;AAET,EAAAA,oBAAA,YAAS;AAET,EAAAA,oBAAA,YAAS;AAET,EAAAA,oBAAA,SAAM;AAEN,EAAAA,oBAAA,UAAO;AAEP,EAAAA,oBAAA,WAAQ;AAER,EAAAA,oBAAA,SAAM;AAEN,EAAAA,oBAAA,SAAM;AAEN,EAAAA,oBAAA,SAAM;AAEN,EAAAA,oBAAA,SAAM;AAEN,EAAAA,oBAAA,SAAM;AAEN,EAAAA,oBAAA,SAAM;AAEN,EAAAA,oBAAA,SAAM;AA3FI,SAAAA;AAAA,GAAA;;;ACNL,IAAK,yBAAL,kBAAKC,4BAAL;AACL,EAAAA,gDAAA,YAAS,KAAT;AACA,EAAAA,gDAAA,eAAY,KAAZ;AAFU,SAAAA;AAAA,GAAA;;;ACML,IAAK,oBAAL,kBAAKC,uBAAL;AACL,EAAAA,sCAAA,cAAW,KAAX;AACA,EAAAA,sCAAA,oBAAiB,KAAjB;AACA,EAAAA,sCAAA,eAAY,KAAZ;AAHU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,yBAAL,kBAAKC,4BAAL;AAEL,EAAAA,gDAAA,cAAW,KAAX;AAEA,EAAAA,gDAAA,aAAU,KAAV;AAEA,EAAAA,gDAAA,gBAAa,KAAb;AAEA,EAAAA,gDAAA,kBAAe,KAAf;AAEA,EAAAA,gDAAA,cAAW,KAAX;AAEA,EAAAA,gDAAA,aAAU,KAAV;AAZU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,gCAAL,kBAAKC,mCAAL;AAEL,EAAAA,8DAAA,cAAW,KAAX;AAEA,EAAAA,8DAAA,cAAW,KAAX;AAEA,EAAAA,8DAAA,uBAAoB,KAApB;AAEA,EAAAA,8DAAA,sBAAmB,KAAnB;AAEA,EAAAA,8DAAA,sBAAmB,KAAnB;AAEA,EAAAA,8DAAA,yBAAsB,KAAtB;AAZU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,uBAAL,kBAAKC,0BAAL;AAEL,EAAAA,4CAAA,WAAQ,KAAR;AAEA,EAAAA,4CAAA,UAAO,KAAP;AAEA,EAAAA,4CAAA,mBAAgB,KAAhB;AAEA,EAAAA,4CAAA,mBAAgB,KAAhB;AAEA,EAAAA,4CAAA,uBAAoB,KAApB;AAEA,EAAAA,4CAAA,sBAAmB,KAAnB;AAEA,EAAAA,4CAAA,iBAAc,KAAd;AAdU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,yBAAL,kBAAKC,4BAAL;AAEL,EAAAA,gDAAA,2BAAwB,KAAxB;AAEA,EAAAA,gDAAA,2BAAwB,KAAxB;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,wCAAL,kBAAKC,2CAAL;AAEL,EAAAA,8EAAA,oBAAiB,KAAjB;AAEA,EAAAA,8EAAA,mBAAgB,KAAhB;AAEA,EAAAA,8EAAA,2BAAwB,KAAxB;AANU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,uBAAL,kBAAKC,0BAAL;AAEL,EAAAA,4CAAA,cAAW,KAAX;AAEA,EAAAA,4CAAA,cAAW,KAAX;AAEA,EAAAA,4CAAA,0BAAuB,KAAvB;AANU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,gCAAL,kBAAKC,mCAAL;AAEL,EAAAA,8DAAA,cAAW,KAAX;AAEA,EAAAA,8DAAA,gBAAa,KAAb;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,gCAAL,kBAAKC,mCAAL;AAEL,EAAAA,8DAAA,cAAW,KAAX;AAEA,EAAAA,8DAAA,YAAS,KAAT;AAEA,EAAAA,8DAAA,aAAU,KAAV;AAEA,EAAAA,8DAAA,UAAO,KAAP;AAEA,EAAAA,8DAAA,gBAAa,KAAb;AAEA,EAAAA,8DAAA,WAAQ,KAAR;AAZU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,qDAAL,kBAAKC,wDAAL;AAEL,EAAAA,wGAAA,0BAAuB,KAAvB;AAEA,EAAAA,wGAAA,qBAAkB,KAAlB;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,2BAAL,kBAAKC,8BAAL;AAEL,EAAAA,oDAAA,YAAS,KAAT;AAEA,EAAAA,oDAAA,aAAU,KAAV;AAEA,EAAAA,oDAAA,eAAY,KAAZ;AAEA,EAAAA,oDAAA,cAAW,KAAX;AAEA,EAAAA,oDAAA,YAAS,KAAT;AAEA,EAAAA,oDAAA,cAAW,KAAX;AAEA,EAAAA,oDAAA,YAAS,KAAT;AAEA,EAAAA,oDAAA,iBAAc,KAAd;AAEA,EAAAA,oDAAA,aAAU,KAAV;AAEA,EAAAA,oDAAA,iBAAc,MAAd;AApBU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,gCAAL,kBAAKC,mCAAL;AACL,EAAAA,8DAAA,UAAO,KAAP;AACA,EAAAA,8DAAA,eAAY,KAAZ;AAFU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,qBAAL,kBAAKC,wBAAL;AAEL,EAAAA,wCAAA,cAAW,KAAX;AAEA,EAAAA,wCAAA,aAAU,KAAV;AAEA,EAAAA,wCAAA,YAAS,KAAT;AANU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,oCAAL,kBAAKC,uCAAL;AACL,EAAAA,sEAAA,UAAO,KAAP;AACA,EAAAA,sEAAA,aAAU,KAAV;AACA,EAAAA,sEAAA,kBAAe,KAAf;AACA,EAAAA,sEAAA,gBAAa,KAAb;AACA,EAAAA,sEAAA,cAAW,KAAX;AALU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,uCAAL,kBAAKC,0CAAL;AAEL,EAAAA,4EAAA,eAAY,KAAZ;AAEA,EAAAA,4EAAA,qBAAkB,KAAlB;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,oCAAL,kBAAKC,uCAAL;AAEL,EAAAA,sEAAA,WAAQ,KAAR;AAEA,EAAAA,sEAAA,YAAS,KAAT;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,kCAAL,kBAAKC,qCAAL;AAEL,EAAAA,kEAAA,WAAQ,KAAR;AAEA,EAAAA,kEAAA,YAAS,KAAT;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,eAAL,kBAAKC,kBAAL;AAEL,EAAAA,cAAA,gBAAa;AAEb,EAAAA,cAAA,iBAAc;AAEd,EAAAA,cAAA,8BAA2B;AAE3B,EAAAA,cAAA,+BAA4B;AAE5B,EAAAA,cAAA,4BAAyB;AAVf,SAAAA;AAAA,GAAA;;;ACAL,IAAK,eAAL,kBAAKC,kBAAL;AAEL,EAAAA,cAAA,cAAW;AAEX,EAAAA,cAAA,cAAW;AAEX,EAAAA,cAAA,eAAY;AAEZ,EAAAA,cAAA,YAAS;AAET,EAAAA,cAAA,gCAA6B;AAE7B,EAAAA,cAAA,WAAQ;AAZE,SAAAA;AAAA,GAAA;;;ACAL,IAAK,2BAAL,kBAAKC,8BAAL;AAEL,EAAAA,oDAAA,iBAAc,KAAd;AAEA,EAAAA,oDAAA,kBAAe,KAAf;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,4BAAL,kBAAKC,+BAAL;AAEL,EAAAA,sDAAA,mBAAgB,KAAhB;AAEA,EAAAA,sDAAA,gBAAa,KAAb;AAEA,EAAAA,sDAAA,yBAAsB,KAAtB;AAEA,EAAAA,sDAAA,sBAAmB,KAAnB;AARU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,oCAAL,kBAAKC,uCAAL;AAEL,EAAAA,sEAAA,qBAAkB,KAAlB;AAEA,EAAAA,sEAAA,kBAAe,KAAf;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,wCAAL,kBAAKC,2CAAL;AAEL,EAAAA,8EAAA,YAAS,KAAT;AAEA,EAAAA,8EAAA,UAAO,KAAP;AAEA,EAAAA,8EAAA,UAAO,KAAP;AAEA,EAAAA,8EAAA,eAAY,KAAZ;AAEA,EAAAA,8EAAA,qBAAkB,KAAlB;AAEA,EAAAA,8EAAA,YAAS,KAAT;AAEA,EAAAA,8EAAA,wBAAqB,KAArB;AAEA,EAAAA,8EAAA,YAAS,KAAT;AAEA,EAAAA,8EAAA,WAAQ,KAAR;AAEA,EAAAA,8EAAA,UAAO,KAAP;AAEA,EAAAA,8EAAA,cAAW,MAAX;AAEA,EAAAA,8EAAA,gBAAa,MAAb;AAxBU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,6BAAL,kBAAKC,gCAAL;AAEL,EAAAA,wDAAA,iBAAc,KAAd;AAEA,EAAAA,wDAAA,mBAAgB,KAAhB;AAEA,EAAAA,wDAAA,gBAAa,KAAb;AAEA,EAAAA,wDAAA,aAAU,KAAV;AARU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,yBAAL,kBAAKC,4BAAL;AAEL,EAAAA,gDAAA,gBAAa,KAAb;AAEA,EAAAA,gDAAA,cAAW,KAAX;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,2BAAL,kBAAKC,8BAAL;AAEL,EAAAA,oDAAA,cAAW,KAAX;AAEA,EAAAA,oDAAA,cAAW,KAAX;AAEA,EAAAA,oDAAA,eAAY,KAAZ;AAEA,EAAAA,oDAAA,cAAW,KAAX;AAEA,EAAAA,oDAAA,cAAW,KAAX;AAEA,EAAAA,oDAAA,eAAY,KAAZ;AAZU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,0BAAL,kBAAKC,6BAAL;AAEL,EAAAA,kDAAA,aAAU,KAAV;AAEA,EAAAA,kDAAA,cAAW,KAAX;AAEA,EAAAA,kDAAA,cAAW,KAAX;AAEA,EAAAA,kDAAA,WAAQ,KAAR;AARU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,0BAAL,kBAAKC,6BAAL;AACL,EAAAA,kDAAA,aAAU,KAAV;AACA,EAAAA,kDAAA,aAAU,KAAV;AACA,EAAAA,kDAAA,aAAU,KAAV;AACA,EAAAA,kDAAA,gBAAa,KAAb;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,8BAAL,kBAAKC,iCAAL;AAEL,EAAAA,0DAAA,cAAW,KAAX;AAEA,EAAAA,0DAAA,gBAAa,KAAb;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,sCAAL,kBAAKC,yCAAL;AAEL,EAAAA,0EAAA,SAAM,KAAN;AAEA,EAAAA,0EAAA,WAAQ,KAAR;AAEA,EAAAA,0EAAA,UAAO,KAAP;AAEA,EAAAA,0EAAA,iBAAc,KAAd;AARU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,gCAAL,kBAAKC,mCAAL;AAEL,EAAAA,8DAAA,cAAW,KAAX;AAEA,EAAAA,8DAAA,YAAS,KAAT;AAEA,EAAAA,8DAAA,aAAU,KAAV;AAEA,EAAAA,8DAAA,eAAY,KAAZ;AAEA,EAAAA,8DAAA,cAAW,KAAX;AAEA,EAAAA,8DAAA,YAAS,KAAT;AAEA,EAAAA,8DAAA,cAAW,KAAX;AAEA,EAAAA,8DAAA,YAAS,KAAT;AAhBU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,oCAAL,kBAAKC,uCAAL;AAEL,EAAAA,mCAAA,UAAO;AAEP,EAAAA,mCAAA,WAAQ;AAJE,SAAAA;AAAA,GAAA;;;ACAL,IAAK,kCAAL,kBAAKC,qCAAL;AAEL,EAAAA,kEAAA,UAAO,KAAP;AAEA,EAAAA,kEAAA,aAAU,KAAV;AAEA,EAAAA,kEAAA,oBAAiB,KAAjB;AAEA,EAAAA,kEAAA,kBAAe,KAAf;AARU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,mCAAL,kBAAKC,sCAAL;AAEL,EAAAA,oEAAA,UAAO,KAAP;AAEA,EAAAA,oEAAA,oBAAiB,KAAjB;AAEA,EAAAA,oEAAA,0BAAuB,KAAvB;AAEA,EAAAA,oEAAA,oBAAiB,KAAjB;AAEA,EAAAA,oEAAA,oBAAiB,KAAjB;AAEA,EAAAA,oEAAA,aAAU,KAAV;AAEA,EAAAA,oEAAA,cAAW,KAAX;AAdU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,wBAAL,kBAAKC,2BAAL;AAEL,EAAAA,8CAAA,cAAW,KAAX;AAEA,EAAAA,8CAAA,cAAW,KAAX;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,8BAAL,kBAAKC,iCAAL;AAEL,EAAAA,0DAAA,sBAAmB,KAAnB;AAEA,EAAAA,0DAAA,YAAS,KAAT;AAEA,EAAAA,0DAAA,WAAQ,MAAR;AANU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,0BAAL,kBAAKC,6BAAL;AAEL,EAAAA,kDAAA,SAAM,KAAN;AAEA,EAAAA,kDAAA,YAAS,KAAT;AAEA,EAAAA,kDAAA,aAAU,KAAV;AANU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,qBAAL,kBAAKC,wBAAL;AACL,EAAAA,wCAAA,YAAS,KAAT;AACA,EAAAA,wCAAA,mBAAgB,KAAhB;AAFU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,4BAAL,kBAAKC,+BAAL;AACL,EAAAA,sDAAA,eAAY,KAAZ;AACA,EAAAA,sDAAA,aAAU,KAAV;AAFU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,8BAAL,kBAAKC,iCAAL;AACL,EAAAA,0DAAA,cAAW,KAAX;AACA,EAAAA,0DAAA,uBAAoB,KAApB;AAEA,EAAAA,0DAAA,cAAW,KAAX;AAEA,EAAAA,0DAAA,qBAAkB,KAAlB;AAEA,EAAAA,0DAAA,eAAY,KAAZ;AARU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,8BAAL,kBAAKC,iCAAL;AAEL,EAAAA,0DAAA,gBAAa,KAAb;AAEA,EAAAA,0DAAA,kBAAe,KAAf;AAEA,EAAAA,0DAAA,2BAAwB,KAAxB;AAEA,EAAAA,0DAAA,6BAA0B,KAA1B;AAEA,EAAAA,0DAAA,2BAAwB,KAAxB;AAEA,EAAAA,0DAAA,WAAQ,MAAR;AAZU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,kBAAL,kBAAKC,qBAAL;AAEL,EAAAA,kCAAA,aAAU,KAAV;AAEA,EAAAA,kCAAA,iBAAc,KAAd;AAEA,EAAAA,kCAAA,eAAY,KAAZ;AANU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,sBAAL,kBAAKC,yBAAL;AACL,EAAAA,0CAAA,cAAW,KAAX;AACA,EAAAA,0CAAA,eAAY,KAAZ;AACA,EAAAA,0CAAA,cAAW,KAAX;AAHU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,0BAAL,kBAAKC,6BAAL;AAEL,EAAAA,kDAAA,kBAAe,KAAf;AAEA,EAAAA,kDAAA,iBAAc,KAAd;AAEA,EAAAA,kDAAA,mBAAgB,MAAhB;AAEA,EAAAA,kDAAA,WAAQ,MAAR;AARU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,0BAAL,kBAAKC,6BAAL;AAEL,EAAAA,kDAAA,wBAAqB,KAArB;AAEA,EAAAA,kDAAA,sBAAmB,KAAnB;AAEA,EAAAA,kDAAA,iBAAc,KAAd;AANU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,0BAAL,kBAAKC,6BAAL;AACL,EAAAA,kDAAA,UAAO,KAAP;AACA,EAAAA,kDAAA,kBAAe,KAAf;AACA,EAAAA,kDAAA,eAAY,KAAZ;AACA,EAAAA,kDAAA,eAAY,KAAZ;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,uBAAL,kBAAKC,0BAAL;AACL,EAAAA,4CAAA,cAAW,KAAX;AACA,EAAAA,4CAAA,cAAW,KAAX;AACA,EAAAA,4CAAA,mBAAgB,KAAhB;AACA,EAAAA,4CAAA,mCAAgC,KAAhC;AACA,EAAAA,4CAAA,gCAA6B,KAA7B;AACA,EAAAA,4CAAA,qCAAkC,KAAlC;AACA,EAAAA,4CAAA,qCAAkC,KAAlC;AACA,EAAAA,4CAAA,4BAAyB,KAAzB;AACA,EAAAA,4CAAA,4BAAyB,KAAzB;AACA,EAAAA,4CAAA,aAAU,KAAV;AACA,EAAAA,4CAAA,yBAAsB,MAAtB;AACA,EAAAA,4CAAA,yBAAsB,MAAtB;AACA,EAAAA,4CAAA,2BAAwB,MAAxB;AACA,EAAAA,4CAAA,yBAAsB,MAAtB;AACA,EAAAA,4CAAA,yBAAsB,MAAtB;AAfU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,4BAAL,kBAAKC,+BAAL;AACL,EAAAA,sDAAA,UAAO,KAAP;AACA,EAAAA,sDAAA,4BAAyB,KAAzB;AACA,EAAAA,sDAAA,6BAA0B,KAA1B;AAHU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,mBAAL,kBAAKC,sBAAL;AAEL,EAAAA,oCAAA,YAAS,KAAT;AACA,EAAAA,oCAAA,cAAW,KAAX;AAHU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,oCAAL,kBAAKC,uCAAL;AAEL,EAAAA,sEAAA,iBAAc,KAAd;AACA,EAAAA,sEAAA,SAAM,KAAN;AAHU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,eAAL,kBAAKC,kBAAL;AACL,EAAAA,cAAA,wBAAqB;AACrB,EAAAA,cAAA,qBAAkB;AAFR,SAAAA;AAAA,GAAA;;;ACAL,IAAK,yBAAL,kBAAKC,4BAAL;AAEL,EAAAA,gDAAA,oBAAiB,KAAjB;AAEA,EAAAA,gDAAA,YAAS,KAAT;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,qBAAL,kBAAKC,wBAAL;AACL,EAAAA,wCAAA,gBAAa,KAAb;AACA,EAAAA,wCAAA,aAAU,KAAV;AACA,EAAAA,wCAAA,sBAAmB,KAAnB;AACA,EAAAA,wCAAA,sBAAmB,KAAnB;AACA,EAAAA,wCAAA,iBAAc,KAAd;AACA,EAAAA,wCAAA,qBAAkB,KAAlB;AACA,EAAAA,wCAAA,kBAAe,KAAf;AACA,EAAAA,wCAAA,kBAAe,KAAf;AARU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,iBAAL,kBAAKC,oBAAL;AACL,EAAAA,gCAAA,gBAAa,KAAb;AACA,EAAAA,gCAAA,uBAAoB,KAApB;AAFU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,aAAL,kBAAKC,gBAAL;AACL,EAAAA,wBAAA,iBAAc,KAAd;AACA,EAAAA,wBAAA,YAAS,KAAT;AACA,EAAAA,wBAAA,eAAY,KAAZ;AACA,EAAAA,wBAAA,mBAAgB,KAAhB;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,mBAAL,kBAAKC,sBAAL;AACL,EAAAA,oCAAA,kBAAe,KAAf;AACA,EAAAA,oCAAA,qBAAkB,KAAlB;AACA,EAAAA,oCAAA,wBAAqB,KAArB;AAHU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,iBAAL,kBAAKC,oBAAL;AAEL,EAAAA,gCAAA,aAAU,KAAV;AAEA,EAAAA,gCAAA,kBAAe,KAAf;AAEA,EAAAA,gCAAA,WAAQ,KAAR;AAEA,EAAAA,gCAAA,aAAU,KAAV;AAEA,EAAAA,gCAAA,cAAW,KAAX;AAEA,EAAAA,gCAAA,cAAW,KAAX;AAEA,EAAAA,gCAAA,WAAQ,KAAR;AACA,EAAAA,gCAAA,UAAO,KAAP;AAEA,EAAAA,gCAAA,iBAAc,KAAd;AACA,EAAAA,gCAAA,eAAY,KAAZ;AACA,EAAAA,gCAAA,kBAAe,MAAf;AAnBU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,yBAAL,kBAAKC,4BAAL;AAEL,EAAAA,gDAAA,cAAW,KAAX;AAEA,EAAAA,gDAAA,kCAA+B,KAA/B;AAEA,EAAAA,gDAAA,cAAW,KAAX;AANU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,yBAAL,kBAAKC,4BAAL;AAEL,EAAAA,gDAAA,gBAAa,KAAb;AAEA,EAAAA,gDAAA,+BAA4B,KAA5B;AAEA,EAAAA,gDAAA,mBAAgB,KAAhB;AAEA,EAAAA,gDAAA,0BAAuB,KAAvB;AAEA,EAAAA,gDAAA,WAAQ,MAAR;AAVU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,qBAAL,kBAAKC,wBAAL;AACL,EAAAA,wCAAA,WAAQ,KAAR;AACA,EAAAA,wCAAA,gBAAa,KAAb;AACA,EAAAA,wCAAA,aAAU,KAAV;AACA,EAAAA,wCAAA,gBAAa,KAAb;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,mBAAL,kBAAKC,sBAAL;AAEL,EAAAA,kBAAA,SAAM;AAEN,EAAAA,kBAAA,YAAS;AAET,EAAAA,kBAAA,YAAS;AAET,EAAAA,kBAAA,aAAU;AAEV,EAAAA,kBAAA,aAAU;AAVA,SAAAA;AAAA,GAAA;;;ACAL,IAAK,iBAAL,kBAAKC,oBAAL;AAEL,EAAAA,gCAAA,uBAAoB,KAApB;AAEA,EAAAA,gCAAA,0BAAuB,KAAvB;AAEA,EAAAA,gCAAA,sBAAmB,KAAnB;AAEA,EAAAA,gCAAA,uBAAoB,KAApB;AAEA,EAAAA,gCAAA,iCAA8B,KAA9B;AAEA,EAAAA,gCAAA,2CAAwC,KAAxC;AAEA,EAAAA,gCAAA,iCAA8B,KAA9B;AAEA,EAAAA,gCAAA,mCAAgC,KAAhC;AAEA,EAAAA,gCAAA,+BAA4B,KAA5B;AAEA,EAAAA,gCAAA,mBAAgB,MAAhB;AAEA,EAAAA,gCAAA,wBAAqB,MAArB;AAEA,EAAAA,gCAAA,yBAAsB,MAAtB;AAEA,EAAAA,gCAAA,2BAAwB,MAAxB;AAEA,EAAAA,gCAAA,wBAAqB,MAArB;AAEA,EAAAA,gCAAA,gBAAa,MAAb;AA9BU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,oBAAL,kBAAKC,uBAAL;AAEL,EAAAA,sCAAA,SAAM,KAAN;AAEA,EAAAA,sCAAA,aAAU,KAAV;AAEA,EAAAA,sCAAA,YAAS,KAAT;AANU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,eAAL,kBAAKC,kBAAL;AAEL,EAAAA,4BAAA,qBAAkB,KAAlB;AAEA,EAAAA,4BAAA,oBAAiB,KAAjB;AAEA,EAAAA,4BAAA,qBAAkB,KAAlB;AANU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,gBAAL,kBAAKC,mBAAL;AAEL,EAAAA,8BAAA,uBAAoB,KAApB;AAEA,EAAAA,8BAAA,uBAAoB,KAApB;AAEA,EAAAA,8BAAA,UAAO,KAAP;AANU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,iBAAL,kBAAKC,oBAAL;AAEL,EAAAA,gCAAA,cAAW,KAAX;AAEA,EAAAA,gCAAA,4BAAyB,KAAzB;AAEA,EAAAA,gCAAA,mBAAgB,KAAhB;AAEA,EAAAA,gCAAA,cAAW,KAAX;AAEA,EAAAA,gCAAA,cAAW,KAAX;AAEA,EAAAA,gCAAA,eAAY,KAAZ;AAZU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,uBAAL,kBAAKC,0BAAL;AAEL,EAAAA,4CAAA,aAAU,KAAV;AAEA,EAAAA,4CAAA,kBAAe,KAAf;AAEA,EAAAA,4CAAA,uBAAoB,KAApB;AAEA,EAAAA,4CAAA,8BAA2B,KAA3B;AAEA,EAAAA,4CAAA,qBAAkB,KAAlB;AAEA,EAAAA,4CAAA,WAAQ,MAAR;AAZU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,qBAAL,kBAAKC,wBAAL;AAEL,EAAAA,wCAAA,YAAS,KAAT;AAEA,EAAAA,wCAAA,aAAU,KAAV;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,gCAAL,kBAAKC,mCAAL;AAEL,EAAAA,8DAAA,aAAU,KAAV;AAEA,EAAAA,8DAAA,oBAAiB,KAAjB;AAEA,EAAAA,8DAAA,kBAAe,KAAf;AAEA,EAAAA,8DAAA,oBAAiB,KAAjB;AACA,EAAAA,8DAAA,cAAW,KAAX;AACA,EAAAA,8DAAA,2BAAwB,KAAxB;AACA,EAAAA,8DAAA,4BAAyB,KAAzB;AACA,EAAAA,8DAAA,qBAAkB,KAAlB;AACA,EAAAA,8DAAA,qBAAkB,KAAlB;AACA,EAAAA,8DAAA,iBAAc,KAAd;AAdU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,kBAAL,kBAAKC,qBAAL;AACL,EAAAA,kCAAA,WAAQ,KAAR;AACA,EAAAA,kCAAA,mBAAgB,KAAhB;AACA,EAAAA,kCAAA,iBAAc,KAAd;AACA,EAAAA,kCAAA,kBAAe,KAAf;AACA,EAAAA,kCAAA,WAAQ,KAAR;AACA,EAAAA,kCAAA,eAAY,KAAZ;AACA,EAAAA,kCAAA,UAAO,KAAP;AACA,EAAAA,kCAAA,gBAAa,KAAb;AACA,EAAAA,kCAAA,cAAW,KAAX;AACA,EAAAA,kCAAA,UAAO,MAAP;AACA,EAAAA,kCAAA,kBAAe,MAAf;AACA,EAAAA,kCAAA,gBAAa,MAAb;AACA,EAAAA,kCAAA,UAAO,MAAP;AACA,EAAAA,kCAAA,SAAM,MAAN;AACA,EAAAA,kCAAA,cAAW,MAAX;AACA,EAAAA,kCAAA,WAAQ,MAAR;AACA,EAAAA,kCAAA,UAAO,MAAP;AACA,EAAAA,kCAAA,WAAQ,MAAR;AACA,EAAAA,kCAAA,kBAAe,MAAf;AACA,EAAAA,kCAAA,4BAAyB,MAAzB;AACA,EAAAA,kCAAA,sBAAmB,MAAnB;AACA,EAAAA,kCAAA,gCAA6B,MAA7B;AAEA,EAAAA,kCAAA,UAAO,MAAP;AACA,EAAAA,kCAAA,qBAAkB,MAAlB;AACA,EAAAA,kCAAA,kBAAe,MAAf;AACA,EAAAA,kCAAA,eAAY,MAAZ;AACA,EAAAA,kCAAA,mBAAgB,MAAhB;AACA,EAAAA,kCAAA,iBAAc,MAAd;AACA,EAAAA,kCAAA,sBAAmB,MAAnB;AACA,EAAAA,kCAAA,oBAAiB,MAAjB;AA/BU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,mBAAL,kBAAKC,sBAAL;AAEL,EAAAA,oCAAA,eAAY,KAAZ;AAEA,EAAAA,oCAAA,iBAAc,KAAd;AAEA,EAAAA,oCAAA,cAAW,KAAX;AAEA,EAAAA,oCAAA,gBAAa,KAAb;AAEA,EAAAA,oCAAA,YAAS,KAAT;AAEA,EAAAA,oCAAA,YAAS,KAAT;AAEA,EAAAA,oCAAA,qBAAkB,KAAlB;AAEA,EAAAA,oCAAA,YAAS,KAAT;AAEA,EAAAA,oCAAA,iBAAc,KAAd;AAEA,EAAAA,oCAAA,mBAAgB,MAAhB;AAEA,EAAAA,oCAAA,mBAAgB,MAAhB;AAEA,EAAAA,oCAAA,mBAAgB,MAAhB;AAEA,EAAAA,oCAAA,sBAAmB,MAAnB;AAEA,EAAAA,oCAAA,sBAAmB,MAAnB;AAEA,EAAAA,oCAAA,kBAAe,MAAf;AAEA,EAAAA,oCAAA,iBAAc,MAAd;AAEA,EAAAA,oCAAA,iBAAc,MAAd;AACA,EAAAA,oCAAA,aAAU,MAAV;AAEA,EAAAA,oCAAA,uBAAoB,MAApB;AAEA,EAAAA,oCAAA,qBAAkB,MAAlB;AACA,EAAAA,oCAAA,gBAAa,MAAb;AACA,EAAAA,oCAAA,wBAAqB,MAArB;AACA,EAAAA,oCAAA,aAAU,MAAV;AACA,EAAAA,oCAAA,eAAY,MAAZ;AACA,EAAAA,oCAAA,cAAW,MAAX;AACA,EAAAA,oCAAA,WAAQ,MAAR;AACA,EAAAA,oCAAA,YAAS,MAAT;AACA,EAAAA,oCAAA,cAAW,MAAX;AAEA,EAAAA,oCAAA,UAAO,MAAP;AAEA,EAAAA,oCAAA,gBAAa,MAAb;AAEA,EAAAA,oCAAA,kBAAe,MAAf;AACA,EAAAA,oCAAA,0BAAuB,MAAvB;AACA,EAAAA,oCAAA,wBAAqB,MAArB;AACA,EAAAA,oCAAA,cAAW,MAAX;AAEA,EAAAA,oCAAA,sBAAmB,MAAnB;AACA,EAAAA,oCAAA,iBAAc,MAAd;AA3DU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,sBAAL,kBAAKC,yBAAL;AACL,EAAAA,0CAAA,aAAU,KAAV;AACA,EAAAA,0CAAA,YAAS,KAAT;AACA,EAAAA,0CAAA,gBAAa,KAAb;AACA,EAAAA,0CAAA,eAAY,KAAZ;AACA,EAAAA,0CAAA,aAAU,KAAV;AACA,EAAAA,0CAAA,qBAAkB,KAAlB;AACA,EAAAA,0CAAA,WAAQ,KAAR;AACA,EAAAA,0CAAA,mBAAgB,KAAhB;AACA,EAAAA,0CAAA,mBAAgB,KAAhB;AACA,EAAAA,0CAAA,kBAAe,MAAf;AACA,EAAAA,0CAAA,YAAS,MAAT;AACA,EAAAA,0CAAA,cAAW,MAAX;AACA,EAAAA,0CAAA,aAAU,MAAV;AACA,EAAAA,0CAAA,cAAW,MAAX;AACA,EAAAA,0CAAA,eAAY,MAAZ;AAEA,EAAAA,0CAAA,sBAAmB,MAAnB;AAEA,EAAAA,0CAAA,oBAAiB,MAAjB;AACA,EAAAA,0CAAA,YAAS,MAAT;AACA,EAAAA,0CAAA,aAAU,MAAV;AACA,EAAAA,0CAAA,aAAU,MAAV;AACA,EAAAA,0CAAA,WAAQ,MAAR;AACA,EAAAA,0CAAA,cAAW,MAAX;AACA,EAAAA,0CAAA,iBAAc,MAAd;AACA,EAAAA,0CAAA,WAAQ,MAAR;AACA,EAAAA,0CAAA,kBAAe,MAAf;AACA,EAAAA,0CAAA,kCAA+B,MAA/B;AACA,EAAAA,0CAAA,qBAAkB,MAAlB;AACA,EAAAA,0CAAA,mBAAgB,MAAhB;AACA,EAAAA,0CAAA,uBAAoB,MAApB;AACA,EAAAA,0CAAA,UAAO,MAAP;AACA,EAAAA,0CAAA,iBAAc,MAAd;AACA,EAAAA,0CAAA,gBAAa,MAAb;AACA,EAAAA,0CAAA,cAAW,MAAX;AAnCU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,uBAAL,kBAAKC,0BAAL;AAEL,EAAAA,4CAAA,eAAY,KAAZ;AAEA,EAAAA,4CAAA,sBAAmB,KAAnB;AAEA,EAAAA,4CAAA,gBAAa,KAAb;AAEA,EAAAA,4CAAA,kBAAe,KAAf;AAEA,EAAAA,4CAAA,gBAAa,KAAb;AAVU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,0BAAL,kBAAKC,6BAAL;AACL,EAAAA,kDAAA,mBAAgB,KAAhB;AACA,EAAAA,kDAAA,uBAAoB,KAApB;AACA,EAAAA,kDAAA,oBAAiB,KAAjB;AACA,EAAAA,kDAAA,oBAAiB,KAAjB;AACA,EAAAA,kDAAA,qBAAkB,KAAlB;AACA,EAAAA,kDAAA,sBAAmB,KAAnB;AACA,EAAAA,kDAAA,kBAAe,KAAf;AACA,EAAAA,kDAAA,sCAAmC,KAAnC;AARU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,uBAAL,kBAAKC,0BAAL;AACL,EAAAA,4CAAA,qBAAkB,KAAlB;AACA,EAAAA,4CAAA,wBAAqB,KAArB;AACA,EAAAA,4CAAA,iCAA8B,KAA9B;AACA,EAAAA,4CAAA,6BAA0B,KAA1B;AACA,EAAAA,4CAAA,oBAAiB,KAAjB;AACA,EAAAA,4CAAA,oBAAiB,KAAjB;AACA,EAAAA,4CAAA,6BAA0B,KAA1B;AACA,EAAAA,4CAAA,8BAA2B,KAA3B;AACA,EAAAA,4CAAA,gCAA6B,KAA7B;AACA,EAAAA,4CAAA,4BAAyB,MAAzB;AACA,EAAAA,4CAAA,oCAAiC,MAAjC;AACA,EAAAA,4CAAA,+BAA4B,MAA5B;AAZU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,2BAAL,kBAAKC,8BAAL;AAEL,EAAAA,oDAAA,gBAAa,KAAb;AAEA,EAAAA,oDAAA,4BAAyB,KAAzB;AAEA,EAAAA,oDAAA,mCAAgC,KAAhC;AAEA,EAAAA,oDAAA,kCAA+B,KAA/B;AAEA,EAAAA,oDAAA,iCAA8B,KAA9B;AAEA,EAAAA,oDAAA,oBAAiB,KAAjB;AAEA,EAAAA,oDAAA,kCAA+B,KAA/B;AAEA,EAAAA,oDAAA,8BAA2B,KAA3B;AAEA,EAAAA,oDAAA,gCAA6B,KAA7B;AAEA,EAAAA,oDAAA,0BAAuB,KAAvB;AAEA,EAAAA,oDAAA,6BAA0B,MAA1B;AAEA,EAAAA,oDAAA,2BAAwB,MAAxB;AAEA,EAAAA,oDAAA,kCAA+B,MAA/B;AAEA,EAAAA,oDAAA,mCAAgC,MAAhC;AAEA,EAAAA,oDAAA,mCAAgC,MAAhC;AAEA,EAAAA,oDAAA,0BAAuB,MAAvB;AAEA,EAAAA,oDAAA,sCAAmC,MAAnC;AAEA,EAAAA,oDAAA,oCAAiC,MAAjC;AAEA,EAAAA,oDAAA,qCAAkC,MAAlC;AAEA,EAAAA,oDAAA,WAAQ,MAAR;AAxCU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,oBAAL,kBAAKC,uBAAL;AAEL,EAAAA,sCAAA,YAAS,KAAT;AAEA,EAAAA,sCAAA,cAAW,KAAX;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,uBAAL,kBAAKC,0BAAL;AAEL,EAAAA,4CAAA,cAAW,KAAX;AAEA,EAAAA,4CAAA,gBAAa,KAAb;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,aAAL,kBAAKC,gBAAL;AACL,EAAAA,wBAAA,gBAAa,KAAb;AACA,EAAAA,wBAAA,iBAAc,KAAd;AACA,EAAAA,wBAAA,4BAAyB,KAAzB;AAHU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,sBAAL,kBAAKC,yBAAL;AAEL,EAAAA,0CAAA,kBAAe,KAAf;AAEA,EAAAA,0CAAA,uBAAoB,KAApB;AAEA,EAAAA,0CAAA,yBAAsB,KAAtB;AAEA,EAAAA,0CAAA,qBAAkB,KAAlB;AAEA,EAAAA,0CAAA,4BAAyB,KAAzB;AAEA,EAAAA,0CAAA,WAAQ,MAAR;AAZU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,gBAAL,kBAAKC,mBAAL;AAEL,EAAAA,8BAAA,cAAW,KAAX;AAEA,EAAAA,8BAAA,cAAW,KAAX;AAEA,EAAAA,8BAAA,cAAW,KAAX;AANU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,oBAAL,kBAAKC,uBAAL;AACL,EAAAA,sCAAA,eAAY,KAAZ;AACA,EAAAA,sCAAA,SAAM,KAAN;AACA,EAAAA,sCAAA,aAAU,KAAV;AACA,EAAAA,sCAAA,oBAAiB,KAAjB;AACA,EAAAA,sCAAA,aAAU,KAAV;AACA,EAAAA,sCAAA,SAAM,KAAN;AACA,EAAAA,sCAAA,aAAU,KAAV;AACA,EAAAA,sCAAA,cAAW,KAAX;AACA,EAAAA,sCAAA,0BAAuB,KAAvB;AACA,EAAAA,sCAAA,UAAO,MAAP;AACA,EAAAA,sCAAA,UAAO,MAAP;AACA,EAAAA,sCAAA,UAAO,MAAP;AAZU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,oBAAL,kBAAKC,uBAAL;AAEL,EAAAA,sCAAA,SAAM,KAAN;AAEA,EAAAA,sCAAA,SAAM,KAAN;AAEA,EAAAA,sCAAA,WAAQ,KAAR;AANU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,gBAAL,kBAAKC,mBAAL;AACL,EAAAA,8BAAA,4BAAyB,KAAzB;AACA,EAAAA,8BAAA,0BAAuB,KAAvB;AACA,EAAAA,8BAAA,0BAAuB,KAAvB;AACA,EAAAA,8BAAA,wBAAqB,KAArB;AACA,EAAAA,8BAAA,0BAAuB,KAAvB;AACA,EAAAA,8BAAA,wBAAqB,KAArB;AACA,EAAAA,8BAAA,uBAAoB,KAApB;AACA,EAAAA,8BAAA,qBAAkB,KAAlB;AACA,EAAAA,8BAAA,2BAAwB,KAAxB;AACA,EAAAA,8BAAA,yBAAsB,MAAtB;AACA,EAAAA,8BAAA,uBAAoB,MAApB;AACA,EAAAA,8BAAA,qBAAkB,MAAlB;AACA,EAAAA,8BAAA,qBAAkB,MAAlB;AACA,EAAAA,8BAAA,mBAAgB,MAAhB;AAdU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,sBAAL,kBAAKC,yBAAL;AACL,EAAAA,0CAAA,YAAS,KAAT;AACA,EAAAA,0CAAA,cAAW,KAAX;AACA,EAAAA,0CAAA,eAAY,KAAZ;AAHU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,oBAAL,kBAAKC,uBAAL;AACL,EAAAA,sCAAA,UAAO,KAAP;AACA,EAAAA,sCAAA,YAAS,KAAT;AACA,EAAAA,sCAAA,eAAY,KAAZ;AAHU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,4BAAL,kBAAKC,+BAAL;AACL,EAAAA,sDAAA,6BAA0B,KAA1B;AACA,EAAAA,sDAAA,mBAAgB,KAAhB;AACA,EAAAA,sDAAA,sBAAmB,KAAnB;AAHU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,qBAAL,kBAAKC,wBAAL;AACL,EAAAA,oBAAA,QAAK;AACL,EAAAA,oBAAA,SAAM;AAFI,SAAAA;AAAA,GAAA;;;ACAL,IAAK,mBAAL,kBAAKC,sBAAL;AACL,EAAAA,oCAAA,gBAAa,KAAb;AACA,EAAAA,oCAAA,2BAAwB,KAAxB;AAFU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,iBAAL,kBAAKC,oBAAL;AACL,EAAAA,gCAAA,YAAS,KAAT;AACA,EAAAA,gCAAA,iBAAc,KAAd;AACA,EAAAA,gCAAA,sBAAmB,KAAnB;AACA,EAAAA,gCAAA,cAAW,KAAX;AACA,EAAAA,gCAAA,aAAU,KAAV;AACA,EAAAA,gCAAA,gBAAa,KAAb;AACA,EAAAA,gCAAA,WAAQ,MAAR;AAPU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,oBAAL,kBAAKC,uBAAL;AACL,EAAAA,sCAAA,eAAY,KAAZ;AACA,EAAAA,sCAAA,YAAS,KAAT;AAFU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,uBAAL,kBAAKC,0BAAL;AAEL,EAAAA,4CAAA,qBAAkB,KAAlB;AAEA,EAAAA,4CAAA,oBAAiB,KAAjB;AAEA,EAAAA,4CAAA,oBAAiB,KAAjB;AAEA,EAAAA,4CAAA,2BAAwB,KAAxB;AACA,EAAAA,4CAAA,+BAA4B,KAA5B;AACA,EAAAA,4CAAA,8BAA2B,KAA3B;AAVU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,uBAAL,kBAAKC,0BAAL;AAEL,EAAAA,4CAAA,iBAAc,KAAd;AACA,EAAAA,4CAAA,gBAAa,KAAb;AACA,EAAAA,4CAAA,YAAS,KAAT;AACA,EAAAA,4CAAA,oBAAiB,KAAjB;AACA,EAAAA,4CAAA,YAAS,KAAT;AACA,EAAAA,4CAAA,qBAAkB,KAAlB;AACA,EAAAA,4CAAA,qBAAkB,KAAlB;AAEA,EAAAA,4CAAA,qBAAkB,KAAlB;AAVU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,wBAAL,kBAAKC,2BAAL;AACL,EAAAA,8CAAA,WAAQ,KAAR;AACA,EAAAA,8CAAA,WAAQ,KAAR;AAFU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,2CAAL,kBAAKC,8CAAL;AACL,EAAAA,oFAAA,WAAQ,KAAR;AACA,EAAAA,oFAAA,mBAAgB,KAAhB;AAFU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,2BAAL,kBAAKC,8BAAL;AACL,EAAAA,oDAAA,YAAS,KAAT;AACA,EAAAA,oDAAA,gBAAa,KAAb;AAFU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,qBAAL,kBAAKC,wBAAL;AACL,EAAAA,wCAAA,kBAAe,KAAf;AACA,EAAAA,wCAAA,cAAW,KAAX;AACA,EAAAA,wCAAA,gBAAa,KAAb;AACA,EAAAA,wCAAA,sBAAmB,KAAnB;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,2BAAL,kBAAKC,8BAAL;AACL,EAAAA,oDAAA,yBAAsB,KAAtB;AACA,EAAAA,oDAAA,oBAAiB,KAAjB;AAFU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,sBAAL,kBAAKC,yBAAL;AACL,EAAAA,0CAAA,0BAAuB,KAAvB;AACA,EAAAA,0CAAA,sBAAmB,KAAnB;AAFU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,mBAAL,kBAAKC,sBAAL;AACL,EAAAA,oCAAA,SAAM,KAAN;AAEA,EAAAA,oCAAA,SAAM,KAAN;AAEA,EAAAA,oCAAA,WAAQ,KAAR;AALU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,qCAAL,kBAAKC,wCAAL;AACL,EAAAA,wEAAA,sBAAmB,KAAnB;AACA,EAAAA,wEAAA,qBAAkB,KAAlB;AAFU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,mCAAL,kBAAKC,sCAAL;AACL,EAAAA,oEAAA,aAAU,KAAV;AACA,EAAAA,oEAAA,qBAAkB,KAAlB;AACA,EAAAA,oEAAA,WAAQ,KAAR;AACA,EAAAA,oEAAA,eAAY,KAAZ;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,mCAAL,kBAAKC,sCAAL;AAEL,EAAAA,oEAAA,gBAAa,KAAb;AAEA,EAAAA,oEAAA,cAAW,KAAX;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,sCAAL,kBAAKC,yCAAL;AACL,EAAAA,0EAAA,cAAW,KAAX;AACA,EAAAA,0EAAA,UAAO,KAAP;AACA,EAAAA,0EAAA,UAAO,KAAP;AAHU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,4BAAL,kBAAKC,+BAAL;AAEL,EAAAA,sDAAA,aAAU,KAAV;AAEA,EAAAA,sDAAA,kBAAe,KAAf;AAEA,EAAAA,sDAAA,gBAAa,KAAb;AAEA,EAAAA,sDAAA,uBAAoB,KAApB;AAEA,EAAAA,sDAAA,4BAAyB,KAAzB;AAVU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,qBAAL,kBAAKC,wBAAL;AAEL,EAAAA,wCAAA,oBAAiB,KAAjB;AAEA,EAAAA,wCAAA,uBAAoB,KAApB;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,0BAAL,kBAAKC,6BAAL;AAEL,EAAAA,kDAAA,aAAU,KAAV;AAEA,EAAAA,kDAAA,aAAU,KAAV;AAEA,EAAAA,kDAAA,WAAQ,KAAR;AANU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,0BAAL,kBAAKC,6BAAL;AACL,EAAAA,kDAAA,UAAO,KAAP;AACA,EAAAA,kDAAA,qBAAkB,KAAlB;AACA,EAAAA,kDAAA,WAAQ,KAAR;AACA,EAAAA,kDAAA,WAAQ,KAAR;AACA,EAAAA,kDAAA,sBAAmB,KAAnB;AACA,EAAAA,kDAAA,UAAO,KAAP;AACA,EAAAA,kDAAA,SAAM,KAAN;AAEA,EAAAA,kDAAA,qCAAkC,KAAlC;AATU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,iCAAL,kBAAKC,oCAAL;AAEL,EAAAA,gEAAA,UAAO,KAAP;AACA,EAAAA,gEAAA,kBAAe,KAAf;AACA,EAAAA,gEAAA,kBAAe,KAAf;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,uBAAL,kBAAKC,0BAAL;AACL,EAAAA,4CAAA,WAAQ,KAAR;AAEA,EAAAA,4CAAA,SAAM,KAAN;AAEA,EAAAA,4CAAA,aAAU,KAAV;AAEA,EAAAA,4CAAA,cAAW,KAAX;AAPU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,sBAAL,kBAAKC,yBAAL;AAEL,EAAAA,0CAAA,mBAAgB,KAAhB;AAEA,EAAAA,0CAAA,0BAAuB,KAAvB;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,4BAAL,kBAAKC,+BAAL;AACL,EAAAA,sDAAA,eAAY,KAAZ;AACA,EAAAA,sDAAA,0BAAuB,KAAvB;AACA,EAAAA,sDAAA,cAAW,KAAX;AAHU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,gCAAL,kBAAKC,mCAAL;AACL,EAAAA,8DAAA,eAAY,KAAZ;AACA,EAAAA,8DAAA,0BAAuB,KAAvB;AACA,EAAAA,8DAAA,cAAW,KAAX;AAHU,SAAAA;AAAA,GAAA;;;ACNL,IAAK,wBAAL,kBAAKC,2BAAL;AAEL,EAAAA,8CAAA,wBAAqB,KAArB;AAEA,EAAAA,8CAAA,sBAAmB,KAAnB;AAJU,SAAAA;AAAA,GAAA;;;ACML,IAAK,uBAAL,kBAAKC,0BAAL;AACL,EAAAA,4CAAA,cAAW,KAAX;AACA,EAAAA,4CAAA,aAAU,KAAV;AAFU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,4BAAL,kBAAKC,+BAAL;AAEL,EAAAA,sDAAA,yBAAsB,KAAtB;AACA,EAAAA,sDAAA,sBAAmB,KAAnB;AAHU,SAAAA;AAAA,GAAA;;;ACNL,IAAK,wBAAL,kBAAKC,2BAAL;AACL,EAAAA,8CAAA,gCAA6B,KAA7B;AACA,EAAAA,8CAAA,uBAAoB,KAApB;AACA,EAAAA,8CAAA,2BAAwB,KAAxB;AACA,EAAAA,8CAAA,wCAAqC,KAArC;AACA,EAAAA,8CAAA,wCAAqC,KAArC;AACA,EAAAA,8CAAA,sCAAmC,KAAnC;AACA,EAAAA,8CAAA,yCAAsC,KAAtC;AAPU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,0BAAL,kBAAKC,6BAAL;AACL,EAAAA,kDAAA,wCAAqC,KAArC;AACA,EAAAA,kDAAA,8BAA2B,KAA3B;AACA,EAAAA,kDAAA,qCAAkC,KAAlC;AACA,EAAAA,kDAAA,gCAA6B,KAA7B;AACA,EAAAA,kDAAA,gCAA6B,KAA7B;AACA,EAAAA,kDAAA,iCAA8B,KAA9B;AACA,EAAAA,kDAAA,+BAA4B,KAA5B;AACA,EAAAA,kDAAA,2BAAwB,KAAxB;AACA,EAAAA,kDAAA,+BAA4B,KAA5B;AACA,EAAAA,kDAAA,oCAAiC,KAAjC;AACA,EAAAA,kDAAA,uCAAoC,MAApC;AACA,EAAAA,kDAAA,iDAA8C,MAA9C;AACA,EAAAA,kDAAA,wCAAqC,MAArC;AACA,EAAAA,kDAAA,iCAA8B,MAA9B;AACA,EAAAA,kDAAA,sDAAmD,MAAnD;AACA,EAAAA,kDAAA,kCAA+B,MAA/B;AACA,EAAAA,kDAAA,mCAAgC,MAAhC;AACA,EAAAA,kDAAA,mCAAgC,MAAhC;AAlBU,SAAAA;AAAA,GAAA;;;ACML,IAAK,mBAAL,kBAAKC,sBAAL;AACL,EAAAA,oCAAA,aAAU,KAAV;AACA,EAAAA,oCAAA,mBAAgB,KAAhB;AACA,EAAAA,oCAAA,mBAAgB,KAAhB;AAHU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,qBAAL,kBAAKC,wBAAL;AACL,EAAAA,wCAAA,qBAAkB,KAAlB;AACA,EAAAA,wCAAA,uBAAoB,KAApB;AACA,EAAAA,wCAAA,qCAAkC,KAAlC;AACA,EAAAA,wCAAA,wBAAqB,KAArB;AACA,EAAAA,wCAAA,sBAAmB,KAAnB;AACA,EAAAA,wCAAA,iCAA8B,KAA9B;AACA,EAAAA,wCAAA,iCAA8B,KAA9B;AACA,EAAAA,wCAAA,sCAAmC,KAAnC;AACA,EAAAA,wCAAA,kBAAe,KAAf;AACA,EAAAA,wCAAA,YAAS,KAAT;AACA,EAAAA,wCAAA,oBAAiB,MAAjB;AACA,EAAAA,wCAAA,oBAAiB,MAAjB;AACA,EAAAA,wCAAA,yBAAsB,MAAtB;AACA,EAAAA,wCAAA,iBAAc,MAAd;AACA,EAAAA,wCAAA,mBAAgB,MAAhB;AAfU,SAAAA;AAAA,GAAA;;;ACNL,IAAK,0BAAL,kBAAKC,6BAAL;AACL,EAAAA,kDAAA,iBAAc,KAAd;AAEA,EAAAA,kDAAA,YAAS,KAAT;AAEA,EAAAA,kDAAA,cAAW,KAAX;AAEA,EAAAA,kDAAA,aAAU,KAAV;AAEA,EAAAA,kDAAA,iBAAc,KAAd;AAEA,EAAAA,kDAAA,yBAAsB,KAAtB;AACA,EAAAA,kDAAA,gBAAa,KAAb;AAEA,EAAAA,kDAAA,gBAAa,KAAb;AAEA,EAAAA,kDAAA,aAAU,KAAV;AACA,EAAAA,kDAAA,mBAAgB,KAAhB;AAjBU,SAAAA;AAAA,GAAA;;;ACML,IAAK,mBAAL,kBAAKC,sBAAL;AAEL,EAAAA,oCAAA,UAAO,KAAP;AACA,EAAAA,oCAAA,wBAAqB,KAArB;AACA,EAAAA,oCAAA,yBAAsB,KAAtB;AACA,EAAAA,oCAAA,2BAAwB,KAAxB;AACA,EAAAA,oCAAA,iBAAc,KAAd;AACA,EAAAA,oCAAA,qBAAkB,KAAlB;AACA,EAAAA,oCAAA,uBAAoB,KAApB;AACA,EAAAA,oCAAA,oBAAiB,KAAjB;AACA,EAAAA,oCAAA,sBAAmB,KAAnB;AACA,EAAAA,oCAAA,yBAAsB,KAAtB;AACA,EAAAA,oCAAA,6BAA0B,MAA1B;AACA,EAAAA,oCAAA,6BAA0B,MAA1B;AAEA,EAAAA,oCAAA,WAAQ,MAAR;AAfU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,oBAAL,kBAAKC,uBAAL;AAEL,EAAAA,sCAAA,oBAAiB,KAAjB;AAEA,EAAAA,sCAAA,yBAAsB,KAAtB;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,0BAAL,kBAAKC,6BAAL;AAEL,EAAAA,kDAAA,cAAW,KAAX;AACA,EAAAA,kDAAA,0BAAuB,KAAvB;AACA,EAAAA,kDAAA,yBAAsB,KAAtB;AACA,EAAAA,kDAAA,0BAAuB,KAAvB;AALU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,sBAAL,kBAAKC,yBAAL;AACL,EAAAA,0CAAA,iBAAc,KAAd;AACA,EAAAA,0CAAA,YAAS,KAAT;AACA,EAAAA,0CAAA,gBAAa,KAAb;AACA,EAAAA,0CAAA,eAAY,KAAZ;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,oBAAL,kBAAKC,uBAAL;AACL,EAAAA,sCAAA,mBAAgB,KAAhB;AACA,EAAAA,sCAAA,8BAA2B,KAA3B;AACA,EAAAA,sCAAA,oBAAiB,KAAjB;AACA,EAAAA,sCAAA,8BAA2B,KAA3B;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,kBAAL,kBAAKC,qBAAL;AACL,EAAAA,kCAAA,YAAS,KAAT;AACA,EAAAA,kCAAA,cAAW,KAAX;AACA,EAAAA,kCAAA,iBAAc,KAAd;AAHU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,qBAAL,kBAAKC,wBAAL;AACL,EAAAA,wCAAA,kCAA+B,KAA/B;AACA,EAAAA,wCAAA,sCAAmC,KAAnC;AACA,EAAAA,wCAAA,iDAA8C,KAA9C;AACA,EAAAA,wCAAA,uBAAoB,KAApB;AACA,EAAAA,wCAAA,qBAAkB,KAAlB;AALU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,iBAAL,kBAAKC,oBAAL;AACL,EAAAA,gCAAA,+BAA4B,KAA5B;AACA,EAAAA,gCAAA,mBAAgB,KAAhB;AACA,EAAAA,gCAAA,gCAA6B,KAA7B;AAHU,SAAAA;AAAA,GAAA;;;ACNL,IAAK,cAAL,kBAAKC,iBAAL;AAEL,EAAAA,0BAAA,YAAS,KAAT;AAEA,EAAAA,0BAAA,YAAS,KAAT;AAEA,EAAAA,0BAAA,YAAS,KAAT;AANU,SAAAA;AAAA,GAAA;;;ACML,IAAK,mBAAL,kBAAKC,sBAAL;AACL,EAAAA,oCAAA,iBAAc,KAAd;AACA,EAAAA,oCAAA,uBAAoB,KAApB;AAFU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,0BAAL,kBAAKC,6BAAL;AAEL,EAAAA,kDAAA,4BAAyB,KAAzB;AAEA,EAAAA,kDAAA,gCAA6B,KAA7B;AACA,EAAAA,kDAAA,8BAA2B,KAA3B;AALU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,0BAAL,kBAAKC,6BAAL;AAEL,EAAAA,kDAAA,oBAAiB,KAAjB;AAEA,EAAAA,kDAAA,YAAS,KAAT;AAEA,EAAAA,kDAAA,cAAW,KAAX;AAEA,EAAAA,kDAAA,gBAAa,KAAb;AAEA,EAAAA,kDAAA,kBAAe,KAAf;AAEA,EAAAA,kDAAA,YAAS,KAAT;AAEA,EAAAA,kDAAA,WAAQ,MAAR;AAdU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,wBAAL,kBAAKC,2BAAL;AACL,EAAAA,8CAAA,6BAA0B,KAA1B;AACA,EAAAA,8CAAA,8BAA2B,KAA3B;AACA,EAAAA,8CAAA,kCAA+B,KAA/B;AACA,EAAAA,8CAAA,qBAAkB,KAAlB;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,gBAAL,kBAAKC,mBAAL;AAEL,EAAAA,8BAAA,cAAW,KAAX;AAEA,EAAAA,8BAAA,cAAW,KAAX;AAEA,EAAAA,8BAAA,gBAAa,KAAb;AAEA,EAAAA,8BAAA,iBAAc,KAAd;AAEA,EAAAA,8BAAA,2BAAwB,KAAxB;AAEA,EAAAA,8BAAA,mBAAgB,KAAhB;AAEA,EAAAA,8BAAA,eAAY,KAAZ;AAEA,EAAAA,8BAAA,WAAQ,KAAR;AAEA,EAAAA,8BAAA,sCAAmC,KAAnC;AAEA,EAAAA,8BAAA,WAAQ,MAAR;AApBU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,mBAAL,kBAAKC,sBAAL;AACL,EAAAA,oCAAA,8BAA2B,KAA3B;AACA,EAAAA,oCAAA,gCAA6B,KAA7B;AACA,EAAAA,oCAAA,iCAA8B,KAA9B;AACA,EAAAA,oCAAA,4BAAyB,KAAzB;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,mBAAL,kBAAKC,sBAAL;AACL,EAAAA,oCAAA,WAAQ,KAAR;AACA,EAAAA,oCAAA,cAAW,KAAX;AACA,EAAAA,oCAAA,cAAW,KAAX;AACA,EAAAA,oCAAA,aAAU,KAAV;AACA,EAAAA,oCAAA,aAAU,KAAV;AALU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,qBAAL,kBAAKC,wBAAL;AAEL,EAAAA,wCAAA,cAAW,KAAX;AAEA,EAAAA,wCAAA,cAAW,KAAX;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,qBAAL,kBAAKC,wBAAL;AAEL,EAAAA,wCAAA,4BAAyB,KAAzB;AAEA,EAAAA,wCAAA,0BAAuB,KAAvB;AAEA,EAAAA,wCAAA,kCAA+B,KAA/B;AAEA,EAAAA,wCAAA,oCAAiC,KAAjC;AAEA,EAAAA,wCAAA,sCAAmC,KAAnC;AAEA,EAAAA,wCAAA,0BAAuB,KAAvB;AAEA,EAAAA,wCAAA,WAAQ,MAAR;AAdU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,4BAAL,kBAAKC,+BAAL;AAEL,EAAAA,sDAAA,qBAAkB,KAAlB;AAEA,EAAAA,sDAAA,eAAY,KAAZ;AACA,EAAAA,sDAAA,eAAY,KAAZ;AACA,EAAAA,sDAAA,oBAAiB,KAAjB;AACA,EAAAA,sDAAA,mBAAgB,KAAhB;AACA,EAAAA,sDAAA,oBAAiB,KAAjB;AACA,EAAAA,sDAAA,eAAY,KAAZ;AACA,EAAAA,sDAAA,uBAAoB,KAApB;AAEA,EAAAA,sDAAA,iCAA8B,KAA9B;AACA,EAAAA,sDAAA,yBAAsB,MAAtB;AAEA,EAAAA,sDAAA,eAAY,MAAZ;AACA,EAAAA,sDAAA,uBAAoB,MAApB;AAEA,EAAAA,sDAAA,iBAAc,MAAd;AACA,EAAAA,sDAAA,wBAAqB,MAArB;AAEA,EAAAA,sDAAA,sBAAmB,MAAnB;AAEA,EAAAA,sDAAA,eAAY,MAAZ;AAEA,EAAAA,sDAAA,UAAO,MAAP;AAEA,EAAAA,sDAAA,SAAM,MAAN;AA3BU,SAAAA;AAAA,GAAA;;;ACNL,IAAK,mCAAL,kBAAKC,sCAAL;AACL,EAAAA,oEAAA,iBAAc,KAAd;AAEA,EAAAA,oEAAA,gBAAa,KAAb;AAHU,SAAAA;AAAA,GAAA;;;ACML,IAAK,6BAAL,kBAAKC,gCAAL;AAEL,EAAAA,wDAAA,eAAY,KAAZ;AAEA,EAAAA,wDAAA,cAAW,KAAX;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,4BAAL,kBAAKC,+BAAL;AAEL,EAAAA,sDAAA,SAAM,KAAN;AAEA,EAAAA,sDAAA,YAAS,KAAT;AAEA,EAAAA,sDAAA,aAAU,KAAV;AANU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,gCAAL,kBAAKC,mCAAL;AAEL,EAAAA,8DAAA,cAAW,KAAX;AAEA,EAAAA,8DAAA,cAAW,KAAX;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,+BAAL,kBAAKC,kCAAL;AAEL,EAAAA,4DAAA,mBAAgB,KAAhB;AAEA,EAAAA,4DAAA,2BAAwB,KAAxB;AAEA,EAAAA,4DAAA,WAAQ,MAAR;AANU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,oBAAL,kBAAKC,uBAAL;AACL,EAAAA,sCAAA,aAAU,KAAV;AACA,EAAAA,sCAAA,cAAW,KAAX;AACA,EAAAA,sCAAA,aAAU,KAAV;AAHU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,qBAAL,kBAAKC,wBAAL;AAEL,EAAAA,wCAAA,SAAM,KAAN;AAEA,EAAAA,wCAAA,aAAU,KAAV;AACA,EAAAA,wCAAA,YAAS,KAAT;AALU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,kBAAL,kBAAKC,qBAAL;AAEL,EAAAA,kCAAA,cAAW,KAAX;AAEA,EAAAA,kCAAA,cAAW,KAAX;AAEA,EAAAA,kCAAA,cAAW,KAAX;AACA,EAAAA,kCAAA,cAAW,KAAX;AAPU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,sBAAL,kBAAKC,yBAAL;AAEL,EAAAA,0CAAA,SAAM,KAAN;AAEA,EAAAA,0CAAA,YAAS,KAAT;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,mBAAL,kBAAKC,sBAAL;AAEL,EAAAA,oCAAA,cAAW,KAAX;AAEA,EAAAA,oCAAA,cAAW,KAAX;AAEA,EAAAA,oCAAA,cAAW,KAAX;AACA,EAAAA,oCAAA,cAAW,KAAX;AAPU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,gCAAL,kBAAKC,mCAAL;AAEL,EAAAA,8DAAA,cAAW,KAAX;AAEA,EAAAA,8DAAA,mBAAgB,KAAhB;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,yBAAL,kBAAKC,4BAAL;AACL,EAAAA,gDAAA,SAAM,KAAN;AACA,EAAAA,gDAAA,eAAY,KAAZ;AACA,EAAAA,gDAAA,aAAU,KAAV;AACA,EAAAA,gDAAA,eAAY,KAAZ;AACA,EAAAA,gDAAA,cAAW,KAAX;AALU,SAAAA;AAAA,GAAA;;;ACNL,IAAK,4BAAL,kBAAKC,+BAAL;AAEL,EAAAA,2BAAA,mBAAgB;AAEhB,EAAAA,2BAAA,sBAAmB;AAJT,SAAAA;AAAA,GAAA;;;ACML,IAAK,qBAAL,kBAAKC,wBAAL;AAEL,EAAAA,oBAAA,sBAAmB;AAEnB,EAAAA,oBAAA,8BAA2B;AAE3B,EAAAA,oBAAA,kBAAe;AANL,SAAAA;AAAA,GAAA;;;ACAL,IAAK,gBAAL,kBAAKC,mBAAL;AACL,EAAAA,8BAAA,SAAM,KAAN;AACA,EAAAA,8BAAA,WAAQ,KAAR;AAEA,EAAAA,8BAAA,cAAW,KAAX;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,aAAL,kBAAKC,gBAAL;AACL,EAAAA,wBAAA,mBAAgB,KAAhB;AACA,EAAAA,wBAAA,YAAS,KAAT;AACA,EAAAA,wBAAA,SAAM,KAAN;AACA,EAAAA,wBAAA,YAAS,KAAT;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,uBAAL,kBAAKC,0BAAL;AAEL,EAAAA,sBAAA,2BAAwB;AAExB,EAAAA,sBAAA,yBAAsB;AAJZ,SAAAA;AAAA,GAAA;;;ACAL,IAAK,iCAAL,kBAAKC,oCAAL;AAEL,EAAAA,gCAAA,yBAAsB;AAEtB,EAAAA,gCAAA,sBAAmB;AAJT,SAAAA;AAAA,GAAA;;;ACAL,IAAK,6BAAL,kBAAKC,gCAAL;AACL,EAAAA,wDAAA,qBAAkB,KAAlB;AACA,EAAAA,wDAAA,wBAAqB,KAArB;AACA,EAAAA,wDAAA,gBAAa,KAAb;AACA,EAAAA,wDAAA,gCAA6B,KAA7B;AACA,EAAAA,wDAAA,sBAAmB,KAAnB;AALU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,gBAAL,kBAAKC,mBAAL;AACL,EAAAA,8BAAA,UAAO,KAAP;AACA,EAAAA,8BAAA,UAAO,KAAP;AACA,EAAAA,8BAAA,gBAAa,KAAb;AACA,EAAAA,8BAAA,wBAAqB,KAArB;AACA,EAAAA,8BAAA,sBAAmB,KAAnB;AACA,EAAAA,8BAAA,wBAAqB,KAArB;AACA,EAAAA,8BAAA,WAAQ,MAAR;AAPU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,kBAAL,kBAAKC,qBAAL;AACL,EAAAA,kCAAA,YAAS,KAAT;AACA,EAAAA,kCAAA,cAAW,KAAX;AAFU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,2BAAL,kBAAKC,8BAAL;AACL,EAAAA,oDAAA,0BAAuB,KAAvB;AACA,EAAAA,oDAAA,qBAAkB,KAAlB;AACA,EAAAA,oDAAA,8BAA2B,KAA3B;AAHU,SAAAA;AAAA,GAAA;;;ACNL,IAAK,6BAAL,kBAAKC,gCAAL;AAEL,EAAAA,wDAAA,gCAA6B,KAA7B;AAEA,EAAAA,wDAAA,+BAA4B,KAA5B;AAJU,SAAAA;AAAA,GAAA;;;ACML,IAAK,uBAAL,kBAAKC,0BAAL;AAEL,EAAAA,4CAAA,kBAAe,KAAf;AACA,EAAAA,4CAAA,2BAAwB,KAAxB;AACA,EAAAA,4CAAA,2BAAwB,KAAxB;AACA,EAAAA,4CAAA,8BAA2B,KAA3B;AACA,EAAAA,4CAAA,oCAAiC,KAAjC;AANU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,oBAAL,kBAAKC,uBAAL;AAEL,EAAAA,sCAAA,kBAAe,KAAf;AACA,EAAAA,sCAAA,sBAAmB,KAAnB;AACA,EAAAA,sCAAA,gBAAa,KAAb;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,qBAAL,kBAAKC,wBAAL;AAEL,EAAAA,oBAAA,WAAQ;AAER,EAAAA,oBAAA,WAAQ;AAER,EAAAA,oBAAA,gBAAa;AAEb,EAAAA,oBAAA,qBAAkB;AAClB,EAAAA,oBAAA,yCAAsC;AAEtC,EAAAA,oBAAA,4BAAyB;AAXf,SAAAA;AAAA,GAAA;;;ACAL,IAAK,sCAAL,kBAAKC,yCAAL;AAEL,EAAAA,0EAAA,6BAA0B,KAA1B;AAEA,EAAAA,0EAAA,0BAAuB,KAAvB;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,iCAAL,kBAAKC,oCAAL;AACL,EAAAA,gEAAA,sBAAmB,KAAnB;AACA,EAAAA,gEAAA,mBAAgB,KAAhB;AACA,EAAAA,gEAAA,6BAA0B,KAA1B;AAHU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,2BAAL,kBAAKC,8BAAL;AAEL,EAAAA,oDAAA,cAAW,KAAX;AAEA,EAAAA,oDAAA,cAAW,KAAX;AACA,EAAAA,oDAAA,cAAW,KAAX;AALU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,0BAAL,kBAAKC,6BAAL;AAEL,EAAAA,kDAAA,cAAW,KAAX;AAEA,EAAAA,kDAAA,cAAW,KAAX;AACA,EAAAA,kDAAA,cAAW,KAAX;AALU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,uBAAL,kBAAKC,0BAAL;AAEL,EAAAA,4CAAA,eAAY,KAAZ;AAEA,EAAAA,4CAAA,+BAA4B,KAA5B;AAEA,EAAAA,4CAAA,8BAA2B,KAA3B;AANU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,gCAAL,kBAAKC,mCAAL;AACL,EAAAA,8DAAA,cAAW,KAAX;AACA,EAAAA,8DAAA,cAAW,KAAX;AAFU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,sBAAL,kBAAKC,yBAAL;AAEL,EAAAA,0CAAA,kBAAe,KAAf;AAEA,EAAAA,0CAAA,YAAS,KAAT;AAEA,EAAAA,0CAAA,eAAY,KAAZ;AAEA,EAAAA,0CAAA,UAAO,KAAP;AAEA,EAAAA,0CAAA,YAAS,KAAT;AAEA,EAAAA,0CAAA,aAAU,KAAV;AAEA,EAAAA,0CAAA,cAAW,KAAX;AAEA,EAAAA,0CAAA,gBAAa,MAAb;AAhBU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,kCAAL,kBAAKC,qCAAL;AAEL,EAAAA,kEAAA,SAAM,KAAN;AAEA,EAAAA,kEAAA,YAAS,KAAT;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,+BAAL,kBAAKC,kCAAL;AAEL,EAAAA,4DAAA,cAAW,KAAX;AAEA,EAAAA,4DAAA,cAAW,KAAX;AACA,EAAAA,4DAAA,cAAW,KAAX;AALU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,iCAAL,kBAAKC,oCAAL;AAEL,EAAAA,gEAAA,SAAM,KAAN;AAEA,EAAAA,gEAAA,YAAS,KAAT;AAEA,EAAAA,gEAAA,aAAU,KAAV;AANU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,8BAAL,kBAAKC,iCAAL;AAEL,EAAAA,0DAAA,cAAW,KAAX;AAEA,EAAAA,0DAAA,cAAW,KAAX;AACA,EAAAA,0DAAA,cAAW,KAAX;AALU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,wBAAL,kBAAKC,2BAAL;AACL,EAAAA,8CAAA,WAAQ,KAAR;AACA,EAAAA,8CAAA,cAAW,KAAX;AACA,EAAAA,8CAAA,eAAY,KAAZ;AAHU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,oBAAL,kBAAKC,uBAAL;AAEL,EAAAA,sCAAA,WAAQ,KAAR;AAEA,EAAAA,sCAAA,UAAO,KAAP;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,4BAAL,kBAAKC,+BAAL;AAEL,EAAAA,sDAAA,SAAM,KAAN;AAEA,EAAAA,sDAAA,YAAS,KAAT;AAJU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,yBAAL,kBAAKC,4BAAL;AAEL,EAAAA,gDAAA,cAAW,KAAX;AAEA,EAAAA,gDAAA,cAAW,KAAX;AACA,EAAAA,gDAAA,cAAW,KAAX;AALU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,iBAAL,kBAAKC,oBAAL;AAEL,EAAAA,gCAAA,WAAQ,KAAR;AAEA,EAAAA,gCAAA,UAAO,KAAP;AAEA,EAAAA,gCAAA,WAAQ,KAAR;AANU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,0BAAL,kBAAKC,6BAAL;AAEL,EAAAA,kDAAA,cAAW,KAAX;AAEA,EAAAA,kDAAA,cAAW,KAAX;AACA,EAAAA,kDAAA,cAAW,KAAX;AALU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,yBAAL,kBAAKC,4BAAL;AACL,EAAAA,gDAAA,eAAY,KAAZ;AACA,EAAAA,gDAAA,eAAY,KAAZ;AACA,EAAAA,gDAAA,eAAY,KAAZ;AAHU,SAAAA;AAAA,GAAA;;;ACAL,IAAK,kBAAL,kBAAKC,qBAAL;AAEL,EAAAA,kCAAA,eAAY,KAAZ;AAEA,EAAAA,kCAAA,UAAO,KAAP;AAEA,EAAAA,kCAAA,UAAO,KAAP;AAEA,EAAAA,kCAAA,aAAU,KAAV;AARU,SAAAA;AAAA,GAAA;;;ACNL,IAAKC,WAAL,kBAAKA,aAAL;AAEL,EAAAA,SAAA,eAAY;AAEZ,EAAAA,SAAA,iBAAc;AAEd,EAAAA,SAAA,mBAAgB;AAEhB,EAAAA,SAAA,YAAS;AAET,EAAAA,SAAA,mBAAgB;AAEhB,EAAAA,SAAA,YAAS;AACT,EAAAA,SAAA,SAAM;AAEN,EAAAA,SAAA,mBAAgB;AAChB,EAAAA,SAAA,qBAAkB;AAElB,EAAAA,SAAA,uBAAoB;AAEpB,EAAAA,SAAA,WAAQ;AAER,EAAAA,SAAA,UAAO;AAEP,EAAAA,SAAA,WAAQ;AACR,EAAAA,SAAA,oBAAiB;AAEjB,EAAAA,SAAA,kBAAe;AAEf,EAAAA,SAAA,wBAAqB;AACrB,EAAAA,SAAA,+BAA4B;AAE5B,EAAAA,SAAA,wBAAqB;AACrB,EAAAA,SAAA,2BAAwB;AAExB,EAAAA,SAAA,uBAAoB;AAEpB,EAAAA,SAAA,iBAAc;AAEd,EAAAA,SAAA,uBAAoB;AAEpB,EAAAA,SAAA,gBAAa;AACb,EAAAA,SAAA,8BAA2B;AAE3B,EAAAA,SAAA,mBAAgB;AAEhB,EAAAA,SAAA,kBAAe;AAEf,EAAAA,SAAA,WAAQ;AAER,EAAAA,SAAA,4BAAyB;AAEzB,EAAAA,SAAA,uBAAoB;AAEpB,EAAAA,SAAA,mCAAgC;AAEhC,EAAAA,SAAA,kCAA+B;AAE/B,EAAAA,SAAA,6BAA0B;AAC1B,EAAAA,SAAA,iBAAc;AACd,EAAAA,SAAA,wBAAqB;AAErB,EAAAA,SAAA,kBAAe;AACf,EAAAA,SAAA,+BAA4B;AAC5B,EAAAA,SAAA,wBAAqB;AAErB,EAAAA,SAAA,2BAAwB;AAExB,EAAAA,SAAA,oBAAiB;AAEjB,EAAAA,SAAA,iCAA8B;AAE9B,EAAAA,SAAA,0BAAuB;AAEvB,EAAAA,SAAA,eAAY;AAEZ,EAAAA,SAAA,2BAAwB;AACxB,EAAAA,SAAA,gBAAa;AACb,EAAAA,SAAA,iBAAc;AAEd,EAAAA,SAAA,qBAAkB;AAClB,EAAAA,SAAA,eAAY;AAEZ,EAAAA,SAAA,8BAA2B;AAE3B,EAAAA,SAAA,sCAAmC;AAEnC,EAAAA,SAAA,4BAAyB;AAEzB,EAAAA,SAAA,2BAAwB;AAExB,EAAAA,SAAA,mBAAgB;AAEhB,EAAAA,SAAA,oCAAiC;AAEjC,EAAAA,SAAA,6BAA0B;AAE1B,EAAAA,SAAA,yBAAsB;AAEtB,EAAAA,SAAA,mBAAgB;AAEhB,EAAAA,SAAA,yBAAsB;AAEtB,EAAAA,SAAA,kBAAe;AAEf,EAAAA,SAAA,mCAAgC;AAEhC,EAAAA,SAAA,4BAAyB;AAEzB,EAAAA,SAAA,sBAAmB;AAEnB,EAAAA,SAAA,gCAA6B;AAC7B,EAAAA,SAAA,+BAA4B;AAC5B,EAAAA,SAAA,wBAAqB;AAErB,EAAAA,SAAA,4BAAyB;AAEzB,EAAAA,SAAA,wBAAqB;AAErB,EAAAA,SAAA,gBAAa;AACb,EAAAA,SAAA,uBAAoB;AACpB,EAAAA,SAAA,mBAAgB;AAEhB,EAAAA,SAAA,kBAAe;AAEf,EAAAA,SAAA,gCAA6B;AAE7B,EAAAA,SAAA,+BAA4B;AAE5B,EAAAA,SAAA,yBAAsB;AAEtB,EAAAA,SAAA,4BAAyB;AAEzB,EAAAA,SAAA,oBAAiB;AACjB,EAAAA,SAAA,kCAA+B;AAC/B,EAAAA,SAAA,2BAAwB;AACxB,EAAAA,SAAA,sBAAmB;AAEnB,EAAAA,SAAA,yBAAsB;AAEtB,EAAAA,SAAA,qBAAkB;AAElB,EAAAA,SAAA,kCAA+B;AAE/B,EAAAA,SAAA,sBAAmB;AAEnB,EAAAA,SAAA,uBAAoB;AAEpB,EAAAA,SAAA,0BAAuB;AAEvB,EAAAA,SAAA,wBAAqB;AAErB,EAAAA,SAAA,sBAAmB;AAEnB,EAAAA,SAAA,uBAAoB;AAEpB,EAAAA,SAAA,4CAAyC;AAEzC,EAAAA,SAAA,6CAA0C;AAE1C,EAAAA,SAAA,iBAAc;AAEd,EAAAA,SAAA,kBAAe;AACf,EAAAA,SAAA,0BAAuB;AAEvB,EAAAA,SAAA,yBAAsB;AAEtB,EAAAA,SAAA,6BAA0B;AAE1B,EAAAA,SAAA,oCAAiC;AAEjC,EAAAA,SAAA,8BAA2B;AAE3B,EAAAA,SAAA,4BAAyB;AAEzB,EAAAA,SAAA,gCAA6B;AAE7B,EAAAA,SAAA,kBAAe;AAEf,EAAAA,SAAA,wBAAqB;AAErB,EAAAA,SAAA,+BAA4B;AAE5B,EAAAA,SAAA,gCAA6B;AAE7B,EAAAA,SAAA,wCAAqC;AAErC,EAAAA,SAAA,oCAAiC;AAEjC,EAAAA,SAAA,6BAA0B;AAE1B,EAAAA,SAAA,sBAAmB;AAEnB,EAAAA,SAAA,kCAA+B;AAE/B,EAAAA,SAAA,+BAA4B;AAE5B,EAAAA,SAAA,kCAA+B;AAE/B,EAAAA,SAAA,8BAA2B;AAE3B,EAAAA,SAAA,2BAAwB;AAExB,EAAAA,SAAA,4BAAyB;AAEzB,EAAAA,SAAA,sBAAmB;AAEnB,EAAAA,SAAA,6BAA0B;AAE1B,EAAAA,SAAA,4BAAyB;AAEzB,EAAAA,SAAA,+BAA4B;AAE5B,EAAAA,SAAA,6BAA0B;AAE1B,EAAAA,SAAA,4BAAyB;AACzB,EAAAA,SAAA,8BAA2B;AAE3B,EAAAA,SAAA,iCAA8B;AAE9B,EAAAA,SAAA,6BAA0B;AAE1B,EAAAA,SAAA,kCAA+B;AAE/B,EAAAA,SAAA,4BAAyB;AAEzB,EAAAA,SAAA,2BAAwB;AACxB,EAAAA,SAAA,+BAA4B;AAC5B,EAAAA,SAAA,wBAAqB;AACrB,EAAAA,SAAA,0BAAuB;AAEvB,EAAAA,SAAA,iCAA8B;AAE9B,EAAAA,SAAA,sCAAmC;AAEnC,EAAAA,SAAA,yCAAsC;AAEtC,EAAAA,SAAA,8BAA2B;AAE3B,EAAAA,SAAA,6BAA0B;AAC1B,EAAAA,SAAA,cAAW;AACX,EAAAA,SAAA,mCAAgC;AAEhC,EAAAA,SAAA,sCAAmC;AAEnC,EAAAA,SAAA,mCAAgC;AAChC,EAAAA,SAAA,wCAAqC;AAErC,EAAAA,SAAA,2CAAwC;AAExC,EAAAA,SAAA,sBAAmB;AAEnB,EAAAA,SAAA,yBAAsB;AAEtB,EAAAA,SAAA,8BAA2B;AAE3B,EAAAA,SAAA,gCAA6B;AAE7B,EAAAA,SAAA,mCAAgC;AAEhC,EAAAA,SAAA,wBAAqB;AAErB,EAAAA,SAAA,uBAAoB;AACpB,EAAAA,SAAA,eAAY;AACZ,EAAAA,SAAA,kBAAe;AAEf,EAAAA,SAAA,iCAA8B;AAC9B,EAAAA,SAAA,oCAAiC;AAEjC,EAAAA,SAAA,4BAAyB;AACzB,EAAAA,SAAA,iCAA8B;AAC9B,EAAAA,SAAA,gCAA6B;AAE7B,EAAAA,SAAA,yBAAsB;AACtB,EAAAA,SAAA,sBAAmB;AACnB,EAAAA,SAAA,kBAAe;AAEf,EAAAA,SAAA,qBAAkB;AAElB,EAAAA,SAAA,uCAAoC;AAEpC,EAAAA,SAAA,0CAAuC;AAEvC,EAAAA,SAAA,6BAA0B;AAE1B,EAAAA,SAAA,4BAAyB;AACzB,EAAAA,SAAA,yBAAsB;AAEtB,EAAAA,SAAA,4BAAyB;AACzB,EAAAA,SAAA,0BAAuB;AAEvB,EAAAA,SAAA,6BAA0B;AAC1B,EAAAA,SAAA,6BAA0B;AAC1B,EAAAA,SAAA,gCAA6B;AAE7B,EAAAA,SAAA,4BAAyB;AAEzB,EAAAA,SAAA,+BAA4B;AAE5B,EAAAA,SAAA,+BAA4B;AAC5B,EAAAA,SAAA,4BAAyB;AACzB,EAAAA,SAAA,+BAA4B;AAC5B,EAAAA,SAAA,2BAAwB;AACxB,EAAAA,SAAA,8BAA2B;AAC3B,EAAAA,SAAA,gCAA6B;AAE7B,EAAAA,SAAA,mCAAgC;AAChC,EAAAA,SAAA,uBAAoB;AAEpB,EAAAA,SAAA,0BAAuB;AACvB,EAAAA,SAAA,sBAAmB;AAtTT,SAAAA;AAAA,eAAA;;;ACML,IAAM,YAAY,CAAC,QAAoB,cAA+B;AAC3E,QAAM,SAAkB;AAAA,IACtB,IAAI,2BAA6B,OAAO,UAAU;AAAA,IAClD,IAAI,2CAA8C;AAAA,IAClD,IAAI,0BAA2B,OAAO,uBAAuB,CAAC;AAAA,IAC9D,IAAI,6BAA8B,OAAO,MAAM;AAAA,IAC/C,IAAI,6BAA8B,OAAO,MAAM;AAAA,IAC/C,IAAI,4BAA6B,OAAO,aAAa,oBAAI,KAAK,CAAC,CAAC;AAAA,EAClE;AAEA,MAAI,WAAW;AACb,WAAO,KAAK,SAAS;AAAA,EACvB;AAEA,SAAO,OAAO,cAAc,GAAG,MAAM;AACvC;;;ACbO,IAAM,cAAc,CACzB,QACA,eACA,YACY;AACZ,MAAI,OAAO,YAAY;AACrB,QAAI,OAAO,mBAAmB,YAAY;AACxC,UACE,QAAQ,kCAAkC,KAC1C,QAAQ,kCAAkC,EAAG,MAAO,SAAS,MAAM,KACnE;AACA,eAAO,OAAO,IAAI;AAAA,UAChB,OAAO;AAAA,UACP,SAAS,cAAc,OAAO,SAAU,YAAY,CAAC;AAAA,QACvD,CAAC;AACD,eAAO,YAAY;AAAA,MACrB;AAAA,IACF,OAAO;AACL,aAAO,OAAO,IAAI;AAAA,QAChB,OAAO;AAAA,QACP,SAAS,cAAc,OAAO,SAAU,YAAY,CAAC;AAAA,MACvD,CAAC;AAAA,IACH;AACA,WAAO;AAAA,EACT;AAEA,QAAM,aAA4B;AAAA,IAChC,QAAQ,4BAA8B,GAAG;AAAA,EAC3C;AAEA,MAAI,cAAc;AAClB,MAAI,cAAc;AAClB,MAAI,cAAc;AAClB,MAAI,eAAe;AAEnB,MAAI,YAAY;AACd,WAAO,OAAO,IAAI;AAAA,MAChB,OAAO;AAAA,MACP,SAAS,cAAc,OAAO,UAAU,YAAY,CAAC,4BAA4B,UAAU;AAAA,IAC7F,CAAC;AACD,WAAO,aAAa;AACpB,QAAI,OAAO,WAAW;AACpB,aAAO,UAAU,aAAa;AAAA,IAChC;AAAA,EACF;AAEA,QAAM,SAAwB,QAAQ,8BAA+B,IACjE,QAAQ,8BAA+B,EAAG,MAAO,SAAS,IAC1D,OAAO;AACX,QAAM,SAAwB,QAAQ,8BAA+B,IACjE,QAAQ,8BAA+B,EAAG,MAAO,SAAS,IAC1D,OAAO;AAGX,MAAI,UAAU,UAAU,OAAO,UAAU,OAAO,QAAQ;AACtD,WAAO,OAAO,WAAW;AAAA,MACvB,SAAS,cAAc,OAAO,SAAU,YAAY,CAAC,+BACnD,OAAO,MACT,aAAa,MAAM;AAAA,IACrB,CAAC;AACD,kBAAc;AAAA,EAChB;AAGA,MAAI,UAAU,UAAU,OAAO,UAAU,OAAO,QAAQ;AACtD,WAAO,OAAO,WAAW;AAAA,MACvB,SAAS,cAAc,OAAO,UAAU,YAAY,CAAC,+BACnD,OAAO,MACT,aAAa,MAAM;AAAA,IACrB,CAAC;AACD,kBAAc;AAAA,EAChB;AAGA,QAAM,sBAAsB,QAAQ,uBAAuB,CAAC;AAC5D,QAAM,mCAAmC,oBAAoB,SAAS;AAGtE,MAAI,kCAAkC;AACpC,eAAW,SAAS,qBAAqB;AACvC,UAAI,CAAC,QAAQ,SAAS,KAAK,GAAG;AAC5B,eAAO,OAAO,WAAW;AAAA,UACvB,SAAS,cAAc,OAAO,UAAU,YAAY,CAAC,gCAAgC,KAAK;AAAA,QAC5F,CAAC;AACD,sBAAc;AACd,uBAAe,0BAA0B,KAAK;AAAA,MAChD;AAAA,IACF;AAAA,EACF;AAGA,MAAI,eAAe,eAAe,aAAa;AAC7C,QAAI,OAAO,mBAAmB,YAAY;AACxC,aAAO,YAAY;AACnB,aAAO,uBAAuB,CAAC;AAE/B,YAAM,mBAA4B,OAAO;AAAA,QACvC,IAAI,uCAA0C;AAAA,QAC9C,IAAI,0BAA2B,OAAO,uBAAuB,CAAC;AAAA,QAC9D,IAAI,6BAA8B,MAAM;AAAA,QACxC,IAAI,4BAA6B,OAAO,aAAa,oBAAI,KAAK,CAAC,CAAC;AAAA,QAChE,IAAI,6BAA8B,MAAM;AAAA,QACxC,IAAI,iCAAiC,GAAG;AAAA,QACxC,IAAI,0CAAiD;AAAA,QACrD,IAAI;AAAA;AAAA,UAEF,QAAQ,6BAA6B,IAChC,QAAQ,6BAA6B,GAAG,QACzC,OAAO;AAAA,QACb;AAAA,MACF;AACA,aAAO,KAAK,gBAAgB;AAC5B,aAAO,OAAO,IAAI;AAAA,QAChB,OAAO;AAAA,QACP,SAAS,cAAc,OAAO,UAAU,YAAY,CAAC;AAAA,MACvD,CAAC;AAAA,IACH,OAAO;AACL,UACE,QAAQ,kCAAkC,KAC1C,QAAQ,kCAAkC,GAAG,OAAO,SAAS,MAAM,KACnE;AACA,eAAO,OAAO,IAAI;AAAA,UAChB,OAAO;AAAA,UACP,SAAS,cAAc,OAAO,UAAU,YAAY,CAAC;AAAA,QACvD,CAAC;AACD,eAAO,YAAY;AACnB,eAAO,uBAAuB,CAAC;AAAA,MACjC;AAAA,IACF;AAEA,WAAO,aAAa;AACpB,WAAO,OAAO,IAAI;AAAA,MAChB,OAAO;AAAA,MACP,SAAS,cAAc,OAAO,UAAU,YAAY,CAAC,6BACnD,OAAO,cACT;AAAA,IACF,CAAC;AACD,UAAM,oBAA4B,QAAQ,6BAA6B,IACnE,OAAO,QAAQ,6BAA6B,GAAG,KAAM,IACrD,OAAO;AACX,WAAO,oBAAoB;AAC3B,QAAI,OAAO,WAAW;AACpB,aAAO,UAAU,oBAAoB;AAAA,IACvC;AACA,WAAO,eAAe,iBAAiB;AACvC,WAAO;AAAA,EACT;AAGA,QAAM,cAAuB,OAAO;AAAA,IAClC,IAAI,wCAA2C;AAAA,IAC/C,IAAI,0BAA2B,OAAO,uBAAuB,CAAC;AAAA,IAC9D,IAAI,6BAA8B,cAAc,SAAS,gBAAgB;AAAA,IACzE,IAAI,4BAA6B,OAAO,aAAa,oBAAI,KAAK,CAAC,CAAC;AAAA,IAChE,IAAI,6BAA8B,cAAc,SAAS,gBAAgB;AAAA,IACzE,IAAI,qBAAsB,YAAY;AAAA,EACxC;AAEA,SAAO,aAAa;AACpB,SAAO,KAAK,WAAW;AACvB,SAAO,OAAO,WAAW;AAAA,IACvB,SAAS,cAAc,OAAO,UAAU,YAAY,CAAC;AAAA,EACvD,CAAC;AAED,SAAO,cAAc;AACrB,SAAO,MAAM;AACb,SAAO;AACT;;;ACzKO,IAAM,eAAe,CAAC,QAAoB,YAA2B;AAC1E,SAAO,aAAa;AAEpB,MAAI,CAAC,OAAO,iBAAiB;AAC3B,UAAM,oBAA6B,OAAO;AAAA,MACxC,IAAI,wCAA2C;AAAA,MAC/C,IAAI,0BAA2B,OAAO,uBAAuB,CAAC;AAAA,MAC9D,IAAI;AAAA;AAAA,QAEF,QAAQ,8BAA+B,IACnC,QAAQ,8BAA+B,EAAG,MAAO,SAAS,IAC1D,OAAO;AAAA,MACb;AAAA,MACA,IAAI,4BAA6B,OAAO,aAAa,oBAAI,KAAK,CAAC,CAAC;AAAA,MAChE,IAAI;AAAA;AAAA,QAEF,QAAQ,8BAA+B,IACnC,QAAQ,8BAA+B,EAAG,MAAO,SAAS,IAC1D,OAAO;AAAA,MACb;AAAA,MACA,IAAI,qBAAsB,wBAAwB;AAAA,IACpD;AACA,WAAO,KAAK,iBAAiB;AAC7B,WAAO,OAAO,IAAI;AAAA,MAChB,OAAO;AAAA,MACP,SAAS,cAAc,OAAO,UAAU,YAAY,CAAC;AAAA,IACvD,CAAC;AAAA,EACH;AACA,SAAO,cAAc;AACrB,SAAO,MAAM;AACf;;;AClCO,IAAM,aAAqB;AAE3B,IAAM,gBAAN,MAAoB;AAAA,EACjB,SAAoB,CAAC;AAAA,EAEtB,IAAI,SAAwB;AACjC,QAAI,KAAK,OAAO,WAAW,YAAY;AACrC,WAAK,OAAO,IAAI;AAAA,IAClB;AACA,SAAK,OAAO,QAAQ,OAAO;AAAA,EAC7B;AAAA,EAEO,iBAAiB,aAAqC;AAC3D,UAAM,QAAgB,KAAK,OAAO;AAAA,MAChC,aAAW,QAAQ,oBAAoB;AAAA,IACzC;AACA,QAAI,QAAQ,IAAI;AACd,aAAO,KAAK,OAAO,KAAK;AAAA,IAC1B;AACA,WAAO;AAAA,EACT;AAAA,EAEO,OAAe;AACpB,WAAO,KAAK,OAAO;AAAA,EACrB;AAAA,EAEO,QAAc;AACnB,SAAK,SAAS,CAAC;AAAA,EACjB;AACF;;;ACzBO,IAAM,sBAAsB,CACjC,QACA,eACA,YACS;AACT,QAAM,OAAsB,QAAQ,2BAA6B,IAC7D,OAAO,QAAQ,2BAA6B,GAAG,KAAK,IACpD;AACJ,MAAI,KAAoB,QAAQ,0BAA2B,IACvD,OAAO,QAAQ,0BAA2B,GAAG,KAAK,IAClD,cAAc,KAAK;AAEvB,MAAI,OAAO,GAAG;AACZ,SAAK,cAAc,KAAK;AAAA,EAC1B;AAEA,MAAI,QAAQ,QAAQ,KAAK,MAAM,YAAY;AACzC,QAAI,IAAY;AAChB,SAAK,MAAM,KAAK,IAAI,KAAK;AACvB,YAAM,oBAAoC,cAAc,iBAAiB,CAAC;AAC1E,UAAI,mBAAmB;AACrB,0BAAkB,qCAAsC;AACxD,0BAAkB,SAAS,IAAI,4BAA6B,GAAG,CAAC;AAEhE,YAAI,kBAAkB,6BAA8B,GAAG;AACrD,gBAAM,sBAA8B,GAAG,kBAAkB,6BAA8B,GAAG,KAAK;AAC/F,4BAAkB,qCAAsC;AACxD,4BAAkB;AAAA,YAChB,IAAI,4BAA6B,OAAO,aAAa,oBAAI,KAAK,CAAC,CAAC;AAAA,UAClE;AAEA,4BAAkB,0CAA0C;AAC5D,4BAAkB;AAAA,YAChB,IAAI,iCAAiC,mBAAmB;AAAA,UAC1D;AAAA,QACF;AACA,eAAO,KAAK,iBAAiB;AAAA,MAC/B,OAAO;AACL,eAAO,OAAO,WAAW;AAAA,UACvB,SAAS,GACP,OAAO,UACT,KAAK,OAAO,UAAU,YAAY,CAAC,8CAA8C,CAAC;AAAA,QACpF,CAAC;AAAA,MACH;AAAA,IACF;AACA,WAAO,OAAO,IAAI;AAAA,MAChB,OAAO;AAAA,MACP,SAAS,GAAG,OAAO,UAAU,KAAK,OAAO,UAAU,YAAY,CAAC;AAAA,IAClE,CAAC;AAAA,EACH,OAAO;AACL,WAAO,OAAO,WAAW;AAAA,MACvB,SAAS,GAAG,OAAO,UAAU,KAAK,OAAO,UAAU,YAAY,CAAC;AAAA,IAClE,CAAC;AAAA,EACH;AACF;;;ACxDO,IAAM,sBAAsB,CAAC,QAAoB,YAA2B;AACjF,QAAM,WAAmB,QAAQ,0BAA2B,GAAG;AAC/D,MAAI,YAAY,OAAO,SAAS,QAAQ,GAAG;AACzC,WAAO,OAAO,IAAI;AAAA,MAChB,OAAO;AAAA,MACP,SAAS,GACP,OAAO,UACT,KAAK,OAAO,UAAU,YAAY,CAAC,4CAA4C,QAAQ;AAAA,IACzF,CAAC;AACD,QAAI,OAAO,eAAe,aAAa;AACrC,aAAO,uBAAuB,QAAQ;AAAA,IACxC,OAAO;AACL,aAAO,YAAY,OAAO,QAAQ;AAAA,IACpC;AAAA,EACF;AACF;;;ACbO,IAAM,oBAAoB,CAAC,QAAoB,YAA2B;AAC/E,MAAI,mBAA4B,UAAU,MAAM;AAChD,QAAM,iBAAgC,QAAQ,4BAA4B,IACtE,OAAO,QAAQ,4BAA4B,GAAG,KAAK,IACnD;AACJ,MAAI,gBAAgB;AAClB,UAAM,YAAmB,IAAI,2BAA2B,cAAc;AACtE,uBAAmB,UAAU,QAAQ,SAAS;AAC9C,WAAO,KAAK,gBAAgB;AAC5B,WAAO,OAAO,IAAI;AAAA,MAChB,OAAO;AAAA,MACP,SAAS,GACP,OAAO,UACT,KAAK,OAAO,UAAU,YAAY,CAAC,2DAA2D,cAAc;AAAA,IAC9G,CAAC;AAAA,EACH,OAAO;AACL,WAAO,KAAK,gBAAgB;AAC5B,WAAO,OAAO,IAAI;AAAA,MAChB,OAAO;AAAA,MACP,SAAS,GAAG,OAAO,UAAU,KAAK,OAAO,UAAU,YAAY,CAAC;AAAA,IAClE,CAAC;AAAA,EACH;AACF;;;AClBO,IAAM,uBAAuB,CAClC,QACA,YACS;AACT,SAAO;AACP,MACE,QAAQ,oBAAoB,OAAO,aACnC,QAAQ,2CACR,QAAQ,iCACR;AACA,WAAO,OAAO,WAAW;AAAA,MACvB,SAAS,cAAc,OAAO,UAAU,YAAY,CAAC,4BAA4B,OAAO,SAAS,aAC/F,QAAQ,eACV;AAAA,IACF,CAAC;AAAA,EACH;AACA,SAAO,OAAO,IAAI;AAAA,IAChB,OAAO;AAAA,IACP,SAAS,cAAc,OAAO,UAAU,YAAY,CAAC,kBAAkB,QAAQ,WAAW;AAAA,IAC1F,KAAK,QAAQ,OAAO,GAAG;AAAA,EACzB,CAAC;AACD,SAAO,iBAAiB;AAExB,MAAI,QAAQ,yCAA2C;AACrD,wBAAoB,QAAQ,OAAO;AAAA,EACrC,WAAW,QAAQ,uCAAyC;AAC1D,sBAAkB,QAAQ,OAAO;AAAA,EACnC,WAAW,QAAQ,iCAAmC;AACpD,gBAAY,QAAQ,OAAO,kBAAkB,OAAO;AAAA,EACtD,WAAW,QAAQ,kCAAoC;AACrD,iBAAa,QAAQ,OAAO;AAAA,EAC9B,WAAW,QAAQ,yCAA2C;AAC5D,wBAAoB,QAAQ,OAAO,kBAAkB,OAAO;AAAA,EAC9D;AACF;;;AC5CA,SAAS,iBAAgE;AAElE,IAAM,eAAN,cAA2B,UAAU;AAAA,EACnC;AAAA,EAEP,YAAY,MAAyB;AACnC,UAAM,IAAI;AACV,SAAK,OAAO;AAAA,EACd;AAAA,EAEgB,WACd,OACA,UACA,UACM;AACN,UAAM,UAAoB,OAAO,KAAK,IAAI,IAAI,OAAO;AAAA,MACnD;AAAA,IACF;AACA,QAAI,IAAI;AACR,SAAK,GAAG,IAAI,OAAO,SAAS,GAAG,KAAK;AAClC,WAAK,KAAK,OAAO,CAAC,CAAC;AAAA,IACrB;AACA,SAAK,OAAO,OAAO,OAAO,SAAS,CAAC;AACpC,aAAS;AAAA,EACX;AAAA,EAEgB,QAAQ,OAAe;AACrC,SAAK,OAAO;AACZ,WAAO,MAAM,QAAQ,KAAK;AAAA,EAC5B;AACF;;;AC7BA,IAAM,YAAY,CAAC;AACnB,SAAS,IAAI,GAAG,IAAI,KAAK,EAAE,GAAG;AAC1B,YAAU,MAAM,IAAI,KAAO,SAAS,EAAE,EAAE,MAAM,CAAC,CAAC;AACpD;AACO,SAAS,gBAAgB,KAAK,SAAS,GAAG;AAC7C,UAAQ,UAAU,IAAI,SAAS,CAAC,CAAC,IAC7B,UAAU,IAAI,SAAS,CAAC,CAAC,IACzB,UAAU,IAAI,SAAS,CAAC,CAAC,IACzB,UAAU,IAAI,SAAS,CAAC,CAAC,IACzB,MACA,UAAU,IAAI,SAAS,CAAC,CAAC,IACzB,UAAU,IAAI,SAAS,CAAC,CAAC,IACzB,MACA,UAAU,IAAI,SAAS,CAAC,CAAC,IACzB,UAAU,IAAI,SAAS,CAAC,CAAC,IACzB,MACA,UAAU,IAAI,SAAS,CAAC,CAAC,IACzB,UAAU,IAAI,SAAS,CAAC,CAAC,IACzB,MACA,UAAU,IAAI,SAAS,EAAE,CAAC,IAC1B,UAAU,IAAI,SAAS,EAAE,CAAC,IAC1B,UAAU,IAAI,SAAS,EAAE,CAAC,IAC1B,UAAU,IAAI,SAAS,EAAE,CAAC,IAC1B,UAAU,IAAI,SAAS,EAAE,CAAC,IAC1B,UAAU,IAAI,SAAS,EAAE,CAAC,GAAG,YAAY;AACjD;;;AC1BA,SAAS,sBAAsB;AAC/B,IAAM,YAAY,IAAI,WAAW,GAAG;AACpC,IAAI,UAAU,UAAU;AACT,SAAR,MAAuB;AAC1B,MAAI,UAAU,UAAU,SAAS,IAAI;AACjC,mBAAe,SAAS;AACxB,cAAU;AAAA,EACd;AACA,SAAO,UAAU,MAAM,SAAU,WAAW,EAAG;AACnD;;;ACTA,SAAS,kBAAkB;AAC3B,IAAO,iBAAQ,EAAE,WAAW;;;ACE5B,SAAS,GAAG,SAAS,KAAK,QAAQ;AAC9B,MAAI,eAAO,cAAc,CAAC,OAAO,CAAC,SAAS;AACvC,WAAO,eAAO,WAAW;AAAA,EAC7B;AACA,YAAU,WAAW,CAAC;AACtB,QAAM,OAAO,QAAQ,WAAW,QAAQ,OAAO,KAAK;AACpD,OAAK,CAAC,IAAK,KAAK,CAAC,IAAI,KAAQ;AAC7B,OAAK,CAAC,IAAK,KAAK,CAAC,IAAI,KAAQ;AAC7B,MAAI,KAAK;AACL,aAAS,UAAU;AACnB,aAAS,IAAI,GAAG,IAAI,IAAI,EAAE,GAAG;AACzB,UAAI,SAAS,CAAC,IAAI,KAAK,CAAC;AAAA,IAC5B;AACA,WAAO;AAAA,EACX;AACA,SAAO,gBAAgB,IAAI;AAC/B;AACA,IAAO,aAAQ;;;ACJf,IAAM,YAAY,CAAC,SAAqB,UAA0B;AAChE,MAAI,UAAU,WAAW,QAAQ,UAAU,SAAS;AAClD,WAAO;AAAA,EACT;AACA,MAAI,UAAU,WAAW,QAAQ,UAAU,WAAW,QAAQ,UAAU,SAAS;AAC/E,WAAO;AAAA,EACT;AACA,SACE,UAAU,WACT,QAAQ,UAAU,WAAW,QAAQ,UAAU,UAAU,QAAQ,UAAU;AAEhF;AAEA,IAAM,aAAa;AAAA,EACjB,SAAS,CAAC,KAAiB,WAA2B;AACpD,UAAM,EAAE,MAAM,IAAI,SAAS,OAAO,GAAG,qBAAqB,IAAI;AAC9D,UAAM,KAAK,MAAM;AAAA,MACf,OAAO,QAAQ,oBAAoB;AAAA,MACnC,CAAC,CAAC,KAAK,KAAK,MAAM,GAAG,GAAG,KAAK,KAAK;AAAA,IACpC;AACA,YAAQ,IAAI,GAAG,OAAO,IAAI,IAAI,OAAO,EAAE,KAAK,IAAI,OAAO,IAAI,GAAG,KAAK,IAAI,CAAC;AACxE,WAAO;AAAA,EACT;AAAA,EACA,MAAM,CAAC,KAAiB,WAA2B;AACjD,YAAQ,IAAI,KAAK,UAAU,GAAG,CAAC;AAC/B,WAAO;AAAA,EACT;AACF;AAEO,IAAM,SAAN,MAAa;AAAA,EACX,OAAO;AAAA,EACP;AAAA,EACC;AAAA,EACA;AAAA,EACA,UAAU;AAAA,EAElB,YAAY,SAAsB;AAChC,SAAK,OAAO,SAAS,QAAQ;AAC7B,SAAK,KAAK,SAAS,MAAM,WAAO;AAChC,SAAK,SAAS,SAAS,UAAU;AACjC,SAAK,QAAQ,SAAS,SAAS;AAAA,EACjC;AAAA,EAEQ,eAAe,KAAyB;AAC9C,QAAI,KAAK,UAAU,YAAY,CAAC,KAAK,QAAS,QAAO;AAErD,QAAI,CAAC,UAAU,KAAK,KAAK,KAAK,GAAG;AAC/B,aAAO;AAAA,IACT;AAEA,UAAM,mBAAmB;AAAA,MACvB,MAAM,KAAK;AAAA,MACX,IAAI,KAAK;AAAA,MACT,WAAW,KAAK,IAAI;AAAA,MACpB,GAAG;AAAA,IACL;AAEA,QAAI,KAAK,WAAW,QAAQ;AAC1B,aAAO,WAAW,KAAK,kBAAkB,IAAI;AAAA,IAC/C;AACA,QAAI,KAAK,WAAW,WAAW;AAC7B,aAAO,WAAW,QAAQ,kBAAkB,IAAI;AAAA,IAClD;AACA,WAAO;AAAA,EACT;AAAA,EAEO,IAAI,KAAyB;AAClC,WAAO,KAAK,eAAe;AAAA,MACzB,GAAG;AAAA,MACH,OAAO,IAAI,QAAQ,IAAI,QAAS;AAAA,IAClC,CAAC;AAAA,EACH;AAAA,EAEO,WAAW,KAAwC;AACxD,WAAO,KAAK,eAAe,EAAE,GAAG,KAAK,OAAO,OAAgB,CAAe;AAAA,EAC7E;AAAA,EAEO,SAAS,KAAwC;AACtD,WAAO,KAAK,eAAe,EAAE,GAAG,KAAK,OAAO,QAAiB,CAAe;AAAA,EAC9E;AAAA,EAEA,IAAW,OAAO,QAAiB;AACjC,QAAI,QAAQ;AACV,WAAK,QAAQ;AAAA,IACf,OAAO;AACL,WAAK,QAAQ;AAAA,IACf;AAAA,EACF;AACF;;;AhtBjEA,IAAM,YAAN,MAAsC;AAAA;AAAA,EAEpC,OAAc,UAAmB;AAAA;AAAA,EAG1B,aAAqB;AAAA;AAAA,EAErB,gBAA+B,IAAI,cAAc;AAAA;AAAA,EAEjD,YAAY;AAAA;AAAA,EAEZ,aAAa;AAAA;AAAA,EAEb,sBAA6D;AAAA;AAAA,EAE7D,SAAgD;AAAA;AAAA,EAEhD,YAAY;AAAA;AAAA,EAEZ,OAAsB;AAAA;AAAA,EAEtB,OAAsB;AAAA;AAAA,EAEtB,WAA4B;AAAA;AAAA,EAE5B,SAAwB;AAAA;AAAA,EAExB,SAAwB;AAAA;AAAA,EAExB,oBAA4B;AAAA;AAAA,EAE5B,aAAqB;AAAA;AAAA,EAErB,kBAAiC,IAAI,cAAc;AAAA;AAAA,EAEnD,mBAAkC,IAAI,cAAc;AAAA;AAAA,EAEpD,kBAAkB;AAAA;AAAA,EAElB,iBAAiC;AAAA;AAAA,EAEjC,SAAiB,IAAI,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQ3B,oBAA0C,aAAW;AAAA,EAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOtD,iBAAoC,MAAM;AAAA,EAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQ3C,kBAAsC,WAAS;AAAA,EAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOhD,kBAAsC,MAAM;AAAA,EAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAO7C,kBAAsC,MAAM;AAAA,EAAC;AAAA;AAAA;AAAA;AAAA;AAAA,EAM9C,QACL;AAAA,IACE,OAAO;AAAA,IACP,OAAO;AAAA,IACP,WAAW;AAAA,IACX,SAAS;AAAA,IACT,SAAS;AAAA,IACT,2BAA2B;AAAA,IAC3B,aAAa,KAAK;AAAA,IAClB,SAAS;AAAA,IACT,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,mBAAmB;AAAA,IACnB,UAAU;AAAA,IACV,aAAa;AAAA,IACb,QAAQ;AAAA,IACR;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAa;AAAA,IACX,WAAW,KAAK;AAAA,IAChB,QAAQ,KAAK;AAAA,IACb,SAAS,KAAK;AAAA,IACd,SAAS,KAAK;AAAA,IACd,SAAS,KAAK;AAAA,EAChB,GACM;AACN,SAAK,SAAS,IAAI;AAAA,MAChB,aACI;AAAA,QACE,MAAM,WAAW,QAAQ;AAAA,QACzB,GAAG;AAAA,MACL,IACA;AAAA,QACE,MAAM;AAAA,QACN,QAAQ;AAAA,MACV;AAAA,IACN;AACA,QAAI,CAAC,SAAS;AACZ,WAAK,OAAO,SAAS;AAAA,IACvB;AACA,SAAK,iBAAiB;AACtB,SAAK,aAAa;AAClB,SAAK,cAAc,aAAa;AAChC,SAAK,WAAW;AAChB,SAAK,SAAS;AACd,SAAK,SAAS;AACd,SAAK,oBAAoB;AAEzB,QAAI,cAAc,QAAW;AAC3B,WAAK,oBAAoB;AAAA,IAC3B;AAEA,QAAI,WAAW,QAAW;AACxB,WAAK,iBAAiB;AAAA,IACxB;AAEA,QAAI,YAAY,QAAW;AACzB,WAAK,kBAAkB;AAAA,IACzB;AAEA,QAAI,YAAY,QAAW;AACzB,WAAK,kBAAkB;AAAA,IACzB;AAEA,QAAI,YAAY,QAAW;AACzB,WAAK,kBAAkB;AAAA,IACzB;AAEA,QAAI,aAAa,OAAO;AACtB,WAAK,SAAS,IAAI,OAAO;AACzB,WAAK,OAAO,YAAY,OAAO;AAC/B,WAAK,OAAO,KAAK,IAAI,aAAa,CAAC,EAAE,GAAG,QAAQ,CAAC,SAAiB;AAChE,cAAM,WAAsB,KAAK,MAAM,KAAK,SAAS,CAAC;AACtD,YAAI,IAAI;AACR,aAAK,GAAG,IAAI,SAAS,QAAQ,KAAK;AAChC,+BAAqB,MAAM,SAAS,CAAC,CAAC;AACtC,eAAK,gBAAgB,IAAI,SAAS,CAAC,CAAC;AACpC,eAAK,oBAAoB,SAAS,CAAC,CAAC;AAAA,QACtC;AAAA,MACF,CAAC;AACD,WAAK,OAAO,QAAQ,MAAM,MAAM,MAAM;AACpC,aAAK,YAAY;AACjB,aAAK,OAAO,IAAI;AAAA,UACd,OAAO;AAAA,UACP,SAAS,cAAc,KAAK,UAAU,YAAY,CAAC;AAAA,QACrD,CAAC;AACD,aAAK,iBAAiB;AAAA,MACxB,CAAC;AACD,WAAK,OAAO,GAAG,SAAS,MAAM;AAC5B,aAAK,YAAY;AACjB,aAAK,kBAAkB;AACvB,aAAK,cAAc;AAAA,MACrB,CAAC;AACD,WAAK,OAAO,GAAG,SAAS,MAAM;AAC5B,mBAAW,MAAM,KAAK,kBAAkB,GAAG,QAAQ;AAAA,MACrD,CAAC;AACD,WAAK,OAAO,GAAG,WAAW,MAAM;AAC9B,aAAK,YAAY;AACjB,cAAM,SAAiB,KAAK;AAC5B,aAAK,kBAAkB;AACvB,eAAO,IAAI;AACX,aAAK,cAAc;AAAA,MACrB,CAAC;AACD,WAAK,OAAO,GAAG,SAAS,WAAS;AAC/B,aAAK,YAAY;AACjB,aAAK,kBAAkB,KAAK;AAC5B,aAAK,cAAc;AAAA,MACrB,CAAC;AAAA,IACH,WAAW,aAAa,aAAa;AACnC,YAAM,mBACJ,KAAK,QAAQ,OAAO,MAAM,MAAM,KAAK,QAAQ,QAAQ,MAAM,KACvD,QAAQ,IAAI,IAAI,IAAI,KACpB,GAAG,IAAI,IAAI,IAAI;AACrB,UAAI,OAAO;AACT,aAAK,SAAS,IAAI,iBAAAC,QAAU,kBAAkB,EAAE,OAAO,MAAM,CAAC;AAAA,MAChE,OAAO;AACL,aAAK,SAAS,IAAI,iBAAAA,QAAU,gBAAgB;AAAA,MAC9C;AACA,WAAK,OAAO,GAAG,WAAW,CAAC,SAA0B;AACnD,cAAM,WAAsB,KAAK,MAAM,KAAK,SAAS,CAAC;AACtD,YAAI,IAAI;AACR,aAAK,GAAG,IAAI,SAAS,QAAQ,KAAK;AAChC,+BAAqB,MAAM,SAAS,CAAC,CAAC;AACtC,eAAK,gBAAgB,IAAI,SAAS,CAAC,CAAC;AACpC,eAAK,oBAAoB,SAAS,CAAC,CAAC;AAAA,QACtC;AAAA,MACF,CAAC;AACD,WAAK,OAAO,GAAG,QAAQ,MAAM;AAC3B,aAAK,OAAO,IAAI;AAAA,UACd,OAAO;AAAA,UACP,SAAS,cAAc,KAAK,UAAU,YAAY,CAAC;AAAA,QACrD,CAAC;AACD,aAAK,YAAY;AACjB,aAAK,iBAAiB;AAAA,MACxB,CAAC;AACD,WAAK,OAAO,GAAG,SAAS,MAAM;AAC5B,aAAK,YAAY;AACjB,aAAK,kBAAkB;AACvB,aAAK,cAAc;AAAA,MACrB,CAAC;AACD,UACE,KAAK,OAAO,gBACX,iBAAAA,QAAU,QAAQ,iBAAAA,QAAU,UAAU,iBAAAA,QAAU,WAAW,iBAAAA,QAAU,aACtE;AACA,mBAAW,MAAM,KAAK,kBAAkB,GAAG,QAAQ;AAAA,MACrD;AAAA,IACF,WAAW,aAAa,aAAa,aAAa,WAAW;AAC3D,YAAM,UAA6B;AAAA,QACjC;AAAA,QACA;AAAA,QACA,oBAAoB;AAAA,MACtB;AAEA,UAAI,UAAU,SAAS;AACrB,gBAAQ,MAAM;AAKd,gBAAQ,OAAO;AAAA,MACjB;AAEA,UAAI,WAAW;AACb,gBAAQ,aAAa;AAAA,MACvB;AAEA,WAAK,SAAS,WAAW,MAAM,MAAM,SAAS,MAAM;AAClD,aAAK,YAAY;AACjB,aAAK,iBAAiB;AACtB,aAAK,OAAO,IAAI;AAAA,UACd,OAAO;AAAA,UACP,SAAS,cAAc,KAAK,UAAU,YAAY,CAAC;AAAA,QACrD,CAAC;AAED,YAAI,CAAC,kBAAkB;AACrB,kBAAQ,MAAM,KAAK,KAAK,MAAmB;AAC3C,kBAAQ,MAAM,OAAO;AAAA,QACvB;AAAA,MACF,CAAC;AACD,WAAK,OAAO,YAAY,MAAM;AAC9B,MAAC,KAAK,OAAqB,KAAK,IAAI,aAAa,CAAC,EAAE,GAAG,QAAQ,CAAC,SAAiB;AAC/E,cAAM,WAAsB,KAAK,MAAM,KAAK,SAAS,CAAC;AACtD,YAAI,IAAI;AACR,aAAK,GAAG,IAAI,SAAS,QAAQ,KAAK;AAChC,+BAAqB,MAAM,SAAS,CAAC,CAAC;AACtC,eAAK,gBAAgB,IAAI,SAAS,CAAC,CAAC;AACpC,eAAK,oBAAoB,SAAS,CAAC,CAAC;AAAA,QACtC;AAAA,MACF,CAAC;AACD,WAAK,OAAO,GAAG,SAAS,MAAM;AAC5B,aAAK,YAAY;AACjB,aAAK,kBAAkB;AACvB,aAAK,cAAc;AAAA,MACrB,CAAC;AACD,WAAK,OAAO,GAAG,WAAW,MAAM;AAC9B,cAAM,SAAoB,KAAK;AAC/B,aAAK,YAAY;AACjB,aAAK,kBAAkB;AACvB,eAAO,IAAI;AACX,aAAK,cAAc;AAAA,MACrB,CAAC;AACD,WAAK,OAAO,GAAG,SAAS,CAAC,UAAiB;AACxC,aAAK,YAAY;AACjB,aAAK,kBAAkB,KAAK;AAC5B,aAAK,cAAc;AAAA,MACrB,CAAC;AACD,iBAAW,MAAM,KAAK,kBAAkB,GAAG,QAAQ;AAAA,IACrD;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,yBAAiC;AACtC,WAAO,KAAK;AAAA,EACd;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQO,uBAAuB,eAA+B;AAC3D,SAAK,aAAa;AAClB,WAAO,KAAK;AAAA,EACd;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQO,aAAa,aAAa,oBAAI,KAAK,GAAW;AACnD,WAAO,UAAU,YAAY,KAAK,MAAM;AAAA,EAC1C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQO,iBAAiB,QAA0B;AAChD,UAAM,UAAmB,IAAI,QAAQ,KAAK,YAAY,GAAG,MAAM;AAC/D,YAAQ,kBAAkB,KAAK,uBAAuB;AACtD,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQO,MAAM,MAAyB;AACpC,WAAO,KAAK,cAAc,MAAM,IAAI;AAAA,EACtC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,KAAK,SAAwB;AAClC,UAAM,cAAiC,QAAQ,yBAA0B;AACzE,QAAI,eAAe,YAAY,4BAA8B;AAC3D,WAAK,kBAAkB;AAAA,IACzB;AAEA,UAAM,iBAAyB,QAAQ,OAAO;AAC9C,QAAI,KAAK,aAAa,SAAS,KAAK,WAAW;AAC7C,WAAK,uBAAuB,KAAK,uBAAuB,IAAI,CAAC;AAC7D,MAAC,KAAK,OAAmB,MAAM,cAAc;AAC7C,WAAK,iBAAiB,IAAI,QAAQ,MAAM,CAAC;AACzC,WAAK,iBAAiB;AACtB,WAAK,OAAO,IAAI;AAAA,QACd,OAAO;AAAA,QACP,SAAS,cAAc,KAAK,SAAS,YAAY,CAAC;AAAA,QAClD,KAAK,eAAe,QAAQ,SAAS,GAAG;AAAA,MAC1C,CAAC;AAAA,IACH,WACE,KAAK,aAAa,eACjB,KAAK,OAAsB,eAAe,iBAAAA,QAAU,MACrD;AACA,WAAK,uBAAuB,KAAK,uBAAuB,IAAI,CAAC;AAC7D,MAAC,KAAK,OAAsB,KAAK,cAAc;AAC/C,WAAK,iBAAiB,IAAI,QAAQ,MAAM,CAAC;AACzC,WAAK,iBAAiB;AACtB,WAAK,OAAO,IAAI;AAAA,QACd,OAAO;AAAA,QACP,SAAS,cAAc,KAAK,SAAS,YAAY,CAAC;AAAA,QAClD,KAAK,eAAe,QAAQ,SAAS,GAAG;AAAA,MAC1C,CAAC;AAAA,IACH,YACG,KAAK,aAAa,aAAa,KAAK,aAAa,cAClD,KAAK,WACL;AACA,WAAK,uBAAuB,KAAK,uBAAuB,IAAI,CAAC;AAC7D,MAAC,KAAK,OAAsB,MAAM,cAAc;AAChD,WAAK,iBAAiB,IAAI,QAAQ,MAAM,CAAC;AACzC,WAAK,iBAAiB;AACtB,WAAK,OAAO,IAAI;AAAA,QACd,OAAO;AAAA,QACP,SAAS,cAAc,KAAK,SAAS,YAAY,CAAC;AAAA,QAClD,KAAK,eAAe,QAAQ,SAAS,GAAG;AAAA,MAC1C,CAAC;AAAA,IACH,OAAO;AACL,WAAK,OAAO,SAAS;AAAA,QACnB,SAAS,cAAc,KAAK,UAAU,YAAY,CAAC;AAAA,QACnD,KAAK,eAAe,QAAQ,SAAS,GAAG;AAAA,MAC1C,CAAC;AAAA,IACH;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,cAAuB;AAC5B,WAAO,KAAK;AAAA,EACd;AAAA;AAAA;AAAA;AAAA,EAKO,QAAc;AACnB,QAAI,KAAK,aAAa,OAAO;AAC3B,YAAM,SAAiB,KAAK;AAC5B,UAAI,QAAQ;AACV,eAAO,QAAQ;AACf,aAAK,YAAY;AAAA,MACnB,OAAO;AACL,aAAK,OAAO,SAAS;AAAA,UACnB,SAAS,cAAc,KAAK,SAAS,YAAY,CAAC;AAAA,QACpD,CAAC;AAAA,MACH;AAAA,IACF,WAAW,KAAK,aAAa,aAAa;AACxC,YAAM,SAAoB,KAAK;AAC/B,UAAI,QAAQ;AACV,YAAI;AACF,iBAAO,MAAM;AAAA,QACf,SAAS,OAAO;AACd,eAAK,OAAO,SAAS;AAAA,YACnB,SAAS,cAAc,KAAK,SAAS,YAAY,CAAC;AAAA,YAClD;AAAA,UACF,CAAC;AAAA,QACH;AACA,aAAK,YAAY;AAAA,MACnB,OAAO;AACL,aAAK,OAAO,SAAS;AAAA,UACnB,SAAS,cAAc,KAAK,SAAS,YAAY,CAAC;AAAA,QACpD,CAAC;AAAA,MACH;AAAA,IACF,WAAW,KAAK,aAAa,aAAa,KAAK,aAAa,WAAW;AACrE,YAAM,SAAoB,KAAK;AAC/B,UAAI,QAAQ;AACV,eAAO,QAAQ;AACf,aAAK,YAAY;AAAA,MACnB,OAAO;AACL,aAAK,OAAO,SAAS;AAAA,UACnB,SAAS,cAAc,KAAK,SAAS,YAAY,CAAC;AAAA,QACpD,CAAC;AAAA,MACH;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKO,gBAAsB;AAC3B,kBAAc,KAAK,mBAAoB;AAAA,EACzC;AAAA;AAAA;AAAA;AAAA,EAKO,mBAAyB;AAC9B,SAAK,cAAc;AACnB,SAAK,eAAe,KAAK,mBAAmB,IAAI;AAAA,EAClD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQO,eACL,oBAA4B,KAAK,mBACjC,YACM;AACN,SAAK,cAAc;AACnB,QAAI,CAAC,YAAY;AACf,WAAK,OAAO,IAAI;AAAA,QACd,OAAO;AAAA,QACP,SAAS,cAAc,KAAK,UAAU,YAAY,CAAC,iCAAiC,iBAAiB;AAAA,MACvG,CAAC;AAAA,IACH;AACA,SAAK,oBAAoB;AACzB,SAAK,sBAAsB,YAAY,MAAM;AAC3C,YAAM,mBAA4B,UAAU,IAAI;AAChD,WAAK,KAAK,gBAAgB;AAC1B,YAAM,iBAAyB,iBAAiB,OAAO;AACvD,WAAK,OAAO,IAAI;AAAA,QACd,OAAO;AAAA,QACP,SAAS,cAAc,KAAK,UAAU,YAAY,CAAC;AAAA,QACnD,KAAK,eAAe,QAAQ,SAAS,GAAG;AAAA,MAC1C,CAAC;AAAA,IACH,GAAG,KAAK,oBAAoB,GAAI;AAAA,EAClC;AACF;",
  "names": ["createWebSocketStream", "err", "data", "Receiver", "randomFillSync", "Sender", "Receiver", "Sender", "WebSocket", "key", "protocol", "WebSocket", "WebSocketServer", "version", "Field", "batch1", "batch2", "batch3", "batch4", "Field", "Message", "AdvSide", "AdvTransType", "BeginString", "CommType", "ExecInst", "HandlInst", "SecurityIDSource", "IOIQltyInd", "IOIQty", "IOITransType", "LastCapacity", "MsgType", "OrdStatus", "OrdType", "PossDupFlag", "Side", "TimeInForce", "Urgency", "SettlType", "SymbolSfx", "AllocTransType", "PositionEffect", "ProcessCode", "AllocStatus", "AllocRejCode", "EmailType", "PossResend", "EncryptMethod", "CxlRejReason", "OrdRejReason", "IOIQualifier", "ReportToExch", "LocateReqd", "ForexReq", "GapFillFlag", "DKReason", "IOINaturalFlag", "MiscFeeType", "ResetSeqNumFlag", "ExecType", "SettlCurrFxRateCalc", "SettlInstMode", "SettlInstTransType", "SettlInstSource", "SecurityType", "StandInstDbType", "SettlDeliveryType", "AllocLinkType", "PutOrCall", "CoveredOrUncovered", "NotifyBrokerOfCredit", "AllocHandlInst", "RoutingType", "BenchmarkCurveName", "StipulationType", "YieldType", "TradedFlatSwitch", "SubscriptionRequestType", "MDUpdateType", "AggregatedBook", "MDEntryType", "TickDirection", "QuoteCondition", "TradeCondition", "MDUpdateAction", "MDReqRejReason", "DeleteReason", "OpenCloseSettlFlag", "FinancialStatus", "CorporateAction", "QuoteStatus", "QuoteCancelType", "QuoteRejectReason", "QuoteResponseLevel", "QuoteRequestType", "SecurityRequestType", "SecurityResponseType", "UnsolicitedIndicator", "SecurityTradingStatus", "HaltReason", "InViewOfCommon", "DueToRelated", "Adjustment", "TradingSessionID", "TradSesMethod", "TradSesMode", "TradSesStatus", "SessionRejectReason", "BidRequestTransType", "SolicitedFlag", "ExecRestatementReason", "BusinessRejectReason", "MsgDirection", "DiscretionInst", "BidType", "BidDescriptorType", "SideValueInd", "LiquidityIndType", "ExchangeForPhysical", "ProgRptReqs", "IncTaxInd", "BidTradeType", "BasisPxType", "PriceType", "GTBookingInst", "ListStatusType", "NetGrossInd", "ListOrderStatus", "ListExecInstType", "CxlRejResponseTo", "MultiLegReportingType", "PartyIDSource", "PartyRole", "Product", "TestMessageIndicator", "RoundingDirection", "DistribPaymentMethod", "CancellationRights", "MoneyLaunderingStatus", "ExecPriceType", "TradeReportTransType", "PaymentMethod", "TaxAdvantageType", "FundRenewWaiv", "RegistStatus", "RegistRejReasonCode", "RegistTransType", "OwnershipType", "ContAmtType", "OwnerType", "OrderCapacity", "OrderRestrictions", "MassCancelRequestType", "MassCancelResponse", "MassCancelRejectReason", "QuoteType", "CashMargin", "Scope", "MDImplicitDelete", "CrossType", "CrossPrioritization", "NoSides", "SecurityListRequestType", "SecurityRequestResult", "MultiLegRptTypeReq", "TradSesStatusRejReason", "TradeRequestType", "PreviouslyReported", "MatchStatus", "MatchType", "OddLot", "ClearingInstruction", "AccountType", "CustOrderCapacity", "MassStatusReqType", "DayBookingInst", "BookingUnit", "PreallocMethod", "TradingSessionSubID", "AllocType", "ClearingFeeIndicator", "WorkingIndicator", "PriorityIndicator", "QuoteRequestRejectReason", "AcctIDSource", "ConfirmStatus", "ConfirmTransType", "DeliveryForm", "LegSwapType", "QuotePriceType", "QuoteRespType", "PosType", "PosQtyStatus", "PosAmtType", "PosTransType", "PosMaintAction", "SettlSessID", "AdjustmentType", "PosMaintStatus", "PosMaintResult", "PosReqType", "ResponseTransportType", "PosReqResult", "PosReqStatus", "SettlPriceType", "AssignmentMethod", "ExerciseMethod", "TradeRequestResult", "TradeRequestStatus", "TradeReportRejectReason", "SideMultiLegReportingType", "TrdRegTimestampType", "ConfirmType", "ConfirmRejReason", "BookingType", "AllocSettlInstType", "DlvyInstType", "TerminationType", "SettlInstReqRejCode", "AllocReportType", "AllocCancReplaceReason", "AllocAccountType", "PartySubIDType", "AllocIntermedReqType", "ApplQueueResolution", "ApplQueueAction", "AvgPxIndicator", "TradeAllocIndicator", "ExpirationCycle", "TrdType", "TrdSubType", "PegMoveType", "PegOffsetType", "PegLimitType", "PegRoundDirection", "PegScope", "DiscretionMoveType", "DiscretionOffsetType", "DiscretionLimitType", "DiscretionRoundDirection", "DiscretionScope", "TargetStrategy", "LastLiquidityInd", "PublishTrdIndicator", "ShortSaleReason", "QtyType", "TradeReportType", "AllocNoOrdersType", "EventType", "InstrAttribType", "CPProgram", "MiscFeeBasis", "LastFragment", "CollAsgnReason", "CollInquiryQualifier", "CollAsgnTransType", "CollAsgnRespType", "CollAsgnRejectReason", "CollStatus", "LastRptRequested", "DeliveryType", "UserRequestType", "UserStatus", "StatusValue", "NetworkRequestType", "NetworkStatusResponseType", "TrdRptStatus", "AffirmStatus", "CollAction", "CollInquiryStatus", "CollInquiryResult", "StrategyParameterType", "SecurityStatus", "UnderlyingCashType", "UnderlyingSettlementType", "SecurityUpdateAction", "ExpirationQtyType", "IndividualAllocType", "UnitOfMeasure", "TimeUnit", "AllocMethod", "AsOfIndicator", "MDBookType", "MDOriginType", "CustOrderHandlingInst", "OrderHandlingInstSource", "DeskType", "ExecAckStatus", "CollApplType", "UnderlyingFXRateCalc", "AllocPositionEffect", "DealingCapacity", "InstrmtAssignmentMethod", "AggressorIndicator", "MDQuoteType", "RefOrderIDSource", "DisplayWhen", "DisplayMethod", "PriceProtectionScope", "LotType", "PegPriceType", "TriggerType", "TriggerAction", "TriggerPriceType", "TriggerPriceTypeScope", "TriggerPriceDirection", "TriggerOrderType", "OrderCategory", "TradeHandlingInstr", "ApplVerID", "ExDestinationIDSource", "ImpliedMarketIndicator", "SettlObligMode", "SettlObligTransType", "SettlObligSource", "QuoteEntryStatus", "RespondentType", "SecurityTradingEvent", "StatsType", "MDSecSizeType", "SettlMethod", "ExerciseStyle", "PriceQuoteMethod", "ValuationMethod", "ListMethod", "TickRuleType", "MaturityMonthYearIncrementUnits", "MaturityMonthYearFormat", "PriceLimitType", "ListUpdateAction", "SessionStatus", "TradSesEvent", "MassActionType", "MassActionScope", "MassActionResponse", "MassActionRejectReason", "MultilegModel", "MultilegPriceMethod", "ContingencyType", "ListRejectReason", "TradePublishIndicator", "ApplReqType", "ApplResponseType", "ApplResponseError", "ApplReportType", "OrderDelayUnit", "VenueType", "RefOrdIDReason", "OrigCustOrderCapacity", "ModelType", "ContractMultiplierUnit", "FlowScheduleType", "RateSource", "RateSourceType", "RestructuringType", "Seniority", "SecurityListType", "SecurityListTypeSource", "NewsCategory", "NewsRefType", "StrikePriceDeterminationMethod", "StrikePriceBoundaryMethod", "UnderlyingPriceDeterminationMethod", "OptPayoutType", "ComplexEventType", "ComplexEventPriceBoundaryMethod", "ComplexEventPriceTimeType", "ComplexEventCondition", "StreamAsgnReqType", "StreamAsgnRejReason", "StreamAsgnAckType", "StreamAsgnType", "MatchInst", "TriggerScope", "LimitAmtType", "MarginReqmtInqQualifier", "MarginReqmtRptType", "MarginReqmtInqResult", "MarginAmtType", "RelatedInstrumentType", "MarketMakerActivity", "RequestResult", "PartyRelationship", "RiskLimitType", "InstrumentScopeOperator", "PartyDetailStatus", "PartyDetailRoleQualifier", "TrdAckStatus", "SecurityClassificationReason", "PosAmtReason", "SideClearingTradePriceType", "SecurityRejectReason", "ThrottleStatus", "ThrottleAction", "ThrottleType", "ThrottleInst", "ThrottleCountIndicator", "AllocationRollupInstruction", "AllocReversalStatus", "ObligationType", "TradePriceNegotiationMethod", "UpfrontPriceType", "ShortSaleRestriction", "ShortSaleExemptionReason", "ApplLevelRecoveryIndicator", "RiskLimitRequestType", "RiskLimitRequestResult", "RiskLimitAction", "EntitlementType", "EntitlementAttribDatatype", "TradSesControl", "TradeVolType", "OrderEventType", "OrderEventReason", "AuctionType", "AuctionInstruction", "LockType", "ReleaseInstruction", "DisclosureType", "DisclosureInstruction", "TradingCapacity", "ClearingAccountType", "RelatedPriceSource", "MinQtyMethod", "EventTimeUnit", "OrderOrigination", "ClearedIndicator", "ContractRefPosType", "PositionCapacity", "TradePriceCondition", "TradeAllocStatus", "TradeQtyType", "TradeAllocGroupInstruction", "OffsetInstruction", "RelatedTradeIDSource", "RelatedPositionIDSource", "QuoteAckStatus", "ValueCheckType", "ValueCheckAction", "PartyDetailRequestResult", "PartyDetailRequestStatus", "PartyDetailDefinitionStatus", "EntitlementRequestResult", "EntitlementStatus", "TradeMatchAckStatus", "TradeMatchRejectReason", "PriceMovementType", "RegulatoryTradeIDEvent", "RegulatoryTradeIDType", "ClearingIntention", "ConfirmationMethod", "VerificationMethod", "ClearingRequirementException", "IRSDirection", "RegulatoryReportType", "TradeCollateralization", "TradeContinuation", "AssetClass", "AssetSubClass", "SwapClass", "CouponType", "CouponFrequencyUnit", "CouponDayCount", "LienSeniority", "LoanFacility", "ReferenceEntityType", "BlockTrdAllocIndicator", "UnderlyingObligationType", "CashSettlQuoteMethod", "CashSettlValuationMethod", "StreamType", "ProvisionType", "ProvisionDateTenorUnit", "ProvisionCalculationAgent", "ProvisionOptionSinglePartyBuyerSide", "ProvisionCashSettlMethod", "ProvisionCashSettlQuoteType", "ProvisionOptionExerciseEarliestDateOffsetUnit", "ProvisionOptionExerciseFixedDateType", "ProvisionCashSettlPaymentDateType", "ProtectionTermEventUnit", "ProtectionTermEventDayType", "ProtectionTermEventQualifier", "PaymentType", "PaymentPaySide", "PaymentSettlStyle", "PaymentStreamType", "PaymentStreamDiscountType", "PaymentStreamCompoundingMethod", "PaymentStreamPaymentFrequencyUnit", "PaymentStreamPaymentDateOffsetUnit", "PaymentStreamResetWeeklyRollConvention", "PaymentStreamRateIndexSource", "PaymentStreamRateIndexCurveUnit", "PaymentStreamRateSpreadPositionType", "PaymentStreamRateTreatment", "PaymentStreamCapRateBuySide", "PaymentStreamFloorRateBuySide", "PaymentStreamAveragingMethod", "PaymentStreamNegativeRateTreatment", "PaymentStreamInflationLagUnit", "PaymentStreamInflationLagDayType", "PaymentStreamInflationInterpolationMethod", "PaymentStreamFRADiscounting", "NonDeliverableFixingDateType", "PaymentScheduleType", "PaymentScheduleStepRelativeTo", "PaymentStubType", "PaymentStubLength", "PaymentStreamPaymentDateOffsetDayType", "BusinessDayConvention", "DateRollConvention", "AttachmentEncodingType", "NegotiationMethod", "ComplexEventPeriodType", "ComplexEventDateOffsetDayType", "ComplexOptPayoutTime", "ComplexEventQuoteBasis", "ComplexEventCreditEventNotifyingParty", "DeliveryScheduleType", "DeliveryScheduleToleranceType", "DeliveryScheduleSettlFlowType", "DeliveryScheduleSettlHolidaysProcessingInstruction", "DeliveryScheduleSettlDay", "DeliveryScheduleSettlTimeType", "DeliveryStreamType", "DeliveryStreamDeliveryRestriction", "DeliveryStreamTitleTransferCondition", "DeliveryStreamToleranceOptionSide", "DeliveryStreamElectingPartySide", "SwapSubClass", "StrategyType", "SettlDisruptionProvision", "MarketDisruptionProvision", "MarketDisruptionFallbackProvision", "MarketDisruptionFallbackUnderlierType", "ExerciseConfirmationMethod", "OptionExerciseDateType", "PaymentDateOffsetDayType", "PaymentForwardStartType", "PaymentStreamSettlLevel", "PaymentStreamRateSpreadType", "PaymentStreamPricingDayDistribution", "PaymentStreamPricingDayOfWeek", "StreamCommodityNearbySettlDayUnit", "StreamCommodityDataSourceIDType", "StreamNotionalCommodityFrequency", "RiskLimitReportStatus", "RiskLimitReportRejectReason", "RiskLimitCheckTransType", "RiskLimitCheckType", "RiskLimitCheckRequestType", "RiskLimitCheckRequestStatus", "RiskLimitCheckRequestResult", "PartyActionType", "PartyActionResponse", "PartyActionRejectReason", "RefRiskLimitCheckIDType", "RiskLimitCheckModelType", "RiskLimitCheckStatus", "RegulatoryTransactionType", "BatchProcessMode", "DeliveryStreamDeliveryPointSource", "TaxonomyType", "RegulatoryTradeIDScope", "EntitlementSubType", "QuoteModelType", "ExecMethod", "TradeContingency", "PaymentSubType", "MassOrderRequestStatus", "MassOrderRequestResult", "OrderResponseLevel", "OrderEntryAction", "ExecTypeReason", "TransferTransType", "TransferType", "TransferScope", "TransferStatus", "TransferRejectReason", "TransferReportType", "SettlPriceDeterminationMethod", "MDStatisticType", "MDStatisticScope", "MDStatisticSubScope", "MDStatisticScopeType", "MDStatisticIntervalType", "MDStatisticRatioType", "MDStatisticRequestResult", "MDStatisticStatus", "MDStatisticValueType", "AssetGroup", "CollRptRejectReason", "CollRptStatus", "RelativeValueType", "RelativeValueSide", "MDReportEvent", "MarketSegmentStatus", "MarketSegmentType", "MarketSegmentRelationship", "QuoteSideIndicator", "CustomerPriority", "SettlSubMethod", "CalculationMethod", "CollateralAmountType", "CommissionAmountType", "CashSettlPriceDefault", "ComplexEventPVFinalPriceElectionFallback", "DividendEntitlementEvent", "DividendAmountType", "NonCashDividendTreatment", "DividendComposition", "StrikeIndexQuote", "ExtraordinaryEventAdjustmentMethod", "PaymentStreamInterpolationPeriod", "PaymentStreamLinkStrikePriceType", "PaymentStreamRealizedVarianceMethod", "ProvisionBreakFeeElection", "ReturnRateDateMode", "ReturnRatePriceSequence", "ReturnRateQuoteTimeType", "ReturnRateValuationPriceOption", "ReturnRatePriceBasis", "ReturnRatePriceType", "StreamNotionalAdjustments", "UnderlyingNotionalAdjustments", "RemunerationIndicator", "PartyRiskLimitStatus", "AlgorithmicTradeIndicator", "TrdRegPublicationType", "TrdRegPublicationReason", "CrossedIndicator", "OrderAttributeType", "TradeReportingIndicator", "MassActionReason", "NotAffectedReason", "OrderOwnershipIndicator", "InTheMoneyCondition", "ExDestinationType", "MarketCondition", "QuoteAttributeType", "PriceQualifier", "MDValueTier", "MiscFeeQualifier", "CommissionAmountSubType", "CommodityFinalPriceType", "ReferenceDataDateType", "ReturnTrigger", "AveragePriceType", "AllocGroupStatus", "AllocRequestStatus", "MatchExceptionType", "MatchExceptionElementType", "MatchExceptionToleranceValueType", "MatchingDataPointIndicator", "TradeAggregationTransType", "TradeAggregationRequestStatus", "TradeAggregationRejectReason", "OffshoreIndicator", "PayReportTransType", "PayReportStatus", "PayRequestTransType", "PayRequestStatus", "PostTradePaymentDebitOrCredit", "PostTradePaymentStatus", "DuplicateClOrdIDIndicator", "EventInitiatorType", "NBBOEntryType", "NBBOSource", "SingleQuoteIndicator", "TrdRegTimestampManualIndicator", "CollateralReinvestmentType", "FundingSource", "MarginDirection", "TransactionAttributeType", "RoutingArrangmentIndicator", "RelatedOrderIDSource", "OrderRelationship", "CurrencyCodeSource", "MultiJurisdictionReportingIndicator", "SelfMatchPreventionInstruction", "SettlStatusRequestStatus", "SettlStatusReportStatus", "AllocGroupSubQtyType", "MetricsCalculationPriceSource", "AssetValuationModel", "AlgoCertificateRequestTransType", "AlgoCertificateRequestStatus", "AlgoCertificateReportTransType", "AlgoCertificateReportStatus", "AlgoCertificateStatus", "TestThresholdType", "TestSuiteRequestTransType", "TestSuiteRequestStatus", "TestActionType", "TestActionRequestStatus", "TestSuiteActivityState", "TestSuiteStatus", "Message", "WebSocket"]
}
